跳到主要内容

架构

Zeus 的架构目标很简单:通信、协议和采集不要写进窗口代码里。窗口只负责展示和操作,底层收发由 Zeus 管。

应用程序(WinForms / WPF / 控制台)

Zeus.Presentation.* BindTo / AsBindingSource、线程切换

Zeus.Hosting ZeusHost.Create、生命周期、采集循环

Zeus.Configuration JSON 配置

Zeus.Protocols.* 自定义帧、Modbus

Zeus.Communications 串口、TCP、虚拟通道

Zeus.Core / Zeus.Abstractions

分层

做什么不做什么
Zeus.Presentation.*把状态和数据绑定到 WinForms / WPF 控件不解析协议
Zeus.Hosting创建宿主、启动停止、运行采集循环不关心具体 UI
Zeus.Configuration从 JSON 声明通道、设备和点表不热更新通道结构
Zeus.Protocols.*处理自定义帧和 Modbus不直接打开串口
Zeus.Communications提供串口、TCP、虚拟通道不理解寄存器和业务含义
Zeus.Core / Zeus.Abstractions提供基础接口、点表和通道状态机不引用桌面框架

这样分层后,业务代码可以面向 IChannelIDevice 和点表编写。你从虚拟通道换到串口,或从 WinForms 换到 WPF,不需要重写协议层。

三种用法

  1. 推荐: ZeusHost.Create 加上 AddSerialPort / AddModbusRtu 等扩展方法。
  2. 自定义协议: 使用 FrameSession 或自己实现编解码,仍复用官方通道和宿主。
  3. 直接读写字节: 只使用 IChannel,适合很简单的协议或调试工具。

如果你是第一次看 Zeus,先不用深究这些分层。按 控制台示例 跑通,再回来看这页会更容易。