IOPL协议
简介
IOPL协议为通用传输软件协议,顾名思义,该协议是在软件层实现的通信协议,类似于工业常用MODBUS协议。
IOPL协议包含重要的基础协议和其他扩展子协议,扩展子协议在基础协议的可变数据帧上扩展出来,也就是说扩展子协议是基于基础协议的一个数据帧
协议均采用十六进制BCD编码格式
基础协议格式
帧头 | 网络ID | 目标ID | 自身ID | 备用 | 数据长度 | 可变数据帧 | CRC校验和 | |
---|---|---|---|---|---|---|---|---|
长度 | 2 | 1 | 2 | 2 | 4 | 2 | xx | 2 |
示例 | A5 5A | A8 | 02 03 | 00 01 | FF FF FF FF | 00 04 | xx xx | 23 04 |
命令字说明
- 帧头:用于数据同步检测使用,固定双字节长度;
- 网络ID:用于规定协议包数据存在的有效作用域,软件接收时检测协议包数据是否为本网络数据;范围为0~7F,全网广播则改字段应为0xFF;
- 目标ID:协议包要发送到的目标地址,范围为0x00~0x7FFF,广播地址为0xFFFF;
- 自身ID:网络节点自身唯一ID,范围为0x00~0x7FFF
- 备用:用于扩展协议时使用
- 数据长度:子协议数据长度0~0xFFFF
- 可变数据帧: 子协议消息体
- CRC校验和:用于校验数据完整性,CRC校验和为网络ID到校验和前所有数据的计算值
适用通信方式
此协议可应用于485、232、ttl串口、各种无线通信组包