PLC通信校验程序 BBC校验 LRC校验 CRC校验程序

BBC、LRC、CRC校验

 库介绍:

        使用软件和硬件环境:

        STEP 7-Micro/WIN SMART V2.2及以上

        S7-200 SMART固件V2.2及以上

 特点:

       伴随着新版本的STEP 7-Micro/WIN SMART和S7-200 SMART CPU的发布,S7-200 SMART CPU性能越来越强大。由于串口通信设计较为困难,基于此笔者设计了BBC(异或校验)、LRC(纵向冗余检验)、CRC(循环冗余校验),便于初学者快速用于Modbus RTU/ASCII协议及相关支持BBC、LCR和CRC协议的设计,为后续工作打下坚实的基础。

 

使用注意事项:

1)计算 BBC 校验值

       说明: 

                本程序使用异或的方法计算信息帧的BBC 值。

       输入参数:

                 Ris_Edge       使能信号 : 上升沿信号有效触发转换

                 P_Dint               缓冲区头指针,由第一个字节给出信息长度

                 Num              校验数据数量

       输出参数:

                 Out_Value     BBC 计算结果

       通信报文:30 35 38 45 34 32,注意此通信报文为ASCII格式的16进制表示

       需要带求的校验码:37 45  对应的ASCII格式为'7' 'E'

BBC校验 

2)计算 LRC 校验值

       说明: 

                本程序使用位或的方法计算信息帧的 LRC 值。

       输入参数:

                 First_on        使能信号 : 上升沿信号有效触发转换

                 Pint               缓冲区头指针,由第一个字节给出信息长度

                 Num              校验数据数量

       输出参数:

                 Out_Value    LRC 计算结果

        本例程以Modbus Ascii通信的报文为依据求取相应的校验码

       通信报文:30 31 30 33 30 30 30 30 30 30 30 31,注意此通信报文为ASCII格式的16进制表示需要转换为

       真实的16进制

       需要带求的校验码:46 42  对应的ASCII格式为'F' 'B'

  

LRC校验 

3)计算 CRC16 校验值

      说明: 

               本程序使用位或的方法计算信息帧的 CRC 值。

               使用缓冲区的第一个字节作为待计算的数据长度,信息字节串紧随其后

      注意:

               本程序用到累加器 AC0,但并不自动保存/恢复它

               因本库中调用它的程序会保存累加器,所以这里不需要保存

               但如在本库以外的地方调用此程序,则需要用户自己做保存/恢复工作

      输入参数:

               pBuf        缓冲区头指针,由第一个字节给出信息长度

               bExchg        是否交换计算结果的高低字节 : 1=交换、0=不交换

               bPutBack    结果写回缓冲区数据尾部 : 1=写入、0=不写入

               本库其实不需要这两个参数,仅仅是为了增加在本库以外的地方使用本程序的兼容性

     输出参数:

               wCrc    CRC 计算结果

               结果同时被放回到缓冲区紧随数据之后

    本例程以Modbus RTU通信的报文为依据求取相应的校验码

    初始化校验数据:01 03 00 00 00 01其中VB0=6代表数据字节个数

    CRC16数据01 03 00 00 00 01 输出结果16#84 0A  10#33802

 

CRC校验

源代码链接:https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-19247315394.37.68455c83dQG7t7&id=578581253719

posted @ 2019-04-11 16:59  工控小鬼  阅读(6115)  评论(0编辑  收藏  举报