通讯参数组 07
③数据信息组
④错误校验信息组
功能名称
功能代码
功能说明
读多个寄存器
H03
可读取从机的连续寄存器内容
写单个寄存器
H06
可向从机的单个寄存器写入数据
机能诊断
H08
进行功能诊断(仅通讯校验)
写多个寄存器
H10
可向从机的多个连续寄存器写入数据
根据功能代码发生变化,包括起始地址、写入读出寄存器的个数、写入数据等。
ASCII LRC 校验方式,RTU CRC 校验方式。
ASCII 模式 LRC 校验值计算:
LRC 校验比较简单,它在 ASCII 模式中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一
个需要传输的数据按字节(不是 ASCII )叠加,如果得到的结果大于十六进制的 H100,超出部分去除后(如:得到的结果为
十六进制的 H136,则只取 H36)取反加 1 即可。
RTU 模式 CRC 校验值计算:
1.加装一个 16 位寄存器,所有数位均为 1
2.该 16 位寄存器的高位字节与开始 8 位字节进行“异或”运算。运算结果放入这个 16 位寄存器。
3.把这个 16 寄存器向右移一位。
4.若向右(标记位)移出的数位是 1,则生成多项式 1010000000000001 和这个寄存器进行“异或”运算;若向右移出的数位
0,则返回 3
5. 重复 3 4,直至移出 8 位。
6. 另外 8 位与该十六位寄存器进行“异或”运算。
7.重复 3~6,直至该报文所有字节均与 16 位寄存器进行“异或”运算,并移位 8 次。
8.这个 16 位寄存器的内容即 2 字节 CRC 错误校验,被加到报文的最高有效位。
CRC 添加到消息中时,低字节先加入,然后高字节。
通讯格式:
1. 数据读出(H03
模式
起始
地址*1
ASCII
H3A
2char
RTU
>=10ms
8bit
功能*2
2char
8bit
起始地址*3
4char
2byte
寄存器个数*4
4char
2byte
校验
2char
2byte
终止
0D 0A
>=10ms
正常应答
模式
起始
ASCII
RTU
H3A
>=10ms
地址*1
2char
8bit
功能*2
2char
8bit
读出资料数目
读出资料*6
*5
2char
4char
…2N×8bit
1byte
2byte
…N×8bit
校验
2char
2byte
终止
0D 0A
>=10ms
信息
*1)地址
*2)功能代码
*3)起始地址
*4)寄存器个数
*5)读出资料数目
*6)读出资料
2. 数据写入(H06
设定内容
设定发送信息的地址,0 无效
H03
设定为所要读取的寄存器的位址。
设定所要读取的寄存器的个数。最多能够读取的个数为 12 个。
*4)中的两倍
设定*4)所指定的资料,读取资料按高低字节的顺序依次读取。
参数说明 124