0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ModbusTCP協(xié)議及通信報文解讀

嵌入式情報局 ? 來源:嵌入式情報局 ? 2023-06-25 11:44 ? 次閱讀

1、modbus協(xié)議設計思想

Modbus設備使用主從(客戶端-服務器)技術進行通信,其中只有一個設備(主設備/客戶端)可以啟動事務(稱為查詢)。其他設備(從設備/服務器)通過向主設備提供請求的數(shù)據或采取查詢中請求的操作進行響應。從設備是任何外圍設備(I/O轉換器、閥門、網絡驅動器或其他測量設備),它處理信息并使用Modbus將其輸出發(fā)送到主設備。

主機可以尋址單個從機,也可以向所有從機發(fā)起廣播消息。從屬服務器會返回對單獨發(fā)送給它們的所有查詢的響應,但不會響應廣播查詢。從屬服務器不會自己啟動消息,它們只響應來自主服務器的查詢。

主查詢將包括一個從地址(或廣播地址)、一個定義所請求操作的功能代碼、任何所需數(shù)據和一個錯誤檢查字段。從機的響應由確認所采取的操作、要返回的任何數(shù)據和錯誤檢查字段組成。

請注意,查詢和響應都包括設備地址、功能代碼、適用數(shù)據和錯誤檢查字段。如果沒有發(fā)生錯誤,則從設備的響應包含所請求的數(shù)據。如果收到的查詢中出現(xiàn)錯誤,或者從設備無法執(zhí)行請求的操作,則從設備將返回一條異常消息作為響應。

從機消息幀的錯誤檢查字段允許主機確認消息的內容是有效的。傳統(tǒng)的Modbus消息是串行傳輸?shù)模媾夹r炓矐糜谄鋽?shù)據幀中的每個傳輸字符。

在這一點上,重要的是要區(qū)分Modbus本身是一個應用協(xié)議,因為它定義了組織和解釋數(shù)據的規(guī)則,但仍然只是一個消息傳遞結構,獨立于底層物理層。

2、modbusTCP

Modbus消息結構是一種應用協(xié)議,定義了獨立于數(shù)據傳輸介質的數(shù)據組織和解釋規(guī)則。

TCP/IP是指傳輸控制協(xié)議和互聯(lián)網協(xié)議,為Modbus TCP/IP消息提供傳輸介質。

注意:TCP的主要功能是確保所有數(shù)據包都被正確接收,TCP/IP只是一個傳輸協(xié)議,并沒有定義數(shù)據的含義或數(shù)據的解釋方式,這是應用協(xié)議的工作)。

6141662c-10d4-11ee-962d-dac502259ad0.png

從本質上講,Modbus TCP/IP消息只是封裝在以太網TCP/IP封裝器中的Modbus通信。Modbus-TCP將標準Modbus數(shù)據幀嵌入到TCP幀中,沒有Modbus校驗和,如下圖所示。

6157db64-10d4-11ee-962d-dac502259ad0.png

你一定會奇怪相比串口版本的modbusRTU,為什么沒有沒有使用Modbus錯誤檢查字段校驗。

因為TCPIP是一種可靠傳輸,其使用標準以太網TCP/IP鏈路層校驗和方法來保證數(shù)據的完整性。

3、報文介紹

6157db64-10d4-11ee-962d-dac502259ad0.png

還是把這張圖拿過來。從圖中可以看出,功能代碼和數(shù)據字段與原始形式一樣。

Modbus TCP/IP應用數(shù)據單元(ADU)采用7字節(jié)報頭(事務標識符+協(xié)議標識符+長度字段+單元標識符)和協(xié)議數(shù)據單元(功能代碼+數(shù)據)的形式。

MBAP標頭長7個字節(jié),包括以下字段:

事務/調用標識符(2個字節(jié)):當客戶端沿同一TCP連接發(fā)送多條消息而不等待先前響應時,此標識字段用于事務配對。

