• <strike id="gikom"></strike>
    <bdo id="gikom"><dd id="gikom"></dd></bdo>
    • 歡迎來到電力微機保護網
      打開客服菜單
      杭州繼保南瑞公司
      contact us

      聯系我們

      聯系我們
      繼保南瑞微機保護 > 技術文章 > ModbusTCP協議報文詳細分析
      ModbusTCP協議報文詳細分析
      編輯 :

      專注微機保護

      時間 : 2022-01-12 09:00 瀏覽量 : 55

      (一)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。

      返回報文格式如下:

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

      文章來自電力微機保護網

      產品咨詢電話號碼:13655813266 手機號碼微信同步,歡迎咨詢!

      熱門推薦:

      no cache
      Processed in 0.487512 Second.
      亚洲精品成人a在线观看,色哟哟精品视频在线观看,国产不卡视频在线,中文字幕永久免费视频
    • <strike id="gikom"></strike>
      <bdo id="gikom"><dd id="gikom"></dd></bdo>
      • 主站蜘蛛池模板: 亚洲av网址在线观看| 天天爱天天做天天爽夜夜揉 | 国产精品福利一区二区| 国产一级强片在线观看| 国产xxxxx在线观看| 农村妇女色又黄一级毛片不卡| 午夜体验试看120秒| 亚洲av午夜成人片| a毛片免费观看完整| 97色在线观看| 久艾草国产成人综合在线视频| 韩国免费观看高清完整| 风间由美一区二区播放合集| 波多野结衣大战欧美黑人| 拔擦拔擦8x华人免费久久| 国产精品videossex另类| 伊人久久波多野结衣中文字幕| 亚洲日韩精品无码AV海量 | jizzjizz国产精品久久| 2021在线观看视频精品免费| 精品国产乱码久久久久久浪潮 | 无翼乌全彩本子lovelive摄影| 好爽好紧好大的免费视频国产| 国产在线精品一区二区| 亚洲国产成人久久一区www | 884aa四虎在线| 精品一区精品二区| 欧美日韩激情一区二区三区| 日韩精品久久久久久免费| 成人中文字幕一区二区三区| 在线成年人网站| 免费黄色小视频网站| 中文字幕第一页亚洲| chinese熟妇与小伙子mature| 亚洲精品中文字幕无乱码麻豆| 美女脱了内裤张开腿让男人桶网站| 波多野结衣中文在线播放| 日韩亚洲欧美在线观看| 天天综合网网欲色| 刺激videoschina偷拍| 亚洲一区精品视频在线|