0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

西門子200SMART PLC CRC校驗程序的編寫

blackwatching ? 來源:玩轉PLC工業(yè)機器人 ? 2023-07-10 15:45 ? 次閱讀

導讀:在工作現(xiàn)場,經常會用到通訊與其它設備交互信息,而通訊必然會需要校驗。 而初學者學習MODBUS RTU的時候往往會糾結這個CRC校驗程序如何編寫?CRC校驗程序相對來說比較繁瑣,但是大家可以收藏好這個程序(使用200SMART PLC),加以理解,需要的時候調用此程序即可。

那首先我們來看CRC校驗的步驟,嚴格按照步驟來寫程序即可:

1、設置CRC存儲器為16#FFFF。

2、把第一個參與校驗的8位數(shù)與CRC的低八位進行異或運算結果仍存與CRC。

3、把CRC右移一位,最高位補0,檢查最低位b0位。

4、若b0=0,CRC不變,若b0=1, CRC與16#A001進行異或運算,結果仍存與CRC。

5、重復3、4兩步,直到右移8次,這樣第一個八位數(shù)就進行處理了結果仍然存于CRC。

6、重復2-5步,處理第二個八位數(shù)。

【程序結構描述】

西門子S7-200SMART系列PLC的程序結構分為主程序、子程序、中斷程序。此程序用“MAIN”程序調用“CRC校驗程序”子程序

定義子程序變量表:如圖1-0

fa68fdae-1ec3-11ee-962d-dac502259ad0.png

子程序變量表定義圖1-0

(1)“CRC校驗程序”子程序,初始化存儲器,并把16#FFFF裝載到CRC寄存器中(定義AC0為CRC寄存器)。并利用FOR語句循環(huán),循環(huán)的次數(shù)由LW4決定。程序如圖1-1所示

fa889920-1ec3-11ee-962d-dac502259ad0.png

圖1-1初始化存儲器

(2)取第一個地址與CRC寄存器做異或運算。并利用FOR語句循環(huán),循環(huán)的次數(shù)為8,因為一個字節(jié)的數(shù)據(jù)是8個位。程序如圖1-2所示

faabce9a-1ec3-11ee-962d-dac502259ad0.png

圖1-2異或運算

(3)執(zhí)行移位操作,并判斷移出為的狀態(tài),若移出位為1,則在與16#A001做異或運算。程序如圖1-3所示

fac2d284-1ec3-11ee-962d-dac502259ad0.png

圖1-3執(zhí)行移位操作

(4)利用指針,指針加1,指向下一個地址,取出下一個地址之后再進行重復以上步驟效驗,直到數(shù)據(jù)都效驗完,程序退出FOR循環(huán)。程序如圖1-4所示

fad7984a-1ec3-11ee-962d-dac502259ad0.png

圖1-4指針加1

(5)對計算結果進行高低字節(jié)交換,把結果輸出。程序如圖1-5所示

faf3afda-1ec3-11ee-962d-dac502259ad0.png

圖1-5高低字節(jié)交換

(6)在“MAIN”程序中通過按鈕的觸發(fā)調用“CRC校驗程序”子程序。

fb08c1a4-1ec3-11ee-962d-dac502259ad0.png

驗證一:寫入數(shù)據(jù)到VB0至VB5中,CRC效驗值存儲在VW100中

fb1d18ac-1ec3-11ee-962d-dac502259ad0.png

CRC效驗計算小助手(與程序中計算相符):

fb34369a-1ec3-11ee-962d-dac502259ad0.png

驗證二:寫入數(shù)據(jù)到VB0至VB5中,CRC效驗值存儲在VW100中

fb4685c0-1ec3-11ee-962d-dac502259ad0.png

CRC效驗計算小助手計算(與程序中計算相符):

fb56032e-1ec3-11ee-962d-dac502259ad0.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7402

    瀏覽量

    163386
  • 西門子
    +關注

    關注

    93

    文章

    2975

    瀏覽量

    115296
  • crc
    crc
    +關注

    關注

    0

    文章

    198

    瀏覽量

    29397

原文標題:西門子200SMART PLC CRC校驗程序的編寫

