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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

西門(mén)子200SMART PLC CRC校驗(yàn)程序的編寫(xiě)

blackwatching ? 來(lái)源:玩轉(zhuǎn)PLC工業(yè)機(jī)器人 ? 2023-07-10 15:45 ? 次閱讀

導(dǎo)讀:在工作現(xiàn)場(chǎng),經(jīng)常會(huì)用到通訊與其它設(shè)備交互信息,而通訊必然會(huì)需要校驗(yàn)。 而初學(xué)者學(xué)習(xí)MODBUS RTU的時(shí)候往往會(huì)糾結(jié)這個(gè)CRC校驗(yàn)程序如何編寫(xiě)?CRC校驗(yàn)程序相對(duì)來(lái)說(shuō)比較繁瑣,但是大家可以收藏好這個(gè)程序(使用200SMART PLC),加以理解,需要的時(shí)候調(diào)用此程序即可。

那首先我們來(lái)看CRC校驗(yàn)的步驟,嚴(yán)格按照步驟來(lái)寫(xiě)程序即可:

1、設(shè)置CRC存儲(chǔ)器為16#FFFF。

2、把第一個(gè)參與校驗(yàn)的8位數(shù)與CRC的低八位進(jìn)行異或運(yùn)算結(jié)果仍存與CRC。

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

4、若b0=0,CRC不變,若b0=1, CRC與16#A001進(jìn)行異或運(yùn)算,結(jié)果仍存與CRC。

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

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

【程序結(jié)構(gòu)描述】

西門(mén)子S7-200SMART系列PLC的程序結(jié)構(gòu)分為主程序、子程序、中斷程序。此程序用“MAIN”程序調(diào)用“CRC校驗(yàn)程序”子程序

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

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

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

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

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

圖1-1初始化存儲(chǔ)器

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

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

圖1-2異或運(yùn)算

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

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

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

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

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

圖1-4指針加1

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

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

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

(6)在“MAIN”程序中通過(guò)按鈕的觸發(fā)調(diào)用“CRC校驗(yàn)程序”子程序。

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

驗(yàn)證一:寫(xiě)入數(shù)據(jù)到VB0至VB5中,CRC效驗(yàn)值存儲(chǔ)在VW100中

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

CRC效驗(yàn)計(jì)算小助手(與程序中計(jì)算相符):

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

驗(yàn)證二:寫(xiě)入數(shù)據(jù)到VB0至VB5中,CRC效驗(yàn)值存儲(chǔ)在VW100中

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

CRC效驗(yàn)計(jì)算小助手計(jì)算(與程序中計(jì)算相符):

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

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

    關(guān)注

    38

    文章

    7430

    瀏覽量

    163514
  • 西門(mén)子
    +關(guān)注

    關(guān)注

    93

    文章

    2996

    瀏覽量

    115485
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    199

    瀏覽量

    29420

原文標(biāo)題:西門(mén)子200SMART PLC CRC校驗(yàn)程序的編寫(xiě)

文章出處:【微信號(hào):玩轉(zhuǎn)PLC工業(yè)機(jī)器人,微信公眾號(hào):玩轉(zhuǎn)PLC工業(yè)機(jī)器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    西門(mén)子SMART200 PLC的遠(yuǎn)程下載方法

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

    西門(mén)子plccrc校驗(yàn)程序

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

    西門(mén)子PLC S7-200smart程序下載錯(cuò)誤分析

    在實(shí)際的工程項(xiàng)目中,客戶(hù)越來(lái)越多地選擇 S7-200 smart系列PLC,并且在各個(gè)工程項(xiàng)目現(xiàn)場(chǎng)S7-200 smart都有良好的表現(xiàn)。在
    發(fā)表于 07-23 15:27 ?4557次閱讀

    西門(mén)子plc程序下載步驟

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

    如何使用SMART編寫(xiě)CRC校驗(yàn)算法程序

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

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

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

    西門(mén)子200smart PLC模擬量檢測(cè)程序

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

    西門(mén)子200Smart PLC的Socket通信技術(shù)

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

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

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

    快速了解西門(mén)子串口PPI、200、200smart驅(qū)動(dòng)協(xié)議如何使用

    快速學(xué)會(huì)西門(mén)子串口PPI、200、200smart驅(qū)動(dòng)協(xié)議如何使用
    的頭像 發(fā)表于 03-06 16:22 ?1.7w次閱讀

    西門(mén)子S7-200SMART系列PLC位相關(guān)指令分享

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

    西門(mén)子PLC S7-200 SMART PID控制功能分享

    西門(mén)子PLC S7-200 SMART是經(jīng)濟(jì)性好的一款西門(mén)子PLC產(chǎn)品,它的產(chǎn)品種類(lèi)豐富,配件多
    的頭像 發(fā)表于 04-06 14:46 ?9238次閱讀

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

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

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

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

    西門(mén)子S7-200 Smart PLC加密設(shè)置全面指南

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