18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> PLC基礎入門教程 >> 正文

ModbusTCP協議報文解析

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/4/4

ModbusTCP協議報文解析

 

報文格式

交互(通信)標識:2個(ge) 字節 為(wei) 此次通信事務處理標識符,一般每次通信之後將被要求加1以區別不同的通信數據報文。
協議標識:2個(ge) 字節 表示該條指令遵循ModbusTCP協議,一般都為(wei) 00 00
報文長度:2個(ge) 字節 表示後麵數據的長度,有幾個(ge) 字節,高字節在前
(前六位Modbus/TCP協議不同功能碼通用)

設備標識 :1個(ge) 字節 設備地址,這個(ge) 可以用於(yu) 局域網裏麵的具體(ti) 的地址,如果目標機器有固定ip,這個(ge) 就不起作用,直接上寫(xie) 成 00
功能碼:1個(ge) 字節 功能碼在modbus協議用於(yu) 表示信息幀的功能
數據:N個(ge) 字節 後麵數據根據不同功能碼不同。

ModbusTCP協議報文

 

 

modbus 常用功能代碼
十進製 功能 數據類型
01 讀取 多個線圈
02 讀取 多個離散量輸入量
03 讀取 多個保持寄存器 16進製整型
04 讀取 多個輸入寄存器 16進製整型
05 寫入 單個線圈
06 寫入 單個寄存器 16進製整型
15 寫入 多個線圈
16 寫入 多個寄存器 16進製整型

功能碼詳解

01 讀取多個線圈

示例報文:

請求00 01 00 00 00 06 FF 01 00 01 00 10

第1,2位 00 01 交互標識
第3,4位 00 00 協議標識
第5,6位 00 06 後麵報文長度 有6位
第7位 FF 設備地址,發送什麽(me) ,響應什麽(me)
第8位 01 功能碼

第9,10位00 01 起始地址

第11,12位 00 10查詢線圈長度,查詢16位線圈

響應00 01 00 00 00 05 FF 01 02 0A 02

前四位和7,8位同請求發送的報文

第5,6位是後麵報文長度

第9位是後麵數據位的長度,

第10位開始是數據位。

01查詢線圈,每一個(ge) 16進製數據表示8位線圈

第10位0A --> 0000 1010 第二位是1,第四位是1

02 讀取多個離散量輸入

同01

03 讀取 多個保持寄存器

寄存器讀取與(yu) 線圈的區別,響應數據,寄存器數據每兩(liang) 個(ge) 字節表示1位,一次請求不能超過127個(ge) 地址
示例報文:

請求00 01 00 00 00 06 01 03 00 05 00 02
第1,2位 00 01 交互標識
第3,4位 00 00 協議標識
第5,6位 00 06 後麵報文長度 有6位
第7位 01 設備地址,發送什麽(me) ,響應什麽(me)
第8位 03 功能碼

第9,10位00 05起始地址
第11,12位 00 02查詢寄存器長度,查詢2個(ge) 寄存器

