日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编写一个字节数的rtu C语言校验程序,Modbus通信协议中CRC校验的快速C语言算法

發布時間:2023/12/9 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编写一个字节数的rtu C语言校验程序,Modbus通信协议中CRC校验的快速C语言算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Modbus通信協議中CRC校驗的快速C語言算法

2004年第11期            福 建 電 腦  63

Modbus通信協議中CRC校驗的快速C語言算法

孟開元

(西安石油大學計算機學院陜西西安710065)

【摘 要】 本文主要討論了Modbus通信協議的RTU幀格式中常用的錯誤校驗方法,即循環冗余校驗法(CRC)。

提出了Modbus協議反轉CRC校驗的方法,推導了反轉CRC校驗快速計算表格,并用C語言實現了基于快速查表算法的循環冗余校驗程序。

【關鍵詞】 校驗算法,循環冗余校驗,生成多項式,查表法

1 Modbus協議應用簡介

Modicon可編程控制器,既可以在它們之間,也可以和各種網絡上其他的設備間進行數據傳輸。所支持的網絡包括Mod2bus和ModbusPlus工業網絡,還有標準網絡,如MAP和Ether2net。網絡通過控制器的接入線或者網絡適配器,和Modicon可利用的出口等相連。連接關系圖見圖1

。

間,它被使用在網絡中(顯示為T1-T2-T3-T4,如表2)。然后被發送的是第一個域設備地址。聯網的設備不斷地監控網絡總線,包括在‘默認’間隔期間。當第一個域(地址域)被接收到時,每臺設備譯解它去查找該地址的設備。在最后一個傳送的字符后面,一個類似的至少3.5字符時間間隔標志者消息的結束。一個新的消息在這個間隔之后開始。整個消息幀必須作為一連續的數據流被傳送。如果超過1.5字符時間的默認間隔在幀結束前發生,2所示2---T4

CRC校驗域

8比特

8比特

n38比特

16比特

結束標志

T1-T2-T3-T4

2.3地址域的處理

信息框架的地址領域包括2個字符的ASCII或8個比特的RTU,有效可使用的設備地址是從1到247(十進制)單個的可使用設備被設置在從1到247。一個主地址通過信息地址領域安排從屬地址。當從屬地址發送響應是,它設置自己的地址在響應領域地址中,讓主地址知道從地址正在工作。

地址0被用在通信地址中,這個通信地址所有的從地址都認識。當Modbus協議被用在高級的網絡上時,通信不能進行,也不能用別的方法代替。例如,Modbus升級版能用一個被全球

圖1 Modbus協議應用框圖

共享的數據庫。這個數據庫能被任意更改。

全部的Modicon控制器應用Modbus數據通信協議。這個

2.4功能域的設置

協議定義了一種信息結構標準,不管信息在何種網絡上傳輸,

信息框架的功能代碼域包括兩個字符的ASCII或八個字

控制器都可以識別和應用這個結構。它描述了控制器通常接

節的RTU。有效代碼范圍從1到255(十進制)。當然,一些代

入其他設備的進程,它如何應答別的設備的請求,如何可以檢

碼能適用所有的Modicon控制器,但是一些代碼只可用于某些

查和顯示錯誤。它為信息域的頁面格式和內容建立了一個標

模式,并且還有一些被保留供以后使用。各信息傳送各子設備

準的格式。

時,功能代碼域告訴子設備所要進行哪種運行類別。例如,讀

為了分析信息,Modbus協議提供了為Modicon控制器所應

一組不連續線圈或輸入端的開/關狀態;讀一組寄存器的內容;

用的內部標準。在Modbus網絡上傳輸期間,協議決定每個控

寫指定線圈或寄存器;或者允許裝載,記錄,或在子設備中驗證

制器如何知道它的設備地址,如何識別信息地址;決定用來操

程序。當子設備反應給主設備時,要用代碼域功能顯示其他的

作的類型;和提取所有的數據或包含在信息中的其他信息。

正常反應或一些錯誤發生(稱為異常反應)。作為正常響應,子

2 Modbus協議中數據幀格式

設備簡單應答原來的功能代碼。作為異常反應,子設備返回一

2.1ASCII幀格式

個代碼,這個代碼等價于原先的功能代碼(在字節中最有效的

在ASCII模式中,消息開始于一個‘:’字符(ASCII碼為

設置)。除了對例外響應的功能代碼修改外,子設備在響應信

3A),結束于一個‘回車/換行’對(CR/LF)(ASCII碼為0D和

息數據域里設置一個唯一的代碼。這樣告訴主設備發生了哪

0A)。聯網的設備不斷地對‘:’字符監控網絡總線。當一個‘:’

