Modbus-MODBUS-TCP-協(xié)議解析(1)_第1頁
Modbus-MODBUS-TCP-協(xié)議解析(1)_第2頁
Modbus-MODBUS-TCP-協(xié)議解析(1)_第3頁
Modbus-MODBUS-TCP-協(xié)議解析(1)_第4頁
Modbus-MODBUS-TCP-協(xié)議解析(1)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、SUPCONSUPCON .1 Modbus 和和Modbus/TCP協(xié)議協(xié)議基礎介紹基礎介紹 EPA推廣應用中心 章雷 SUPCONSUPCON .2 Modbus協(xié)議在串行鏈路上的實現(xiàn)協(xié)議在串行鏈路上的實現(xiàn) 3 Modbus 協(xié)議規(guī)范協(xié)議規(guī)范 2 概概 述述 1 Modbus協(xié)議在協(xié)議在TCP/IP上的實現(xiàn)上的實現(xiàn) 4 主要內(nèi)容主要內(nèi)容 SUPCONSUPCON .3 概概 述述 1 SUPCONSUPCON .4 v ModbusModbus是是MODICONMODICON公司于公司于19791979年開發(fā)的一種通訊協(xié)議,年開發(fā)的一種通訊協(xié)議, 是一種工業(yè)現(xiàn)場總線協(xié)議標準。是一種工業(yè)現(xiàn)場

2、總線協(xié)議標準。19961996年施耐德公司推出年施耐德公司推出 了基于以太網(wǎng)了基于以太網(wǎng)TCP/IPTCP/IP的的ModbusModbus協(xié)議協(xié)議ModbusTCPModbusTCP。 v ModbusModbus協(xié)議是一項應用層報文傳輸協(xié)議,包括協(xié)議是一項應用層報文傳輸協(xié)議,包括ASCIIASCII、 RTURTU、TCPTCP三種報文類型,協(xié)議本身并沒有定義物理層,三種報文類型,協(xié)議本身并沒有定義物理層, 只是定義了控制器能夠認識和使用的消息結(jié)構(gòu),而不管只是定義了控制器能夠認識和使用的消息結(jié)構(gòu),而不管 他們是經(jīng)過何種網(wǎng)絡進行通信的。他們是經(jīng)過何種網(wǎng)絡進行通信的。 v 標準的標準的Modb

3、usModbus協(xié)議物理層接口有協(xié)議物理層接口有RS232RS232、RS422RS422、RS485RS485 和以太網(wǎng)口。采用和以太網(wǎng)口。采用Master/SlaveMaster/Slave(主(主/ /從)方式通信。從)方式通信。 v ModbusModbus在在20042004年成為我國國家標準。年成為我國國家標準。 SUPCONSUPCON .5 Modbus 協(xié)議規(guī)范協(xié)議規(guī)范 2 SUPCONSUPCON .6 ModbusModbus技術規(guī)范的關系技術規(guī)范的關系 Modbus 應用層 在 TCP/IP 上的 Modbus 映射 TCP/IP IETF RFC 793 IP IET

4、F RFC 791 Ethernet II /802.3 IEEE 802.2 以太網(wǎng)物理層 TIA/EIA-232-F 串行鏈路主站/從站 TIA/EIA-485-A Modbus 協(xié)議 在 TCP/IP 上 的實現(xiàn)指南 Modbus 應用協(xié)議 規(guī)范 Modbus 協(xié)議 在串行鏈路 上的實現(xiàn)指 南 SUPCONSUPCON .7 Modbus應用協(xié)議應用協(xié)議 ModbusModbus是一種簡單客戶機是一種簡單客戶機/ /服務器應用協(xié)議服務器應用協(xié)議 v 客戶機能夠向服務器發(fā)送請求??蛻魴C能夠向服務器發(fā)送請求。 v 服務器分析請求,處理請求,向客戶機發(fā)送應答。服務器分析請求,處理請求,向客戶機

