西門子S7-200SMART系列PLC的程序結構分為主程序、子程序、中斷程序。此程序用“MAIN”程序調用“CRC校驗程序”子程序
定義子程序變量表:如圖1-0
子程序變量表定義圖1-0
(1)“CRC校驗程序”子程序,初始化存儲器,并把16#FFFF裝載到CRC寄存器中(定義AC0為CRC寄存器)。并利用FOR語句循環,循環的次數由LW4決定。程序如圖1-1所示
圖1-1初始化存儲器
(2)取第一個地址與CRC寄存器做異或運算。并利用FOR語句循環,循環的次數為8,因為一個字節的數據是8個位。程序如圖1-2所示
圖1-2異或運算
(3)執行移位操作,并判斷移出為的狀態,若移出位為1,則在與16#A001做異或運算。程序如圖1-3所示
圖1-3執行移位操作
(4)利用指針,指針加1,指向下一個地址,取出下一個地址之后再進行重復以上步驟效驗,直到數據都效驗完,程序退出FOR循環。程序如圖1-4所示
圖1-4指針加1
(5)對計算結果進行高低字節交換,把結果輸出。程序如圖1-5所示
圖1-5高低字節交換
(6)在“MAIN”程序中通過按鈕的觸發調用“CRC校驗程序”子程序。
驗證一:寫入數據到VB0至VB5中,CRC效驗值存儲在VW100中
CRC效驗計算小助手(與程序中計算相符):
驗證二:寫入數據到VB0至VB5中,CRC效驗值存儲在VW100中
CRC效驗計算小助手計算(與程序中計算相符):
循環冗余校驗碼(CRC),簡稱循環碼,是一種常用的、具有檢錯、糾錯能力的校驗碼,在早期的通信中運用廣泛。循環冗余校驗碼常用于外存儲器和計算機同步通信的數據校驗。奇偶校驗碼和海明校驗碼都是采用奇偶檢測為手段檢錯和糾錯的(奇偶校驗碼不具有糾錯能力),而循環冗余校驗則是通過某種數學運算來建立數據位和校驗位的約定關系的。
循環冗余校驗碼(cyclic redundancy check)簡稱CRC(循環碼),是一種能力相當強的檢錯、糾錯碼,并且實現編碼和檢碼的電路比較簡單,常用于串行傳送(二進制位串沿一條信號線逐位傳送)的輔助存儲器與主機的數據通信和計算機網絡中。
循環碼是指通過某種數學運算實現有效信息與校驗位之間的循環校驗(而海明碼是一種多重校驗)。
這種編碼基本思想是將要傳送的信息M(X)表示為一個多項式L,用L除以一個預先確定的多項式G(X),得到的余式就是所需的循環冗余校驗碼。
這種校驗又稱多項式校驗。
理論上可以證明循環冗余校驗碼的檢錯能力有以下特點:①可檢測出所有奇數位錯;②可檢測出所有雙比特的錯;③可檢測出所有小于、等于校驗位長度的突發錯。
- 一個S7-1500 項目案例 2024-12-02
- 西門子觸摸屏一個彈出窗口控制多個相同設備 2024-12-02
- S7-1200PLC高速計數編程和應用 2024-12-02
- 電氣圖轉換為PLC梯形圖的實用方法,值得收藏 2024-12-02
- 電氣制圖技巧:教你一種PLC高效自動編址的方法 2024-12-02
- S7-1200PLC高速計數編程和應用! 2024-12-02
- S7-1500程序保護的方法 2024-12-02
- 完成S7-300和S7-200的以太網S7通信,S7-300作客戶端,S7-200作服務器 2024-12-02
- 利用(Step7)完成S7-300和S7-200的以太網S7通信 2024-12-02
- S7-200SMART PLC實時時鐘指令 2024-12-02
- S7-1500 PLC的通信基礎知識 2024-12-02
- 超詳細講解 PLC自由口通訊——以S7-200為例。 2024-12-02
- 三菱PLC 與西門子PLC,你更喜歡哪一個 2024-12-02
- 理解PLC常見的八大問題,讓你修理調試更輕松 2024-12-02
- PLC工程師,如何根據手冊和圖紙,實現輸出接線 2024-12-02
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684