找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5776|回復: 1
打印 上一主題 下一主題
收起左側

Modbus協(xié)議規(guī)范(中文詳細)-串行鏈路和TCP/IP上的MODBUS標準介紹

[復制鏈接]
跳轉到指定樓層
樓主
ID:421196 發(fā)表于 2018-11-5 17:26 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
--串行鏈路和TCP/IP上的MODBUS標準介紹
該標準包括兩個通信規(guī)程中使用的 MODBUS應用層協(xié)議和服務規(guī)范:
·串行鏈路上的MODBUS
MODBUS串行鏈路取決于 TIA/EIA 標準:232-F和 485-A。
·TCP/IP 上的 MODBUS
MODBUS TCP/IP 取決于 IETF 標準:RFC793 和 RFC791有關。
串行鏈路和 TCP/IP 上的 MODBUS 是根據(jù)相應 ISO 層模型說明的兩個通信規(guī)程。
下圖強調指出了該標準的主要部分。綠色方框表示規(guī)范;疑娇虮硎疽延械膰H標準(TIA/EIA 和 IETF標準) 。


MODBUS 標準分為三部分。第一部分( “Modbus 協(xié)議規(guī)范” )描述了 MODBUS 事物處理。第二部分( “MODBUS 報文傳輸在TCP/IP 上的實現(xiàn)指南” )提供了一個有助于開發(fā)者實現(xiàn) TCP/IP 上的 MODBUS 應用層的參考信息。第三部分( “MODBUS 報文傳輸在串行鏈路上的實現(xiàn)指南” )提供了一個有助于開發(fā)者實現(xiàn)串行鏈路上的 MODBUS應用層的參考信息。

1.1 范圍
MODBUS 是 OSI 模型第 7 層上的應用層報文傳輸協(xié)議, 它在連接至不同類型總線或網(wǎng)絡的設備之間提供客戶機/服務器通信。
自從1979 年出現(xiàn)工業(yè)串行鏈路的事實標準以來, MODBUS 使成千上萬的自動化設備能夠通信。
目前,繼續(xù)增加對簡單而雅觀的 MODBUS 結構支持;ヂ(lián)網(wǎng)組織能夠使 TCP/IP 棧上的保留系統(tǒng)端口 502訪問 MODBUS。
MODBUS 是一個請求/應答協(xié)議,并且提供功能碼規(guī)定的服務。MODBUS 功能碼是 MODBUS請求/應答 PDU 的元素。本文件的作用是描述 MODBUS 事務處理框架內使用的功能碼。
1.2 規(guī)范性引用文件
1.RFC791,互聯(lián)網(wǎng)協(xié)議,Sep81 DARPA
2.MODBUS 協(xié)議參考指南 Rev J,MODICON,1996年 6 月,doc#PI_MBUS_300
MODBUS 是一項應用層報文傳輸協(xié)議, 用于在通過不同類型的總線或網(wǎng)絡連接的設備之間的客戶機/服務器通信。
目前,使用下列情況實現(xiàn) MODBUS:
以太網(wǎng)上的 TCP/IP。
各種媒體(有線:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A;光纖、無線等等)上的異步串行傳輸。
MODBUS PLUS,一種高速令牌傳遞網(wǎng)絡。



2 縮略語
ADU 應用數(shù)據(jù)單元
HDLC 高級數(shù)據(jù)鏈路控制
HMI 人機界面
IETF 因特網(wǎng)工程工作組
I/O 輸入/輸出設備
IP 互連網(wǎng)協(xié)議
MAC 介質訪問控制
MB MODBUS 協(xié)議
MBAP MODBUS 協(xié)議
PDU 協(xié)議數(shù)據(jù)單元
PLC 可編程邏輯控制器
TCP 傳輸控制協(xié)議
3 背景概要
MODBUS 協(xié)議允許在各種網(wǎng)絡體系結構內進行簡單通信。



每種設備(PLC、HMI、控制面板、驅動程序、動作控制、輸入/輸出設備)都能使用 MODBUS協(xié)議來啟動遠程操作。
在基于串行鏈路和以太 TCP/IP 網(wǎng)絡的 MODBUS 上可以進行相同通信。
一些網(wǎng)關允許在幾種使用 MODBUS 協(xié)議的總線或網(wǎng)絡之間進行通信。

4 總體描述
4.1 協(xié)議描述
MODBUS 協(xié)議定義了一個與基礎通信層無關的簡單協(xié)議數(shù)據(jù)單元(PDU) 。特定總線或網(wǎng)絡上的 MODBUS 協(xié)議映射能夠在應用數(shù)據(jù)單元(ADU)上引入一些附加域。



