Modbus CRC校验如何测试呢?

已锁定

陆上行舟

  • 帖子

    1246
  • 精华

    7
  • 被关注

    36

论坛等级:奇侠

注册时间:2009-02-13

白金 白金 如何晋级?

Modbus CRC校验如何测试呢?

2337

6

2018-02-05 15:35:08

star star star star star

 网上看到有成熟的程序Modbus CRC校验的程序。

1,问一下如何测试这一段程序呢?

2,CP340里面怎么应用成Modbus 通讯呢?

VAR_INPUT

  DB_NO : INT ; 

  DBB_Start : INT ; 

  DBB_Counts : INT ; 

 END_VAR

 VAR_OUTPUT

  CRC_H : BYTE ; 

  CRC_L : BYTE ; 

 END_VAR

 VAR_TEMP

  CRC_REG : WORD ; 

  DB_NO_TEMP : INT ; 

  BytesChecked : INT ; 

  BitsChecked : INT ; 

 END_VAR

 BEGIN

 NETWORK

 TITLE =

 

    L   W#16#FFFF; 

    T   #CRC_REG; //预置CRC寄存器

    L   #DB_NO; 

    T   #DB_NO_TEMP; 

    OPN  DB [#DB_NO_TEMP]; 

    L   #DBB_Start; //读入校验起始字节

    SLD  3; 

    LAR1  ; 

 

    L   #DBB_Counts; //读入校验字节数量

 _A:  T   #BytesChecked; //字节处理循环

    L   DBB [AR1,P#0.0]; 

    L   LB   1; 

    XOW  ; 

    T   LB   1; 

 

    L   8; 

 _B:  T   #BitsChecked; //位处理循环

    L   #CRC_REG; 

    SRW  1; 

    T   #CRC_REG; 

    JZ   _C; //检验移出位是否为1

    L   #CRC_REG; 

    L   W#16#A001; 

    XOW  ; 

    T   #CRC_REG; 

 

 _C:  L   #BitsChecked; //校验下个位

    LOOP  _B; 

 

    +AR1  P#1.0; //校验下个字节

    L   #BytesChecked; 

    LOOP  _A; 

 

    L   LB   1; //输出校验码

    T   #CRC_H; 

    L   LB   0; 

    T   #CRC_L; 

 END_FUNCTION

Modbus CRC校验如何测试呢? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54703条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。