打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【S7-1200】 CRC校验原理以及梯形图的实现





计算法:

CRC校验生成步骤:

1、预置一个16位CRC寄存器为16进制FFFF,即所有数均为1.

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

3、把这个16位寄存器向右移一位,用0补充高位。

4、若向右移出的是1,则生成多项式A001和这个寄存器进行异或运算若移出数为0则返回第三步。

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

6、重复2步到第5步进行下一个8位数据的处理。

7、最后得到的CRC寄存器即为CRC码。

梯形图实现CRC校验:

由上述步骤可知要实现CRC校验要用到双重循环,而在西门子S7-1200中没有像S7-300中那样的loop虚幻指令,所以我们只能用普通指令进行编写循环。

首先,建立第五步的内部循环,建立函数块命名为“校验”,在“校验”函数块中定义

输出参数:准备惊醒校验的“校验数”、校验时要移动的位数“校验次数”

首次惊醒异或的“校验值_1”

输出参数:校验后的结果“校验值”



然后,建立第6步的函数块,命名“为CRC校验块”在函数块中定义输入输出参数。


输入参数:要校验的数组“数组”、开始校验的位置“起始下标”、校验的数“元素值”、要校验的个数“字节数”

输出参数:校验完成后的地校验值“校验结果”

在函数中会用到调用上一步中所建立的函数块“校验”




最后在函数中调用“CRC校验块”即可实现CRC校验,用此校验方法在校验中犹豫用到的校验方法为一位法,所以在循环时所需的时间比较长。可以采用查表的方法来降低计算所需要的时间。



转载是一种动力 分享是一种美德



关于我们:启程自动化培训 中国领先的工业机器人培训服务提供商

联系电话:0755-33160627  13809869603

培训项目:机器人+PLC 系统集成+运动控制+机器人+机器视觉

特色服务:3000平米实训中心 +推荐就业+ 业界领先的课程体系


+老师 微信,了解开班详情


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
循环冗余校验算法
三菱PLC实现CRC(循环冗余校验)计算程序,详细案例解析
MODBUS-RTU循环冗余校验的PLC程序实现
看看大神是怎么编---CRC校验程序的
【洛谷日报#224】关于随机数的前世今生
西门子S7300CPU寄存器状态字的用法 - PLC/DCS/SC及组态软件 - 中国设计...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服