5、發(fā)送應答。 SUPCONSUPCON .8 通用通用Modbus幀結(jié)構(gòu)幀結(jié)構(gòu)協(xié)議數(shù)據(jù)單元協(xié)議數(shù)據(jù)單元 (PDU)(PDU) ModbusModbus協(xié)議定義了一個與基礎通信層無關的簡單協(xié)議數(shù)協(xié)議定義了一個與基礎通信層無關的簡單協(xié)議數(shù) 據(jù)單元(據(jù)單元(PDUPDU),特定總線或網(wǎng)絡上的),特定總線或網(wǎng)絡上的ModbusModbus協(xié)議映射協(xié)議映射 能夠在應用數(shù)據(jù)單元(能夠在應用數(shù)據(jù)單元(ADUADU)上引入一些附加域。)上引入一些附加域。 附加地址 功能碼 數(shù)據(jù) 差錯校驗 ADU PDU SUPCONSUPCON .9 Modbus事務處理(無差錯)事務處理(無差錯) v 當服務器對客戶機響應時

6、,它使用功能碼域來指示正常當服務器對客戶機響應時,它使用功能碼域來指示正常 (無差錯)響應或者出現(xiàn)某種差錯(稱為異常響應)。(無差錯)響應或者出現(xiàn)某種差錯(稱為異常響應)。 v 對于一個正常響應來說,服務器僅復制原始功能碼。對于一個正常響應來說,服務器僅復制原始功能碼。 功能碼功能碼 數(shù)據(jù)請求數(shù)據(jù)請求 客戶機 服務器 啟動請求啟動請求 執(zhí)行操作執(zhí)行操作 啟動響應啟動響應 接收響應接收響應 功能碼功能碼 數(shù)據(jù)響應 SUPCONSUPCON .10 Modbus事務處理(異常響應)事務處理(異常響應) 客戶機 服務器 啟動請求啟動請求 在操作中檢測差錯在操作中檢測差錯 啟動差錯啟動差錯 異常功能碼

7、異常功能碼 接收響應接收響應 異常碼異常碼 功能碼功能碼 數(shù)據(jù)請求數(shù)據(jù)請求 v 對于異常響應,服務器將原始功能碼的最高有效位設置對于異常響應,服務器將原始功能碼的最高有效位設置 邏輯邏輯1 1后返回。后返回。 v 異常碼指示差錯類型。異常碼指示差錯類型。 SUPCONSUPCON .11 Modbus協(xié)議在串行鏈路上的實現(xiàn)協(xié)議在串行鏈路上的實現(xiàn) 3 SUPCONSUPCON .12 Modbus協(xié)議在串行鏈路上的實現(xiàn)模型協(xié)議在串行鏈路上的實現(xiàn)模型 v 主要是在主要是在RS485RS485和和RS232RS232等物理接口上實現(xiàn)等物理接口上實現(xiàn)ModbusModbus協(xié)議。協(xié)議。 v 在在Mod

8、busModbus鏈路層上客戶機的功能由主站提供而服務器的功鏈路層上客戶機的功能由主站提供而服務器的功 能由從站實現(xiàn)。能由從站實現(xiàn)。 層ISO/OSI 模型 7應用層Modbus應用協(xié)議 6表示層空 5會話層空 4傳輸層空 3網(wǎng)絡層空 2數(shù)據(jù)鏈路層Modbus串行鏈路協(xié)議 1物理層EIA/TIA-485 (或 EIA/TIA232) EIA/TIA-485 (或 EIA/TIA-232) Modbus 主站/從站 Modbus 應用協(xié)議層 客戶機/服務器 SUPCONSUPCON .13 Modbus主站主站-從站協(xié)議原理從站協(xié)議原理 v ModbusModbus串行鏈路協(xié)議是一個主串行鏈路協(xié)

