Modbus RTU通訊協議

2021-08-20 22:04:23 字數 2671 閱讀 1700

1.modbus rtu報文基本格式

起始應有 不小於3.5個字元的報文間隔

目標站號

功能碼資料

crc校驗碼

1位元組1位元組

n位元組2位元組

2. modbus命令

若響應錯誤,則返回的應答幀中「功能碼」最高位置1, 比如功能碼為01,若響應錯誤,則返回的功能碼為0x81。

2.1 功能碼01:讀線圈(開關量輸出)

請求格式:

目標站號

功能碼起始位址

高位元組起始位址

低位元組讀取個數

高位元組讀取個數

低位元組crc

1位元組1位元組

1位元組1位元組

1位元組2位元組

正確應答格式:

站號功能碼

返回資料位元組數

返回資料位元組1

返回資料位元組2

crc1位元組

1位元組1位元組

1位元組2位元組

2.2 功能碼02:讀輸入狀態(開關量輸入)

請求格式:

目標站號

功能碼起始位址

高位元組起始位址

低位元組讀取個數

高位元組讀取個數

低位元組crc

1位元組1位元組

1位元組1位元組

1位元組2位元組

正確應答格式:

站號功能碼

返回資料位元組數

返回資料位元組1

返回資料位元組2

crc1位元組

1位元組1位元組

1位元組2位元組

2.3 功能碼03:讀保持暫存器(模擬量輸出)

請求格式:

目標站號

功能碼起始位址

高位元組起始位址

低位元組讀取個數

高位元組讀取個數

低位元組crc

1位元組1位元組

1位元組1位元組

1位元組2位元組

正確應答格式:

站號功能碼

返回資料位元組數

暫存器1高位元組

暫存器1低位元組

crc1位元組

1位元組1位元組

1位元組2位元組

2.4 功能碼04:讀輸入暫存器(模擬量輸入)

請求格式:

目標站號

功能碼起始位址

高位元組起始位址

低位元組讀取個數

高位元組讀取個數

低位元組crc

1位元組1位元組

1位元組1位元組

1位元組2位元組

正確應答格式:

站號功能碼

返回資料位元組數

暫存器1高位元組

暫存器1低位元組

crc1位元組

1位元組1位元組

1位元組2位元組

2.5 功能碼05:寫單線圈(開關量輸出)

請求格式:

目標站號

功能碼線圈位址

高位元組線圈位址

低位元組強制值

高位元組強制值

低位元組crc校驗碼

1位元組1位元組

1位元組1位元組

1位元組2位元組

注:強制值= 0xff00,則置線圈為on;強制值=0x0000,則置線圈為off。

應答格式:

若設定成功,原文返回

2.6 功能碼06:寫單保持暫存器(模擬量輸出)

請求格式:

目標站號

功能碼暫存器位址

高位元組暫存器位址

低位元組強制值

高位元組強制值

低位元組crc校驗碼

1位元組1位元組

1位元組1位元組

1位元組2位元組

應答格式:

若設定成功,原文返回

2.7 功能碼15:寫多線圈(開關量輸出)

請求格式:

目標站號

功能碼起始位址

高位元組起始位址低位元組

數量高位元組

數量低位元組

強制值位元組數

強制值第1位元組

crc1位元組

1位元組1位元組

1位元組1位元組

1位元組1位元組

2位元組正確應答格式:

目標站號

功能碼起始位址

高位元組起始位址低位元組

數量高位元組

數量低位元組

crc校驗碼

1位元組1位元組

1位元組1位元組

1位元組2位元組

2.8 功能碼16:寫多保持暫存器(模擬量輸出)

請求格式:

目標站號

功能碼起始位址

高位元組起始位址低位元組

數量高位元組

數量低位元組

強制值位元組數

強制值1

高位元組強制值1

低位元組crc

1位元組1位元組

1位元組1位元組

1位元組1位元組

1位元組1位元組

2位元組正確應答格式:

目標站號

功能碼起始位址

高位元組起始位址低位元組

數量高位元組

數量低位元組

crc校驗碼

1位元組1位元組

1位元組1位元組

1位元組2位元組

RS485 MODBUS RTU通訊協議

1 rs485介面標準 rs485由rs232和rs422發展而來,彌補了抗干擾能力差 通訊距離短 速率低的缺點,增加了多點 雙向通訊能力,即允許多個傳送器連線在同一條主線上,同時增加了傳送器的驅動能力和衝突保護特性,擴充套件了匯流排共模範圍。rs485可以採用二線和四線兩種方式,二線制可以實現真正...

通訊協議 UDP通訊

通訊協議 通訊協議是udp tcp通訊的基礎,沒有通訊協議的 通訊 是沒有任何意義上的,通訊協議不是底層函式或者高深的原理,而是程式設計師之間的一種文字約定。資料在網路上是以位元組的形式傳送的 底層是01碼 我們在讀取到資料之後,該以怎樣的方式對它進行解碼呢?這就是我們在通訊之前需要制定的通訊協議。...

串列埠通訊 通訊協議

我們的串列埠程式,除了通用的,進行串列埠監聽收發的簡單工具,大多都和下位機有關,這就需要關心我們的通訊協議如何快取,分析,以及通知介面。所謂通訊協議是指通訊雙方的一種約定。約定包括對資料格式 同步方式 傳送速度 傳送步驟 檢糾錯方式以及控制字元定義等問題做出統一規定,通訊雙方必須共同遵守。因此,也叫...