
Modbus RTU CRC校验详解及计算步骤
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文详细解析了Modbus RTU协议中的CRC校验机制,并提供了具体的操作步骤和算法说明,帮助读者理解并实现数据传输过程中的错误检测。
RTU 模式使用CRC(循环冗余校验)来检测错误值。CRC 错误值的计算步骤如下:
第一步:将一个内容为 FFFFH 的16位寄存器加载到名为“CRC”的寄存器中。
第二步:指令信息的第一个字节与16位 CRC 寄存器中的低位进行异或运算,并将结果存储回CRC 寄存器。
第三步:检查 CRC 寄存器的最低有效位(LSB)。如果此位为0,则右移一位;若该位置为1,先将CRC寄存器值向右移动一位后再与A001H 进行异或运算。
第四步:重复步骤三八次后进入第五步。
第五步:对指令信息的下一个字节执行第二至四步的操作。直至所有字节处理完毕,此时 CRC 寄存器的内容即为CRC 错误值。
说明:计算出CRC错误值之后,在指令中需要先填入低位的CRC值再填入高位的CRC值,请参考以下示例。
例如:从局号01H 的伺服驱动器读取地址 0101H 处2个字(word)的信息。若根据ADR到数据最后一位算出 CRC 寄存器的内容为3794H,则该指令信息如下所示,注意在发送时先传输94H 再传37H。
全部评论 (0)
还没有任何评论哟~


