华天科技RS485 通信 MODBUS-RTU 通信协议(温度压力一体)
传感器有限公司 RS485 输出协议
华天科技RS485 通信 MODBUS-RTU 通信协议(温度压力一体)
一.概述:
本协议遵守 MODBUS 通信协议,采用了 MODBUS 协议中的子集中 RTU 方式,RS485
半双工工作方式;根据设备功能,目前设备支持的 MODBUS-RTU 协议功能码有:03、06。二、接线示意:
三、数据帧结构:
帧头:起始字节、从机地址。帧尾:校验数据(异或校验)。
参数数据:功能码操作命令/响应、功能码号、功能码设定/实际值。
过程数据:主机控制命令/从机状态响应、主机运行主设定/从机运行实际值。
四.串行数据格式:
串口设置:8 位数据,1 位停止位.
举例:9600,N,8,1 含义:9600bps,无校验,8 位数据位,1 位停位.本变送器支持的串口xx率为: 1200,2400,4800,9600,19200,38400,57600,115200
CRC 校验的多项式:0xA001.
五.通信格式:
1.读命令格式(03 功能码)举例
A.发送读命令格式:
地址 | 功 能 码 | 数据起始 (H) | 数据起始 (L) | 数据个数 (H) | 数据个数 (L) | CRC16 (L) | CRC16 (H) |
0X01 | 0X03 | 0X00 | 0X00 | 0X00 | 0X01 | 0X84 | 0X0A |
B.返回读数据格式:举例
传感器有限公司 RS485 输出协议
地址 | 功 能 码 | 字节数 | 数据 (H) | 数据 (L) | CRC16 (L) | CRC16 (H) |
0X01 | 0X03 | 0X02 | 0X00 | 0X01 | 0X79 | 0X84 |
2.写命令格式(06 功能码)举例
地址 | 功 能 码 | 数据起始 (H) | 数据起始 (L) | 数据 (H) | 数据 (L) | CRC16 (L) | CRC16 (H) |
0X01 | 0X06 | 0X00 | 0X00 | 0X00 | 0X02 | 0X08 | 0X0B |
B.返回读数据格式:举例
地址 | 功 能 码 | 数据起始 (H) | 数据起始 (L) | 数据 (H) | 数据 (L) | CRC16 (L) | CRC16 (H) |
0X01 | 0X06 | 0X00 | 0X00 | 0X00 | 0X02 | 0X08 | 0X0B |
六、支持的命令及命令和数据意义:
MODBUS-RTU 协议命令列表如下:
功能 码 | 数据起 始地址 | 数据类型 | 数据 字节 | 数据范围 | 指令意义 |
0x03 功能码读取数据 | |||||
0X03 | 0X0300 | 无符号整形 | 2 | 1~247 | 地址 |
0X03 | 0X0301 | 无符号长整形 | 4 | 1200 | xx率 |
2400 | |||||
4800 | |||||
9600 | |||||
0X0302 | 19200 | ||||
38400 | |||||
57600 | |||||
115200 | |||||
0X03 | 0X0303 | 无符号整形 | 2 | 0-无校验 | 校验位 |
1-奇校验 | |||||
2-偶校验 | |||||
0X03 | 0X0304 | 无符号整形 | 2 | 0~7 | 压力小数点 |
0X03 | 0X0305 | 无符号整形 | 2 | 0~7 | 温度小数点 |
0X03 | 0X0306 | 浮点型 | 4 | 0.5~1.5 | 压力增益系数 |
0X0307 | |||||
0X03 | 0X0308 | 浮点型 | 4 | 压力基值 | |
0X0309 | |||||
0X03 | 0X030A | 浮点型 | 4 | 温度基值 | |
0X030B | |||||
0X03 | 0X030C | 无符号整形 | 2 | 0001-kPa | 压力单位 |
0002-MPa | |||||
0003-mmH2O |
传感器有限公司 RS485 输出协议
0004-mH2O | |||||||
0005-mmOIL | |||||||
0006-mOIL | |||||||
0007-Bar | |||||||
0008-psi | |||||||
0009-atm | |||||||
0X03 | 0X030D | 无符号整形 | 2 | 0080-℃ | 温度单位 | ||
0081-℉ | |||||||
0X03 | 0X0404 | 浮点型 | 4 | 压力输出值 | |||
0X0405 | |||||||
0X03 | 0X0408 | 浮点型 | 4 | 温度输出值 | |||
0X0409 | |||||||
0x06 功能码写数据 | |||||||
0X06 | 0X0300 | 无符号整形 | 2 | 1~247 | 地址 | ||
0X06 | 0X0301 | 无符号长整形 | 4 | 1200 | xx率 | ||
2400 | |||||||
4800 | |||||||
9600 | |||||||
0X0302 | 19200 | ||||||
38400 | |||||||
57600 | |||||||
115200 | |||||||
0X06 | 0X0303 | 无符号整形 | 2 | 0-无校验 | 校验位 | ||
1-奇校验 | |||||||
2-偶校验 | |||||||
0X06 | 0X0304 | 无符号整形 | 2 | 0~7 | 压力小数点 | ||
0X06 | 0X0305 | 无符号整形 | 2 | 0~7 | 温度小数点 | ||
0X06 | 0X0306 | 浮点型 | 4 | 0.5~1.5 | 压力增益系数 | ||
0X0307 | |||||||
0X06 | 0X0308 | 浮点型 | 4 | 压力基值 | |||
0X0309 | |||||||
0X06 | 0X030A | 浮点型 | 4 | 温度基值 | |||
0X030B | |||||||
0X06 | 0X030C | 无符号整形 | 2 | 0001-kPa | 压力单位 | ||
0002-MPa | |||||||
0003-mmH2O | |||||||
0004-mH2O | |||||||
0005-mmOIL | |||||||
0006-mOIL | |||||||
0007-Bar | |||||||
0008-psi |
传感器有限公司 RS485 输出协议
0009-atm | |||||||
0X06 | 0X0501 | 无符号整形 | 2 | 0001-保存到用户数据区 | 保存操作 | ||
0004-恢复出厂设置 | |||||||
0007-压力xx |
说明:
1、若设备收到 03H、06H、10H 功能码之外的功能码,则返回不正常响应代码 01H。
2、为保护设备重要参数不被破坏,某些寄存器仅支持用户读取操作(03H 功能码),若对这些寄存器进行写入操作(06H、10H 功能码),则返回不正常响应代码 02H。
3、操作数据段仅支持写入操作(06H、10H 功能吗),若对这些寄存器进行读取操作(03H 功能码),则返回不正常响应代码 02H。
4、对偏移地址分配表中编址范围以外的地址进行读写操作,都会返回不正常响应代码 02H。
5、为防止某些寄存器写入非法参数,在对用户数据区寄存器进行写入操作(06H、10H 功能码)时,设备会对数据验证,若写入错误数据,则返回不正常响应代码 04H,且寄存器的数据不会被改变。