其他分享
首页 > 其他分享> > 关于modbus rtu协议的CRC(循环冗余校验)在线计算

关于modbus rtu协议的CRC(循环冗余校验)在线计算

作者:互联网

       上位机须按照MODBUS协议的命令格式发送数据(包括计算的CRC值),从机才能正确辨识数据。若无CRC值,从机将返回含有错误号的应答包,不会得到正确结果。标准的做法,发送前计算CRC值并一起发送,接收后也计算CRC值并与接收的校验码对比是否相等,以辨别数据是否准确。
       计算CRC有相应的方法和代码,我觉得很繁琐,倒不如用现成的计算器算算,在线的比较好用,不错。

在线计算网址一: http://www.ip33.com/crc.html

比如要发送的命令是:15 03 00 31 00 01

这里使用的参数模型是:CRC 16/modbus,点击计算得到CRC值:D1D6 H

注意:当放置 CRC 值于命令时,高低字节必须交换 ,所以,报文中CRC低字节:0xD6 高字节0xD1    

   

在线计算网址二: https://www.lammertbies.nl/comm/info/crc-calculation.html
发送的命令是:15 03 00 31 00 01
计算得到CRC 16/modbus的值:D1D6 H
同样需要注意:当放置 CRC 值于命令时,高低字节必须交换 ,所以报文中CRC低字节:0xD6  高字节0xD1 

在线计算网址三:http://cht.nahua.com.tw/index.php?url=http://cht.nahua.com.tw/software/crc16/&key=Modbus,%20RTU,%20CRC16&title=計算%20Modbus%20RTU%20CRC16
计算得到校验码:D6D1 H
注意:当放置 CRC 值于命令时,高低字节必须交换 ,这里计算后已经有交换,所以我们在报文中直接用就可以了,所以低字节:0xD6  高字节0xD1

   

    
   

 

标签:modbus,00,低字节,命令,rtu,CRC,计算,在线
来源: https://blog.csdn.net/childbor/article/details/117922905