国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

1bGT_GKYXT1508 ? 來源:未知 ? 作者:胡薇 ? 2018-11-26 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CRC即循環冗余校驗碼(Cyclic Redundancy Check):是數據通信領域中最常用的一種查錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。循環冗余檢查(CRC)是一種數據傳輸檢錯功能,對數據進行多項式計算,并將得到的結果附在幀的后面,接收設備也執行類似的算法,以保證數據傳輸的正確性和完整性。

在Modbus RTU通訊中數據報文中有一幀是CRC校驗碼,用來進行錯誤檢測。其原理是由發送設備將數據幀進行一定的運算得出一個檢驗碼,然后加在數據幀后一起發送過去,接收設備接收到數據后重新運算,再講運算出來的校驗碼與發送過去的校驗碼進行比較,如果一致則說明數據無錯誤,如果不一致則說明數據傳輸錯誤。

CRC運算過程如下:

CRC是先存入0 XFFFF到CRC寄存器,然后調用一個過程將消息中連續的8Bit字節與當前寄存器中的值進行處理。僅每個字符中的8Bⅰt數據對CRC有效,起始位和停止位以及奇偶校驗位均無效。CRC產生過程中:每個8位字符都單獨和CRC寄存器內容相異或(X0R),結果向最低有效位方向移動,最高有效位以0填充。LSB被提取出來檢測,如果LSB為1,CRC寄存器單獨和預置的值相異或,如果LSB為0,則不進行。整個過程要重復8次。在最后一位(第8位)完成后,下一個8位字節又單獨和CRC寄存器的當前值相異或。最終CRC寄存器中的值,是消息中所有的字節都執行之后的CRC值。

下面為產生GRG的計算過程

1.將一個16位寄存器的值設置為FFFF(hex),稱之為CRC寄存器。

2.將數據的第一個8Bit字符與16位CRC寄存器的低8位進行異或計算,并把結果存入CRC寄存器。

3.CRC寄存器向右移一位(向著最低位LSB),最高位MSB補零,移出并檢查LSB。

4.如果LSB為0:重復第三步(另一個移位)如果LSB為1:CRC寄存器與預置值:A001H(1010000000000001B)進行異或操作。

5.重復第3與第4步直到8次移位全部完成,此時一個8Bit數據處理完畢。

6.重復第2與第5步直到所有數據全部處理完成。

7.最終CRC寄存的內容即為CRC值。

注意:CRC校驗碼使用時低字節在前,高字節在后。

用S7-200 SMART編寫運算程序如下:

將CRC算法創建成庫,在主程序中調用即可算出CRC結果。

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

    關注

    0

    文章

    205

    瀏覽量

    30831
  • SMART
    +關注

    關注

    3

    文章

    242

    瀏覽量

    46389

原文標題:SMART如何編寫CRC校驗算法程序

文章出處:【微信號:GKYXT1508,微信公眾號:工控云學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于C8051F的CRC校驗算法的實現

    基于C8051F的CRC校驗算法的實現 
    發表于 03-14 17:14

    Labview編寫CRC8校驗程序

    用Labview編寫CRC8校驗程序,輸入碼字序列后生成校驗碼,通過閱讀此程序,用戶可采用類似
    發表于 10-22 21:13

    常用的校驗算法有哪些?

    常用的校驗算法有哪些,是不是和通信規約有關。比如MODBUS一般都用CRC16(不確定是不是叫這個)。這些校驗算法是之前積累下來的嗎。自己也可以定義一個校驗算法吧,只要發送端和接收端用
    發表于 11-03 06:50

    基于C8051F的CRC校驗算法的實現

    介紹了CRC(循環冗余碼校驗)原理及集成混合信號片上系統單片機C8051F的新特性,推導獲得以字節為單位的數據序列CRC碼遞推算法,利用C8051F單片機的自帶CAN2.0B總線接口控
    發表于 03-14 08:39 ?46次下載

    基于iSCSI協議校驗算法的改進

    CRC 校驗作為iSCSI 協議中使用最頻繁的一種檢錯機制,其算法的優劣會直接影響協議的執行效率。文章在分析傳統CRC算法低效率的基礎上,引
    發表于 11-08 16:45 ?12次下載

    IP協議校驗算法程序

     IP 協議采用統一的校驗算法,其計算比較簡單:設校驗和初值為0,然后對數據每16位求異或,結果取反,便得校驗和。校驗時將數據(含校驗和)按
    發表于 08-13 10:55 ?1273次閱讀

    LTE系統的CRC校驗算法及DSP實現

    通過對兩種常用CRC校驗算法的研究分析,為TD-LTE測試儀表系統選擇了一種最優的CRC校驗算法,并在TMS320C64xDSP中實現。將CRC
    發表于 02-23 14:58 ?30次下載

    16位CRC校驗原理與算法分析

    16位CRC校驗原理與算法分析,感興趣的小伙伴們可以看看。
    發表于 10-10 14:55 ?11次下載

    一種基于矩陣的并行CRC校驗算法

    針對高速網絡通信中高位寬并行數據的實時校驗需求,提出了一種可單周期實現的、面向128位并行數據的循環冗余校驗算法(Cyclic Redundancy Check,CRC )。該算法首先
    發表于 10-30 16:39 ?3次下載
    一種基于矩陣的并行<b class='flag-5'>CRC</b><b class='flag-5'>校驗算法</b>

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

    本文檔的主要內容詳細介紹的是如何使用SMART編寫CRC校驗算法程序
    發表于 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>

    如何使用51單片機實現CRC校驗算法

    介紹了CRC(循環冗余碼校驗)原理及集成混合信號片上系統單片機C8051F的新特性,推導獲得以字節為單位的數據序列CRC碼遞推算法,利用C8051F單片機的自帶CAN2.0B總線接口控
    發表于 12-17 16:09 ?17次下載
    如何使用51單片機實現<b class='flag-5'>CRC</b><b class='flag-5'>校驗算法</b>

    CRC校驗算法原理及c語言實現

    CRC校驗算法原理及c語言實現
    發表于 11-30 10:04 ?10次下載

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

    CRC校驗程序”子程序,初始化存儲器,并把16#FFFF裝載到CRC寄存器中(定義AC0為CRC
    的頭像 發表于 07-10 15:45 ?5712次閱讀
    西門子200<b class='flag-5'>SMART</b> PLC <b class='flag-5'>CRC</b><b class='flag-5'>校驗</b><b class='flag-5'>程序</b>的<b class='flag-5'>編寫</b>

    TSMaster中如何自定義CRC校驗算法

    在通訊過程中,用戶需要利用CheckSum信號對傳輸數據用自己規定的算法邏輯進行校驗,來看數據在傳輸過程中是否被更改或傳輸錯誤。本文主要介紹TSMaster如何設置自己的CRC算法信號
    的頭像 發表于 09-09 08:23 ?2720次閱讀
    TSMaster中如何自定義<b class='flag-5'>CRC</b><b class='flag-5'>校驗算法</b>

    虹科技術|保障數據傳輸穩定性:BabyLIN產品的CRC算法實現

    文章將以CRC8校驗為例,介紹在BabyLIN產品中如何使用CRC校驗算法CRC校驗原理 在
    的頭像 發表于 01-02 10:45 ?1410次閱讀
    虹科技術|保障數據傳輸穩定性:BabyLIN產品的<b class='flag-5'>CRC</b><b class='flag-5'>算法</b>實現