




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、GB/T 前言-串行鏈路和 TCP/IP 上的 MODBUS MODBUS MODBUS TIA/EIA 標準:232-F 485-ATCP/IP MODBUSGB/T 前言-串行鏈路和 TCP/IP 上的 MODBUS MODBUS MODBUS TIA/EIA 標準:232-F 485-ATCP/IP MODBUS TCP/IP IETF 標準:RFC793 和RFC791 TCP/IP MODBUS ISO 層模型說明的兩個通信規(guī)程。(TIA/EIA IETF 標準協(xié)議45MODBUS 傳輸在TCP/IP上的實現(xiàn)指南 49 頁MODBUS 報文 45 頁標準分為三部分。第一部分Modbu
2、s MODBUS “MODBUS TCP/IP MODBUS 應用層的參考信息。第三部分“MODBUS 的 的實現(xiàn)指南”)0TIA/EIA-232-TIA/EIA-485- IEEE 802.2IETFRFCIETFRFC在TCP/IPMODBUS GB/T 第一部分:GB/T 第一部分:Modbus1GB/T 引1.1 自從1979年出現(xiàn)工業(yè)串行鏈路的事實標準以來,MOBUS使成千上萬的自動化設備能夠通信。GB/T 引1.1 自從1979年出現(xiàn)工業(yè)串行鏈路的事實標準以來,MOBUS使成千上萬的自動化設備能夠通信。BST/IPMODBUS 是一個請求/應答協(xié)議,并且提供功能碼規(guī)定的服務。MOD
3、BUS 功能碼是 請求/應答 PDU 的元素。本文件的作用是描述 MODBUS 事務處理框架內(nèi)使用的1.2 RFC791,互聯(lián)網(wǎng)協(xié)議,Sep81 各(有線:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A;光纖、無線等等)上的異步PLUS,一種高速令牌傳遞網(wǎng)絡。圖 1:MODBUS 應用2主站/ 物理基于TCP 的MODBUSGB/T 協(xié)議可編程邏輯控制器協(xié)議允許在各種網(wǎng)絡體系結(jié)構(gòu)內(nèi)進行簡單通信。MODBUS MODBUS ON網(wǎng)網(wǎng)網(wǎng)ON MB+驅(qū)動驅(qū)動驅(qū)動圖 2:MODBUS 網(wǎng)絡體系結(jié)構(gòu)的實例每種設備I、控制GB/T 協(xié)議可編程邏輯控制器協(xié)議允許在各種網(wǎng)絡體系結(jié)構(gòu)內(nèi)進
4、行簡單通信。MODBUS MODBUS ON網(wǎng)網(wǎng)網(wǎng)ON MB+驅(qū)動驅(qū)動驅(qū)動圖 2:MODBUS 網(wǎng)絡體系結(jié)構(gòu)的實例每種設備I、控制面板、驅(qū)動程序、動作控制、輸入/輸出設備)都能使用 協(xié)議操作。在基于串行鏈路和以太TCP/IP網(wǎng)絡的MODBUS上可以進行相同通信。 4.1 協(xié)議定義了一個與基礎通信層無關(guān)的簡單協(xié)議數(shù)據(jù)單元( PDU 。特定總線或協(xié)能夠在應用數(shù)據(jù)單元(ADU)上引入一些附3MODBUSON MODBUSON 驅(qū)動GB/T 3:通MODBUS啟動MODBUS 事務處理的客戶機創(chuàng)建 MODBUS 應用數(shù)據(jù)單元。功能碼向GB/T 3:通MODBUS啟動MODBUS 事務處理的客戶機創(chuàng)建
5、MODBUS 應用數(shù)據(jù)單元。功能碼向服務器指示將執(zhí)行哪協(xié)議建立了客戶機啟動的請求用一個字節(jié)編碼 MODBUS 數(shù)據(jù)單元的功能碼域。有效的碼字范圍是十進制 1-255(128-255 為一些功能碼加入子功能碼來定義多項操作從客戶機向服務器設備發(fā)送的報文數(shù)據(jù)域包括附加信息,服務器使用這個信息執(zhí)行功能碼定義的操作。這個域還包括離散項目和寄存器地址、處理的項目數(shù)量以及域中的實際數(shù)據(jù)字節(jié)數(shù)在某種請求中,數(shù)據(jù)域可以是不存在的(0 長度),在此情況下服務器不需要任何附加信息。功能 例如,客戶機能夠讀一組離散量輸出或輸入的開/關(guān)狀態(tài),或者客戶機能夠讀/寫一組寄存器的數(shù)據(jù)內(nèi)容。當服務器對客戶機響應時,它使用功能
6、碼域來指示正常(無差錯)響應或者出現(xiàn)某種差錯(為異常響應。對于一個正常響應來說,服務器僅對原始功能碼響應。圖 4:MODBUS 事務處理(無差錯對于異常響應,服務器返回一個與原始功能碼等同的碼,設置該原始功能碼的最高有效位為邏輯1。4數(shù)據(jù)響GB/T 客戶5 MODBUS事務處理(異常響應注釋串行第一個MODBUS GB/T 客戶5 MODBUS事務處理(異常響應注釋串行第一個MODBUS 執(zhí)行的長度約束限制了MODBUS PDU 大?。ㄗ畲笞止?jié)因此,對串行鏈路通信來說,MODBUS PDU=256-服務器地址(1 字節(jié))-CRC(2 字節(jié)字節(jié)從而RS232RS485ADU253字節(jié)+服務器地址
7、(1byteCRC(2字節(jié)256字節(jié)TCPMODBUSADU249字節(jié)MBAP(7字節(jié)256字節(jié)MODBUS 協(xié)議定義了三種 PDU。它們MODBUS PDU,mb_rsp_pduMODBUS 異常響應 定義mb_req_pdumb_req_pdufunction_coderequest_data,其中 function_code - 1 個字節(jié) MODBUS 功能碼request_data - n 個字節(jié),這個域與功能碼有關(guān),并且通常包括諸如可變參考、變量、數(shù)據(jù)偏移量、子功能碼等信息。定義mb_rsp_pdumb_rsp_pdufunction_coderesponse_data,其中 fu
8、nction_code - 1 個字節(jié) MODBUS 功能碼定義mb_excep_rsp_pdu 為mb_excep_rsp_pdu = function_code, request_data,其中 function_code - 1 個字節(jié) MODBUS 功能碼 + 0 x80 exception_code1個字節(jié),在下表中定義了MODBUS異常碼。4.2 MODBUS 使用一個big-表示地址和數(shù)據(jù)項。這意味著當發(fā)射多個字節(jié)時,首先送最高有效位。例如:寄存值5差錯接收功能數(shù)據(jù)啟動GB/T 16 發(fā)送的第一注釋:更詳細的信息參見14.3 MODBUS以一系列具有不同特征表格上的數(shù)據(jù)模型為基礎
9、。四個基本表格為:GB/T 16 發(fā)送的第一注釋:更詳細的信息參見14.3 MODBUS以一系列具有不同特征表格上的數(shù)據(jù)模型為基礎。四個基本表格為:輸入與輸出之間以及比特尋址的和字尋址的數(shù)據(jù)項之間的區(qū)別并沒有暗示任何應用操作。如這是對可疑部分最自然的解釋,那么這種區(qū)別是可完全接受的,而且很普通,以便認為四表格全部覆蓋了另外一個表格對于基本表格中任何一項,協(xié)議都允許單個地選擇 65536 個數(shù)據(jù)項,而且設計那些項的讀寫操作可以越過多個連續(xù)數(shù)據(jù)項直到數(shù)據(jù)大小規(guī)格限這個數(shù)據(jù)大小規(guī)格限制與事務處理功能碼有關(guān)。 。MODBUS 功能碼中使用的 MODBUS 邏輯參考數(shù)字是以 0 開始的無符號整MODBU
10、S 模型實現(xiàn)的實例下例實例示出了兩種在設備中構(gòu)造數(shù)據(jù)的方法??赡苡胁煌慕Y(jié)構(gòu),這個文件中沒有全部描述出來。每個設備根據(jù)其應用都有它自己的數(shù)據(jù)結(jié)構(gòu)。下例實例示出了設備中的數(shù)據(jù)結(jié)構(gòu),這個設備含有數(shù)字量和模擬量、輸入量和輸出量。由于不同塊中的數(shù)據(jù)不相關(guān),每個塊是相互獨立。按不同 MODBUS 功能每個塊。6基本表類內(nèi)離散量輸單個比只I/O 系統(tǒng)提供這種類型數(shù)線單個比讀通過應用程序改變這種類型數(shù)輸入寄存16-比特只I/O 系統(tǒng)提供這種類型數(shù)保持寄存16-比特讀通過應用程序改變這種類型數(shù)GB/T MODBUS圖 6:帶有獨立塊的 MODBUS 數(shù)據(jù)2116或1比特MODBUS7:僅帶有1個塊的MODBU
11、SGB/T MODBUS圖 6:帶有獨立塊的 MODBUS 數(shù)據(jù)2116或1比特MODBUS7:僅帶有1個塊的MODBUS數(shù)據(jù)4.4 MODBUS下列狀態(tài)圖描述了在服務器側(cè) MODBUS 事務處理的一般處理7設備應輸入離散RW線輸入寄存保存寄存MODBUS 服務器設備應MODBUS 輸入離散線GB/T 等MB 指發(fā)送 圖 8:MODBUS 事務處理的一旦服務器處理請求,使用合適的 MODBUS 服GB/T 等MB 指發(fā)送 圖 8:MODBUS 事務處理的一旦服務器處理請求,使用合適的 MODBUS 服務器事務建立 根據(jù)處理結(jié)果,可以建立兩種類型響應:響應一個正 MODBUS = 一個 MODB
12、US 異常響應(參見第 6.14 節(jié)響應功能碼 = 請求功能碼 + 0 x80;提供一個異常碼來指示差錯原因。5 功能有三類 MODBUS 功能碼。它MODBUS 組織可改變的,具有可用的一致性MBIETFRFC8異常碼異常碼異常碼異常碼接收MB指示無效的1有效的無效的2有效的確認數(shù)據(jù)無效的有效的執(zhí)行MB 操有效的發(fā)送 響GB/T 包含已被定義的公共指配功能碼和未來使用的未指配保留供功能GB/T 包含已被定義的公共指配功能碼和未來使用的未指配保留供功能碼用戶定義功用戶沒有MODBUS不能保證被選功能碼的使用是RFC,以便將改如果用戶要重新設置功能作為一個公共功能碼,那么用戶必須公共分類中,并且
13、指配一個新的公共功能碼一些公司對傳統(tǒng)產(chǎn)品通常使用的功能碼,并且對公共使用是無效的功能碼。1圖 9:MODBUS 功能碼9公共功能用戶定義功能公共功能用戶定義功能公共功能GB/T 6.1 01 (0 x01)在一設備中,使用該功1 2000 連續(xù)狀態(tài)。PDU 詳細說明了起 第一個數(shù)據(jù)LSB(最低有效位)包括在詢問中尋址的輸出。其它線圈依次類推,一直到這字節(jié)端為止,并在后續(xù)字節(jié)中如果返回的輸出數(shù)量不是八的倍數(shù),將用零填充最后數(shù)據(jù)字節(jié)中的剩余比特(一直到字節(jié)的高位端。字節(jié)數(shù)量域說明了數(shù)據(jù)的完整字節(jié)數(shù)。功能1個字字節(jié)1個字N 個字nNGB/T 6.1 01 (0 x01)在一設備中,使用該功1 200
14、0 連續(xù)狀態(tài)。PDU 詳細說明了起 第一個數(shù)據(jù)LSB(最低有效位)包括在詢問中尋址的輸出。其它線圈依次類推,一直到這字節(jié)端為止,并在后續(xù)字節(jié)中如果返回的輸出數(shù)量不是八的倍數(shù),將用零填充最后數(shù)據(jù)字節(jié)中的剩余比特(一直到字節(jié)的高位端。字節(jié)數(shù)量域說明了數(shù)據(jù)的完整字節(jié)數(shù)。功能1個字字節(jié)1個字N 個字nN功能1個字起始2個字0 x0000 至線圈2個字1功能碼子(十六進制頁比讀輸物理線寫單寫多16 比特訪輸入讀輸器或物理輸出讀多寫單寫多讀/ 寫多個寄存文讀文寫文6封裝讀設GB/T *N輸出數(shù)量/8,如果余數(shù)0,那么 N = 錯這是一個請求讀離散量輸出 20-38 的實GB/T *N輸出數(shù)量/8,如果余數(shù)
15、0,那么 N = 錯這是一個請求讀離散量輸出 20-38 的實例 MSB,輸出20 是LSBMSB位于左側(cè),LSB位于右側(cè)。第一字節(jié)的輸出從左至右2720。下一個字節(jié)的輸出從左到右為3528行發(fā)射比特時LSBMSB傳輸:20 27、28 . . . 35 等等。在最后的數(shù)據(jù)字節(jié)中,將輸出狀態(tài) 38-36 表示為十六進制字節(jié)值 05,或二進制 0000 0101 注:用零填充五個剩余比特(端請響(十六進制(十六進制功起始Hi起始Lo輸出Hi輸出數(shù)量 輸出狀態(tài) 27-輸出狀態(tài) 35-輸出狀態(tài) 38-功能1功能1010203GB/T 進支持起始地址和起始地址+輸出數(shù)量離散輸出退圖 6.2 02(0
16、x02) 。從零開始尋址輸入。因此尋址輸入GB/T 進支持起始地址和起始地址+輸出數(shù)量離散輸出退圖 6.2 02(0 x02) 。從零開始尋址輸入。因此尋址輸入 1-16 為 0-15了起始地址,即指定的第一個輸入地根據(jù)數(shù)據(jù)域的每個比特將響應報文中的離散量輸入分成為一個輸入。指示狀態(tài)為 1= ON 0= OFF。第一個數(shù)據(jù)字節(jié)的 LSB(最低有效位)包括在詢問中尋址的輸入。其它輸入依次類推,一這個字節(jié)端為止,并在后續(xù)字節(jié)中從低位的順序如果返回的輸入數(shù)量不是八的倍數(shù),將用零填充最后數(shù)據(jù)字節(jié)中的剩余比特(一直到字節(jié)的高位端。字節(jié)數(shù)量域說明了數(shù)據(jù)的完器發(fā)送 器發(fā)送異常碼請求處異常碼異常碼0 x000
17、1輸出異常碼GB/T 請求響應*N輸出數(shù)量/8,如果余數(shù)不等0,那么 N =錯這是一個請離散量輸?shù)膶崒㈦x散量輸入狀態(tài) 204-197 表示為十六進制字節(jié)值 AC,或二進制GB/T 請求響應*N輸出數(shù)量/8,如果余數(shù)不等0,那么 N =錯這是一個請離散量輸?shù)膶崒㈦x散量輸入狀態(tài) 204-197 表示為十六進制字節(jié)值 AC,或二進制 1010 1100。輸入 204 是這個字節(jié)的 MSB,輸入 197 是這個字節(jié)的 LSB。將離散量輸入狀態(tài) 218-213 表示為十六進制字節(jié)值 35,或二進制 0011 0101。輸入 218 位于3213是LSB注:用零填充 2 個剩余比特(端請響(十六進制(十六
18、進制功起始地Hi起始地Lo輸出數(shù)Hi輸出數(shù)Lo輸入狀態(tài) 204-輸入狀態(tài) 212-輸入狀態(tài) 218-差錯1字異常1字010203 功能1個字字節(jié)1個字輸入N*1 功能1個字起始2個字0 x0000 至輸入2個字1GB/T 進器接0 x0001起始地址和起始地址+輸入數(shù)量退圖11:讀離散量輸入6.3 03(0 x03)在一設備中,使用該功保持寄存器連GB/T 進器接0 x0001起始地址和起始地址+輸入數(shù)量退圖11:讀離散量輸入6.3 03(0 x03)在一設備中,使用該功保持寄存器連續(xù)塊的內(nèi)容。請求 PDU 說明了起始寄存地址和寄存器數(shù)量。從零開始尋址寄存器。因此,尋址寄存器 1-16 為 0
19、-15將響應報文中的寄存器數(shù)據(jù)分成每個寄存器有兩字節(jié),在每個字節(jié)中直接地調(diào)整二進制內(nèi)容對于每個寄存器,第一個字節(jié)位比特,并且第二個字節(jié)包括低位比特。請功能1個字起始2個字0 x0000 至2個字1異常碼請求異常碼異常碼異常碼GB/T 響*N寄存器錯這是一個請求讀寄108-110 的實例將寄存器 108 的內(nèi)容表示為兩個十六進制字節(jié)值 02 2B,GB/T 響*N寄存器錯這是一個請求讀寄108-110 的實例將寄存器 108 的內(nèi)容表示為兩個十六進制字節(jié)值 02 2B,或十進制 555。將寄存器 109-110 的請響(十六進制(十六進制功寄存器值 Hi(108)Lo(108)寄存器值 Hi(1
20、09)Lo(109)寄存器值 Hi(110)Lo(110)差錯1個字異常1個字010203 功能1個字字節(jié)1個字寄存器N*2 GB/T 進器接起始地址和起始地址+寄存器數(shù)量讀多個寄存器退圖12:讀保持寄存器6.4 04(0 x04)在一設備中,使用該功能GB/T 進器接起始地址和起始地址+寄存器數(shù)量讀多個寄存器退圖12:讀保持寄存器6.4 04(0 x04)在一設備中,使用該功能1 至大約 125 的連續(xù)輸入寄存器。請求 PDU 說明地址和寄存器數(shù)量。從零開始尋址寄存器。因此,尋址輸入寄存器 1-16 為 0-15將響應報文中的寄存器數(shù)據(jù)分成每個寄存器為兩字節(jié),在每個字節(jié)中直接地調(diào)整二進制內(nèi)容
21、對于每個寄存器,第一個字節(jié)位比特,并且第二個字節(jié)包括低位比特。請功能1個字起始2個字0 x0000 至輸入寄存器數(shù)2個字0 x0001 器發(fā)送異常碼請求異常碼異常碼異常碼GB/T 響*N輸入寄存器的數(shù)量錯這是一個請求讀輸9 的實例將輸入寄存器 的內(nèi)容表示為兩個GB/T 響*N輸入寄存器的數(shù)量錯這是一個請求讀輸9 的實例將輸入寄存器 的內(nèi)容表示為兩個十六進制字節(jié)值 00 0A,或十進制 10請響(十六進制(十六進制功起始地起始地輸入寄存器數(shù)量 輸入寄存器數(shù)量輸入9 輸入9 差錯1個字異常1個字010203 功能1個字字節(jié)1個字輸入寄存N*2 GB/T 進器接起始地址和起始地址+寄存器數(shù)量讀輸入寄
22、存器退圖13:讀輸入寄存器6.5 05 (0 x05)GB/T 進器接起始地址和起始地址+寄存器數(shù)量讀輸入寄存器退圖13:讀輸入寄存器6.5 05 (0 x05)在一設備上,使用該功能碼寫單個輸出為 ON 或OFF請求數(shù)據(jù)域中的常量說明請求的 ON/OFF 00 00 請求輸出為 OFF。其它所有值均是狀態(tài)。十六進制值 FF 00 請求輸出為 ON。十六進制請求 PDU 說明了強制的線圈地址。從零開始尋址線圈。因此,尋址線圈 1 為 0。線圈值域的量說明請求的 ON/OFF 狀態(tài)。十六進制值 0XFF00 請求線圈為 ON。十六進制值 0X0000 請求線圈正常響應是請求的應答,在寫入線圈狀態(tài)
23、之后返回這個正常響應。器發(fā)送異常碼請求異常碼異常碼異常碼GB/T 請響錯這是一個請求寫線圈 為ON 的實例請響(十六進制(十六進制功輸出值 Hi 輸出值 Lo功GB/T 請響錯這是一個請求寫線圈 為ON 的實例請響(十六進制(十六進制功輸出值 Hi 輸出值 Lo功輸出輸出地址F差錯1個字異常1個字010203 功能1個字輸出2個字0 x0000 至輸出2個字0 x0000 功能1個字輸出2個字0 x0000 至輸出2個字0 x0000 GB/T 進器接輸出值0 x0000 輸出地址寫單個輸出退圖 14:寫單個輸6.6 06(0 x06)在一設備中,使用該功能GB/T 進器接輸出值0 x0000
24、 輸出地址寫單個輸出退圖 14:寫單個輸6.6 06(0 x06)在一設備中,使用該功能碼寫單個保持寄存器。請求 PDU 說明了被寫入寄存器的地址。從零開始尋址寄存器。因此,尋址寄存正常響應是請求的應答,在寫入寄存器內(nèi)容之后返回這個正常響應。1 0請功能1個字2個字0 x0000 至寄存2個字0 x0000 至器發(fā)送異常碼請求異常碼異常碼異常碼GB/T 響錯這是一個請求將十六進制 00 03 寫入寄存器 2 的實例請響(十六進制GB/T 響錯這是一個請求將十六進制 00 03 寫入寄存器 2 的實例請響(十六進制(十六進制功寄存器值 Hi 寄存器值 Lo功輸出Hi輸出值 Hi 輸出值 Lo差錯
25、1個字異常1個字010203 功能1個字2個字0 x0000 至寄存器2個字0 x0000 至GB/T 進器接0 x0000F寄存器地址寫單個寄存器退圖 15:寫單個寄存器6.7 15 GB/T 進器接0 x0000F寄存器地址寫單個寄存器退圖 15:寫單個寄存器6.7 15 請求數(shù)據(jù)域的內(nèi)容說明了被請求的 狀態(tài)。域比特位置中的邏輯“1”請求ON。域比特位置中的邏輯“0”請求相應輸出為 OFF正常響應返回功能碼、起始地址和強制的線圈數(shù)量。器發(fā)送異常碼請求異常碼異常碼異常碼GB/T 請求*N輸出數(shù)量/8,如果余數(shù)0,那么 N = 響應錯這是一個請求從線圈 20 開始寫入 10 個線圈的二進制比G
26、B/T 請求*N輸出數(shù)量/8,如果余數(shù)0,那么 N = 響應錯這是一個請求從線圈 20 開始寫入 10 個線圈的二進制比特對應輸出。0 0 傳輸?shù)牡谝蛔止?jié)(十六進制 CD)尋址為輸出 27-20,在這種設置中,最低有效比特尋址為最(20傳輸?shù)南乱蛔止?jié)(十六進制 01)尋址為輸出 29-28,在這種設置中,最低有效比特尋址為(28應該用零填充最后數(shù)據(jù)字節(jié)中的未使用比特。請響(十六進制(十六進制功起始地Hi起始地Lo輸出數(shù)Hi輸出數(shù)Lo輸出值功起始地HiLo輸出數(shù)Hi輸出Lo差錯1個字異常1個字010203 功能1個字起始2個字0 x0000 至輸出2個字0 x0001 功能1個字起始2個字0 x
27、0000 至輸出2個字0 x0001 字節(jié)1個字輸出N*1 個字GB/T 進器接不等于 0,那么 N=N+1字節(jié)數(shù)GB/T 進器接不等于 0,那么 N=N+1字節(jié)數(shù)寫多個輸出退圖 16:寫多個輸出的6.8 16 正常響應返回功能碼、起始地址和被寫入寄存器的數(shù)量器發(fā)送異常碼請求異常碼異常碼異常碼GB/T 請求*N寄存器響應錯 請響(十六進制(十六進制功起始地址 Hi 起始地址 Lo 寄存器GB/T 請求*N寄存器響應錯 請響(十六進制(十六進制功起始地址 Hi 起始地址 Lo 寄存器Hi寄存器Lo寄存器Hi寄存器Lo功起始Hi 起始Lo寄存器數(shù)量差錯1個字異常1個字010203 功能1個字起始2
28、個字0 x0000 至2個字1功能1個字起始2個字0 x0000 至2個字0 x0001 字節(jié)1個字寄存N*2 個字值GB/T 進器接字節(jié)數(shù)寄存器數(shù)初始地址+寄存器數(shù)量寫多個寄存器器發(fā)送退GB/T 進器接字節(jié)數(shù)寄存器數(shù)初始地址+寄存器數(shù)量寫多個寄存器器發(fā)送退圖 17:寫多個寄存器6.9 20(0 x14) 讀文使用該功能碼進行長度。根據(jù)字節(jié)數(shù)量提供所有請求數(shù)據(jù)長度,并且根據(jù)寄存器提供所的結(jié)構(gòu)。每個文件包括 10000 ,尋址這為十進0000 9999 或十文件進制 0X0000 至 0X270F,例如尋12 12該功能可多個參考組。這些組可以是分散的(不連續(xù)的),但每組中的參考必須是連續(xù)的。7
29、 個字節(jié)的獨立“子請求”域定義每個組參考類型:1 個字節(jié)(必須規(guī)定為 異常碼請求異常碼異常碼異常碼GB/T 文件中的起號:2 被讀出長度:2 個字過 MODBUS 報文允許的長度:256 個字節(jié),這個寄存器數(shù)被的寄存器數(shù)響應中的所有其它合字節(jié)數(shù)。另外,每個“子響應”都包括一個表示自身字節(jié)數(shù)的域。請求響應錯這是一個請設兩個參GB/T 文件中的起號:2 被讀出長度:2 個字過 MODBUS 報文允許的長度:256 個字節(jié),這個寄存器數(shù)被的寄存器數(shù)響應中的所有其它合字節(jié)數(shù)。另外,每個“子響應”都包括一個表示自身字節(jié)數(shù)的域。請求響應錯這是一個請設兩個參請響(十六進制(十六進制1,參考類型子請1,文件H
30、i1,文件Lo子請1, 號 子請求 1,號 Lo 子請求 1,子請求長度子請2功子請求 1,文件響應長度子請求 1,參考類型 子請求 1,數(shù)據(jù)Hi子請求 1,數(shù)據(jù)Lo子請求 1,數(shù)據(jù)Hi子請求 1,數(shù)據(jù)Lo子請求 2子請2差錯1個字異常1個字01020304 功能1個字1個字0 x07 子請求 x1個字0 x07 子請x1個字6子請求 數(shù)N2 子請求功能1個字字節(jié)1個字0 x07 0 xF5 子請x1個字子請x,文件2個字0 x0000 至子請求2個字0 x0000 子請求 長2個字N子請求GB/T 進器接收 0 x07字節(jié)數(shù)起始地址和讀通用參考退圖 18:讀6.9.1 21(0 x15) 使
31、用該功能碼進GB/T 進器接收 0 x07字節(jié)數(shù)起始地址和讀通用參考退圖 18:讀6.9.1 21(0 x15) 使用該功能碼進行寫入。根據(jù)字節(jié)數(shù)量提供所有請求數(shù)據(jù)長度,并且根16 比特器發(fā)送異常碼請求異常碼異常碼異常碼子請求2,文件號Hi子請求2, 號 子請求2, 號 子請2, Hi子請求2, Lo子請2, 數(shù)據(jù) 子請2, 數(shù)據(jù) 子請子請GB/T 數(shù)量提供所長度的結(jié)構(gòu)。每個文件包括 10000 ,尋址這為十進0000 9999 或十文件進制 0X0000 至 0X270F,例如尋12 12GB/T 數(shù)量提供所長度的結(jié)構(gòu)。每個文件包括 10000 ,尋址這為十進0000 9999 或十文件進制
32、 0X0000 至 0X270F,例如尋12 127 個字節(jié)和數(shù)據(jù)的獨立“子請求”域定義每個組:參考類型:1 個字節(jié)(必須規(guī)定為 文件中的起號:2 個字被寫長度:2 被寫入的數(shù)據(jù):每個寄存器2 字節(jié)中的所有其它域組合。正常響應是請求的應答過報文允許的長度個字節(jié),這個寄存器數(shù)量與詢請求響應錯這是一個請求將一個參考組寫差錯1個字異常1個字01020304 功能1個字1個字子請x1個字子請x,文件2個字0 x0000 至子請求2個字0 x0000 至子請求 長2個字0 x0000 至F子請求 數(shù)N2 子請求功能1個字1個字0 x07 子請x1個字子請x,文件2個字0 x0000 至子請求2個字0 x
33、0000 子請求 長2字N子請求 數(shù)N2 子請求GB/T 組包4 3 個寄存器,以寄7 開始(地址 0007請響(十六進制(十六進制功1,參考類型子GB/T 組包4 3 個寄存器,以寄7 開始(地址 0007請響(十六進制(十六進制功1,參考類型子請1,文件Hi1,文件Lo子請1, 號 子請1, 號 子請求 1,長度 Hi子請求 1,長度Lo子請求 1,數(shù)據(jù)Hi子請求 1,數(shù)據(jù)Lo子請求 1,數(shù)據(jù)Hi子請求 1,數(shù)據(jù)Lo數(shù)據(jù)子請1,寄存器數(shù)據(jù)功1,參考類型子請1,文件Hi1,文件號Lo子請1, 號 子請1, 號 子請求 1,長度 Hi子請求 1,長度Lo子請求 1,數(shù)據(jù)Hi子請求 1,數(shù)據(jù)Lo
34、子請求 1,數(shù)據(jù)Hi子請求 1,數(shù)據(jù)Lo數(shù)據(jù)子請1,寄存器數(shù)GB/T 進 0 x07字節(jié)數(shù)起始地址和寫入通用參考退圖 19GB/T 進 0 x07字節(jié)數(shù)起始地址和寫入通用參考退圖 19:寫狀態(tài)圖6.10 22該功能碼用于通過利用 、以及寄存器內(nèi)容的組合來修改特定保持寄容。使用這個功能設置或清除寄存器中的單個比特01-160-15。功能的算法為:結(jié)果= (當前AND And_Mask) OR (Or_Mask AND例如器發(fā)送異常碼請求異常碼異常碼異常碼GB/T 二進制000100100000當前內(nèi)容 = And_Mask Or_Mask =結(jié)果0001注Or_Mask 值為零,那么結(jié)果是當前內(nèi)
35、容和And_Mask AND(與And_Mask 值為零,結(jié)果等于 Or_Mask 值??梢允褂米x保持寄存器功能(功能03)讀出寄存器的內(nèi)容。于是,當控制器掃描它的用戶邏輯程序時隨后可以改變寄存器的內(nèi)容正常的響應GB/T 二進制000100100000當前內(nèi)容 = And_Mask Or_Mask =結(jié)果0001注Or_Mask 值為零,那么結(jié)果是當前內(nèi)容和And_Mask AND(與And_Mask 值為零,結(jié)果等于 Or_Mask 值??梢允褂米x保持寄存器功能(功能03)讀出寄存器的內(nèi)容。于是,當控制器掃描它的用戶邏輯程序時隨后可以改變寄存器的內(nèi)容正常的響應是請求的應答。在已經(jīng)寫入寄存器之
36、后,返回響應。請求響應錯設備中對寄存器 5 這是一個利用上值請響(十六進制(十六進制功參考地Hi參考地Lo Or_Mask Hi功參考地HiOr_Mask Hi差錯1個字異常1個字010203 功能1個字參考2個字0 x0000 至2個字0 x0000 至2個字0 x0000 至功能1個字參考2個字0 x0000 至2個字0 x0000 至2個字0 x0000 至GB/T 進器得參考地址和退圖寫保持寄存器6.11 23(0 x17讀/ GB/T 進器得參考地址和退圖寫保持寄存器6.11 23(0 x17讀/ 請求說明了起始地址、的保持寄存器號和起始地址、保持寄存器號以及被寫入的數(shù)據(jù)在寫數(shù)據(jù)域中
37、,字節(jié)數(shù)說明隨后的字節(jié)號正常響應包括被讀出的寄存器組的數(shù)據(jù)。在讀數(shù)據(jù)域中,字節(jié)數(shù)域說明隨后的字節(jié)數(shù)量請求功能1個字2個字0 x0000 至器發(fā)送異常碼請求異常碼異常碼異常碼GB/T *N寫的數(shù)響應*N讀的數(shù)錯這是一個請求從寄存器 開始讀六個寄存器并且從寄存器 開始讀三個寄存器請響(十六進制(十六進制功讀的數(shù)量 Hi 讀的數(shù)量 Lo GB/T *N寫的數(shù)響應*N讀的數(shù)錯這是一個請求從寄存器 開始讀六個寄存器并且從寄存器 開始讀三個寄存器請響(十六進制(十六進制功讀的數(shù)量 Hi 讀的數(shù)量 Lo 寫起始地址寫的數(shù)量 Hi 寫的數(shù)量 Lo 寫寄存器Hi寫寄Lo寫寄存器Hi寫寄Lo寫寄存器值寫寄存器值讀
38、寄存器Hi讀寄存Lo讀寄存器Hi讀寄存器值Lo讀寄存器Hi讀寄存Lo讀寄存器Hi讀寄存Lo讀寄存器Hi讀寄存器值 讀寄存器值 F差錯1個字異常1個字010203 功能1個字字節(jié)1個字讀寄存器N*2 個字讀的2個字0 x0001 至近似2個字0 x0000 至寫的2個字0 x0001 至近似寫字1個字寫寄存器N*2 個字GB/T 進0 x0001寫的數(shù)量和字節(jié)數(shù)寫的數(shù)讀起始地址GB/T 進0 x0001寫的數(shù)量和字節(jié)數(shù)寫的數(shù)讀起始地址+讀的數(shù)量和寫起始地址+寫的數(shù)量讀/寫多個寄存器退圖 21:讀/寫多個寄存器器發(fā)送器發(fā)送異常碼請求異常碼異常碼異常碼GB/T 6.12 43(0 x2B)這個功能碼
39、與設備的物理描述和功能描述相關(guān)的識別碼和附加報文。將讀設備識別碼接口模擬為一個地址空間,這個地址空間由一組可尋址數(shù)據(jù)元素組成。數(shù)據(jù)元素是被叫對象,并且對象Id 確定這個數(shù)據(jù)元素。接口由 3 種對基本設備識別碼。所有此種對象都是必備的:廠商名稱、產(chǎn)品代碼和修訂本號。正常設備識別碼。除基本數(shù)據(jù)對象以外,設備提供了附加的和可選擇的識別碼以及數(shù)據(jù)對象描述。按標準定義所有種類的對象,但是這種對象的執(zhí)行是可選的。擴展設備識別碼。除正常數(shù)據(jù)對象以外,設備提供了附加的和可選的識GB/T 6.12 43(0 x2B)這個功能碼與設備的物理描述和功能描述相關(guān)的識別碼和附加報文。將讀設備識別碼接口模擬為一個地址空間
40、,這個地址空間由一組可尋址數(shù)據(jù)元素組成。數(shù)據(jù)元素是被叫對象,并且對象Id 確定這個數(shù)據(jù)元素。接口由 3 種對基本設備識別碼。所有此種對象都是必備的:廠商名稱、產(chǎn)品代碼和修訂本號。正常設備識別碼。除基本數(shù)據(jù)對象以外,設備提供了附加的和可選擇的識別碼以及數(shù)據(jù)對象描述。按標準定義所有種類的對象,但是這種對象的執(zhí)行是可選的。擴展設備識別碼。除正常數(shù)據(jù)對象以外,設備提供了附加的和可選的識別碼描述。所有這些數(shù)據(jù)都是與設備有關(guān)的。數(shù)功能1個字MEI 類1個字 1個字1個字隨1個字下一個對象1個字對象1個字 1個字對象1個字對象1個字功能1個字MEI 類1個字 1個字1個字0 x00 對象名稱/類種ASCII
41、 強制基ASCII 強制主要修訂ASCII 強制ASCII 可選規(guī)ASCII 可選ASCII 可選用戶應用名ASCII 可選??蛇x可選擇地定對范圍0 x800 xFF與產(chǎn)品有相關(guān)可選擴GB/T 錯請求參數(shù)描述指配號為 14 的MODBUS 封裝接口識別讀識別碼請求。定義01:請求獲得基本設備識別碼(02:請求獲得正常設備識別碼(03:請求獲得擴展設備識別碼(04:請求獲得特定識別碼對象)在識別碼數(shù)據(jù)不適合單獨響應的情況下,可以需要幾個請求/響應事務處理。對象id字節(jié)給出了獲得的第一個對象識別碼。對于第一個事物處理來說,客戶機必須設置對象 idGB/T 錯請求參數(shù)描述指配號為 14 的MODBU
42、S 封裝接口識別讀識別碼請求。定義01:請求獲得基本設備識別碼(02:請求獲得正常設備識別碼(03:請求獲得擴展設備識別碼(04:請求獲得特定識別碼對象)在識別碼數(shù)據(jù)不適合單獨響應的情況下,可以需要幾個請求/響應事務處理。對象id字節(jié)給出了獲得的第一個對象識別碼。對于第一個事物處理來說,客戶機必須設置對象 id為 0,以便獲得設備識 如果對象 id 不符合任何已知對象,那么服務器象象 0 那樣響應(從頭開始在單的情況下:ReadDevId 代碼 04,請求中的對象 id 給出了獲得的對象識別碼如果對象 不符合任何已知對象,那么服務器返回一個異常碼數(shù)據(jù)地址)的異常響應響應參數(shù)描述功能碼MEIRe
43、adDevId碼:功能碼 43(十進制)0 x2B (十六進制ReadDevId碼相同:01、02、03)02:別碼()和單和單03:擴展識別碼(81:基本識別碼()82:別碼(83:擴展識別碼(隨:在ReadDevId01、0203如果識別碼數(shù)據(jù)不符合單個響應,那么需要幾個請求/響應事務00:對象不FF:其它識別碼對象是可利用的,并且MODBUS 事務ReadDevId04(單必須設置這個域為 00 (下一個對象對象(對于單,對象號碼= 第一個對象的字節(jié)長度Object0.功能1字FcMEI 類1字異常字GB/T Object0. ObjectN.第一個對象的值(對象 0.長度字節(jié)最后對象的
44、值(對象 N.長度字節(jié)“基本設備識別碼”的讀設備識別碼請求的實例:在這個實例中,一個響應報文。中發(fā)送所有的如果一個設備需要幾個事務處理發(fā)送響應,那么啟動下列事務處理。第一個事GB/T Object0. ObjectN.第一個對象的值(對象 0.長度字節(jié)最后對象的值(對象 N.長度字節(jié)“基本設備識別碼”的讀設備識別碼請求的實例:在這個實例中,一個響應報文。中發(fā)送所有的如果一個設備需要幾個事務處理發(fā)送響應,那么啟動下列事務處理。第一個事務請響值值功MEI類型 id功MEI類型 繼下一個對象id “公司識別碼請響值值功MEI類型 id功MEI類型 繼下一個對象id id id 對象“公司識別碼“產(chǎn)品
45、代碼GB/T 第二個事務請響值值功MEI類型 id功MEI類型 GB/T 第二個事務請響值值功MEI類型 id功MEI類型 繼下一個對象id 對象GB/T 進器接收對象器發(fā)送退圖 GB/T 進器接收對象器發(fā)送退圖 22:讀設備識別碼7 MODBUS當客戶機設備向服務器設備發(fā)送請求時,客戶機希望一個正常響應。從主站詢問中出現(xiàn)下列四隨請求異常碼異常碼GB/T 種可能事件如果服務器設備接收到無通信錯誤的請求,并且可以正常地處理詢問,那么服務器設備將返回一個正常響應。如果由于通信錯誤,服務器沒有接收到請求,那么不能返回響應。客戶機程序?qū)⒆罱K處理請求的超時狀態(tài)。.GB/T 種可能事件如果服務器設備接收到
46、無通信錯誤的請求,并且可以正常地處理詢問,那么服務器設備將返回一個正常響應。如果由于通信錯誤,服務器沒有接收到請求,那么不能返回響應??蛻魴C程序?qū)⒆罱K處理請求的超時狀態(tài)。.,如果服務器接收到無通信錯誤的請求,但不能處理這個請求(例如,如果請求讀一個不存在的輸出或寄存器),服務器將返回一個異常響應,通知用戶錯誤的本異常響應報文有兩個與正常響應不同功能碼域:在正常響應中,服務器利用響應功能碼域來應答最初請求的功能碼。所有功能碼的 通過設置功能碼的 MSB,客戶機的應用程序能夠識別異常響能夠檢測異常碼的數(shù)據(jù)域數(shù)據(jù)域:在正常響應中,服務器可以返回數(shù)據(jù)域中數(shù)據(jù)或統(tǒng)計表(請求中要求的任何報文。在異常響應中
47、,服務器返回數(shù)據(jù)域中的異常碼。這就定義了產(chǎn)生異常的服務器狀態(tài)??蛻魴C請求和服務器異常響應在這個實例中,客戶機對服務器設備尋址請求。功能碼(01)用于讀輸出狀態(tài)操作。它將請求地址 從下頁開始異常碼MODBUS 異常代名含功對于服務器(或從站)來說,詢問中接收到的功能碼是不可允許的操作。這也許是因為功能碼僅僅適用于新設備而在被選單元中是不可實現(xiàn)的。同時,還服務器(或從站)在錯誤狀態(tài)中處理這種請求,例如:因為它是未配置的,并要求返回寄存器值對于服務器(或從站)來說,詢問中接收到的數(shù)據(jù)地址是不可允許的地址。特別100 個寄存器的控制器來說,帶有偏移量96 和長度4 的請求會成功,帶有偏96 和長度5
48、的請求將產(chǎn)生異02請響(十六進制(十六進制功起始地Lo輸出數(shù)GB/T 數(shù)據(jù)對于服務器(或從站)來說,詢問中包括的值是不可允許的值。這個值指示了組合請求剩余結(jié)構(gòu)中的故障,例如:隱含長度是不正確的。并不意味著,因為 MODBUS協(xié)議不知道任何特殊寄存器的任何特殊值的重要意義,寄存器中被提交 的GB/T 數(shù)據(jù)對于服務器(或從站)來說,詢問中包括的值是不可允許的值。這個值指示了組合請求剩余結(jié)構(gòu)中的故障,例如:隱含長度是不正確的。并不意味著,因為 MODBUS協(xié)議不知道任何特殊寄存器的任何特殊值的重要意義,寄存器中被提交 的數(shù)據(jù)項有一個應用程序期望之外的當服務器(或從站)正在設法執(zhí)行請求的操作時,產(chǎn)生不
49、可重新獲得的差錯確與編程命令一起使用。服務器(或從站)已經(jīng)接受請求,并切正在處理這個請求,但是需要長的持續(xù)時間進行這些操作。返回這個響應防止在客戶機(或主站)中發(fā)生超時錯誤??蛻魴C(或主站)可以繼續(xù)發(fā)送輪詢程序完成報文來確定是否完成處從屬設備與編程命令一起使用。服務器(或從站)正在處理長持續(xù)時間的程序命令。張務器(或從站)空閑時,用戶(或主站)應該稍后重新傳輸報文奇偶性差2021 6 一起使用,指示擴展文件區(qū)不能通過一致性服務器(或從站)設文件,但是器中發(fā)現(xiàn)一個奇偶校驗錯誤客戶機(或主方)可以重新發(fā)送請求,但可以在服務器(或從站)設備上要不可用網(wǎng)關(guān)路與網(wǎng)關(guān)一起使用,指示網(wǎng)關(guān)不能為處理請求分配輸
50、入端口至輸出端口網(wǎng)關(guān)目標設備響應敗與網(wǎng)關(guān)一起使用,指示沒有從目標設備中獲得響應。通常意味著設備未在網(wǎng)中GB/T 第二部分:ModbusGB/T 第二部分:Modbus 協(xié)議在GB/T 1 1.1 GB/T 1 1.1 站之間交換Modbus 請求。Modbus 協(xié)議的系統(tǒng)設計者。的協(xié)議標準化,以便在一個主站和一個或多個協(xié)議。使用對象為在他們的產(chǎn)品實現(xiàn)串行鏈路本文件將增進使用 Modbus 協(xié)議的設備之間的互通性。本文件還是對“Modbus 協(xié)議規(guī)范”的補充。第5 章定義必須遵守的要求的串行鏈路”的實現(xiàn)等級。級別的規(guī)范是對一個設備能夠?qū)儆谀硞€級別ModbusOSI7 層規(guī)串行鏈路規(guī)(OSI12
51、層1.2 本文件描述 Modbus 串行鏈路協(xié)議Modbus 串行鏈路協(xié)議是一個主/從協(xié)議該協(xié)議位于 OSI一個主從類型的系統(tǒng)有一個向某個“子”節(jié)點發(fā)出顯式命令并處理響應的節(jié)點(主節(jié)點)。典型的子節(jié)點在沒有收到主節(jié)點的請求時并不主動發(fā)送數(shù)據(jù),也不與其它子節(jié)點通信。在物理層,Modbus 串行鏈路系統(tǒng)可以使用不同的物理接口(RS485、RS232)。最常用的是 距離的點到點通信時,TIA/EIA-232-E 串行接口也可以使用。(參見有關(guān)“物理層”的章節(jié)下圖給出了 Modbus 串行通信棧對應于 7 OSI 模型的一般關(guān)系GB/T Modbus 客戶機/服務1 Modbus ISO/OSI位于O
52、SI 7 Modbus 的客戶機/Modbus 1.3 在GB/T Modbus 客戶機/服務1 Modbus ISO/OSI位于OSI 7 Modbus 的客戶機/Modbus 1.3 在本文件中下列詞匯用于定義每一種要求的重要程度求。這些詞語帶有下劃線” 現(xiàn)選項時的指南。在有合理的理由的特定條件下,可以忽略這但是,對其全部含義應該理并且基于情況做出選擇時應仔細斟酌這些詞語帶有下劃線詞語 “可以”,或形容詞 可選的,表示該項為真正意義的可選的。某個設計者可以選項(基于特定的市場需求或產(chǎn)品功能增強);而另一個可以選擇忽層ISO/OSI 模7應用6表示空5會話空4傳輸空3網(wǎng)絡空2數(shù)據(jù)鏈路Modb
53、us 串行鏈路1物理EIA/TIA-485EIA/TIA-Modbus 主站/從GB/T 1.4 如果某個實現(xiàn)不滿足實現(xiàn)級別中一個或多個必須的要求,則是不符合的如果某個實現(xiàn)滿足實現(xiàn)級別中所有的必須要求和所有的應該的建議,則稱為無條件GB/T 1.4 如果某個實現(xiàn)不滿足實現(xiàn)級別中一個或多個必須的要求,則是不符合的如果某個實現(xiàn)滿足實現(xiàn)級別中所有的必須要求和所有的應該的建議,則稱為無條件符合的如果某個實現(xiàn)滿足實現(xiàn)級別中所有的必須要求和不是所有的應該的建議,則稱為有條件符合的1.5 定義本文件中用到的特定詞匯、符號和縮略語在 “電氣接口” 在 “電氣接口” 在兩線制系統(tǒng)中使用四線制接口的特殊配置需要時
54、可參見SchneiderElectricMomentum 870USE10110連接單元接口 ent EIA/TIA 標準中的信號公共端 (Common)在兩線制或四線制RS485 Modbus 信號和可選的電源的公共端er Supply 公共公共, ircuitEquipment) 可編程序控制器適配器。也稱作數(shù)據(jù)通信設備(Data Communication Equipment)“Modbus 設備” : 參見其定義設驅(qū)動發(fā)生器,或發(fā)送Modbus設備。例如, 實現(xiàn)了RS232 數(shù)據(jù)終端設備編程終端或erminal 干纜側(cè)的物理總線接口 ( erface on Trunk Side)設備側(cè)
55、的物理總線接口 ( erface on Derivation Side)線路終端(Line Termination)設實現(xiàn)了 Modbus 串行鏈路并遵循技術(shù)規(guī)范的設備EIATIA232 標準EIATIA485 標準RS485 與該技術(shù)標準一致的兩線制或四線制網(wǎng)收發(fā)器。(a Transmitter and a )GB/T 2 Modbus 2.1 Modbus主站/(247 ) 連接于同一個串行總線。Modbus 有收到節(jié)點的請求時,從不會發(fā)送數(shù)據(jù)。子節(jié)點之間從不會互相通信。主節(jié)點在同GB/T 2 Modbus 2.1 Modbus主站/(247 ) 連接于同一個串行總線。Modbus 有收到
56、節(jié)點的請求時,從不會發(fā)送數(shù)據(jù)。子節(jié)點之間從不會互相通信。主節(jié)點在同一時刻會發(fā)起一個 Modbus 事務 點返回一個報文(一個 應答)。Modbus 2 某個子節(jié)點,子節(jié)點接到并處理完請求后,子節(jié)點向主 在廣播模式,主節(jié)點向所有的子節(jié)點發(fā)送請求。對于主節(jié)點廣播的請求沒有應答返回。廣播請求一般用于寫命令。所有設備必須接受播模式的寫功能。址0 是專用于示廣數(shù)據(jù)。單播和廣播模式的區(qū)別在一個多點的結(jié)構(gòu)下(RS485)更加易請應單播模請 廣播模GB/T 2.2 ModbusModbus 256 0 保留為廣播地址。 所有的子節(jié)點必須Modbus 必須Modbus 一2.3 ModbusModbus 1 定
57、義了簡單的獨立于其下面通信層的協(xié)議數(shù)據(jù)單元(PDUPGB/T 2.2 ModbusModbus 256 0 保留為廣播地址。 所有的子節(jié)點必須Modbus 必須Modbus 一2.3 ModbusModbus 1 定義了簡單的獨立于其下面通信層的協(xié)議數(shù)據(jù)單元(PDUProtocolData MODBUS圖 5:Modbus 協(xié)議數(shù)在不同總線或網(wǎng)絡的Modbus 協(xié)議務處理的客戶端構(gòu)造 Modbus PDU,然后添加附加的域以構(gòu)造適當?shù)耐ㄐ?PDU。Modbus圖 6:串行Modbus 串行鏈路,地址域只含有子節(jié)點地址 主節(jié)點通過將子節(jié)點的地址放到報文的地址域?qū)ψ庸?jié)點尋址。當子節(jié)點返回址放到應答
58、報文的地址域以讓主節(jié)點知道哪個子節(jié)點在回答它將自己的冗余校驗的計算結(jié)果。根據(jù)不同的傳輸模式(RTUor 使用兩種不同的計算方法(2.5 兩種串行傳輸模式CRC(01 248廣播地子節(jié)點單獨地保GB/T 2.4 主站/Modbus 主/ RTU ASCII 模式下面的章節(jié)描述了主節(jié)點和子節(jié)點與傳輸模式無關(guān)的狀態(tài)圖GB/T 2.4 主站/Modbus 主/ RTU ASCII 模式下面的章節(jié)描述了主節(jié)點和子節(jié)點與傳輸模式無關(guān)的狀態(tài)圖 狀態(tài)圖詞法下面的狀態(tài)圖使用與 UML 標準標記法繪制。標記法要點如下觸發(fā) 臨界條件/ 狀態(tài)狀態(tài)當一個系統(tǒng)處于狀態(tài)_A時發(fā)生觸發(fā)事件,只有當2.4.1 臨界條件 為真時
59、狀態(tài)_B,下圖描述了主節(jié)點的狀態(tài)特:/ 啟動轉(zhuǎn)換延空/啟動響應超處理轉(zhuǎn)換延遲時間幀接收響應 期望的子節(jié)點/ 等待出錯接收響非期望的子節(jié)點應答超主節(jié):對上面的狀態(tài)圖的空閑空閑狀態(tài)請求才能被發(fā)送。發(fā)送一個請求后,主節(jié)點離開空閑狀態(tài), 而且不能同時發(fā)送第二個請求。 響應超時處于等待應答 應超時繼續(xù)計時;當檢測到幀錯時,可以執(zhí)行一GB/T ” 請求。重試的最大次數(shù)取決于主節(jié)點 的設置。當廣播請求發(fā)送到串行總線上,沒有響應從子節(jié)點返回。然而主節(jié)點需要進行延遲以便使子節(jié)點在發(fā)送新的請求處理完當前請求。該延遲被稱作 轉(zhuǎn)換延遲。因此,主節(jié)點會在返回能夠發(fā)送另一個請求的“空閑”狀態(tài)之前,到 等待轉(zhuǎn)換延遲狀態(tài)。在
60、單播方式,響應超時必須設置到足夠的長度以使任何子節(jié)點都能處理完請求并返回響應。而廣播轉(zhuǎn)換延遲必須有足夠的長度以使任何子節(jié)點都能只處理完請求而可以接收新的請求。 9600 bpsGB/T ” 請求。重試的最大次數(shù)取決于主節(jié)點 的設置。當廣播請求發(fā)送到串行總線上,沒有響應從子節(jié)點返回。然而主節(jié)點需要進行延遲以便使子節(jié)點在發(fā)送新的請求處理完當前請求。該延遲被稱作 轉(zhuǎn)換延遲。因此,主節(jié)點會在返回能夠發(fā)送另一個請求的“空閑”狀態(tài)之前,到 等待轉(zhuǎn)換延遲狀態(tài)。在單播方式,響應超時必須設置到足夠的長度以使任何子節(jié)點都能處理完請求并返回響應。而廣播轉(zhuǎn)換延遲必須有足夠的長度以使任何子節(jié)點都能只處理完請求而可以接收
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務生產(chǎn)合同范本
- 保安帶電 自營合同范本
- 企業(yè)形象合同范本
- 公證送達合同范本
- 上船押金合同范本
- 共同領養(yǎng)寵物合同范本
- 勾調(diào)顧問合作協(xié)議合同范本
- 公司租賃民房合同范本
- 勞保中標合同范本
- 農(nóng)田包地合同范本
- 《中國人口老齡化》課件
- 靜脈采血最佳護理實踐相關(guān)知識考核試題
- 檢驗檢測中心檢驗員聘用合同
- 腰椎后路減壓手術(shù)
- 商場扶梯安全培訓
- 《全科醫(yī)學概論》課件-以家庭為單位的健康照顧
- 自來水廠安全施工組織設計
- 《跟單信用證統(tǒng)一慣例》UCP600中英文對照版
- 《醫(yī)院應急培訓》課件
- 提高教育教學質(zhì)量深化教學改革措施
- 招標代理機構(gòu)遴選投標方案(技術(shù)標)
評論
0/150
提交評論