日韩综合网_日韩最新免费_日韩一区二区不卡_日韩网站在线观看_日韩欧美视频一区_日韩午夜理论免费Tⅴ影院_日韩美女自卫慰黄网站

歡迎來到電力微機保護網!
專注微機保護專注電力行業致力成為電力行業標桿企業
聯系電話
技術文章
當前位置:首頁 > 技術文章 > 詳情

ModbusTCP協議報文詳細分析

更新時間:2022.01.12     作者:管理員      瀏覽次數:139

(一)ModbusTCP協議分析

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

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

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

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

事務處理標識符協議標識符長度單元標識符功能碼數據
2 bytes2 bytes2 bytes1 byte1 byteN bytes

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

(二)讀取輸出線圈

發送報文格式如下:

發送報文含義:讀取服務器1號從站輸出線圈,起始地址為0x13=19,對應地址為00020,線圈數量為0x1B=27,即讀取1號從站輸出線圈,地址從00020-00046,共27個線圈的狀態值。

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

返回報文格式如下:

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

CD=1100 1101 對應 00020-00027

6B=0110 1011 對應 00028-00035

B2=1011 0010 對應 00036-00043

05=0000 0101 對應 00044-00046

(三)讀取輸入線圈

發送報文格式如下:

發送報文含義:讀取服務器1號從站輸入線圈,起始地址為0xC4=196,對應地址為10197,線圈數量為0x1D=29,即讀取1號從站輸入線圈,地址從10197-10225,共29個線圈的狀態值。

返回報文格式如下:

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

CD=1100 1101 對應 10197-10204

6B=0110 1011 對應 10205-10212

B2=1011 0010 對應 10213-10220

05=0000 0101 對應 10221-10225

(四)讀取保持寄存器

發送報文格式如下:

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

返回報文格式如下:

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

(五)讀取輸入寄存器

發送報文格式如下:

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

返回報文格式如下:

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

(六)預置單線圈

發送報文格式如下:

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

返回報文格式如下:

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

(七)預置單寄存器

發送報文格式如下:

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

返回報文格式如下:

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

(八)預置多線圈

發送報文格式如下:

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

返回報文格式如下:

返回報文含義:預置多輸出線圈返回報文是在原報文基礎上除去字節數及具體字節后返回。

(九)預置多寄存器

發送報文格式如下:

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

返回報文格式如下:

返回報文含義:預置多保持寄存器返回報文是在原報文基礎上除去字節數及具體字節后返回。

文章來自電力微機保護網

相關推薦

差動保護是什么,電力系統中哪些地方用到差動保護2023.06.29

  主變變壓器主要依靠變壓器保護屏來進行保護。其中變壓器差動保護裝置是必不可少的一款變壓器保護。保護的主體是變壓器內部故障。差動保護是通過判斷差流大小來判斷故障情況,是一種常用的電力系統保護方式,它通過對比電力系統中不同區域或電路的電流信號,來判斷是否存在故障。 &nb

9663備自投保護測控裝置說明書(跳主供也跳母聯)2020.05.18

備自投保護測控裝置、備自投保護、備自投保護測控裝置

變壓器的常見的試驗方法是什么2022.01.26

變壓器試驗,變壓器保護

微機保護裝置動作后應該如何處理2022-02

微機保護,繼電保護,微機綜保

發電機一般投入的保護功能都有哪些2023-08

發電機一般投入的保護功能包括: 1.縱差動保護:用于保護發電機定子線卷兩側的故障。2.橫差動保護:用于定子單相接地保護,可以在定子線卷發生單相接地故障時及時動作。3.零序保護:基于發電...

發電機同期屏操作步驟2022-01

發電機同期屏,同期屏,同期裝置
產品推薦
主站蜘蛛池模板: 白河县| 吉首市| 渝北区| 中宁县| 绥江县| 淄博市| 吴旗县| 平舆县| 曲阜市| 永年县| 渭南市| 房产| 吴桥县| 棋牌| 且末县| 运城市| 岚皋县| 德钦县| 乡宁县| 乐都县| 新田县| 金塔县| 阳朔县| 遂宁市| 贵港市| 罗城| 万荣县| 遂溪县| 景德镇市| 探索| 垦利县| 泰来县| 监利县| 西丰县| 灯塔市| 太保市| 杭州市| 西充县| 建昌县| 舒城县| 尼木县|