我的购物车
手机版
简体中文版
English
首页
软件简介
锅炉仿真软件
软件授权
锅炉仿真软件
工具软件
技术分享
锅炉行业技术
自动化技术
下载中心
在线留言
联系我们
官方淘宝店铺
锅炉行业技术
自动化技术
当前位置:
首页
>>
技术分享
>>
自动化技术
>>
查看详情
CRC校验原理以及梯形图的实现
来源:
杭微自动化软件工作室
日期:
2022-07-09 00:11:58
点击:
456
属于:
自动化技术
计算法:
CRC
校验生成步骤:
预置一个
16
位
CRC
寄存器为
16
进制
FFFF
,即所有数均为
1.
该
16
位寄存器的低
8
位字节与信息帧的第一位字节的
8
位进行异或运算,运算结果放入
16
位寄存器。
把这个
16
位寄存器向右移一位,用
0
补充高位。
若向右移出的是
1
,则生成多项式
A001
和这个寄存器进行异或运算若移出数为
0
则返回第三步。
重复
3
和
4
直至移出
8
位。
重复
2
步到第
5
步进行下一个
8
位数据的处理。
最后得到的
CRC
寄存器即为
CRC
码。
梯形图实现
CRC
校验:
由上述步骤可知要实现
CRC
校验要用到双重循环,而在西门子
S7-1200
中没有像
S7-300
中那样的
loop
虚幻指令,所以我们只能用普通指令进行编写循环。
首先,建立第五步的内部循环,首先建立函数块命名为
“校验”,在“校验”函数块中定义
输出参数:准备惊醒校验的
“校验数”、校验时要移动的位数“校验次数”
首次惊醒异或的
“校验值
_1
”
输出参数:校验后的结果
“校验值”
然后,建立第
6
步的函数块,命名“为
CRC
校验块”在函数块中定义输入输出参数。
输入参数:要校验的数组
“数组”、开始校验的位置“起始下标”、校验的数“元素值”、要校验的个数“字节数”
输出参数:校验完成后的地校验值
“校验结果”
在函数中会用到调用上一步中所建立的函数块
“校验”
最后在函数中调用
“
CRC
校验块”即可实现
CRC
校验,用此校验方法在校验中犹豫用到的校验方法为一位法,所以在循环时所需的时间比较长。可以采用查表的方法来降低计算所需要的时间。
转载自
江西自动化网
上一新闻:
西门子博图软件搜索不到设备如何解决
下一新闻:
没有了
友情链接
百万站
ZOL软件下载
软件简介
锅炉仿真软件
软件授权
锅炉仿真软件
工具软件
技术分享
锅炉行业技术
自动化技术
下载中心
在线留言
手机:
18668139360
微信扫描关注我们:
技术支持:
友点软件
杭微自动化软件工作室
版权所有 2021-2026
浙ICP备2022018751号-1