歡迎來到電力微機保護網(wǎng)!
專注微機保護專注電力行業(yè)致力成為電力行業(yè)標桿企業(yè)
聯(lián)系電話
技術(shù)文章
當前位置:首頁 > 技術(shù)文章 > 詳情

ModbusTCP協(xié)議報文詳細分析

更新時間:2022.01.12     作者:管理員      瀏覽次數(shù):138

(一)ModbusTCP協(xié)議分析

ModbusTCP與ModbusUDP的報文格式是一樣的,它們之間的區(qū)別其實就是TCP與UDP的區(qū)別,因此下面就針對ModbusTCP的協(xié)議進行分析,ModbusTCP與ModbusRtu(ModbusASCII)之間的區(qū)別如下圖:

從上圖可以看出,ModbusTCP在Modbus串行通信的基礎(chǔ)上,去除了校驗(由于TCP本身就帶有校驗和)和設(shè)備地址(ModbusTCP弱化了設(shè)備地址,用IP地址來取代),再加上MBAP報文頭(占7 bytes),下面針對MBAP進行分析說明:(下表可左右滑動)

長度說明客戶機服務(wù)器
事務(wù)處理標識符2字節(jié)Modbus請求/響應(yīng)事務(wù)處理的標識客戶機啟動復制響應(yīng)
協(xié)議標識符2字節(jié)0=Modbus協(xié)議客戶機啟動復制響應(yīng)
長度2字節(jié)長度之后的字節(jié)總數(shù)客戶機啟動服務(wù)器啟動
單元標識符1字節(jié)串行鏈路或其它總線的從站識別客戶端啟動復制響應(yīng)

下面針對具體報文進行分析,Modbus協(xié)議在以太網(wǎng)鏈路上的報文格式如下所示:(下表可左右滑動)

事務(wù)處理標識符協(xié)議標識符長度單元標識符功能碼數(shù)據(jù)
2 bytes2 bytes2 bytes1 byte1 byteN bytes

有了以上理論基礎(chǔ)之后,下面針對各個功能碼進行詳細分析:

(二)讀取輸出線圈

發(fā)送報文格式如下:

發(fā)送報文含義:讀取服務(wù)器1號從站輸出線圈,起始地址為0x13=19,對應(yīng)地址為00020,線圈數(shù)量為0x1B=27,即讀取1號從站輸出線圈,地址從00020-00046,共27個線圈的狀態(tài)值。

這里值得注意一下,協(xié)議中的起始地址指的是索引,后面的地址指的是具體地址,對于任意一個存儲區(qū),索引都是從0開始的,但是對應(yīng)的具體地址,與存儲區(qū)是相關(guān)的,比如輸出線圈,0對應(yīng)00001;輸入線圈,0對應(yīng)10001;輸入寄存器,0對應(yīng)30001;保持寄存器,0對應(yīng)40001。

返回報文格式如下:

返回報文含義:返回服務(wù)器1號從站輸出線圈00020-00046,共27個線圈的狀態(tài)值,返回字節(jié)數(shù)為4個,分別為CD 6B B2 05。

CD=1100 1101 對應(yīng) 00020-00027

6B=0110 1011 對應(yīng) 00028-00035

B2=1011 0010 對應(yīng) 00036-00043

05=0000 0101 對應(yīng) 00044-00046

(三)讀取輸入線圈

發(fā)送報文格式如下:

發(fā)送報文含義:讀取服務(wù)器1號從站輸入線圈,起始地址為0xC4=196,對應(yīng)地址為10197,線圈數(shù)量為0x1D=29,即讀取1號從站輸入線圈,地址從10197-10225,共29個線圈的狀態(tài)值。

返回報文格式如下:

返回報文含義:返回服務(wù)器1號從站輸入線圈10197-10225,共29個線圈的狀態(tài)值,返回字節(jié)數(shù)為4個,分別為CD 6B B2 05。

CD=1100 1101 對應(yīng) 10197-10204

6B=0110 1011 對應(yīng) 10205-10212

B2=1011 0010 對應(yīng) 10213-10220

05=0000 0101 對應(yīng) 10221-10225

(四)讀取保持寄存器

發(fā)送報文格式如下:

發(fā)送報文含義:讀取服務(wù)器1號從站保持寄存器,起始地址為0x6B=107,對應(yīng)地址為40108,寄存器數(shù)量為0x02=2,即讀取1號從站保持寄存器,地址從40108-40109,共2個寄存器的數(shù)值。

返回報文格式如下:

