




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
MODBUS協(xié)議中文完整版第一部分:Modbus
協(xié)議引言范圍MODBUS
是OSI模型第
7
層上的應(yīng)用層報文傳輸協(xié)議,它在連接至不同類型總線或網(wǎng)絡(luò)的設(shè)備之間提供客戶機(jī)/服務(wù)器通信。自從
1979
年出現(xiàn)工業(yè)串行鏈路的事實標(biāo)準(zhǔn)以來,MODBUS
使成千上萬的自動化設(shè)備能夠通信。目前,繼續(xù)增加對簡單而雅觀的
MODBUS
結(jié)構(gòu)支持。互聯(lián)網(wǎng)組織能夠使
TCP/IP
棧上的保留系統(tǒng)端口
502
訪問
MODBUS。MODBUS
是一個請求/應(yīng)答協(xié)議,并且提供功能碼規(guī)定的服務(wù)。MODBUS
功能碼是
MODBUS請求/應(yīng)答
PDU的元素。本文件的作用是描述
MODBUS事務(wù)處理框架內(nèi)使用的功能碼。規(guī)范性引用文件RFC791,互聯(lián)網(wǎng)協(xié)議,Sep81
DARPAMODBUS
協(xié)議參考指南Rev
J,MODICON,1996
年
6
月,doc#PI_MBUS_300MODBUS
是一項應(yīng)用層報文傳輸協(xié)議,用于在通過不同類型的總線或網(wǎng)絡(luò)連接的設(shè)備之間的客戶機(jī)/服務(wù)器通信。目前,使用下列情況實現(xiàn)
MODBUS:以太網(wǎng)上的TCP/IP。各種媒體(有線:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A;光纖、無線等等)上的異步串行傳輸。MODBUS
PLUS,一種高速令牌傳遞網(wǎng)絡(luò)。MODBUS應(yīng)用層基于TCP
的ModbusTCPIP其它MODBUS+/HDL主站/從站以太網(wǎng)
II/802.3其它物理層EIA/TIA-232
或EIA/TIA-485以太網(wǎng)物理層圖
1:MODBUS
通信棧2 縮略語ADU
應(yīng)用數(shù)據(jù)單元2GB/T
××××—××××MODBUSON
MB+MODBUSON
RS232MODBUSON
RS485驅(qū)動器PLCHMII/OI/OI/OPLC驅(qū)動器PLCHMII/O驅(qū)動器PLCI/OI/O驅(qū)動器I/O網(wǎng)關(guān)網(wǎng)關(guān)網(wǎng)關(guān)HDLC高級數(shù)據(jù)鏈路控制HMI 人機(jī)界面IETF 因特網(wǎng)工程工作組I/O 輸入/輸出設(shè)備IP 互連網(wǎng)協(xié)議MAC 介質(zhì)訪問控制MB MODBUS
協(xié)議MBAP
MODBUS協(xié)議PDU 協(xié)議數(shù)據(jù)單元PLC
可編程邏輯控制器TCP 傳輸控制協(xié)議3 背景概要MODBUS
協(xié)議允許在各種網(wǎng)絡(luò)體系結(jié)構(gòu)內(nèi)進(jìn)行簡單通信。MODBUS
通信MODBUSON
TCP/IP圖
2:MODBUS
網(wǎng)絡(luò)體系結(jié)構(gòu)的實例每種設(shè)備(PLC、HMI、控制面板、驅(qū)動程序、動作控制、輸入/輸出設(shè)備)都能使用
MODBUS協(xié)議來啟動遠(yuǎn)程操作。在基于串行鏈路和以太
TCP/IP
網(wǎng)絡(luò)的MODBUS
上可以進(jìn)行相同通信。一些網(wǎng)關(guān)允許在幾種使用
MODBUS協(xié)議的總線或網(wǎng)絡(luò)之間進(jìn)行通信??傮w描述協(xié)議描述MODBUS
協(xié)議定義了一個與基礎(chǔ)通信層無關(guān)的簡單協(xié)議數(shù)據(jù)單元(PDU)。特定總線或網(wǎng)絡(luò)上的MODBUS
協(xié)議映射能夠在應(yīng)用數(shù)據(jù)單元(ADU)上引入一些附加域。3GB/T
××××—××××4地址域功能碼數(shù)據(jù)差錯校驗ADU啟動請求功能碼數(shù)據(jù)請求操作碼接收響應(yīng)數(shù)據(jù)響應(yīng)執(zhí)行操作啟動響應(yīng)PDU圖
3:通用
MODBUS
幀啟動MODBUS
事務(wù)處理的客戶機(jī)創(chuàng)建
MODBUS
應(yīng)用數(shù)據(jù)單元。功能碼向服務(wù)器指示將執(zhí)行哪種操作。MODBUS
協(xié)議建立了客戶機(jī)啟動的請求格式。用一個字節(jié)編碼
MODBUS
數(shù)據(jù)單元的功能碼域。有效的碼字范圍是十進(jìn)制
1-255(128-255
為異常響應(yīng)保留)。當(dāng)從客戶機(jī)向服務(wù)器設(shè)備發(fā)送報文時,功能碼域通知服務(wù)器執(zhí)行哪種操作。向一些功能碼加入子功能碼來定義多項操作。從客戶機(jī)向服務(wù)器設(shè)備發(fā)送的報文數(shù)據(jù)域包括附加信息,服務(wù)器使用這個信息執(zhí)行功能碼定義的操作。這個域還包括離散項目和寄存器地址、處理的項目數(shù)量以及域中的實際數(shù)據(jù)字節(jié)數(shù)。在某種請求中,數(shù)據(jù)域可以是不存在的(0
長度),在此情況下服務(wù)器不需要任何附加信息。功能碼僅說明操作。如果在一個正確接收的
MODBUS
ADU
中,不出現(xiàn)與請求
MODBUS功能有關(guān)的差錯,那么服務(wù)器至客戶機(jī)的響應(yīng)數(shù)據(jù)域包括請求數(shù)據(jù)。如果出現(xiàn)與請求
MODBUS
功能有關(guān)的差錯,那么域包括一個異常碼,服務(wù)器應(yīng)用能夠使用這個域確定下一個執(zhí)行的操作。例如,客戶機(jī)能夠讀一組離散量輸出或輸入的開/關(guān)狀態(tài),或者客戶機(jī)能夠讀/寫一組寄存器的數(shù)據(jù)內(nèi)容。當(dāng)服務(wù)器對客戶機(jī)響應(yīng)時,它使用功能碼域來指示正常(無差錯)響應(yīng)或者出現(xiàn)某種差錯(稱為異常響應(yīng))。對于一個正常響應(yīng)來說,服務(wù)器僅對原始功能碼響應(yīng)??蛻魴C(jī) 服務(wù)器圖
4:MODBUS
事務(wù)處理(無差錯)對于異常響應(yīng),服務(wù)器返回一個與原始功能碼等同的碼,設(shè)置該原始功能碼的最高有效位為邏輯
1。
即原功能碼+0x80Administrator2013-07-18
12:34:12--------------------------------------------即原功能碼+0x80GB/T
××××—××××5啟動請求功能碼數(shù)據(jù)請求差錯碼接收響應(yīng)異常碼在操作中檢測的差錯啟動差錯客戶機(jī)服務(wù)器圖
5
MODBUS
事務(wù)處理(異常響應(yīng))
注釋:需要管理超時,以便明確地等待可能不會出現(xiàn)的應(yīng)答。串行鏈路上第一個MODBUS
執(zhí)行的長度約束限制了MODBUS
PDU
大?。ㄗ畲驲S485ADU=256字節(jié))。字節(jié))=253因此,對串行鏈路通信來說,MODBUS
PDU=256-服務(wù)器地址(1
字節(jié))-CRC(2字節(jié)。從而:RS232/
RS485
ADU
=253
字節(jié)+服務(wù)器地址(1
byte)+CRC(2
字節(jié))=256
字節(jié)。TCP
MODBUS
ADU=249
字節(jié)+MBAP
(7
字節(jié))
=256
字節(jié)。MODBUS
協(xié)議定義了三種
PDU。它們是:MODBUS
請求
PDU,mb_req_pduMODBUS
響應(yīng)
PDU,mb_rsp_pduMODBUS
異常響應(yīng)
PDU,mb_excep_rsp_pdu定義mb_req_pdu
為:mb_req_pdu
=
{
function_code,
request_data},其中function_code
-
[1
個字節(jié)]MODBUS
功能碼request_data
-
[n
個字節(jié)],這個域與功能碼有關(guān),并且通常包括諸如可變參考、變量、數(shù)據(jù)偏移量、子功能碼等信息。定義mb_rsp_pdu
為:mb_rsp_pdu=
{
function_code,response_
data},其中function_code
-
[1
個字節(jié)]
MODBUS
功能碼response_data
-
[n
個字節(jié)],這個域與功能碼有關(guān),并且通常包括諸如可變參考、變量、數(shù)據(jù)偏移量、子功能碼等信息。定義mb_excep_rsp_pdu
為:mb_excep_rsp_pdu={function_code,request_data},其中function_code-[1個字節(jié)]MODBUS功能碼+0x80exception_code
-[1
個字節(jié)],在下表中定義了
MODBUS
異常碼。4.2 數(shù)據(jù)編碼MODBUS
使用一個‘big-Endian’表示地址和數(shù)據(jù)項。這意味著當(dāng)發(fā)射多個字節(jié)時,首先發(fā)送最高有效位。例如:寄存器大小
值russ2012-04-27
05:36:11--------------------------------------------PDU=functioncode+
data=ADU-address-
CRC6發(fā)送的第一字節(jié)為0x12然后
0x34GB/T
××××—××××16–
比特 0x1234
注釋:更詳細(xì)的信息參見[1]。4.3 MODBUS
數(shù)據(jù)模型MODBUS
以一系列具有不同特征表格上的數(shù)據(jù)模型為基礎(chǔ)。四個基本表格為:基本表格對象類型訪問類型內(nèi)容離散量輸入單個比特只讀I/O
系統(tǒng)提供這種類型數(shù)據(jù)線圈單個比特讀寫通過應(yīng)用程序改變這種類型數(shù)據(jù)輸入寄存器16-比特字只讀I/O
系統(tǒng)提供這種類型數(shù)據(jù)保持寄存器16-比特字讀寫通過應(yīng)用程序改變這種類型數(shù)據(jù)輸入與輸出之間以及比特尋址的和字尋址的數(shù)據(jù)項之間的區(qū)別并沒有暗示任何應(yīng)用操作。如果這是對可疑對象核心部分最自然的解釋,那么這種區(qū)別是可完全接受的,而且很普通,以便認(rèn)為四個表格全部覆蓋了另外一個表格。對于基本表格中任何一項,協(xié)議都允許單個地選擇
65536
個數(shù)據(jù)項,而且設(shè)計那些項的讀寫操作可以越過多個連續(xù)數(shù)據(jù)項直到數(shù)據(jù)大小規(guī)格限制,這個數(shù)據(jù)大小規(guī)格限制與事務(wù)處理功能碼有關(guān)。很顯然,必須將通過
MODBUS
處理的所有數(shù)據(jù)放置在設(shè)備應(yīng)用存儲器中。但是,存儲器的物理地址不應(yīng)該與數(shù)據(jù)參考混淆。要求僅僅是數(shù)據(jù)參考與物理地址的鏈接。MODBUS
功能碼中使用的
MODBUS
邏輯參考數(shù)字是以
0
開始的無符號整數(shù)索引。MODBUS
模型實現(xiàn)的實例下例實例示出了兩種在設(shè)備中構(gòu)造數(shù)據(jù)的方法??赡苡胁煌慕Y(jié)構(gòu),這個文件中沒有全部描述出來。每個設(shè)備根據(jù)其應(yīng)用都有它自己的數(shù)據(jù)結(jié)構(gòu)。實例1:有
4
個獨立塊的設(shè)備下例實例示出了設(shè)備中的數(shù)據(jù)結(jié)構(gòu),這個設(shè)備含有數(shù)字量和模擬量、輸入量和輸出量。由于不同塊中的數(shù)據(jù)不相關(guān),每個塊是相互獨立。按不同
MODBUS
功能碼訪問每個塊。GB/T
××××—××××7設(shè)備應(yīng)用存儲器MODBUS
訪問MODBUS
請求輸入離散量線圈輸入寄存器保存寄存器MODBUS
請求輸入離散量線圈輸入寄存器保存寄存器MODBUS
服務(wù)器設(shè)備RW
R
WMODBUS
服務(wù)器設(shè)備圖
6:帶有獨立塊的
MODBUS
數(shù)據(jù)模型實例2:僅有
1
個塊的設(shè)備在這個實例中,設(shè)備僅有
1
個數(shù)據(jù)塊。通過幾個
MODBUS
功能碼可能得到一個相同數(shù)據(jù),或者通過
16比特訪問或
1
個訪問比特。設(shè)備應(yīng)用存儲器MODBUS
訪問圖
7:僅帶有
1
個塊的
MODBUS
數(shù)據(jù)模型4.4 MODBUS
事務(wù)處理的定義下列狀態(tài)圖描述了在服務(wù)器側(cè)
MODBUS
事務(wù)處理的一般處理過程。GB/T
××××—××××等待MB
指示發(fā)送
Modbus響應(yīng)發(fā)送
Modbus異常響應(yīng)異常碼_1異常碼_2異常碼_3異常碼_4_5_6[接收MB
指示]確認(rèn)操作碼[無效的][有效的]確認(rèn)數(shù)據(jù)地址[無效的][有效的]確認(rèn)數(shù)據(jù)值[無效的][有效的]執(zhí)行MB
操作
[無效的][有效的]圖
8:MODBUS
事務(wù)處理的狀態(tài)圖一旦服務(wù)器處理請求,使用合適的
MODBUS
服務(wù)器事務(wù)建立
MODBUS
響應(yīng)。根據(jù)處理結(jié)果,可以建立兩種類型響應(yīng):一個正
MODBUS
響應(yīng):響應(yīng)功能碼=請求功能碼一個
MODBUS
異常響應(yīng)(參見第
6.14
節(jié)):用來為客戶機(jī)提供處理過程中與被發(fā)現(xiàn)的差錯相關(guān)的信息;響應(yīng)功能碼
=請求功能碼
+0x80;提供一個異常碼來指示差錯原因。5 功能碼分類有三類
MODBUS
功能碼。它們是:公共功能碼是較好地被定義的功能碼,保證是唯一的,MODBUS
組織可改變的,公開證明的,具有可用的一致性測試,MB
IETFRFC
中證明的,8用戶定義功能碼
有兩個用戶定義功能碼的定義范圍,即65至72和十進(jìn)制100至1109GB/T
××××—××××包含已被定義的公共指配功能碼和未來使用的未指配保留供功能碼。。用戶沒有MODBUS
組織的任何批準(zhǔn)就可以選擇和實現(xiàn)一個功能碼不能保證被選功能碼的使用是唯一的。如果用戶要重新設(shè)置功能作為一個公共功能碼,那么用戶必須啟動
RFC,以便將改變引入公共分類中,并且指配一個新的公共功能碼。保留功能碼一些公司對傳統(tǒng)產(chǎn)品通常使用的功能碼,并且對公共使用是無效的功能碼。1271101007265公共功能碼用戶定義功能碼公共功能碼用戶定義功能碼公共功能碼1圖
9:MODBUS
功能碼分類功能碼1
個字節(jié)0x01起始地址2
個字節(jié)0x0000至
0xFFFF線圈數(shù)量2
個字節(jié)1至
2000(0x7D0)10GB/T
××××—××××5.1 公共功能碼定義6 功能碼描述6.1 01
(0x01)讀線圈在一個遠(yuǎn)程設(shè)備中,使用該功能碼讀取線圈的
1
至
2000
連續(xù)狀態(tài)。請求
PDU
詳細(xì)說明了起始地址,即指定的第一個線圈地址和線圈編號。從零開始尋址線圈。因此尋址線圈1-16為0-15。根據(jù)數(shù)據(jù)域的每個比特將響應(yīng)報文中的線圈分成為一個線圈。指示狀態(tài)為
1=
ON
和
0=
OFF。第一個數(shù)據(jù)字節(jié)的
LSB(最低有效位)包括在詢問中尋址的輸出。其它線圈依次類推,一直到這個字節(jié)的高位端為止,并在后續(xù)字節(jié)中從低位到高位的順序。如果返回的輸出數(shù)量不是八的倍數(shù),將用零填充最后數(shù)據(jù)字節(jié)中的剩余比特(一直到字節(jié)的高位端)。字節(jié)數(shù)量域說明了數(shù)據(jù)的完整字節(jié)數(shù)。請求
PDU響應(yīng)
PDU功能碼1個字節(jié)0x01字節(jié)數(shù)1個字節(jié)N*線圈狀態(tài)N
個字節(jié)n=N或
N+1數(shù)據(jù)訪問物理離散量輸入內(nèi)部比特比特訪問 或物理線圈輸入存儲器16
比特訪
內(nèi)部存儲問 器讀輸入離散量DI讀線圈 DO寫單個線圈 DO寫多個線圈
DO讀輸入寄存器AI讀多個寄存器
AI寫單個寄存器AO功能碼02010515040306碼子碼(十六進(jìn)制)0201050F040306頁11101637141317或?qū)懚鄠€寄存器
AO161039物理輸出存儲器讀/
寫多個寄存器 AO231747屏蔽寫寄存器221646文件記錄訪問讀文件記錄2061442寫文件記錄2161544封裝接口讀設(shè)備識別碼43142BAdministrator2013-07-23
03:36:15--------------------------------------------DIAdministrator2014-01-23
15:16:01--------------------------------------------DOAdministrator2013-07-23
03:36:33--------------------------------------------DOAdministrator2013-07-23
03:36:44--------------------------------------------DOAdministrator2013-07-23
03:37:02--------------------------------------------AIAdministrator2013-07-23
03:37:10--------------------------------------------AIAdministrator2013-07-23
03:37:14--------------------------------------------AOAdministrator2013-07-23
03:37:26--------------------------------------------AOAdministrator2014-02-08
06:17:26--------------------------------------------AOGB/T
××××—××××11*N=輸出數(shù)量/8,如果余數(shù)不等于
0,那么N
=
N+1這是一個請求讀離散量輸出
20-38
的實例:請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能01功能01起始地址
Hi00字節(jié)數(shù)03起始地址
Lo13輸出狀態(tài)
27-20CD輸出數(shù)量
Hi00輸出狀態(tài)
35-286B輸出數(shù)量
Lo13輸出狀態(tài)
38-3605錯誤功能碼1個字節(jié)功能碼+0x800x81異常碼1個字節(jié)01或
02或
03或04將輸出
27-20
的狀態(tài)表示為十六進(jìn)制字節(jié)值
CD,或二進(jìn)制
1100
1101。輸出
27
是這個字節(jié)的MSB,輸出
20
是
LSB。通常,將一個字節(jié)內(nèi)的比特表示為
MSB
位于左側(cè),LSB
位于右側(cè)。第一字節(jié)的輸出從左至右為
27
至
20。下一個字節(jié)的輸出從左到右為
35
至
28。當(dāng)串行發(fā)射比特時,從
LSB
向MSB
傳輸:20.
..27、28
...35
等等。在最后的數(shù)據(jù)字節(jié)中,將輸出狀態(tài)
38-36
表示為十六進(jìn)制字節(jié)值
05,或二進(jìn)制
0000
0101。輸出38
是左側(cè)第六個比特位置,輸出
36
是這個字節(jié)的
LSB。用零填充五個剩余高位比特。注:用零填充五個剩余比特(一直到高位端)。Administrator2013-07-18
13:06:25--------------------------------------------0x8112NOYESYESYESMB
服務(wù)器接收mb_req_pdu支持的功能碼0x0001≤輸出數(shù)量≤0x07D0起始地址==OK和起始地址+輸出數(shù)量==OKMB
服務(wù)器發(fā)送
mb_rsp退出GB/T
××××—××××進(jìn)入異常碼=01異常碼=03異常碼=02異常碼=04MB服務(wù)器發(fā)送
mb_exception_rspNONONO讀取離散輸出==OKYES此尋址輸入1-16為0-15指示狀態(tài)為1=ON和0=請求處理圖
10:讀取線圈狀態(tài)圖6.2 02(0x02)讀離散量輸入在一個遠(yuǎn)程設(shè)備中,使用該功能碼讀取離散量輸入的
1
至
2000連續(xù)狀態(tài)。請求
PDU詳細(xì)說明了起始地址,即指定的第一個輸入地址和輸入編號。從零開始尋址輸入。因
。根據(jù)數(shù)據(jù)域的每個比特將響應(yīng)報文中的離散量輸入分成為一個輸入。OFF。第一個數(shù)據(jù)字節(jié)的
LSB(最低有效位)包括在詢問中尋址的輸入。其它輸入依次類推,一直到這個字節(jié)的高位端為止,并在后續(xù)字節(jié)中從低位到高位的順序。如果返回的輸入數(shù)量不是八的倍數(shù),將用零填充最后數(shù)據(jù)字節(jié)中的剩余比特(一直到字節(jié)的高位端)。字節(jié)數(shù)量域說明了數(shù)據(jù)的完整字節(jié)數(shù)。2000Administrator2013-07-18
12:59:25--------------------------------------------2000功能碼1個字節(jié)0x02起始地址2個字節(jié)0x0000至
0xFFFF輸入數(shù)量2個字節(jié)1至
2000(0x7D0)GB/T
××××—××××13請求
PDU響應(yīng)
PDU功能碼1個字節(jié)0x02字節(jié)數(shù)1個字節(jié)N*輸入狀態(tài)N*×1
個字節(jié)*N=輸出數(shù)量/8,如果余數(shù)不等于
0,那么N
=
N+1錯誤差錯碼1字節(jié)0x82異常碼1字節(jié)01
或
02
或
03或
04這是一個請求讀取離散量輸入
197-218
的實例:請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能02功能02起始地址
Hi00字節(jié)數(shù)03起始地址
Lo輸入狀態(tài)
204-197C4AC輸出數(shù)量
Hi輸入狀態(tài)
212-20500DB輸出數(shù)量
Lo輸入狀態(tài)
218-2131635將離散量輸入狀態(tài)
204-197表示為十六進(jìn)制字節(jié)值
AC,或二進(jìn)制
1010
1100。輸入
204
是這個字節(jié)的
MSB,輸入
197
是這個字節(jié)的
LSB。將離散量輸入狀態(tài)
218-213表示為十六進(jìn)制字節(jié)值
35,或二進(jìn)制
00110101。輸入
218
位于左側(cè)第
3
比特,輸入
213
是LSB。注:用零填充
2
個剩余比特(一直到高位端)。14NOYESYESYESMB
服務(wù)器接收mb_req_pdu支持的功能碼0x0001≤輸入數(shù)量≤0x07D0起始地址==OK和起始地址+輸入數(shù)量==OKMB
服務(wù)器發(fā)送
mb_rsp退出GB/T
××××—××××進(jìn)入異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONONO讀取離散輸入==OKYES請求處理圖
11:讀離散量輸入的狀態(tài)圖6.3 03(0x03)讀保持寄存器在一個遠(yuǎn)程設(shè)備中,使用該功能碼讀取保持寄存器連續(xù)塊的內(nèi)容。請求
PDU
說明了起始寄存器地址和寄存器數(shù)量。從零開始尋址寄存器。因此,尋址寄存器
1-16
為
0-15。將響應(yīng)報文中的寄存器數(shù)據(jù)分成每個寄存器有兩字節(jié),在每個字節(jié)中直接地調(diào)整二進(jìn)制內(nèi)容。對于每個寄存器,第一個字節(jié)包括高位比特,并且第二個字節(jié)包括低位比特。請求功能碼1個字節(jié)0x03起始地址2個字節(jié)0x0000至
0xFFFF寄存器數(shù)量2個字節(jié)1至
125(0x7D)GB/T
××××—××××15響應(yīng)功能碼1個字節(jié)0x03字節(jié)數(shù)1個字節(jié)2×N*寄存器值N*×2
個字節(jié)*N=寄存器的數(shù)量錯誤差錯碼1個字節(jié)0x83異常碼1個字節(jié)01
或
02
或
03或
04這是一個請求讀寄存器
108-110
的實例:請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能高起始地址低起始地址高寄存器編號低寄存器編號03功能字節(jié)數(shù)寄存器值
Hi(108)寄存器值
Lo(108)寄存器值
Hi(109)寄存器值
Lo(109)寄存器值
Hi(110)寄存器值
Lo(110)0300066B02002B0300000064將寄存器
108的內(nèi)容表示為兩個十六進(jìn)制字節(jié)值
022B,或十進(jìn)制
555。將寄存器
109-110
的內(nèi)容分別表示為十六進(jìn)制
0000
和
00
64,或十進(jìn)制
0
和
100。16NOYESYESYESMB
服務(wù)器接收mb_req_pdu支持的功能碼起始地址==OK和起始地址+寄存器數(shù)量==OKMB
服務(wù)器發(fā)送
mb_rsp退出GB/T
××××—××××進(jìn)入異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONO0x0001≤寄存器數(shù)量≤0x007DNO讀多個寄存器==OKYES地址和寄存器數(shù)量。從零開始尋址寄存器。因 0-15。將響應(yīng)報文中的寄存器數(shù)據(jù)分成每個寄存器為兩字節(jié),在每個字節(jié)中直接地調(diào)整二進(jìn)制內(nèi)容。對于每個寄存器,第一個字節(jié)包括高位比特,并且第二個字節(jié)包括低位比特。請求至大約125的連續(xù)輸入寄存此,尋址輸入寄存器1-16為請求處理圖
12:讀保持寄存器的狀態(tài)圖6.4 04(0x04)讀輸入寄存器在一個遠(yuǎn)程設(shè)備中,使用該功能碼讀取
1器。請求
PDU
說明了起始功能碼1個字節(jié)0x04起始地址2個字節(jié)0x0000至
0xFFFF輸入寄存器數(shù)量2個字節(jié)0x0001至
0x007DGB/T
××××—××××17響應(yīng)功能碼1個字節(jié)0x04字節(jié)數(shù)1個字節(jié)2×N*輸入寄存器N*×2
個字節(jié)*N=輸入寄存器的數(shù)量錯誤差錯碼1個字節(jié)0x84異常碼1個字節(jié)01
或
02
或
03或
04這是一個請求讀輸入寄存器
9
的實例:請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能04功能04起始地址
Hi00字節(jié)數(shù)02起始地址
Lo輸入寄存器
9Hi0800輸入寄存器數(shù)量
Hi輸入寄存器
9Lo000A輸入寄存器數(shù)量
Lo01將輸入寄存器
9的內(nèi)容表示為兩個十六進(jìn)制字節(jié)值
00
0A,或十進(jìn)制
10。18NOYESYESMB
服務(wù)器接收mb_req_pdu支持的功能碼0x0001≤寄存器的數(shù)量≤0x007DYES起始地址==OK和起始地址+寄存器數(shù)量==OKMB
服務(wù)器發(fā)送
mb_rsp退出GB/T
××××—××××進(jìn)入異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONONO讀輸入寄存器==OKYES請求處理圖
13:讀輸入寄存器的狀態(tài)圖6.5 05(0x05)寫單個線圈在一個遠(yuǎn)程設(shè)備上,使用該功能碼寫單個輸出為
ON
或OFF。請求數(shù)據(jù)域中的常量說明請求的
ON/OFF
狀態(tài)。十六進(jìn)制值
FF
00
請求輸出為
ON。十六進(jìn)制值00
00
請求輸出為
OFF。其它所有值均是非法的,并且對輸出不起作用。請求
PDU
說明了強(qiáng)制的線圈地址。從零開始尋址線圈。因此,尋址線圈
1
為
0。線圈值域的常量說明請求的
ON/OFF狀態(tài)。十六進(jìn)制值
0XFF00
請求線圈為
ON。十六進(jìn)制值
0X0000
請求線圈為OFF。其它所有值均為非法的,并且對線圈不起作用。正常響應(yīng)是請求的應(yīng)答,在寫入線圈狀態(tài)之后返回這個正常響應(yīng)。GB/T
××××—××××19請求功能碼1個字節(jié)0x05輸出地址2個字節(jié)0x0000至
0xFFFF輸出值2個字節(jié)0x0000至
0x00響應(yīng)功能碼1個字節(jié)0x05輸出地址2個字節(jié)0x0000至
0xFFFF輸出值2個字節(jié)0x0000至
0xFF00錯誤差錯碼1個字節(jié)0x85異常碼1個字節(jié)01
或
02
或
03或
04這是一個請求寫線圈
173
為ON
的實例:請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能05功能05輸出地址
Hi00輸出地址
Hi00輸出地址
Lo輸出地址
LoACAC輸出值
Hi輸出值
HiFFFF輸出值
Lo輸出值
Lo000020YESYESYESMB
服務(wù)器接收mb_req_pdu支持的功能碼NO輸出地址==OKMB
服務(wù)器發(fā)送
mb_rsp退出GB/T
××××—××××進(jìn)入異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONO輸出值=0x0000
或
0xFF00NO寫單個輸出==OKYES請求處理圖
14:寫單個輸出狀態(tài)圖6.6 06(0x06)寫單個寄存器在一個遠(yuǎn)程設(shè)備中,使用該功能碼寫單個保持寄存器。請求
PDU
說明了被寫入寄存器的地址。從零開始尋址寄存器。因此,尋址寄存器
1為
0。正常響應(yīng)是請求的應(yīng)答,在寫入寄存器內(nèi)容之后返回這個正常響應(yīng)。請求功能碼1個字節(jié)0x06寄存器地址2個字節(jié)0x0000至
0xFFFF寄存器值2個字節(jié)0x0000至
0xFFFFGB/T
××××—××××21響應(yīng)功能碼1個字節(jié)0x06寄存器地址2個字節(jié)0x0000至
0xFFFF寄存器值2個字節(jié)0x0000至
0xFFFF錯誤差錯碼1個字節(jié)0x86異常碼1個字節(jié)01
或
02
或
03或
04這是一個請求將十六進(jìn)制
00
03
寫入寄存器
2
的實例:請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能06功能06寄存器地址
Hi00輸出地址
Hi00寄存器地址
Lo輸出地址
Lo0101寄存器值
Hi輸出值
Hi0000寄存器值
Lo輸出值
Lo030322YESYESYESMB
服務(wù)器接收mb_req_pdu支持的功能碼NO0x0000≤寄存器值≤0xFFFFMB
服務(wù)器發(fā)送
mb_rsp退出GB/T
××××—××××進(jìn)入異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONO寄存器地址==OKNO寫單個寄存器==OKYES請求處理圖
15:寫單個寄存器狀態(tài)圖6.7 15
(0x0F)
寫多個線圈在一個遠(yuǎn)程設(shè)備中,使用該功能碼強(qiáng)制線圈序列中的每個線圈為
ON
或OFF。請求
PDU
說明了強(qiáng)制的線圈參考。從零開始尋址線圈。因此,尋址線圈
1
為
0。請求數(shù)據(jù)域的內(nèi)容說明了被請求的
ON/OFF
狀態(tài)。域比特位置中的邏輯“1”請求相應(yīng)輸出為ON。域比特位置中的邏輯“0”請求相應(yīng)輸出為
OFF。正常響應(yīng)返回功能碼、起始地址和強(qiáng)制的線圈數(shù)量。GB/T
××××—××××23請求
PDU功能碼1個字節(jié)0x0F起始地址2個字節(jié)0x0000至
0xFFFF輸出數(shù)量2個字節(jié)0x0001至
0x07B0字節(jié)數(shù)1個字節(jié)N*輸出值N*×1
個字節(jié)*N=輸出數(shù)量/8,如果余數(shù)不等于
0,那么N
=
N+1響應(yīng)
PDU功能碼1個字節(jié)0x0F起始地址2個字節(jié)0x0000至
0xFFFF輸出數(shù)量2個字節(jié)0x0001至
0x07B0錯誤差錯碼1個字節(jié)0x8F異常碼1個字節(jié)01
或
02
或
03或
04這是一個請求從線圈
20開始寫入
10
個線圈的實例:請求的數(shù)據(jù)內(nèi)容為兩個字節(jié):十六進(jìn)制
CD
01
(二進(jìn)制
1100
1101
0000
0001)。使用下列方法,二進(jìn)制比特對應(yīng)輸出。比特:1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1輸出:27 26 25 24 23 22 21 20 – – – – – – 29 28傳輸?shù)牡谝蛔止?jié)(十六進(jìn)制
CD)尋址為輸出
27-20,在這種設(shè)置中,最低有效比特尋址為最低輸出(20)。傳輸?shù)南乱蛔止?jié)(十六進(jìn)制
01)尋址為輸出
29-28,在這種設(shè)置中,最低有效比特尋址為最低輸出(28)。應(yīng)該用零填充最后數(shù)據(jù)字節(jié)中的未使用比特。請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能0F功能0F起始地址
Hi00起始地址
Hi00起始地址
Lo起始地址
Lo1313輸出數(shù)量
Hi輸出數(shù)量
Hi0000輸出數(shù)量
Lo輸出數(shù)量
Lo0A0A字節(jié)數(shù)02輸出值
HiCD輸出值
Lo01GB/T
××××—××××24NOYESYESMB
服務(wù)器接收mb_req_pdu支持的功能碼MB
服務(wù)器發(fā)送
mb_rsp退出異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONONO寫多個輸出==OKYES0x0001≤輸出數(shù)量≤0x07B0和字節(jié)數(shù)=N*YES進(jìn)入起始地址==OK和起始地址+輸出數(shù)量=OK*N=輸出數(shù)量/8,如果余數(shù)不等于
0,那么
N=N+1請求處理圖
16:寫多個輸出的狀態(tài)圖6.8 16
(0x10)
寫多個寄存器在一個遠(yuǎn)程設(shè)備中,使用該功能碼寫連續(xù)寄存器塊(1
至約
120
個寄存器)。在請求數(shù)據(jù)域中說明了請求寫入的值。每個寄存器將數(shù)據(jù)分成兩字節(jié)。正常響應(yīng)返回功能碼、起始地址和被寫入寄存器的數(shù)量。GB/T
××××—××××25請求
PDU功能碼1個字節(jié)0x10起始地址2個字節(jié)0x0000至
0xFFFF寄存器數(shù)量2個字節(jié)0x0001至
0x0078字節(jié)數(shù)1個字節(jié)2×N*寄存器值N*×2
個字節(jié)值*N=寄存器數(shù)量響應(yīng)
PDU功能碼1個字節(jié)0x10起始地址2個字節(jié)0x0000至
0xFFFF寄存器數(shù)量2個字節(jié)1至
123(0x7B)錯誤差錯碼1個字節(jié)0x90異常碼1個字節(jié)01
或
02
或
03或
04這是一個請求將十六進(jìn)制
00
0A
和
01
02
寫入以
2
開始的兩個寄存器的實例:請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能10功能10起始地址
Hi00起始地址
Hi00起始地址
Lo起始地址
Lo0101寄存器數(shù)量
Hi寄存器數(shù)量
Hi0000寄存器數(shù)量
Lo寄存器數(shù)量
Lo0202字節(jié)數(shù)04寄存器值
Hi00寄存器值
Lo寄存器值
Hi0A寄存器值
Lo0102GB/T
××××—××××NOYESYESYESMB
服務(wù)器接收mb_req_pdu支持的功能碼MB
服務(wù)器發(fā)送
mb_rsp退出異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONONO寫多個寄存器==OKYES0x0001≤寄存器數(shù)量≤0x007B和字節(jié)數(shù)=寄存器數(shù)
x2進(jìn)入初始地址==OK和初始地址+寄存器數(shù)量=OK請求處理圖
17:寫多個寄存器狀態(tài)圖6.9 20
(0x14)
讀文件記錄使用該功能碼進(jìn)行文件記錄讀取。根據(jù)字節(jié)數(shù)量提供所有請求數(shù)據(jù)長度,并且根據(jù)寄存器提供所有記錄長度。文件是記錄的結(jié)構(gòu)。每個文件包括
10000
個記錄,尋址這些記錄為十進(jìn)制
0000
至
9999
或十六進(jìn)制
0X0000
至
0X270F,例如尋址記錄
12
為
12。該功能可以讀取多個參考組。這些組可以是分散的(不連續(xù)的),但每組中的參考必須是連續(xù)的。用含有
7
個字節(jié)的獨立“子請求”域定義每個組:參考類型:1
個字節(jié)(必須規(guī)定為
6)文件號:2
個字節(jié)2627GB/T
××××—××××文件中的起始記錄號:2
個字節(jié)被讀出的記錄長度:2
個字節(jié)被讀取的寄存器數(shù)量不能超過
MODBUS
報文允許的長度:256
個字節(jié),這個寄存器數(shù)量與預(yù)期響應(yīng)中的所有其它域組合。正常響應(yīng)是一系列“子響應(yīng)”,與“子請求”一一對應(yīng)。字節(jié)數(shù)域是所有“子響應(yīng)”中的全部組合字節(jié)數(shù)。另外,每個“子響應(yīng)”都包括一個表示自身字節(jié)數(shù)的域。請求
PDU功能碼1個字節(jié)0x14字節(jié)數(shù)1個字節(jié)0x07
至
0xF5字節(jié)子請求
x,參考類型1個字節(jié)06子請求
x,文件號2個字節(jié)0x0000至
0xFFFF子請求
x,記錄號2個字節(jié)0x0000至
0x270F子請求
x,記錄長度2個字節(jié)N子請求
x+1,…響應(yīng)
PDU功能碼1個字節(jié)0x14響應(yīng)數(shù)據(jù)長度1個字節(jié)0x07至
0xF5子請求
x,文件響應(yīng)長度1個字節(jié)0x07至
0xF5子請求
x,參考類型1個字節(jié)6子請求
x,記錄數(shù)據(jù)N×2
個字節(jié)子請求
x+1,…錯誤差錯碼1個字節(jié)0x94異常碼1個字節(jié)01或
02或
03
或
04
或
08這是一個請求從遠(yuǎn)程設(shè)備讀取兩個參考組的實例:組
1
包括文件
4
中的
2
個寄存器,以寄存器
1
開始(地址
0001)。組
2
包括文件
3
中的
2
個寄存器,以寄存器
9
開始(地址
0009)。請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能14功能14字節(jié)數(shù)0C響應(yīng)數(shù)據(jù)長度0E子請求
1,參考類型06子請求
1,文件響應(yīng)長度05子請求
1,文件號
Hi00子請求
1,參考類型06子請求
1,文件號
Lo04子請求
1,紀(jì)錄數(shù)據(jù)
Hi0D子請求
1,記錄號
Hi00子請求
1,紀(jì)錄數(shù)據(jù)
LoFE子請求
1,紀(jì)錄號
Lo01子請求
1,紀(jì)錄數(shù)據(jù)
Hi00子請求
1,記錄長度
Hi00子請求
1,紀(jì)錄數(shù)據(jù)
Lo20子請求
1,紀(jì)錄長度
Lo02子請求
2,文件響應(yīng)長度05子請求
2,參考類型06子請求
2,參考類型06GB/T
××××—××××子請求
2,文件號
Hi00子請求
2,紀(jì)錄數(shù)據(jù)
Hi33子請求
2,文件號
Lo03子請求
2,紀(jì)錄數(shù)據(jù)
LoCD子請求
2,記錄號
Hi00子請求
2,紀(jì)錄數(shù)據(jù)
Hi00子請求
2,紀(jì)錄號
Lo09子請求
2,紀(jì)錄數(shù)據(jù)
Lo40子請求
2,記錄長度
Hi00子請求
2,紀(jì)錄長度
Lo02
NO
YESYES
對每個子請求MB
服務(wù)器接收mb_req_pdu支持的功能碼MB
服務(wù)器發(fā)送
mb_rsp退出異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONONO讀通用參考==OK進(jìn)入YES0x07≤字節(jié)數(shù)≤0xF5YES參考類型==OK和文件號=OK和起始地址=OK和起始地址+寄存器數(shù)=OK請求處理圖
18:讀文件記錄狀態(tài)圖6.9.1 21
(0x15)
寫文件記錄使用該功能碼進(jìn)行文件記錄寫入。根據(jù)字節(jié)數(shù)量提供所有請求數(shù)據(jù)長度,并且根據(jù)
16
比特字的2829GB/T
××××—××××數(shù)量提供所有記錄長度。文件是記錄的結(jié)構(gòu)。每個文件包括
10000
個記錄,尋址這些記錄為十進(jìn)制
0000
至
9999
或十六進(jìn)制
0X0000
至
0X270F,例如尋址記錄
12
為
12。該功能可以寫多個參考組。這些組可以是分散的,即不連續(xù)的,但每組內(nèi)的參考必須是連續(xù)的。用含有
7
個字節(jié)和數(shù)據(jù)的獨立“子請求”域定義每個組:參考類型:1
個字節(jié)(必須規(guī)定為
6)文件號:2
個字節(jié)文件中的起始記錄號:2
個字節(jié)被寫入的記錄長度:2
個字節(jié)被寫入的數(shù)據(jù):每個寄存器為
2
字節(jié)。被寫入的寄存器數(shù)量不能超過
MODBUS
報文允許的長度:256
個字節(jié),這個寄存器數(shù)量與詢問中的所有其它域組合。正常響應(yīng)是請求的應(yīng)答。請求
PDU功能碼1個字節(jié)0x14請求數(shù)據(jù)長度1個字節(jié)0x07至
0xF5子請求
x,參考類型1個字節(jié)06子請求
x,文件號2個字節(jié)0x0000至
0xFFFF子請求
x,記錄號2個字節(jié)0x0000至
0x270F子請求
x,記錄長度2字節(jié)N子請求
x,記錄數(shù)據(jù)N×2個字節(jié)子請求
x+1,…響應(yīng)
PDU功能碼1個字節(jié)0x15響應(yīng)數(shù)據(jù)長度1個字節(jié)子請求
x,參考類型1個字節(jié)06子請求
x,文件號2個字節(jié)0x0000至
0xFFFF子請求
x,記錄號2個字節(jié)0x0000至
0xFFFF子請求
x,記錄長度2個字節(jié)0x0000至
0xFFFFN子請求
x,記錄數(shù)據(jù)N×2
個字節(jié)子請求
x+1,…錯誤差錯碼1個字節(jié)0x95異常碼1個字節(jié)01或
02或
03
或
04
或
08這是一個請求將一個參考組寫入遠(yuǎn)程設(shè)備的實例:30GB/T
××××—××××組包括文件
4
中的
3
個寄存器,以寄存器
7
開始(地址
0007)。請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能15功能15請求數(shù)據(jù)長度0D請求數(shù)據(jù)長度0D子請求
1,參考類型06子請求
1,參考類型06子請求
1,文件號
Hi00子請求
1,文件號
Hi00子請求
1,文件號
Lo04子請求
1,文件號
Lo04子請求
1,記錄號
Hi00子請求
1,記錄號
Hi00子請求
1,紀(jì)錄號
Lo07子請求
1,紀(jì)錄號
Lo07子請求
1,記錄長度
Hi00子請求
1,記錄長度
Hi00子請求
1,紀(jì)錄長度
Lo03子請求
1,紀(jì)錄長度
Lo03子請求
1,記錄數(shù)據(jù)
Hi06子請求
1,記錄數(shù)據(jù)
Hi06子請求
1,記錄數(shù)據(jù)
LoAF子請求
1,記錄數(shù)據(jù)
LoAF子請求
1,記錄數(shù)據(jù)
Hi04子請求
1,記錄數(shù)據(jù)
Hi04子請求
1,記錄數(shù)據(jù)
LoBE子請求
1,記錄數(shù)據(jù)
LoBE子請求
1,記錄數(shù)據(jù)
Hi10子請求
1,記錄數(shù)據(jù)
Hi10子請求
1,寄存器數(shù)據(jù)
Lo0D子請求
1,寄存器數(shù)據(jù)
Lo0DGB/T
××××—××××
NO
YESYES
對每個子請求MB
服務(wù)器得到mb_req_pdu支持的功能碼MB
服務(wù)器發(fā)送
mb_rsp退出異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONONO寫入通用參考==OK進(jìn)入YES0x07≤字節(jié)數(shù)≤0xF5YES參考類型==OK和文件號=OK和起始地址=OK和起始地址+寄存器數(shù)=OK請求處理圖
19:寫文件記錄狀態(tài)圖6.10
22(0x16)
屏蔽寫寄存器該功能碼用于通過利用
AND屏蔽、OR
屏蔽以及寄存器內(nèi)容的組合來修改特定保持寄存器的內(nèi)容。使用這個功能設(shè)置或清除寄存器中的單個比特。請求說明了被寫入的保持寄存器、AND
屏蔽使用的數(shù)據(jù)以及
OR屏蔽使用的數(shù)據(jù)。從
0
開始尋址寄存器。因此,尋址寄存器
1-16
為
0-15。功能的算法為:結(jié)果=(當(dāng)前內(nèi)容
AND
And_Mask)OR(Or_Mask
AND
And_Mask)例如:31GB/T
××××—××××32十六進(jìn)制二進(jìn)制當(dāng)前內(nèi)容
=120001
0010And_Mask
=F21111
0010Or_Mask
=250010
0101And_Mask
=0D0000
1101結(jié)果=170001
0111注:如果
Or_Mask
值為零,那么結(jié)果是當(dāng)前內(nèi)容和
And_Mask
的簡單邏輯
AND(與)。如果
And_Mask
值為零,結(jié)果等于
Or_Mask
值??梢允褂米x保持寄存器功能(功能碼
03)讀出寄存器的內(nèi)容。于是,當(dāng)控制器掃描它的用戶邏輯程序時,隨后可以改變寄存器的內(nèi)容。正常的響應(yīng)是請求的應(yīng)答。在已經(jīng)寫入寄存器之后,返回響應(yīng)。請求
PDU功能碼1個字節(jié)0x16參考地址2個字節(jié)0x0000至
0xFFFFAnd_Mask2個字節(jié)0x0000至
0xFFFFOr_Mask2個字節(jié)0x0000至
0xFFFF響應(yīng)
PDU功能碼1個字節(jié)0x16參考地址2個字節(jié)0x0000至
0xFFFFAnd_Mask2個字節(jié)0x0000至
0xFFFFOr_Mask2個字節(jié)0x0000至
0xFFFF錯誤差錯碼1個字節(jié)0x96異常碼1個字節(jié)01
或
02
或
03或
04這是一個利用上述屏蔽值在遠(yuǎn)程設(shè)備中對寄存器
5
的屏蔽寫入實例。請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能16功能16參考地址
Hi00參考地址
Hi00參考地址
Lo04參考地址04And_MaskHi00And_MaskHi00And_MaskF2And_MaskF2Or_Mask
Hi00Or_Mask
Hi00Or_Mask25Or_Mask25GB/T
××××—××××33NOYESYESYESMB
服務(wù)器得到mb_req_pdu支持的功能碼MB
服務(wù)器發(fā)送
mb_rsp退出異常碼=01異常碼=03異常碼=02異常碼=04MB
服務(wù)器發(fā)送
mb_exception_rspNONONO屏蔽寫寄存器==OKYES參考地址==OK進(jìn)入And_Mask==OK和Or_Mask=OK請求處理圖
20:屏蔽寫保持寄存器狀態(tài)圖6.11
23
(0x17)
讀/寫多個寄存器在一個單獨
MODBUS
事務(wù)中,這個功能碼實現(xiàn)了一個讀操作和一個寫操作的組合。從零開始尋址保持寄存器。因此,尋址保持寄存器
1-16
為
0-15。請求說明了起始地址、被讀取的保持寄存器號和起始地址、保持寄存器號以及被寫入的數(shù)據(jù)。在寫數(shù)據(jù)域中,字節(jié)數(shù)說明隨后的字節(jié)號。正常響應(yīng)包括被讀出的寄存器組的數(shù)據(jù)。在讀數(shù)據(jù)域中,字節(jié)數(shù)域說明隨后的字節(jié)數(shù)量。請求
PDU功能碼1個字節(jié)0x17讀起始地址2個字節(jié)0x0000至
0xFFFFGB/T
××××—××××34讀的數(shù)量2個字節(jié)0x0001
至近似
0x0076寫起始地址2個字節(jié)0x0000至
0xFFFF寫的數(shù)量2個字節(jié)0x0001
至近似
0x0076寫字節(jié)數(shù)1個字節(jié)2×N*寫寄存器值N*×2
個字節(jié)*N=寫的數(shù)量響應(yīng)PDU功能碼1個字節(jié)0x17字節(jié)數(shù)1個字節(jié)2×N*讀寄存器值N*×2
個字節(jié)*N=讀的數(shù)量錯誤差錯碼1個字節(jié)0x97異常碼1個字節(jié)01
或
02
或
03
或
04這是一個請求從寄存器
4開始讀六個寄存器并且從寄存器
15
開始讀三個寄存器的實例:請求響應(yīng)域名(十六進(jìn)制)域名(十六進(jìn)制)功能17功能17讀起始地址
Hi00字節(jié)數(shù)0C讀起始地址
Lo03讀寄存器值
Hi00讀的數(shù)量
Hi00讀寄存器值
LoFE讀的數(shù)量
Lo06讀寄存器值
Hi0A寫起始地址
Hi00讀寄存器值
LoCD寫起始地址
Lo0E讀寄存器值
Hi00寫的數(shù)量
Hi00讀寄存器值
Lo01寫的數(shù)量
Lo03讀寄存器值
Hi00寫字節(jié)數(shù)06讀寄存器值
Lo03寫寄存器值
Hi00讀寄存器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年銅/鋁箔膠粘帶項目可行性研究報告
- 2025至2030年中國防爆快速瞬時啟動鎮(zhèn)流器數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國藏銀戒指數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國燃?xì)獬瑝呵袛嚅y數(shù)據(jù)監(jiān)測研究報告
- 2025年化纖印花領(lǐng)帶項目可行性研究報告
- 2025年S波淋水板項目可行性研究報告
- 2025至2030年高強(qiáng)度耐磨硬化地坪涂料項目投資價值分析報告
- 2025至2030年中國拼裝電視墻數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年起重機(jī)械設(shè)備項目投資價值分析報告
- 2025年折疊儲物盒項目可行性研究報告
- 運動康復(fù)機(jī)構(gòu)跌倒風(fēng)險管理措施
- 開學(xué)安全第一課主題班會課件
- 殘疾人的就業(yè)創(chuàng)業(yè)與自我發(fā)展
- 全套課件-建筑工程質(zhì)量與安全管理
- 醫(yī)院感染的中心靜脈導(dǎo)管相關(guān)血流感染預(yù)防
- 新版《醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范》(2024)培訓(xùn)試題及答案
- 2025年人教版數(shù)學(xué)五年級下冊教學(xué)計劃(含進(jìn)度表)
- DBJ33T 1286-2022 住宅工程質(zhì)量常見問題控制標(biāo)準(zhǔn)
- 海岸動力學(xué)英文課件Coastal Hydrodynamics-復(fù)習(xí)
- 北師大版七年級上冊數(shù)學(xué)期末考試試題及答案
- 《工業(yè)廢水臭氧催化氧化深度處理技術(shù)規(guī)程》(T-SDEPI 030-2022)
評論
0/150
提交評論