協(xié)議標識符(2字節(jié)):此字段對于Modbus服務始終為0,其他值保留用于未來擴展。

長度(2字節(jié)):該字段是剩余字段的字節(jié)計數(shù),包括單元標識符字節(jié)、功能代碼字節(jié)和數(shù)據字段。

單元標識符(1字節(jié)):此字段用于標識位于非TCP/IP網絡上的遠程服務器(用于串行橋接)。在典型的Modbus TCP/IP服務器應用程序中,單元ID設置為00或FF,被服務器忽略,并在響應中簡單地回顯。

完整的Modbus TCP/IP應用數(shù)據單元嵌入到標準TCP幀的數(shù)據字段中,并通過TCP發(fā)送到系統(tǒng)端口502,該端口專門為Modbus應用保留。

Modbus TCP/IP客戶端和服務器通過端口502監(jiān)聽和接收Modbus數(shù)據。

我們可以看到,Modbus在以太網上的操作對Modbus寄存器/命令結構幾乎是透明的。因此,如果您已經熟悉傳統(tǒng)Modbus的操作,那么您已經非常熟悉Modbus TCP/IP的操作。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5288

    瀏覽量

    169690
  • 互聯(lián)網

    關注

    54

    文章

    11015

    瀏覽量

    102089
  • MODBUS
    +關注

    關注

    28

    文章

    1718

    瀏覽量

    76428
  • 服務器
    +關注

    關注

    12

    文章

    8701

    瀏覽量

    84568
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1324

    瀏覽量

    78759

原文標題:ModbusTCP協(xié)議及通信報文解讀