返回報文含義:返回服務(wù)器1號從站保持寄存器40108-40109,共2個寄存器的數(shù)值,返回字節(jié)數(shù)為4個,分別為02 2B 01 06,40108對應(yīng)數(shù)值為0x022B,40109對應(yīng)數(shù)值為0x0106。

(五)讀取輸入寄存器

發(fā)送報文格式如下:

發(fā)送報文含義:讀取服務(wù)器1號從站輸入寄存器,起始地址為0x6B=107,對應(yīng)地址為30108,寄存器數(shù)量為0x02=2,即讀取1號從站保持寄存器,地址從30108-30109,共2個寄存器的數(shù)值。

返回報文格式如下:

返回報文含義:返回服務(wù)器1號從站輸入寄存器30108-30109,共2個寄存器的數(shù)值,返回字節(jié)數(shù)為4個,分別為02 2B 01 06,30108對應(yīng)數(shù)值為0x022B,30109對應(yīng)數(shù)值為0x0106。

(六)預(yù)置單線圈

發(fā)送報文格式如下:

發(fā)送報文含義:預(yù)置服務(wù)器1號從站單個線圈的值,線圈地址為0x00AC=172,對應(yīng)地址為00173,斷通標志0xFF00表示置位,0x000表示復位,即置位1號從站輸出線圈00173。

返回報文格式如下:

返回報文含義:預(yù)置單輸出線圈原報文返回。

(七)預(yù)置單寄存器

發(fā)送報文格式如下:

發(fā)送報文含義:預(yù)置服務(wù)器1號從站單個保持寄存器的值,寄存器地址為0x0087=135,對應(yīng)地址為40136,寫入值為0x039E,即預(yù)置1號從站保持寄存器40136值為0x039E。

返回報文格式如下:

返回報文含義:預(yù)置單保持寄存器原報文返回。

(八)預(yù)置多線圈

發(fā)送報文格式如下:

發(fā)送報文含義:預(yù)置服務(wù)器1號從站多個線圈的值,線圈地址為0x0013=19,對應(yīng)地址為00020,線圈數(shù)為0x0A=10,寫入值為0xCD00,即預(yù)置1號從站線圈00020-00027=0xCD=1100 1101,00028-00029=0x00=0000 0000。

返回報文格式如下:

返回報文含義:預(yù)置多輸出線圈返回報文是在原報文基礎(chǔ)上除去字節(jié)數(shù)及具體字節(jié)后返回。

(九)預(yù)置多寄存器

發(fā)送報文格式如下:

發(fā)送報文含義:預(yù)置服務(wù)器1號從站多個寄存器的值,寄存器地址為0x0087=135,起始地址為40136,寄存器數(shù)量為0x02=2,結(jié)束地址為40137,寫入值為0xCD00和0x0A10,即預(yù)置1號從站寄存器40136=0x0105,40137=0x0A10。

返回報文格式如下:

返回報文含義:預(yù)置多保持寄存器返回報文是在原報文基礎(chǔ)上除去字節(jié)數(shù)及具體字節(jié)后返回。

文章來自電力微機保護網(wǎng)

相關(guān)推薦

國內(nèi)的電氣柜和一些合資企業(yè)做的有什么區(qū)別2020.07.17

電氣柜、開關(guān)柜、微機保護裝置、高壓開關(guān)柜

PLC與LCU有什么區(qū)別與聯(lián)系2021.12.26

PLC,LCU,LCU控制屏

如何用萬用表核對兩直流系統(tǒng)極性?2023.07.11

   用萬用表核對直流系統(tǒng)極性分開路法和閉路法兩種:(1)開路法核對極性:  1)將萬用表放直流擋,量程不小于母線電壓;  2)在并列點處兩側(cè)測電壓,在萬用表表筆極性不變的情況下,兩次測量若萬用表指針指向同一方向,說明兩系統(tǒng)極性一

變壓器的常見的試驗方法是什么2022-01

變壓器試驗,變壓器保護

光伏箱變測控裝置特點和功能介紹,廠家推薦2023-08

光伏箱變測控裝置是一種智能監(jiān)控裝置,主要用于光伏電站的監(jiān)控系統(tǒng)。它將多種分散裝置和儀表的功能集中組合,實時監(jiān)控變壓器的電流、電壓、油位及油溫等電量和非電量,并通過雙光纖組成光纖環(huán)網(wǎng),將數(shù)據(jù)上傳至...

微機綜合保護裝置日常運行需要檢修有哪些項目2020-06

微機保護裝置、微機綜保、微機綜合保護
產(chǎn)品推薦