西门子博途中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功能 块的接口
与串口调试软件校验码的对照,程序正解