modbusrtu协议介绍及程序设计内容摘要:

位二进制。 CRC 码由发送设备计算,放置于发送信息的尾部。 接收信息的设备再重新计算接收到信息的 CRC 码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。 CRC码的计算方法是,先预置 16 位寄存器全为 1。 再逐步把每 8位数 据信息进行处理。 在进行 CRC码计算时只用 8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与 CRC 码计算。 在计算 CRC 码时, 8位数据与寄存器的数据相异或,得到的结果向低位移一字节,用 0填补最高位。 再检查最低位,如果最低位为 1,把寄存器的内容与预置数相异或,如果最低位为 0,不进行异或运算。 这个过程一直重复 8 次。 第 8 次移位后,下一个 8 位再与现在寄存器的内容相相异或,这个过程与以上一样重复8 次。 当所有的数据信息处理完后,最后寄存器的内容即为CRC 码值。 CRC码中的数据发送、 接收时低字节在前。 计算 CRC码的步骤为: 预置 16 位寄存器为十六进制 FFFF(即全为 1)。 称此寄存器为 CRC寄存器; 把第一个 8 位数据与 16 位 CRC 寄存器的低位相异或,把结果放于 CRC寄存器; 把寄存器的内容右移一位 (朝低位 ),用 0填补最高位,检查最低位; 如果最低位为 0:重复第 3步 (再次移位 )。 如果最低位为 1:CRC 寄存器与多项式 A001( 1010 0000 0000 0001)进行异或; 重复步骤 3和 4,直到右移 8次,这样整个 8位数据全部进行了处理; 重复步骤 2到步骤 5,进行下一个 8位数据的处理; 最后得到的 CRC寄存器即为 CRC码。 3.功能码 03,读取点和返回值: 仪表采用 Modbus。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。