響應00 01 00 00 00 07 01 03 04 00 22 00 00
前四位(00 01 00 00)和7,8位(01 03)同請求發送的報文
第5,6位 00 07 是後麵報文長度
第9位 04 是後麵數據位的長度
第10-13位 數據位(00 22 00 00

04 讀取 多個輸入寄存器

同03

05 (05H)寫入 單個線圈

請求:00 01 00 00 00 06 FF 05 00 01 FF 00

第9,10位 00 01 寫(xie) 入線圈的地址

第11,12位 寫(xie) 入的數據值 FF 00 表示置ON/1狀態 00 00 表示置OFF/0狀態

響應:00 01 00 00 00 06 FF 05 00 01 FF 00

15(0FH)寫入 多個線圈

請求:00 01 00 00 00 06 FF 0F 00 05 00 0A 02 CD 01

第9,10位 00 05寫(xie) 入的起始地址

第11,12位 00 0A寫(xie) 入線圈數量

第13位 02數據字節數量

第14位之後是數據 低字節在前

CD 01 —> 1100 1101 0000 0001

0C 0B 0A 09 08 07 06 05
1 1 0 0 1 1 0 1
14 13 12 11 10 0F 0E 0D
0 0 0 0 0 0 0 1
06(06H) 寫入 單個寄存器

請求:00 05 00 00 00 06 FF 06 00 05 00 23

向地址為(wei) 5的寄存器寫(xie) 入35。
第9,10位 00 05寫(xie) 入的起始地址
第11,12位 00 0A寫(xie) 入寄存器的值

響應:00 05 00 00 00 06 FF 06 00 05 00 23

16(10H)寫入多個寄存器

請求:00 06 00 00 00 0B FF 10 00 02 00 02 04 00 21 00 2A

從(cong) 地址2開始寫(xie) 入兩(liang) 個(ge) 寄存器,2寄存器寫(xie) 入33,3寄存器寫(xie) 入42
第9,10位 00 02寫(xie) 入的起始地址
第11,12位 00 02寫(xie) 入寄存器的數量
第13位 04 後麵數據的字節
第14-17位 數據

響應:00 06 00 00 00 06 FF 10 00 02 00 02

從(cong) 地址2開始寫(xie) 入兩(liang) 個(ge) 寄存器,2寄存器寫(xie) 入33,3寄存器寫(xie) 入42

第9,10位 00 02寫(xie) 入的起始地址

第11,12位 00 02寫(xie) 入寄存器的數量

第13位 04 後麵數據的字節

第14-17位 數據

響應:00 06 00 00 0 0 06 FF 10 00 02 00 02

錯誤響應

當發生通訊異常時,響應前7位仍然為(wei) modbus正常協議格式,第八位響應功能碼(請求功能碼+0x80),第九位異常碼。

異常數據即包含異常碼的數據:
目前使用的異常碼是:01,02,03和04。

  • 響應功能碼 = 請求功能碼 + 0x80
  • 響應報文提供異常碼顯示出錯原因。

常見異常碼含義:

異常碼 名稱 含義
01 非法功能 對於服務器(或從站)來說,詢問中接收到的功能碼是不可允許的操作,可能是因為功能碼僅適用於新設備而被選單元中不可實現同時,還指出服務器(或從站)在錯誤狀態中處理這種請求,例如:它是未配置的,且要求返回寄存器值。
02 地址非法 對於服務器(或從站)來說,詢問中接收的數據地址是不可允許的地址,特別是參考號和傳輸長度的組合是無效的。對於帶有100個寄存器的控製器來說,偏移量96和長度4的請求會成功,而偏移量96和長度5的請求將產生異常碼02。
03 數據非法 對於服務器(或從站)來說,詢問中包括的值是不可允許的值。該值指示了組合請求剩餘結構中的故障。例如:隱含長度是不正確的。modbus協議不知道任何特殊寄存器的任何特殊值的重要意義,寄存器中被提交存儲的數據項有一個應用程序期望之外的值。
04 從站設備故障 當服務器(或從站)正在設法執行請求的操作時,產生不可重新獲得的差錯。
特殊數據處理

float 按IEEE-754標準協議存儲(chu)

C#中浮點數的二進製格式遵循IEEE754標準

IEEE-754格式標準:一個(ge) 浮點數有2部分組成:底數m和指數e

寄存器地址

Modbus協議定義(yi) 的寄存器地址是5位十進製地址,即:
線圈(DO)地址:00001~09999
觸點(DI)地址:10001~19999
輸入寄存器(AI)地址:30001~39999
輸出寄存器(AO)地址:40001~49999

0x代表線圈(DO)類地址,1x代表觸點(DI)類地址、 3x代表輸入寄存器(AI)類地址、4x代表輸出寄存器(AO)類地址。
在實際編程中,前綴的區分作用(有功能碼進行區分),所以隻需說明後4位數,而且需轉換為(wei) 4位十六進製地址。
Modbus 數據地址格式是從(cong) 0開始,寄存器地址對應報文中地址關(guan) 係,x0001對應00 00,示例40003對應 00 02地址

以上根據開發時查的資料和網上資料整理一些的有用信息,方便開發查詢

Tags:電冰箱,冰箱,工作原理  
責任編輯:admin
相關文章列表
電動自行車的工作原理_電車工作原理
汽車的三元催化器安裝位置及工作原理詳解,三元催化器最有效的清
氧傳感器的工作原理是什麽?氧傳感器好壞判別方法
詳解TL431的工作原理和用法
什麽是整流橋,整流橋工作原理
開關電源電路圖工作原理及維修詳解析
光耦合電路講解,工作原理+電路案例,通俗易懂,帶你搞定
新能源汽車驅動電機作用及工作原理 永磁同步電機結構圖
電容傳感器工作原理_電容傳感器原理圖
串聯型開關電源的工作原理分析
SMART入門 西門子S7-200 SMART PLC入門基礎知識精華
逆變器工作原理是什麽?逆變器的工作原理和作用詳解
超級電容結構和工作原理詳解
石英晶振的原理與結構 晶振結構 壓電效應
MOS管工作原理動畫基礎知識-MOS管工作動畫原理圖詳解
熱電偶是什麽?熱電偶工作原理
光電式測速傳感器的工作原理
正激式、自激式、推挽式、降壓式、升壓式和反轉式開關電源工作原
lcd1602工作原理是什麽
如何理解熱電偶型溫度傳感器的工作原理? thermocouple
光電耦合器要如何進行工作?光電耦合器工作原理及作用介紹
取樣電阻的工作原理 康銅絲電阻
晶振詳解之工作原理_晶振是晶體振蕩器(Oscillator)
聲音基礎知識 揚聲器的工作原理
三極管導通時,集電極是不是反向擊穿?三極管的工作原理
汽車空調的構成及工作原理
汽車減震器的構造和工作原理(圖解)
電感式接近開關工作原理_電感式接近開關作用
IGBT工作原理,解析IGBT工作原理及作用
光電二極管的工作原理
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