咨詢熱線

                18621916738

                當前位置:首頁  >  技術文章  >  s7-300 modbus RTU CRC校驗程序如何編寫

                s7-300 modbus RTU CRC校驗程序如何編寫

                更新時間:2015-10-30      點擊次數:1677

                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

                掃一掃 更多精彩

                微信二維碼

                網站二維碼

                国产人妖ts在线视频观看_亚洲国产精品网_免费播放观看视频大片_欧美黄色片免费观看

                              >