我是 Modbus RTU協議,我是 Modbus家族的成員。我和我的兄弟 Modbus ASCII就是在1971年開始的。之后,施耐德電器買下 Modicon,并于1997年發布 Modbus TCP協議。中國國家標準委于2004年正式將 Modbus列為國家標準,開創了中國工業通訊事業的新一頁。
我們三兄弟在工業通信中應用廣泛,我和我大哥(Modbus ASClII)主要活躍在串行通信領域,而我三弟(Modbus TCP)則擅長以太網通信。
在串行鏈路中,我們采用了一個簡單的主從協議(client/server protocol)。客戶端充當主站,將請求發送到服務器;在收到請求之后,服務器(從站)會分析和回復該請求。我和朋友的通信框架叫做 ADU,由通信地址段、功能代碼段、數據段和檢驗段組成,如下所示:
先弄明白下面的東西。
1、報文
一個報文就是一幀數據,一個數據幀就一個報文:指的是一串完整的指令數據,就像上面的一串數據。

2、CRC校驗
意義:例如上面的98 04是它前面的數據(0106 0001 00 17)通過一算法(見附錄2,很簡單的)計算出來的結果,其實就像是計算累加和那樣
(累加:就是010600010017加起來的值,然后它的算法就是加法)。
作用:在數據傳輸過程中可能數據會發生錯誤,CRC檢驗檢測接收的數據是否正確。比如主機發出0106 00 01 00 17 98 04,那么從機接收到后要根據0106 00 01 00 17
再計算CRC校驗值,從機判斷自己計算出來的CRC校驗是否與接收的CRC校驗(9804主機計算的)相等,如果不相等那么說明數據傳輸有錯誤這些數據不能要。
3、MODBUS請求與響應
看MODBUS協議手冊,中文第10頁開始,英文第24頁開始。手冊非常詳細舉例說明了MODBUS協議各個功能號的請求與響應。
Modbus一個工業上常用的通訊協議、一種通訊約定。Modbus協議包括RTU、ASClII、TCP。其中MODBUS-RTU最常用,比較簡單,在單片機上很容易實現。雖然RTU比較簡單,但是看協議資料、手冊說得太專業了,起初很多內容都很難理解。
所謂的協議是什么?就是互相之間的約定嘛,如果不讓別人知道那就是暗號。現在就來定義一個新的最簡單協議。例如,
協議:“A”--"LED滅”“B”--"報警”“C”--"LED亮”
Modbus RTU協議具備簡易、靠譜、靈便等特點。了解和掌握Modbus RTU協議對工程師和技術人員尤為重要