1.RTU数据格式说明
1.1通讯模式
本仪表采用MODBUS RTU格式。协议用于主-从查询模式进行数据通讯。
1.2数据格式
RTU模式中每个字节(11位)的格式为: 编码系统为:8位二进制
每个字节的位:1个起始位、8个数据位(首先发送最低有效位)、1个奇偶校验位、1个停止位 注:使用无校验时,停止位可选择1个停止位或2个停止位。 波特率可选五种:1200、2400、4800、9600、19200 Modbus报文 起始 ≥3.5字符 地址 8 bit 功能码 8 bit 数据 n*8 bit CRC校验 16 bit 结束 ≥3.5字符 注: (1) RTU模式中,时长至少为3.5个字符时间的空闲间隔将报文帧区分开。 (2) 必须以连续的字符流发送整个报文帧。
(3) 两个字符之间的空闲间隔应不超过1.5个字符时间。
1.3 地址
协议中规定仪表的地址为“0-255”, “0”地址用于广播,本协议不支持广播,其余地址保留。
2.命令说明
2.1 本仪表使用了MODBUS协议中1条指令: 命令03 读单个或多个保持寄存器
2.2数据格式
协议中的数据格式为:浮点数。Modbus首先发送最高有效字。本协议数据编码顺序为3412,解码顺序为1234。 32单精度浮点数SINGLE格式为IEEE754,折合4字节,排列顺序为3-4-1-2。 解码为1-2-3-4顺序后,由最高到最低位分别是第31、30、29、„„、0位 。
31 S 30-23 阶码 22-0 尾数 12 34 高 低 注:
31位是符号位(S),1表示该数为负,0为正; 30-23位,一共8位是阶码;22-0位,一共23位是尾数。
命令03格式如下(读寄存器命令):
MODBUS 请求 仪表地址 功能码 起始地址 读取数量 CRC低位 CRC高位 1 BYTE 1 BYTE 2 BYTE 2 BYTE 1 BYTE 1 BYTE 01-255 0x03 0-FFFF 1-12
MODBUS 响应 仪表地址 功能码 字节计数 输入状态 CRC低位 CRC高位
MODBUS 错误 仪表地址 差错码 异常码 CRC低位 CRC高位 1 BYTE 1 BYTE 2 BYTE 1 BYTE 1 BYTE 01-255 0x83 01或02或03或04 1 BYTE 1 BYTE 1 BYTE N*2 BYTE 1 BYTE 1 BYTE 01-255 0x03 N 异常码含义:
“01”- 功能码错误,本协议功能码为0x03
“02”- 寄存器物理地址错误,0≤起始物理地址+寄存器数量≤12 “03”- 寄存器数量错误,0≤寄存器数量≤12
举例 请求 域名称 仪表地址码 功能码 起始地址高(字节) 起始地址低(字节) 读取数据量高(字节) 起始地址低(字节) 数据(HEX) 01 03 00 00 00 03 响应 域名称 仪表地址码 功能码 字节计数 寄存器高(0001) 寄存器低(0001) 寄存器高(0002) 寄存器低(0002) 寄存器高(0003) 寄存器低(0003) CRC校验 校验码 CRC校验 数据(HEX) 01 03 06 02 13 00 00 00 13 校验码 3.数据项定义 属性 Modbus地址 物理地址 R R R R R R 40001-2 40003-4 40005-6 40007-8 40009-10 40011-12 0x00 0x02 0x06 0x08 0x0a 0x0c 寄存器长度 2 2 2 2 2 2 数据类型 SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE 说明 介质温度(℃) 介质压力,同仪表设置 传感器频率(Hz) 每小时瞬时流量,同仪表设置 累计流量的百位以上,同仪表设置 累计流量的百位以下,同仪表设置 注: 累积流量=累积量百位以上x100+累积量百位以下
仪表默认设置:机号-1;波特率-9600;奇偶校验-不校验一(1个停止位)
因篇幅问题不能全部显示,请点此查看更多更全内容