西门子博途中1200PLC的CRC校验码封装

西门子博途1200PLC中CRC校验功能块的封装

(*

CRC校验生成步骤:

第1步、预置INT数据类型CRC寄存器为16#制FFFF,即所有的位都为1.

第2步、该16位寄存器的低8位字节与信息帧的第一位字节的8位进行异或运算,运算结果放入16位寄存器,使用XOR异或指令。

第3步、把这个16位寄存器向右移一位,使用移位指令。

第4步、假如向右移出的位为1(TRUE),则与常量16#A001和这个寄存器进行异或(XOR)运算,若移出数为0(FALSE),则返回第3步。

第5步、重复第3步和第4步直至移出第8位。

第6步、重复第2步到第5步进行下一个8位数据的处理,直到把数组的元素都处理完成。

第7步、最后得到的CRC寄存器即为CRC码,但要进高低字节的交换。

*)

FC功能 块的接口

与串口调试软件校验码的对照,程序正解

原文链接:,转发请注明来源!