看看PLC大神是怎么编CRC校验程序的

【程序结构描述】

西门子S7-200SMART系列PLC的程序结构分为主程序、子程序、中断程序。此程序用“MAIN”程序调用“CRC校验程序”子程序

定义子程序变量表:如图1-0

子程序变量表定义图1-0

(1)“CRC校验程序”子程序,初始化存储器,并把16#FFFF装载到CRC寄存器中(定义AC0为CRC寄存器)。并利用FOR语句循环,循环的次数由LW4决定。程序如图1-1所示

图1-1初始化存储器

(2)取第一个地址与CRC寄存器做异或运算。并利用FOR语句循环,循环的次数为8,因为一个字节的数据是8个位。程序如图1-2所示

图1-2异或运算

(3)执行移位操作,并判断移出为的状态,若移出位为1,则在与16#A001做异或运算。程序如图1-3所示

图1-3执行移位操作

(4)利用指针,指针加1,指向下一个地址,取出下一个地址之后再进行重复以上步骤效验,直到数据都效验完,程序退出FOR循环。程序如图1-4所示

图1-4指针加1

(5)对计算结果进行高低字节交换,把结果输出。程序如图1-5所示

图1-5高低字节交换

(6)在“MAIN”程序中通过按钮的触发调用“CRC校验程序”子程序。

验证一:写入数据到VB0至VB5中,CRC效验值存储在VW100中

CRC效验计算小助手(与程序中计算相符):

验证二:写入数据到VB0至VB5中,CRC效验值存储在VW100中

CRC效验计算小助手计算(与程序中计算相符):

循环冗余校验码(CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。循环冗余校验码常用于外存储器和计算机同步通信的数据校验。奇偶校验码和海明校验码都是采用奇偶检测为手段检错和纠错的(奇偶校验码不具有纠错能力),而循环冗余校验则是通过某种数学运算来建立数据位和校验位的约定关系的。

循环冗余校验码(cyclic redundancy check)简称CRC(循环码),是一种能力相当强的检错、纠错码,并且实现编码和检码的电路比较简单,常用于串行传送(二进制位串沿一条信号线逐位传送)的辅助存储器与主机的数据通信和计算机网络中。

循环码是指通过某种数学运算实现有效信息与校验位之间的循环校验(而海明码是一种多重校验)。

这种编码基本思想是将要传送的信息M(X)表示为一个多项式L,用L除以一个预先确定的多项式G(X),得到的余式就是所需的循环冗余校验码。

这种校验又称多项式校验。

理论上可以证明循环冗余校验码的检错能力有以下特点:①可检测出所有奇数位错;②可检测出所有双比特的错;③可检测出所有小于、等于校验位长度的突发错。

(0)

相关推荐

  • 西门子PLC:通过指针轻松实现多个数据排列

    关注"PLC发烧友",一起涨知识! 在PLC编程时,经常会使用多个数据,在这些数据中找到想要的数据就变得非常困难了.就像我们在茫茫人海中要寻找那个"她",该去哪 ...

  • 西门子S7-200系列PLC高阶课程-1 子程序

    大家好,从这节课开始,我们学习在主程序之外的一些子程序知识. 我们先来了解一下程序的组织形式: S7-200系列CPU控制程序由主程序OB1.子程序SBRO和中断程序INTO组成,STEP7-Micr ...

  • 看看大神是怎么编---CRC校验程序的

    [程序结构描述] 西门子S7-200SMART系列PLC的程序结构分为主程序.子程序.中断程序.此程序用"MAIN"程序调用"CRC校验程序"子程序 定义子程序 ...

  • PLC大神分享,学习了!!!

    我也是一个自学PLC的,当初为了学PLC,买了各类书籍,看了各种视频.却发现讲的都很专业,晦涩,而自己理解能力薄弱,再加上半路出家,总是不得入门. 感叹为什么没有一本通俗化的书本,用白话而不是专业的形 ...

  • 西门子200SMART PLC CRC校验程序的编写

    导读:在工作现场,经常会用到通讯与其它设备交互信息,而通讯必然会需要校验.而初学者学习MODBUS RTU的时候往往会纠结这个CRC校验程序如何编写?CRC校验程序相对来说比较繁琐,但是大家可以收藏好 ...

  • PLC通讯MODBUS协议的应用及编程,大神总结就是不一样

    爱上PLC 公众号 去学PLC 叙述:现为大家讲解一下MODBUS的应用,现在工业控制上位机和下位机通信大部分采用通信协议为MODBUS,可想而知机器与机器通信的重要性. 一:MODBUS系统框架图 ...

  • 30个PLC编程实例,带你从小白进阶电气大神!

    发现更多电气知识 电气达人 电气达人 电气人择一业,终一生! 13篇原创内容 公众号 PLC在学习的过程中,除了需要掌握必备的基础理论知识以外,更需要亲身设计电路来实践,刚开始学习PLC编程的时候,可 ...

  • 卡牌插画大神,到底哪里神了呢?小编为何那么崇拜他呢

    图片来自互联网 / 版权归原作者 ▼ 两年前推荐的第一期大神推介就是他 小窝非常崇拜的一位游戏插画设计师 时隔这么久到底这位大神又有哪些新作更新呢 就我们拭目以待 请跟小窝一探究竟吧 他的2021年最 ...

  • 【微展示】houdini大神愉快地玩耍,小编在思考用C4D如何实现

    --  微资讯 · 微课程  -- 利用零碎时间,走上超神之路! 看看大神如何把MG动画和houdini玩到另外一个境界,名字为fun with houdini,目前一共有5部.当技术已经不是问题的时 ...

  • PLC连接电脑的多种通讯方式,会用3种以上的是大神

    PLC 编程不同于其他的计算机软件编程,写好的程序在电脑上不会自动运行,需要结合外部线路和机械设备才能发挥程序的价值,这也是自动化技术的特色,理论+实践,软硬件结合,才是自动化发展的正确走向.本文给大 ...

  • 大神教你:10招搞定PLC综合故障

    近年来,随着社会的发展,PLC可编程序控制器在工业生产中得到了广泛的使用,同时技术人员对其使用要求也在逐年增高,因此对系统正常稳定运行要求也越来越高.PLC产品本身的可靠性可以保证,但在应用中一些不正 ...