<ins id="vfpbr"><sub id="vfpbr"><p id="vfpbr"></p></sub></ins>

    <ol id="vfpbr"></ol>

    <ins id="vfpbr"></ins>
    <ol id="vfpbr"><sub id="vfpbr"><video id="vfpbr"></video></sub></ol>
    <ol id="vfpbr"></ol>

          <ol id="vfpbr"><menuitem id="vfpbr"><video id="vfpbr"></video></menuitem></ol>
          <ins id="vfpbr"><menuitem id="vfpbr"><video id="vfpbr"></video></menuitem></ins>
          <ins id="vfpbr"><sub id="vfpbr"><del id="vfpbr"></del></sub></ins>

          <ins id="vfpbr"></ins>
          <ol id="vfpbr"></ol>
          <ins id="vfpbr"></ins><ins id="vfpbr"></ins>

          <ins id="vfpbr"></ins>

            <ins id="vfpbr"></ins>
            咨询热线

            18621916738

            当前位置:首页  >  技术文章  >  s7-300 modbus RTU CRC校验程序如何编写

            s7-300 modbus RTU CRC校验程序如何编写

            更新时间:2015-10-30      点击次数:1860

            s7-300 modbus RTU CRC校验程序如何编写

            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

            联系我们

            上海翰粤自动化系统有限公司 公司地址:上海市松江区思贤路2399弄137号   技术支持:化工仪器网
            • 联系人:黄政武
            • QQ:76868608
            • 公司传真:021-57657276
            • 邮箱:76868608@qq.com

            扫一扫 更多精彩

            微信二维码

            网站二维码

            国产动作大片中文字幕 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>