9、議是一個主- -從協(xié)議。在同一時刻,只有從協(xié)議。在同一時刻,只有 一個主節(jié)點連接與總線,一個或多個子節(jié)點(最大編號為一個主節(jié)點連接與總線,一個或多個子節(jié)點(最大編號為 247247)連接于同一串行總線。)連接于同一串行總線。 v ModbusModbus通信由主節(jié)點發(fā)起,子節(jié)點在沒有收到來自主節(jié)點的通信由主節(jié)點發(fā)起,子節(jié)點在沒有收到來自主節(jié)點的 請求時,從不會發(fā)送數(shù)據(jù)。請求時,從不會發(fā)送數(shù)據(jù)。 v 子節(jié)點之間互不通信。子節(jié)點之間互不通信。 v 主節(jié)點在同一時刻只會發(fā)起一個主節(jié)點在同一時刻只會發(fā)起一個ModbusModbus事務處理。事務處理。 v 主節(jié)點以兩種模式對子節(jié)點發(fā)送主節(jié)點以兩種模式對

10、子節(jié)點發(fā)送ModbusModbus請求:廣播、單播。請求:廣播、單播。 SUPCONSUPCON .14 v 主站工作狀態(tài)圖主站工作狀態(tài)圖 SUPCONSUPCON .15 v 從站工作狀態(tài)圖從站工作狀態(tài)圖 SUPCONSUPCON .16 v 主主/ /從通信的三種典型情況從通信的三種典型情況 SUPCONSUPCON .17 串行鏈路上的串行鏈路上的Modbus地址規(guī)則地址規(guī)則 v ModbusModbus尋址空間有尋址空間有256256個不同地址個不同地址 v 地址地址0 0為廣播地址為廣播地址 v ModbusModbus主節(jié)點沒有地址,子節(jié)點必須有一個唯一的地址主節(jié)點沒有地址,子節(jié)點