文章出處:【微信號:嵌入式情報局,微信公眾號:嵌入式情報局】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    圖文詳解ModbusTCP協(xié)議

    Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標準。1996年施耐德公司推出基于以太網TCP/IP的Modbus協(xié)議ModbusTCP。Modbus協(xié)議是一
    發(fā)表于 11-16 11:31 ?3.8w次閱讀

    串口通信協(xié)議解讀

    解讀,這個協(xié)議要怎們弄,第一次處理這些
    發(fā)表于 10-14 23:34

    Modbus TCP協(xié)議學習筆記分享

    公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標準。1996年施耐德公司推出基于以太網TCP/IP的modbus協(xié)議modbusTCP。Modbus協(xié)議是一項應用層
    發(fā)表于 07-01 10:36

    采用ModbusRTU或ModbusTCP通訊協(xié)議與下位機進行通信

    上位機如觸摸屏采用ModbusRTU或ModbusTCP通訊協(xié)議與下位機如單片機通過串口或網絡通信時,需要解析上位機報文Modbus寄存器讀寫的單位是字Word,讀寫Map表元素長度必
    發(fā)表于 02-24 07:00

    ModbusTCP轉CanOpen網關助力工控行業(yè)

    在工業(yè)自動化領域,協(xié)議轉換網關一直扮演著至關重要的角色。其中,modbustcp轉canopen網關以其獨特的優(yōu)勢,成為不同設備間通信的橋梁。這款網關將modbus TCP協(xié)議的設備與
    發(fā)表于 12-11 10:53

    基于北斗短報文協(xié)議的可靠遠程通信系統(tǒng)

    為構建穩(wěn)健的遠程數(shù)據傳輸系統(tǒng),設計并實現(xiàn)一種基于北斗短報文協(xié)議的可靠遠程通信系統(tǒng)。針對北斗短報文通信不可靠和
    發(fā)表于 02-09 14:10 ?6次下載
    基于北斗短<b class='flag-5'>報文</b><b class='flag-5'>協(xié)議</b>的可靠遠程<b class='flag-5'>通信</b>系統(tǒng)

    一文知道ModbusTCP協(xié)議和上位機編寫

    Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標準。Modbus協(xié)議是一項應用層報文傳輸協(xié)議,包括ASCII、RTU、TCP三種
    發(fā)表于 11-20 10:52 ?4718次閱讀
    一文知道<b class='flag-5'>ModbusTCP</b><b class='flag-5'>協(xié)議</b>和上位機編寫

    ModbusTCP報文詳解

    ModbusTCP報文詳解是工業(yè)控制常用的一種協(xié)議,通過對Modbus報文的理解,能很快提升自己的實際應用能力。
    發(fā)表于 06-07 15:15 ?4次下載

    一文詳解ModbusTCP協(xié)議

    Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標準。1996年施耐德公司推出基于以太網TCP/IP的Modbus協(xié)議ModbusTCP。Modbus協(xié)議是一
    的頭像 發(fā)表于 07-26 10:51 ?8454次閱讀
    一文詳解<b class='flag-5'>ModbusTCP</b><b class='flag-5'>協(xié)議</b>

    港口跨運車通信系統(tǒng)的ModbusTCP轉CAN協(xié)議的連接案例

    港口跨運車通信系統(tǒng)的ModbusTCP轉CAN協(xié)議的連接案例 WLJS的系列嵌入式通信模塊,允許與特定工業(yè)網絡進行通信。這些模塊是可互
    的頭像 發(fā)表于 01-03 13:53 ?298次閱讀

    智能樓宇系統(tǒng)canopen協(xié)議ModbusTCP協(xié)議進行通訊

    通過耐特森CANopen轉ModbusTCP網關設備進行轉換:可以使用一個CANopen轉ModbusTCP網關設備,將CANopen協(xié)議轉換為Modbus TCP協(xié)議。該CANope
    的頭像 發(fā)表于 01-03 15:17 ?412次閱讀

    智能樓宇系統(tǒng)canopen協(xié)議ModbusTCP協(xié)議進行通訊

    通過CANopen轉ModbusTCP網關設備進行轉換:可以使用一個CANopen轉ModbusTCP網關設備,將CANopen協(xié)議轉換為Modbus TCP協(xié)議。該CANopen轉
    的頭像 發(fā)表于 01-03 15:20 ?384次閱讀
    智能樓宇系統(tǒng)canopen<b class='flag-5'>協(xié)議</b>與<b class='flag-5'>ModbusTCP</b><b class='flag-5'>協(xié)議</b>進行通訊

    【實用篇】ModbusTCP協(xié)議詳解

    ModBusTcp與串行鏈路Modbus的數(shù)據域是一致的,具體數(shù)據域可以參考串行Modbus。這里給出幾個ModbusTcp的鏈路解析說明,輔助新人分析報文
    的頭像 發(fā)表于 01-14 11:13 ?2422次閱讀
    【實用篇】<b class='flag-5'>ModbusTCP</b><b class='flag-5'>協(xié)議</b>詳解

    什么是北斗短報文功能?如何實現(xiàn)北斗短報文通信?

    北斗短報文功能是指通過北斗衛(wèi)星進行短報文通信的功能。這種功能允許用戶在沒有移動通信信號覆蓋的偏遠山區(qū)、海洋、沙漠等地帶,通過北斗短報文終端發(fā)
    的頭像 發(fā)表于 05-25 10:16 ?3651次閱讀
    什么是北斗短<b class='flag-5'>報文</b>功能?如何實現(xiàn)北斗短<b class='flag-5'>報文</b><b class='flag-5'>通信</b>?

    Profibus轉ModbusTCP網關模塊實現(xiàn)Profibus_DP向ModbusTCP轉換

    Profibus和ModbusTCP是工業(yè)通信協(xié)議,利用Profibus轉ModbusTCP網關模塊(XD-ETHPBM20)可實現(xiàn)協(xié)議轉換,優(yōu)化能源管理,提升樓宇智能化水平。本文介紹
    的頭像 發(fā)表于 07-09 16:21 ?195次閱讀
    Profibus轉<b class='flag-5'>ModbusTCP</b>網關模塊實現(xiàn)Profibus_DP向<b class='flag-5'>ModbusTCP</b>轉換