安装
这一页只解决一件事:让你确认本机可以编译和运行 Zeus 示例。
你需要准备什么
| 工具 | 用途 | 怎么确认 |
|---|---|---|
| .NET 8 SDK | 编译 Zeus 和你的应用 | dotnet --version 能看到 8.x.x |
| Git | 克隆源码 | git --version 能输出版本 |
| Visual Studio 2022 / Rider | 做 WinForms 或 WPF 时更方便 | 能创建 net8.0-windows 项目 |
只跑控制台示例时,不需要真实串口、不需要仪表、不需要 USB 转串口。
方式一:一条命令创建项目
这是第一次接触 Zeus 时最推荐的方式。模板会把目标框架、包引用、虚拟通道、基础绑定或 zeus.json 都接好。
dotnet new install Zeus.Templates
dotnet new zeus-console -n ZeusCheck
cd ZeusCheck
dotnet run
你应该看到类似输出:
通道 meter 状态:Open
收到回显:PING
Zeus 环境确认完成。
其它模板:
dotnet new zeus-winforms -n MyPanel
dotnet new zeus-wpf -n MyPanel.Wpf
dotnet new zeus-modbus -n MyOven
如果你在 Zeus 源码仓库里调试模板,不要直接 dotnet new install src/Zeus.Templates/templates。模板版本和共享 zeus.json 都在打包阶段生成,请先在 code 目录执行:
dotnet pack src/Zeus.Templates/Zeus.Templates.csproj -c Release -o artifacts/template-smoke
dotnet new install artifacts/template-smoke/Zeus.Templates.0.20.1.nupkg
方式二:先跑源码示例
如果你要调试 Zeus 本身,可以先跑仓库里的源码示例。
git clone https://github.com/Mokode-dev/Zeus.git
cd Zeus/code
dotnet test Zeus.sln
dotnet run --project samples/Zeus.Samples.Console.Headless
如果一切正常,你会看到类似输出:
通道 meter 状态:Open
收到回显:PING
宿主已停止。把复杂留给 Zeus,把简单留给用户。
这说明三个基础环节已经正常:项目能编译、宿主能启动、通道能收发。
方式三:在你的项目里装 NuGet 包
如果你已经有自己的项目,直接安装需要的包。
控制台或服务程序:
dotnet add package Zeus.Communications
WinForms:
dotnet add package Zeus.Communications
dotnet add package Zeus.Presentation.WinForms
WPF:
dotnet add package Zeus.Communications
dotnet add package Zeus.Presentation.Wpf
协议包仍按设备类型按需安装。JSON 里写了哪种设备,也要同时安装对应协议包。
Modbus:
dotnet add package Zeus.Protocols.Modbus
三菱 MC:
dotnet add package Zeus.Protocols.Mc
Siemens S7:
dotnet add package Zeus.Protocols.S7
Omron FINS:
dotnet add package Zeus.Protocols.Fins
Omron Host Link:
dotnet add package Zeus.Protocols.HostLink
Panasonic MEWTOCOL-COM:
dotnet add package Zeus.Protocols.Mewtocol
Allen-Bradley EtherNet/IP:
dotnet add package Zeus.Protocols.EtherNetIp
DL/T 645 电能表:
dotnet add package Zeus.Protocols.Dlt645
IEC 60870-5-104:
dotnet add package Zeus.Protocols.Iec104
MQTT 3.1.1:
dotnet add package Zeus.Protocols.Mqtt
OPC UA:
dotnet add package Zeus.Protocols.OpcUa
SNMP v2c:
dotnet add package Zeus.Protocols.Snmp
各包的最新版本见 NuGet 包 上的标签。
方式四:源码项目引用
如果你在本仓库里开发示例或调试 Zeus 本身,使用项目引用。
<ItemGroup>
<ProjectReference Include="..\..\src\Zeus.Communications\Zeus.Communications.csproj" />
<ProjectReference Include="..\..\src\Zeus.Configuration\Zeus.Configuration.csproj" />
<ProjectReference Include="..\..\src\Zeus.Presentation.WinForms\Zeus.Presentation.WinForms.csproj" />
<ProjectReference Include="..\..\src\Zeus.Protocols.Modbus\Zeus.Protocols.Modbus.csproj" />
</ItemGroup>
不要同时对同一个 Zeus 程序集使用 NuGet 包和源码项目引用,避免版本混用。
跑更多示例
在 code 目录执行:
dotnet run --project samples/Zeus.Samples.WinForms.QuickStart
dotnet run --project samples/Zeus.Samples.Wpf.QuickStart
dotnet run --project samples/Zeus.Samples.Console.Config
dotnet run --project samples/Zeus.Samples.Console.Modbus
dotnet run --project samples/Zeus.Samples.Console.Mc
dotnet run --project samples/Zeus.Samples.Console.S7
dotnet run --project samples/Zeus.Samples.Console.Fins
dotnet run --project samples/Zeus.Samples.Console.HostLink
dotnet run --project samples/Zeus.Samples.Console.Mewtocol
dotnet run --project samples/Zeus.Samples.Console.EtherNetIp
dotnet run --project samples/Zeus.Samples.Console.Dlt645
dotnet run --project samples/Zeus.Samples.Console.Iec104
dotnet run --project samples/Zeus.Samples.Console.Mqtt
dotnet run --project samples/Zeus.Samples.Console.TcpServer
WinForms / WPF 示例会打开窗口。点击“发送”后,虚拟通道会把文本回显到界面上。 协议示例使用本机虚拟 PLC、虚拟表计、虚拟站、虚拟 Broker 或回环连接,不需要真实硬件。
常见问题
| 现象 | 最可能原因 | 处理 |
|---|---|---|
dotnet 命令不存在 | 没装 .NET SDK,或 PATH 未刷新 | 安装 .NET 8 SDK 后重新打开终端 |
看到 7.x.x 或更低版本 | 装的是旧 SDK | 安装 .NET 8 SDK |
| 找不到 Zeus 包 | nuget.org 不可访问,或包名写错 | 确认能打开 nuget.org,并核对包名 |
| WinForms / WPF 包还原失败 | 项目不是 Windows 目标框架 | 把目标框架改成 net8.0-windows |
| 示例能编译但串口打不开 | 真实端口不存在或被占用 | 先跑虚拟通道示例,再看 串口 |
下一步:控制台示例。