11、必須有一個唯一的地址 01247248255 廣播地址子節(jié)點單獨地址保留 SUPCONSUPCON .18 串行鏈路上的串行鏈路上的Modbus幀結(jié)構(gòu)幀結(jié)構(gòu) v M Modbusodbus串行鏈路協(xié)議是一個主串行鏈路協(xié)議是一個主/ /從協(xié)議從協(xié)議 v 網(wǎng)絡上的每個從站必須有唯一的地址(從網(wǎng)絡上的每個從站必須有唯一的地址(從1 1到到247247) v 從站地址用于尋址從站設備,由主站發(fā)起從站地址用于尋址從站設備,由主站發(fā)起 v 地址地址0 0用于廣播模式,不需要響應用于廣播模式,不需要響應 v RS-485RS-485和和RS-232 RS-232 定義了標準的物理端口,提高互可操作性定義了標

12、準的物理端口,提高互可操作性 地址域 功能碼 數(shù)據(jù) CRC (或 LRC) Modbus 串串行行鏈鏈路路 ADU Modbus PDU SUPCONSUPCON .19 兩種兩種Modbus串行傳輸模式串行傳輸模式 從站 地址 功能碼 數(shù)據(jù) CRC 1 字節(jié) 1 字節(jié) 0 至 252 字節(jié) 2 字節(jié) CRC 高位 CRC 低位 ASCII ASCII模式:信息中的每個模式:信息中的每個8 Bit8 Bit字節(jié)需字節(jié)需2 2個個ASCIIASCII字符字符, ,其其 優(yōu)點是準許字符的傳輸間隔達到優(yōu)點是準許字符的傳輸間隔達到1 s1 s而不產(chǎn)生錯誤而不產(chǎn)生錯誤; ; RTU RTU模式:每個模式

13、:每個8 Bit8 Bit字節(jié)包含兩個字節(jié)包含兩個4 Bit4 Bit的十六進制字符的十六進制字符, , 其優(yōu)點是在同樣的波特率下其優(yōu)點是在同樣的波特率下, ,可比可比ASCIIASCII方式傳送更多的數(shù)方式傳送更多的數(shù) 據(jù)據(jù), ,但是每個信息必須以連續(xù)的數(shù)據(jù)流傳輸。但是每個信息必須以連續(xù)的數(shù)據(jù)流傳輸。 起始 地址 功能碼 數(shù)據(jù) LRC 結(jié)束 1個 字符 : 2個字符 2個字符 2個字符 2個字符 CR、LF 0至2x252個字符 SUPCONSUPCON .20 優(yōu)點優(yōu)點: v 公開的協(xié)議,完全免費。公開的協(xié)議,完全免費。 v 簡單易用,性能穩(wěn)定。簡單易用,性能穩(wěn)定。 v 廣泛的知識資源支持

14、廣泛的知識資源支持。 Modbus 的優(yōu)缺點的優(yōu)缺點 缺點:缺點: v 自適應性差,需合理組態(tài)。自適應性差,需合理組態(tài)。 v 通信效率低。通信效率低。 SUPCONSUPCON .21 Modbus協(xié)議在協(xié)議在TCP/IP上的實現(xiàn)上的實現(xiàn) 4 SUPCONSUPCON .22 ModbusTCP簡介簡介 v ModbusTCPModbusTCP是運行在是運行在TCP/IPTCP/IP上的上的Modbus Modbus 報文傳輸協(xié)議。通過報文傳輸協(xié)議。通過 此協(xié)議,控制器相互之間通過網(wǎng)絡(例如以太網(wǎng))和其它設此協(xié)議,控制器相互之間通過網(wǎng)絡(例如以太網(wǎng))和其它設 備之間可以通信。備之間可以通信。

15、v ModbusTCPModbusTCP是開放的協(xié)議,是開放的協(xié)議,IANAIANA(Internet Assigned Internet Assigned Numbers AuthorityNumbers Authority,互聯(lián)網(wǎng)編號分配管理機構(gòu))給,互聯(lián)網(wǎng)編號分配管理機構(gòu))給ModbusModbus 協(xié)議賦予協(xié)議賦予TCPTCP編口號為編口號為502502,這是目前在儀表與自動化行業(yè)中,這是目前在儀表與自動化行業(yè)中 唯一分配到的端口號。唯一分配到的端口號。 v ModbusTCP/IPModbusTCP/IP協(xié)議模型協(xié)議模型 SUPCONSUPCON .23 ModbusTCP通信結(jié)構(gòu)通

16、信結(jié)構(gòu) Modbus 客戶機 TCP/IP Modbus 服務器 TCP/IP Modbus 服務器 TCP/IP Modbus 服務器 串行鏈路 Modbus 服務器 串行鏈路 Modbus 客戶機 串行鏈路 Modbus 客戶機 TCP/IP Modbus TCP / IP 客客戶戶機機 TCP/IP 網(wǎng)網(wǎng)關關 服服務務器器 TCP/I 網(wǎng)網(wǎng)關關 Modbus 串串行行鏈鏈路路 v ModbusModbus TCP/IPTCP/IP的通信設備:連接至的通信設備:連接至TCP/IPTCP/IP網(wǎng)絡的網(wǎng)絡的 ModbusModbus TCP/IPTCP/IP客戶機和服務器設備??蛻魴C和服務器設

17、備。 v 互連設備,如:在互連設備,如:在TCP/IPTCP/IP網(wǎng)絡和串行鏈路子網(wǎng)之間互連網(wǎng)絡和串行鏈路子網(wǎng)之間互連 的網(wǎng)橋、路由器或網(wǎng)關等設備。的網(wǎng)橋、路由器或網(wǎng)關等設備。 SUPCONSUPCON .24 ModbusTCP數(shù)據(jù)幀數(shù)據(jù)幀 v ModbusTCPModbusTCP數(shù)據(jù)幀與串行鏈路數(shù)據(jù)幀的區(qū)別數(shù)據(jù)幀與串行鏈路數(shù)據(jù)幀的區(qū)別 SUPCONSUPCON .25 MBAP報文頭報文頭 域長度描述客戶機服務器 事務處理 標識符 2字 節(jié) Modbus請求/響 應事務處理的識 別 客 戶 機 啟 動 服務器從接收的 請求中重新復制 協(xié)議標識 符 2字 節(jié) 0=Modbus協(xié)議客 戶 機