文章出處:【微信號:玩轉PLC工業(yè)機器人,微信公眾號:玩轉PLC工業(yè)機器人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    西門子SMART200 PLC的遠程下載方法

    本文將向大家介紹如何遠程下載西門子SMART200的方法。
    發(fā)表于 09-02 10:02 ?3967次閱讀

    西門子plccrc校驗程序

    西門子公司生產的可編程序控制器在我國的應用也相當廣泛,在冶金、化工、印刷生產線等領域都有應用。RC即循環(huán)冗余校驗碼:是數(shù)據(jù)通信領域中最常用的一種查錯校驗碼,其特征是信息字段和
    發(fā)表于 12-04 09:41 ?1.3w次閱讀

    西門子PLC S7-200smart程序下載錯誤分析

    在實際的工程項目中,客戶越來越多地選擇 S7-200 smart系列PLC,并且在各個工程項目現(xiàn)場S7-200 smart都有良好的表現(xiàn)。在
    發(fā)表于 07-23 15:27 ?4476次閱讀

    西門子plc程序下載步驟

    今天我們主要學習西門子PLC程序下載步驟,下面以S7-200SMART為例進行說明.
    發(fā)表于 07-25 11:25 ?2.8w次閱讀

    如何使用SMART編寫CRC校驗算法程序

    本文檔的主要內容詳細介紹的是如何使用SMART編寫CRC校驗算法程序
    發(fā)表于 10-24 08:00 ?4次下載
    如何使用<b class='flag-5'>SMART</b><b class='flag-5'>編寫</b><b class='flag-5'>CRC</b>的<b class='flag-5'>校驗</b>算法<b class='flag-5'>程序</b>

    PLC網(wǎng)關采集西門子S7-200SMART數(shù)據(jù)配置流程

    PLC網(wǎng)關采集西門子S7-200SMART數(shù)據(jù)配置流程
    發(fā)表于 11-04 11:37 ?3942次閱讀
    <b class='flag-5'>PLC</b>網(wǎng)關采集<b class='flag-5'>西門子</b>S7-<b class='flag-5'>200SMART</b>數(shù)據(jù)配置流程

    西門子200smart PLC模擬量檢測程序

    西門子200smart PLC讀取0-10V模擬量,RS485標準modbus通訊
    發(fā)表于 11-24 09:45 ?4次下載

    西門子200Smart PLC的Socket通信技術

    西門子PLC對Socket通信的支持性是很不錯的。如果你在使用西門子軟件或者逛西門子論壇時,發(fā)現(xiàn)一個詞叫做Open User Communication或開放式通信,沒錯,那其實就是我
    發(fā)表于 12-12 10:19 ?4058次閱讀

    如何利用200SMART編程軟件的間接尋址功能來讀取不同配方號的數(shù)據(jù)呢

    西門子200SMART編程軟件V2.7版,200SMART ST30 CPU一臺,通信網(wǎng)線一條。
    的頭像 發(fā)表于 12-30 09:52 ?6115次閱讀

    快速了解西門子串口PPI、200、200smart驅動協(xié)議如何使用

    快速學會西門子串口PPI、200200smart驅動協(xié)議如何使用
    的頭像 發(fā)表于 03-06 16:22 ?1.6w次閱讀

    西門子S7-200SMART系列PLC位相關指令分享

    本案例采用子程序的結構編程,并且結合循環(huán)指令、定時器指令等編寫彩燈循環(huán)案例。希望大家能在此文章中汲取西門子200SMART PLC編程相關知
    發(fā)表于 04-04 11:28 ?5068次閱讀

    西門子PLC S7-200 SMART PID控制功能分享

    西門子PLC S7-200 SMART是經濟性好的一款西門子PLC產品,它的產品種類豐富,配件多
    的頭像 發(fā)表于 04-06 14:46 ?9038次閱讀

    西門子Smart200PLC如何實現(xiàn)Profinet通信

    現(xiàn)代高度智能化項目中,PLCPLC之間用到的通信協(xié)議很多,比如Modbus,canope,profinet等等,今天我們以西門子Smart200PLC來介紹如何讓它們以Profine
    的頭像 發(fā)表于 08-14 09:26 ?1.1w次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>Smart200PLC</b>如何實現(xiàn)Profinet通信

    西門子網(wǎng)口S7-COMM協(xié)議200smart驅動如何使用?

    1 驅動簡介 西門子200smart (包括ST20、SR40等) 自帶網(wǎng)口 ,外部設備可通過此口與PLC進行數(shù)據(jù)交互。網(wǎng)關使用__西門子200sm
    的頭像 發(fā)表于 08-31 14:37 ?5900次閱讀
    <b class='flag-5'>西門子</b>網(wǎng)口S7-COMM協(xié)議<b class='flag-5'>200smart</b>驅動如何使用?

    西門子S7-200 Smart PLC加密設置全面指南

    本文將詳細介紹西門子S7-200 Smart PLC的加密設置方法,幫助用戶更好地保護PLC程序
    發(fā)表于 03-27 10:14 ?9106次閱讀
    <b class='flag-5'>西門子</b>S7-<b class='flag-5'>200</b> <b class='flag-5'>Smart</b> <b class='flag-5'>PLC</b>加密設置全面指南