跳到主要内容

协议与成帧

通道只搬运字节。协议把字节解释成「读保持寄存器 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.S7Siemens S7 TCP,读写 DB/I/Q/M 区 Bool/Byte/Word/DWord/Int/DInt/Real,支持虚拟 PLC 联调
Zeus.Protocols.FinsOmron FINS UDP/TCP,支持 CIO/WR/HR/AR/DM/EM/TIM-CNT 区读写、填充、多点读和虚拟 PLC 联调
Zeus.Protocols.HostLinkOmron Host Link ASCII,支持 CIO/LR/HR/AR/DM 区读写、点表写回和虚拟 PLC 联调
Zeus.Protocols.MewtocolPanasonic MEWTOCOL-COM ASCII,支持 DT/LD/FL 数据寄存器、X/Y/R/L 接点字、点表写回和虚拟 PLC 联调
Zeus.Protocols.EtherNetIpAllen-Bradley EtherNet/IP CIP,支持 Register Session、Read/Write Tag、Get/Set Attribute Single 和虚拟 PLC 联调
Zeus.Protocols.Dlt645DL/T 645-2007 电能表,支持 BCD 数据项、原始数据项、点表写回和虚拟表计联调
Zeus.Protocols.Iec104IEC 60870-5-104,支持 STARTDT、总召唤、常用测量/设点类型和虚拟站联调
Zeus.Protocols.MqttMQTT 3.1.1 客户端,支持 QoS 0/1/2、订阅、保留消息、遗嘱、保活、重连和虚拟 Broker
Zeus.Protocols.OpcUaOPC 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。