類錯誤,和錯誤的原因。

被接收到時,每個設備譯解它去查找該地址的設備。一個典型

3 RTU錯誤校驗域的內容

的消息幀如表1。

3.1CRC校驗域的次序

表1 ASCII消息幀格式

當RTU模式用在字符格式中時,錯誤校驗域包含一個16

開始標志地址域功能域數據域LRC校驗域結束標志

比特位,相當兩個8位字節的校驗值。校驗值是對信息內容計

1字符‘:’2字符2字符n字符2字符2字符CRLF算的CRC結果。CRC域被附加在信息最后,作為信息最后的

域。CRC域內低字節被附加在先,跟在后面的是高字節,CRC2.2RTU幀格式

在RTU模式中,消息開始于一個默認的至少3.5字符時高字節被設置為信息的最后。間的間隔。這是最容易被實現的在波特率中作為一多字符時3.2選擇CRC生成器多項式

總結

以上是生活随笔為你收集整理的编写一个字节数的rtu C语言校验程序,Modbus通信协议中CRC校验的快速C语言算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产人妻久久精品一区二区三区 | 哺乳援交吃奶在线播放 | 奇米影视888 | 人人艹人人 | 一级α片免费看刺激高潮视频 | 17c在线 | 一个人看的www视频在线观看 | 影音先锋中文字幕人妻 | 性xx紧缚网站| 在线视频在线观看 | 欧美日韩在线视频一区二区三区 | 91九色蝌蚪porny| 日韩一区中文字幕 | 极品新婚夜少妇真紧 | 荔枝视频污 | 欧美人与牲动xxxx | 在线免费福利视频 | 欧美成人国产 | av一区二区三区在线观看 | 在线中出 | 成人黄色动漫在线观看 | 3p视频在线观看 | 国产乱子伦一区二区 | 国产成人97精品免费看片 | 日韩中文字幕免费观看 | 黄色片网站在线观看 | 无毒黄色网址 | 成人做受视频试看60秒 | 国产又大又硬又粗 | 综合久久婷婷 | 天天做天天爱天天做 | 一区二区视频播放 | 国产在线观看免费网站 | 清冷学长被爆c躁到高潮失禁 | 国产欧美一区二区三区白浆喷水 | 久久久久亚洲av成人片 | 天天狠狠操 | youjizz麻豆 | www.一级片| 久久久福利视频 | 色婷婷aⅴ | 国产影视一区二区三区 | 在线观看你懂得 | 亚洲天堂8| 在线观看天堂av | 一区二区福利视频 | 日本妈妈3 | 亚洲中文在线一区 | 日韩欧美卡一卡二 | 在线一区二区不卡 | 伊人五月天| 午夜福利123| 永久免费未满蜜桃 | 亚洲精品欧洲精品 | 91人人干| 91视频免费看 | 人人妻一区二区三区 | 怡红院综合网 | 欧美在线视频免费观看 | 免费观看nba乐趣影院 | 欧美一级二级三级视频 | 久久国产黄色片 | 亚洲精视频| 午夜秋霞 | 亚洲天堂影院 | 国产aⅴ一区二区三区 | 妖精视频在线观看免费 | 日韩综合区| 二区三区偷拍浴室洗澡视频 | 国产伦理在线观看 | 成年人免费看的视频 | 国产精品二区一区二区aⅴ 一卡二卡三卡在线观看 | 91精品国产91久久久久 | 精品欧美一区二区三区 | 国产真实伦对白全集 | 乱妇乱女熟妇熟女网站 | 国产精品欧美精品 | 亚洲国产精品99久久 | 欧美hdxxxx| 婷婷四房播播 | 狠狠欧美 | 亚洲精品久久久久久久久久久久久 | 777精品伊人久久久久大香线蕉 | 一级欧美日韩 | 高h视频在线免费观看 | 91综合精品 | 12av毛片| 国产精品无码在线 | 综合色av | 奇米影视第四色777 波多野结衣一区二区三区免费视频 | 色av综合网 | 欧美日韩成人在线视频 | 91精品国产综合久久久蜜臀 | 黄色国产一级 | 久久理论视频 | 国产精品18久久久久久久久 | 久久久999视频 | 1024精品一区二区三区日韩 | 亚洲熟区 |