本协议遵守 MODBUS 通信协议,采用了 MODBUS 协议中的子集中 RTU 方式,RS485半双工工作方式;根据设备功能,目前设备支持的 MODBUS- RTU 协议功能码有:03、06。二、接线示意:
一.概述:
华天科技 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.返回读数据格式:举例
地址 | 功 能 码 | 字节数 | 数据 (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 |
3.异常应答返回
地址 | 功 能 码 | 异常码 | CRC16 (L) | CRC16 (H) |
0X01 | 0X80 +功能码 | 0x01(非法功能) 0x02( 非法数据地址) 0x03(非法数据 |
六、支持的命令及命令和数据意义:
MODBUS-RTU 协议命令列表如下:
功能码 | 数据起始 地址 | 数据 个数 | 数 据 字节 | 数据范围 | 指令意义 |
0x03 功能码读取数据 | |||||
0x03 | 0x0000 | 1 | 2 | 1-255 | 读取从机地址 |
0x03 | 0x0001 | 1 | 2 | 0-1200 1-2400 2-4800 3-9600 4-19200 5-38400 6-57600 7-115200 | xx率读取 |
0x03 | 0x0003 | 1 | 2 | 0-#### 0-###.# 0-##.## 0-#.### | xxx分别代表 0-3 位小数点 |
0x03 | 0x0002 | 1 | 2 | 0- MPa 1- kPa 2- Pa 3- Bar 4- mBar 5- kg/cm2 6- psi 7- mH2O 8- mmH2O | 压力单位 |
0x03 | 0x0004 | 1 | 2 | -32768-32767 | 测量输出值 |
0x03 | 0x000c | 1 | 2 | -32768-32767 | 零位偏移值,出厂一般为 0 |
0x06 功能码写数据 | |||||||
0x06 | 0x0000 | 2 | 1-255 | 改写从机地址 | |||
0x06 | 0x0001 | 2 | 0-1200 1-2400 2-4800 3-9600 4-19200 5-38400 6-57600 7-115200 | 修改xx率 | |||
保存和恢复工厂 | |||||||
0x06 | 0x000F | 2 | 1- 保存到用户 区 | ||||
0X06 | 0x0010 | 2 | 1- 返回工厂参 数 |
说明:
0- 修改xx率时变送器会以主机发送的xx率回复修改数据,回复完以后变送器xx率会变为修改后的目标值.
1- 修改地址时也是以修改前的地址回复数据,回复完以后会自动修改变送器地址.
2- 保存和回复工厂命令会原值返回,表示变送器已经接受了主机的命令.
3- 恢复工厂数据时要注意,可能工厂保存的参数和用户保存的不一致,所以其中地址,xx率和校准数据可能都不一致,所以恢复完工厂参数以后必须重新搜索变送器.
4- 用户允许修改的数据只有 2 个,分别是地址、xx率.
5- 一般用户不允许修改变送器的校准数据,如需校准和更改,请联系天水华天传感器有限公司,用户自己发送修改校准数据命令会导致变送器输出命令异常代码。
6- 如果需要读取的数据时浮点数标识的,比如 6.000.但是本协议规定了数据都是以整形数据来通信的,所以读取到的数据是 6000,然后要根据小数点的位置来做运算,才能得到 6.000,比如小数点是 3,则就是说 6000/10(3),就是 6000 除以 10 的三次方,得到 6.000 这个数据.
7- 修改地址或xx率,清零值等操作,最后必须发送一条保存指令,才能掉电保存。
8- 保存指令:0106000F0001CRC.从机地址和 CRC 会变化,请用专业 CRC 计算软件计算
CRC 值。