18、啟 動 服務器從接收的 請求中重新復制 長度2字 節(jié) 隨后字節(jié)的數(shù)量客 戶 機 啟 動(請求) 服務器(響應) 啟動 單元標識 符 1字 節(jié) 串行鏈路或其它 總線上連接的遠 程從站的識別 客 戶 機 啟 動 服務器從接收的 請求中重新復制 SUPCONSUPCON .26 ModbusTCP報文傳輸服務結(jié)構(gòu)報文傳輸服務結(jié)構(gòu) 用戶應用 通訊 應用層 MODBUS 客戶接口 MODBUS 客戶接口 MODBUS客戶機MODBUS服務器 TCPTCP 管理層 棧參數(shù)化連接管理訪問控制 TCP/IP棧 資 源 管 理 與 流 量 控 制 SUPCONSUPCON .27 通信應用層通信應用層 v Mo

19、dbusModbus客戶機:允許用戶應用控制與遠程設備的信息交換??蛻魴C:允許用戶應用控制與遠程設備的信息交換。 ModbusModbus客戶機根據(jù)用戶應用向客戶機根據(jù)用戶應用向ModbusModbus客戶機接口的發(fā)送要客戶機接口的發(fā)送要 求中所包含的參數(shù)來建立一個求中所包含的參數(shù)來建立一個ModbusModbus請求。請求。 v ModbusModbus客戶機接口:客戶機接口:ModbusModbus客戶機接口提供一個接口,使客戶機接口提供一個接口,使 得用戶應用能夠生成各類得用戶應用能夠生成各類ModbusModbus服務的請求,該服務包括服務的請求,該服務包括 對對ModbusModbu

20、s應用對象的訪問。應用對象的訪問。 v ModbusModbus服務器:在收到一個服務器:在收到一個ModbusModbus請求以后,模塊激活一請求以后,模塊激活一 個本地操作進行讀、寫、或完成其他操作。個本地操作進行讀、寫、或完成其他操作。 SUPCONSUPCON .28 TCP管理層管理層 v 連接管理:連接管理: 在客戶機和服務器的在客戶機和服務器的ModbusModbus模塊之間的通信需要使用模塊之間的通信需要使用 TCPTCP連接管理模塊,負責全面管理報文傳輸連接管理模塊,負責全面管理報文傳輸TCPTCP連接。連接。 v 訪問控制:訪問控制: 在某些至關重要的場合,必須禁止無關的主

21、機對設備在某些至關重要的場合,必須禁止無關的主機對設備 內(nèi)部數(shù)據(jù)的訪問。內(nèi)部數(shù)據(jù)的訪問。 管理通信的建立和結(jié)束以及管理在所建立的管理通信的建立和結(jié)束以及管理在所建立的TCPTCP連接上的連接上的 數(shù)據(jù)流。數(shù)據(jù)流。 SUPCONSUPCON .29 TCP/IP棧層棧層 v 可以對可以對TCP/IPTCP/IP的棧進行參數(shù)配置,以適用于不同的產(chǎn)品或的棧進行參數(shù)配置,以適用于不同的產(chǎn)品或 系統(tǒng)特定的約束條件,來進行數(shù)據(jù)流控制、地址管理和連系統(tǒng)特定的約束條件,來進行數(shù)據(jù)流控制、地址管理和連 接管理,使用接管理,使用BSDBSD套接字接口來管理套接字接口來管理TCPTCP連接連接。 SUPCONSUP

