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

ModbusTCP協(xié)議報(bào)文詳細(xì)分析

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

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

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

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

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

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

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

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

(二)讀取輸出線圈

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

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

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

返回報(bào)文格式如下:

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

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

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

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

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

(三)讀取輸入線圈

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

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

返回報(bào)文格式如下:

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

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

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

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

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

(四)讀取保持寄存器

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

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

返回報(bào)文格式如下:

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

(五)讀取輸入寄存器

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

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

返回報(bào)文格式如下:

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

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

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

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

返回報(bào)文格式如下:

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

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

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

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

返回報(bào)文格式如下:

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

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

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

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

返回報(bào)文格式如下:

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

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

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

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

返回報(bào)文格式如下:

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

文章來(lái)自電力微機(jī)保護(hù)網(wǎng)

相關(guān)推薦

發(fā)電機(jī)轉(zhuǎn)子繞組接地的危害是什么?2021.12.31

發(fā)電機(jī)保護(hù),發(fā)電機(jī)保護(hù)裝置,發(fā)電機(jī)轉(zhuǎn)子接地保護(hù)裝置

電纜環(huán)流在線監(jiān)測(cè)裝置的功能都有哪些2023.10.02

電纜環(huán)流在線監(jiān)測(cè)裝置的功能有多種,以下是其中的一些主要功能:1.在線監(jiān)測(cè):可以實(shí)時(shí)監(jiān)測(cè)電纜線路的金屬護(hù)層接地電流波形、幅值大小等,并能降低巡檢人員的工作強(qiáng)度,實(shí)現(xiàn)精度的檢測(cè)。2.自動(dòng)報(bào)警:當(dāng)接地電流瞬態(tài)升高或突變減小為零時(shí),該裝置可以自動(dòng)觸發(fā)報(bào)警功能,及時(shí)發(fā)現(xiàn)并報(bào)告問(wèn)題。3.線纜防盜監(jiān)測(cè):如果接地線

無(wú)線測(cè)溫實(shí)時(shí)監(jiān)控系統(tǒng)的介紹,方案都有哪些?2020.06.19

無(wú)線測(cè)溫裝置、無(wú)線測(cè)溫系統(tǒng)

10kV微機(jī)保護(hù)綜合自動(dòng)化系統(tǒng)介紹2023-10

10kV微機(jī)保護(hù)綜合自動(dòng)化系統(tǒng)是一種新型的繼電保護(hù)技術(shù),它在電力系統(tǒng)中得到了越來(lái)越多的應(yīng)用。該系統(tǒng)可以實(shí)現(xiàn)以下功能:1.自動(dòng)控制和監(jiān)視:該系統(tǒng)可以通過(guò)微機(jī)保護(hù)技術(shù),對(duì)10kV配電站的主要設(shè)備和輸...

常見(jiàn)的變壓器的六種保護(hù)方式都有哪些?2020-06

變壓器保護(hù)測(cè)控裝置、變壓器保護(hù)、變壓器保護(hù)裝置

變電站二次安防的作用是什么2024-08

變電站二次安防的作用至關(guān)重要,它主要體現(xiàn)在以下幾個(gè)方面:保障電力系統(tǒng)安全穩(wěn)定運(yùn)行:二次安防系統(tǒng)通過(guò)實(shí)施一系列的安全策略和措施,如安全分區(qū)、網(wǎng)絡(luò)專用、橫向隔離和縱向認(rèn)證等,有效抵御黑客攻擊、惡意代...
產(chǎn)品推薦