描述:plc截图1
图片:
描述:plc截图2
图片:
描述:plc截图3
图片:
描述:plc截图4
图片:
描述:plc截图5
图片:
描述:plc截图6
图片:
描述:浏览器截图1
图片:
欧姆龙PLC,用功能块编写的modbus_crc校验.经过验证.没有问题.如果是自己通过RS232自由口通信与RS485的仪表通信.这样就会用的校验码的计算.在网上找了许多资料,觉得比较麻烦也很难懂.所以产生自己编写的想法.
1)CRC寄存器初始值为 FFFF;即16个字节全为1;
2)CRC-16 / MODBUS的多项式A001H (1010 0000 0000 0001B) ‘H’表示16进制数,‘B’表示二进制数
计算步骤为:
(1).预置 16 位寄存器为十六进制 FFFF(即全为 1) ,称此寄存器为 CRC 寄存器;
(2).把第一个 8 位数据与 16 位 CRC 寄存器的低位相异或,把结果放于 CRC 寄
存器;
(3).检测相异或后的CRC寄存器的最低位,若最低位为1:CRC寄存器先右移1位,再与多项式A001H进行异或;若为0,则CRC寄存器右移1位,无需与多项式进行异或。
(4).重复步骤 3 ,直到右移 8 次,这样整个 8 位数据全部进行了处理;
(5).重复步骤 2 到步骤4,进行下一个 8 位数据的处理;
(6).最后得到的 CRC 寄存器即为 CRC 码。