协议与成帧
通道只搬运字节。协议把字节解释成「读保持寄存器 10」这类操作。
设备(ModbusDevice / McDevice / S7Device / FinsDevice / HostLinkDevice / MewtocolDevice / EtherNetIpDevice / Dlt645Device / Iec104Device / MqttDevice / OpcUaDevice / 自定义 DeviceBase)
↓
会话(FrameSession / ModbusClient / McClient / S7Client / FinsClient / HostLinkClient / MewtocolClient / EtherNetIpClient / MqttClient / OpcUaClient)
↓
编解码(长度帧 / RTU / MBAP / MC / S7 / FINS / Host Link ASCII / MEWTOCOL-COM / EtherNet/IP CIP / MQTT 3.1.1 / OPC UA Binary)
↓
通道(串口 / TCP / UDP / 虚拟)
协议包
| 程序集 | 适用场景 |
|---|---|
Zeus.Protocols.Framing | 厂家自定义:[帧头][长度][载荷][校验] |
Zeus.Protocols.Modbus | 标准功能码 01–08、0F、10、11、16、17 |
Zeus.Protocols.Mc | 三菱 MC Protocol 1E / 3E / 4E,支持 Binary / ASCII,读写 X/Y/M 位软元件和 D/W/R/ZR 字软元件,3E/4E 支持随机读写 |
Zeus.Protocols.S7 | Siemens S7 TCP,读写 DB/I/Q/M 区 Bool/Byte/Word/DWord/Int/DInt/Real,支持虚拟 PLC 联调 |
Zeus.Protocols.Fins | Omron FINS UDP/TCP,支持 CIO/WR/HR/AR/DM/EM/TIM-CNT 区读写、填充、多点读和虚拟 PLC 联调 |
Zeus.Protocols.HostLink | Omron Host Link ASCII,支持 CIO/LR/HR/AR/DM 区读写、点表写回和虚拟 PLC 联调 |
Zeus.Protocols.Mewtocol | Panasonic MEWTOCOL-COM ASCII,支持 DT/LD/FL 数据寄存器、X/Y/R/L 接点字、点表写回和虚拟 PLC 联调 |
Zeus.Protocols.EtherNetIp | Allen-Bradley EtherNet/IP CIP,支持 Register Session、Read/Write Tag、Get/Set Attribute Single 和虚拟 PLC 联调 |
Zeus.Protocols.Dlt645 | DL/T 645-2007 电能表,支持 BCD 数据项、原始数据项、点表写回和虚拟表计联调 |
Zeus.Protocols.Iec104 | IEC 60870-5-104,支持 STARTDT、总召唤、常用测量/设点类型和虚拟站联调 |
Zeus.Protocols.Mqtt | MQTT 3.1.1 客户端,支持 QoS 0/1/2、订阅、保留消息、遗嘱、保活、重连和虚拟 Broker |
Zeus.Protocols.OpcUa | OPC UA 客户端,支持 opc.tcp、SecurityPolicy None、会话、Value 读写和虚拟 Server |
协议包都只依赖 IChannel,因此同一套设备代码可以在串口、TCP、UDP 和虚拟从站之间切换。
请求与应答
多数工业总线一次只处理一问一答。FrameSession 和 ModbusClient 会串行发送请求,调用方不必自己加锁。多台设备共用同一通道时,不要并发调用。
详见 自定义帧、Modbus、三菱 MC、Siemens S7、Omron FINS、Omron Host Link、Panasonic MEWTOCOL、EtherNet/IP、DL/T 645、IEC104、MQTT、OPC UA 和 SNMP。