啟動MODBUS 事務處理的客戶機創(chuàng)建 MODBUS 應用數(shù)據(jù)單元。 功能碼向服務器指示將執(zhí)行哪種操作。
MODBUS 協(xié)議建立了客戶機啟動的請求格式。
用一個字節(jié)編碼 MODBUS 數(shù)據(jù)單元的功能碼域。有效的碼字范圍是十進制 1-255(128-255 為異常響應保留) 。當從客戶機向服務器設備發(fā)送報文時,功能碼域通知服務器執(zhí)行哪種操作。向一些功能碼加入子功能碼來定義多項操作。
從客戶機向服務器設備發(fā)送的報文數(shù)據(jù)域包括附加信息,服務器使用這個信息執(zhí)行功能碼定義的操作。這個域還包括離散項目和寄存器地址、處理的項目數(shù)量以及域中的實際數(shù)據(jù)字節(jié)數(shù)。
在某種請求中,數(shù)據(jù)域可以是不存在的(0長度) ,在此情況下服務器不需要任何附加信息。功能碼僅說明操作。
如果在一個正確接收的 MODBUS ADU 中,不出現(xiàn)與請求 MODBUS 功能有關的差錯,那么服務器至客戶機的響應數(shù)據(jù)域包括請求數(shù)據(jù)。如果出現(xiàn)與請求 MODBUS 功能有關的差錯,那么域包括一個異常碼,服務器應用能夠使用這個域確定下一個執(zhí)行的操作。
例如,客戶機能夠讀一組離散量輸出或輸入的開/關狀態(tài),或者客戶機能夠讀/寫一組寄存器的數(shù)據(jù)內容。
當服務器對客戶機響應時,它使用功能碼域來指示正常(無差錯)響應或者出現(xiàn)某種差錯(稱為異常響應) 。對于一個正常響應來說,服務器僅對原始功能碼響應。



對于異常響應,服務器返回一個與原始功能碼等同的碼,設置該原始功能碼的最高有效位為邏輯 1。


注釋:需要管理超時,以便明確地等待可能不會出現(xiàn)的應答。
串行鏈路上第一個MODBUS執(zhí)行的長度約束限制了MODBUS PDU大小 (最大RS485ADU=256字節(jié)) 。
因此,對串行鏈路通信來說,MODBUS PDU=256-服務器地址(1 字節(jié))-CRC(2 字節(jié))=253字節(jié)。

從而:
RS232 / RS485 ADU = 253字節(jié)+服務器地址(1 byte) + CRC (2 字節(jié)) = 256字節(jié)。
TCP MODBUS ADU = 249字節(jié)+ MBAP (7 字節(jié)) = 256字節(jié)。
MODBUS 協(xié)議定義了三種 PDU。它們是:
MODBUS 請求 PDU,mb_req_pdu
MODBUS 響應 PDU,mb_rsp_pdu
MODBUS 異常響應 PDU,mb_excep_rsp_pdu

定義 mb_req_pdu 為:
mb_req_pdu = { function_code, request_data},其中
function_code - [1 個字節(jié)] MODBUS 功能碼
request_data - [n 個字節(jié)],這個域與功能碼有關,并且通常包括諸如可變參考、變量、數(shù)據(jù)偏移量、子功能碼等信息。
定義 mb_rsp_pdu 為:
mb_rsp_pdu = { function_code, response_ data},其中
function_code - [1 個字節(jié)] MODBUS 功能碼
response_data - [n 個字節(jié)],這個域與功能碼有關,并且通常包括諸如可變參考、變量、數(shù)據(jù)偏移量、子功能碼等信息。
定義 mb_excep_rsp_pdu 為:
mb_excep_rsp_pdu = { function_code, request_data},其中
function_code - [1 個字節(jié)] MODBUS 功能碼 + 0x80
exception_code - [1 個字節(jié)],在下表中定義了 MODBUS 異常碼。
4.2 數(shù)據(jù)編碼
MODBUS 使用一個‘big-Endian’ 表示地址和數(shù)據(jù)項。這意味著當發(fā)射多個字節(jié)時,首先發(fā)送最高有效位。


完整的pdf格式文檔51黑下載地址(共131頁):
Modbus協(xié)議規(guī)范(中文詳細).pdf (4.51 MB, 下載次數(shù): 61)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2018-11-9 00:38 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表