主机连接
目前平台仅支持通过TCP承载的RTU通讯模式。Modbus在一个数据链路上只能处理247个地址。支持01~F7(247个从机地址)。Modbus共24个功能点。平台目前仅支持1~6的平台编码解析,其他功能点仅根据从机地址+功能点按照时间先后顺序做对应,数据内容经bsae64后透传。
接入报文格式
Modbus协议报文格式符合标准协议要求,规范具体内容详见《PI_Modbus_300》报文格式。
设备注册
在平台上完成设备注册后,设备主机上电,发送TCP登录报文到设备云接入服务器进行鉴权,接入地址为modbus.ctwing.cn:8502。登陆报文及响应如下:
表1 Modbus协议登陆报文及响应
头字节 | 报文标识 | 报文类型 | 格式 | 备注 |
0xFFFF | 0x01 | 登录报文 | 0xFFFF01+[deviceid_length(2字节)] +[deviceid]+[password_length(2字节)] +[password]+[type_length(2字节)]+[type] | 1.dedeviceid由产品ID和用户输入的设备编号拼接而成 2.password:平台生成的特征串 3.type:控制器类型(暂留) |
0xFFFF | 0x02 | 登录响应 | 0xFFFF02+结果码(2字节) | 登录结果: 0 成功 1 未知错误 2 设备未注册 3 设备认证失败 4 设备已登录 |
示例:
deviceId:100132311
password:FVBH4W4tE6BIAfPqDRPn6zuYXbNZjueFKJ7XmbDf344
type:584
登录报文格式为(16进制):
• 登录标识符:0xFFFF01
• deviceId_length:0x0009
• deviceId:31 30 30 31 33 32 33 31 31
• password_length:0x002B
• password: 46 56 42 48 34 57 34 74 45 36 42 49 41 66 50 71 44 52 50 6E 36 7A 75 59 58 62 4E 5A 6A 75 65 46 4B 4A 37 58 6D 62 44 66 33 34 34
• type_length:0x0003
• type:0x353834
完整的登录报文应为:FF FF 01 00 09 31 30 30 31 33 32 33 31 31 00 2B 46 56 42 48 34 57 34 74 45 36 42 49 41 66 50 71 44 52 50 6E 36 7A 75 59 58 62 4E 5A 6A 75 65 46 4B 4A 37 58 6D 62 44 66 33 34 34 00 03 35 38 34
平台收到登录报文后,认证设备的合法性,并回复认证结果为(16进制):
FF FF 02 00 00
设备心跳
设备主机需发送心跳报文至平台,以保持在线状态。平台超过10分钟未接收到心跳包,将自动断开TCP链。
心跳报文及响应如表2所示:
表2 Modbus协议登陆报文及响应
头字节 | 报文标识 | 报文类型 | 格式 | 备注 |
0xFFFF | 0x03 | 心跳 | 0xFFFF03 | 终端与平台心跳周期5分钟 |
0xFFFF | 0x04 | 心跳响应 | 0xFFFF04 | 平台回复终端心跳报文ack |