Modbus-RTU传输协议说明
一、 基本通讯定义
1、通讯协议采用Modbus-RTU模式协议,RS-485通讯接口;
2、通讯数据格式:1位起始位,8位数据位,无校验,1位停止位;
3、通讯波特率:9,600bps。
4、功能码:03H,向控制器发送读取多个寄存器数据信息命令; 06H,向控制器发送设置1个寄存器数据信息命令 10H,向控制器发送预置多个寄存器数据信息命令。定义系统通讯地址:01H。
二、通讯数据格式和寄存器地址分配
1、控制器数据信息寄存器地址分配:
数据类型 | 寄存器地址 | 单位 | 备注 |
温度T0 | 0020H | 0.1℃ | |
温度T1 | 0021H | 0.001 | |
温度T2 | 0022H | 0.1℃ | |
温度T3 | 0023H | 0.001 | |
温度T4 | 0024H | 0.1℃ | |
温度T5 | 0025H | 0.001 | |
温度T6 | 0026H | 0.1℃ | |
温度T7 | 0027H | 0.001 | |
温度T8 | 0028H | 0.1℃ | |
温度T9 | 0029H | 0.001 |
注释:
(1).以上1个寄存器地址包含2个字节数据;
(2).以上数据均为十六进制数据,数据均为无符号数据;
(3).若数据有小数位,例如:单位0.1℃,表示当前2个字节数据x0.1,单位为℃;
(5).以上寄存器数据后台只能发送读取03H功能码命令有效,发送写入06H功能码命令无效。
2、设置数据信息寄存器地址分配:
数据类型 | 寄存器地址 | 单位 | 数据范围 |
DO输出使能设置 | 0004H | 第0位:打开(1)/关闭(0)输出DO1; 第1位:打开(1)/关闭(0)输出DO2; 第2位:打开(1)/关闭(0)输出DO3; 第3位:打开(1)/关闭(0)输出DO4; 第4位:打开(1)/关闭(0)输出DO5; 第5~15位:保留没有使用,为0。 |
注释:
(1).以上1个寄存器地址包含2个字节数据;
(2).以上数据均为十六进制无符号数据,
(3).以上寄存器数据主站发送读取03H和写入06H功能码命令均有效。
三、数据通讯的方式说明
7、对系统的数据查询
主站可以对控制器的采样数据,以及设置控制数据等进行主动查询,控制器收到要求发送指令后再进行发送。
功能码命令03H,寄存器地址范围为0020H~0029H。寄存器数目可以根据实际设置。
举例:查询数据帧如下,寄存器起始地址0020H。
主站发送帧:
顺序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
含义 | 地址 | 功能码 | 起始地址 | 寄存器数目 | CRC校验 | |||
高位 | 低位 | 高位 | 低位 | 低位 | 高位 | |||
发送 | 01 | 03 | 00 | 20 | 00 | 0A | C4 | 07 |
控制器应答帧:
顺序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
含义 | 地址 | 功能码 | 内容字节数 | 温度T0 | 温度T1 | 温度T2 | 温度T3 | ||||
高位 | 低位 | 高位 | 低位 | 高位 | 低位 | 高位 | 低位 | ||||
发送 | 01 | 03 | 14 | T0 | T0 | T1 | T1 | T2 | T2 | T3 | T3 |
顺序 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
含义 | 温度T4 | 温度T5 | 温度T6 | 温度T7 | 温度T8 | |||||
高位 | 低位 | 高位 | 低位 | 高位 | 低位 | 高位 | 低位 | 高位 | 低位 | |
发送 | T4 | T4 | T5 | T5 | T6 | T6 | T7 | T7 | T8 | T8 |
顺序 | 22 | 23 | 24 | 25 |
含义 | 温度T9 | CRC校验 | ||
高位 | 低位 | 低位 | 高位 | |
发送 | T9 | T9 | ZZ | ZZ |
8、主站对控制器的设置控制数据的更改设置
主站可以对控制器的设置控制数据进行更改设置,控制器收到更改设置数据指令后再进行数据更改设置。1次命令只能设置更改1个控制设置数据。
功能码命令06H,寄存器地址范围为0004H。
举例:更改设置“DO输出使能设置”数据帧如下,寄存器地址0004H
主站发送帧:
顺序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
含义 | 地址 | 功能码 | 寄存器地址 | 设置数据 | CRC校验 | |||
高位 | 低位 | 高位 | 低位 | 低位 | 高位 | |||
发送 | 01 | 06 | 00 | 04 | 00 | XX | ZZ | ZZ |
控制器应答帧:
顺序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
含义 | 地址 | 功能码 | 寄存器地址 | 设置数据 | CRC校验 | |||
高位 | 低位 | 高位 | 低位 | 低位 | 高位 | |||
发送 | 01 | 06 | 00 | 04 | 00 | XX | ZZ | ZZ |
以上XX为设置的“DO输出使能设置”数据。