22、CON .30 TCP連接管理連接管理 v MODBUSMODBUS通信需要建立客戶機與服務器之間的通信需要建立客戶機與服務器之間的TCPTCP連接。連接。 v 連接的建立可以由用戶應用模塊直接實現(xiàn),也可以由連接的建立可以由用戶應用模塊直接實現(xiàn),也可以由TCPTCP連接連接 管理模塊自動完成。管理模塊自動完成。 v 在第一種情況下,用戶應用模塊必須提供應用程序接口,以便在第一種情況下,用戶應用模塊必須提供應用程序接口,以便 完全管理連接。這種方式為應用開發(fā)人員提供了靈活性,但需完全管理連接。這種方式為應用開發(fā)人員提供了靈活性,但需 要要TCP/IPTCP/IP機制方面的專長。機制方面的專長。

23、v 在第二種情況,在第二種情況,TCP TCP 連接管理完全不出現(xiàn),用戶應用僅需要發(fā)連接管理完全不出現(xiàn),用戶應用僅需要發(fā) 送和接受送和接受MODBUS MODBUS 報文。報文。TCP TCP 連接管理模塊負責在需要時建立連接管理模塊負責在需要時建立 新的新的TCPTCP連接。連接。 SUPCONSUPCON .31 TCP連接的建立連接的建立 v ModbusModbus報文傳輸服務必須在報文傳輸服務必須在502502端口上提供一個監(jiān)聽套接端口上提供一個監(jiān)聽套接 字,允許接收新的連接和與其他設備交換數(shù)據(jù)。字,允許接收新的連接和與其他設備交換數(shù)據(jù)。 v 當報文傳輸服務需要與遠程服務器交換數(shù)據(jù)時

24、,它必須當報文傳輸服務需要與遠程服務器交換數(shù)據(jù)時,它必須 與遠程與遠程502502端口建立一個新的客戶機連接,以便于遠距離端口建立一個新的客戶機連接,以便于遠距離 地交換數(shù)據(jù)。本地端口必須高于地交換數(shù)據(jù)。本地端口必須高于10241024,并且對每個客戶,并且對每個客戶 機的連接各不相同機的連接各不相同 。 設備設備 客戶 機端 口 服務器 端口 502 n (n1024) 服務器 端口 客戶 機端 口 502 n (n1024)連接( IP1 n, IP2 502) IP1 IP2 SUPCONSUPCON .32 信息交換過程信息交換過程 完整的完整的ModbusTCPModbusTCP通信

25、過程:通信過程: 客戶機建立一個連接,客戶機建立一個連接, 向服務器發(fā)送向服務器發(fā)送3 3 個個MODBUSMODBUS請請 求,而不等待第一個請求的求,而不等待第一個請求的 應答到來。在收到所有的應應答到來。在收到所有的應 答后,客戶機正常地關閉連答后,客戶機正常地關閉連 接。接。 SUPCONSUPCON .33 v 客戶機的通信過程如下客戶機的通信過程如下: : (1) (1)用用 Connect Connect 命令建立與目標設備的連接命令建立與目標設備的連接; ; (2) (2)準備準備 Modbus Modbus 報文包括報文包括 7 7個字節(jié)的個字節(jié)的 MBAP MBAP 在在 內(nèi)的請求;內(nèi)的請求; (3) (3)使用使用 Send Send 命令發(fā)送報文命令發(fā)送報文; ; (4) (4)在同一連接下等待應答在同一連接下等待應答; ; (5) (5)用用 Recv Recv 命令讀取報文命令讀取報文, , 完成一次數(shù)據(jù)交換過程。當完成一次數(shù)據(jù)交換過程。當 通信任務結(jié)束時通信任務結(jié)束時, , 關閉關閉 TCP TCP 連接連接, , 使使 Modbus TCP Modbus TCP服務器服務器 可為其它客戶機服務

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論