国产高清乱理伦片中文小说,亚洲欧洲无码专区av,久久久99精品成人片中文字幕,曰本无码人妻丰满熟妇5g影院

首頁 >常見問題 >測控組網(wǎng)系統(tǒng)
北京捷麥MODBUS-RTU協(xié)議說明(下)

1前言

1.1 幾種協(xié)議簡介

MODBUS_RTU協(xié)議:是指國際上通用的 MODBUS_RTU議。以后簡稱MODBUS協(xié)議。詳見《MODBUS協(xié)議中文版》官方文檔。

JM_MOD協(xié)議:是指完全在遵循MODBUS_RTU 協(xié)議的規(guī)則下,為了適應(yīng)某些捷麥公司的設(shè)備和應(yīng)用場景對MODBUS_RTU協(xié)議做了更細(xì)致定義的協(xié)議。 支持JM_MOD協(xié)議的設(shè)備或軟件接口可與任何標(biāo)準(zhǔn)MODBUS主機(jī)或設(shè)備直接通信。

JM_BUS協(xié)議:是指基于JM_MOD協(xié)議,為了 適應(yīng)遠(yuǎn)程測控一個(gè)站點(diǎn)的各種數(shù)據(jù)一次采集的特性做了相應(yīng)改動(dòng)的協(xié)議。此協(xié)議不遵循MODBUS_RTU, 不能與標(biāo)準(zhǔn)MODBUS主機(jī)或設(shè)備直接通信。詳見《JMBUS協(xié)議說明》。

1.2 適用范圍

本協(xié)議適用于JM公司所有標(biāo)明“支持MODBUS協(xié)議”的硬件設(shè) 備和應(yīng)用軟件。例如T40S無線PLC、KZ04擴(kuò)展模塊、遠(yuǎn)程通PC組態(tài)和遠(yuǎn)程通手機(jī)組態(tài)等。

2總體描述

2.1 協(xié)議描述

JM_MOD的數(shù)據(jù)通信指令為標(biāo)準(zhǔn)的MODBUS_RTU協(xié)議,以下為 MODBUS的基本協(xié)議規(guī)范。

mod1.png

圖1. 通用的MODBUS幀

mod2.png

圖2:MODBUS事務(wù)處理(無差錯(cuò))

mod3.png

圖3:MODBUS事務(wù)處理(異常響應(yīng))

下文中,講接收數(shù)據(jù)并處理響應(yīng)的“服務(wù)器”稱之 為“MODBUS從機(jī)”。

2.2 數(shù)據(jù)編碼

JM_MOD 使用一個(gè)‘big-Endian’ 表示地址和數(shù)據(jù)項(xiàng)。這意 味著當(dāng)發(fā)射多個(gè)字節(jié)時(shí),首先發(fā)送最高有效位。例如:

寄存器大小


16-比特

0x1234

發(fā)送的第一字節(jié)為0x12然后0x34


同樣的道理,如果傳送實(shí)數(shù)數(shù)據(jù)時(shí),首先發(fā)送最高有效位, 最后發(fā)送最低位(組態(tài)軟件中的HV1 HV2 HV3 HV4)。

特例:起始地址為330001和430001的浮點(diǎn)型數(shù)據(jù)內(nèi)容是小端模式,組態(tài)軟件中的HV4 HV3 HV2 HV1。

 

2.3 數(shù)據(jù)模型

JM_MOD以一系列具有不同特征的數(shù)據(jù)模型為基礎(chǔ)。幾個(gè)基本數(shù)據(jù)模型為:

基本類型

對象類型

屬性

內(nèi)容

常用符號

離散量輸入

單個(gè)bit

只讀

I/O 系統(tǒng)提供數(shù)據(jù)

DI、I*.*

線圈

單個(gè)bit

讀寫

通過應(yīng)用程序改變數(shù)據(jù)

DO、Q*.*

整數(shù)輸入存儲區(qū)

16bit

只讀

I/O 系統(tǒng)提供數(shù)據(jù)

--

字節(jié)輸入存儲區(qū)

8bit

只讀

I/O 系統(tǒng)提供數(shù)據(jù)

--

實(shí)數(shù)輸入存儲區(qū)

32bit

只讀

I/O 系統(tǒng)提供數(shù)據(jù)

AI

整數(shù)保持存儲區(qū)

16bit

讀寫

通過應(yīng)用程序改變數(shù)據(jù)

--

字節(jié)保持存儲區(qū)

8bit

讀寫

通過應(yīng)用程序改變數(shù)據(jù)

V

實(shí)數(shù)保持存儲區(qū)

32bit

讀寫

通過應(yīng)用程序改變數(shù)據(jù)

AQ

由于MODBUS協(xié)議中沒有所有的字節(jié)和實(shí)數(shù)的定義,而只有一個(gè)籠統(tǒng)的“04輸入寄存器和03/06/10保持寄存器”的說法。在JM_MOD協(xié)議中需要在借用MODBUS協(xié)議中的偏移地址的最高位的值和命令碼來區(qū)分設(shè)備中的不同存儲區(qū),詳見下一章節(jié)。



3功能碼及偏移地址定義

定義匯總,字節(jié)和實(shí)數(shù)部分本文說明,離散和整數(shù)部分在“上篇”中說明。

存儲區(qū)名稱

意義

功能碼

地址(標(biāo)準(zhǔn)表示)

數(shù)據(jù)類型

傳輸形式

離散輸入

讀離散輸入

02

0 (10001)

bit

bit

離散輸出

讀離散輸出

01

0 (00001)

bit

bit

寫單個(gè)離散輸出

05

0 (00001)

bit

bit

寫多個(gè)離散輸出

0x0F

0 (00001)

bit

bit

字節(jié)輸入

讀字節(jié)輸入

04

10000 (310001)

16bit

16bit

字節(jié)輸出

讀字節(jié)輸出

03

10000 (410001)

16bit

16bit

寫單個(gè)字節(jié)輸出

06

10000 (410001)

16bit

16bit

寫多個(gè)字節(jié)輸出

0x10

10000 (410001)

16bit

16bit

整數(shù)輸入

讀整數(shù)輸入

04

0 (30001)

8bit

16bit

整數(shù)輸出

讀整數(shù)輸出

03

0 (30001)

8bit

16bit

寫單個(gè)整數(shù)輸出

06

0 (30001)

8bit

16bit

寫多個(gè)整數(shù)輸出

0x10

0 (30001)

8bit

16bit

實(shí)數(shù)輸入

讀實(shí)數(shù)輸入

04

30000 (330001)

32bit

16bit

實(shí)數(shù)輸出

讀實(shí)數(shù)輸出

03

30000 (430001)

32bit

16bit

寫單個(gè)實(shí)數(shù)輸出

06

30000 (430001)

32bit

16bit

寫多個(gè)實(shí)數(shù)輸出

0x10

30000 (430001)

32bit

16bit

3.3 字節(jié)存儲區(qū)

3.3.1讀字節(jié)輸入存儲區(qū)(0x04 -10000)

這個(gè)功能代碼是用來讀MODBUS從機(jī)相鄰的字節(jié)(8bit)輸入 存儲區(qū)單元。請求協(xié)議數(shù)據(jù)單元詳細(xì)說明了寄存器的起始地址和讀出數(shù)量。每個(gè)存儲區(qū)單元占1個(gè)字 節(jié)。正常的響應(yīng)會返回功能代碼,讀出的寄存器的數(shù)量及內(nèi)容。

字節(jié)輸入存儲區(qū)的開始偏移地址:10000 (1388H)

請求協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

04H

起始地址

2字節(jié)

2710H7530H

*寄存器個(gè)數(shù)

(字節(jié)存儲區(qū)2倍)

2字節(jié)

0001H-007DH

*寄存器個(gè)數(shù):由于字節(jié)輸入存儲區(qū)單元占1個(gè)字節(jié),而標(biāo)準(zhǔn) MODBUS協(xié)議中讀輸入寄存器采用2個(gè)字節(jié),因此此處的寄存器個(gè)數(shù)是指是讀取了兩倍的字節(jié)寄存器數(shù) 量。例如在協(xié)議中寄存器個(gè)數(shù)為2,表示要讀取4個(gè)字節(jié)存儲區(qū)單元。

響應(yīng)協(xié)議數(shù)據(jù)單元

  功能代碼

1字節(jié)

04H

字節(jié)數(shù)  

1 個(gè)字節(jié)

*N

寄存器的內(nèi)容

*N 個(gè)字節(jié)


*N=輸入字節(jié)寄存器的數(shù)量

注意:由于每個(gè)字節(jié)存儲區(qū)單元占用一個(gè)字節(jié),而MODBUS讀輸入寄存器是兩個(gè)字節(jié),因此,每一個(gè) 偏移地址對應(yīng)著兩個(gè)字節(jié)存儲區(qū)單元,由于字節(jié)存儲區(qū)的開始偏移地址是從10000(2710H)開始的, 因此偏移地址10000就是字節(jié)存儲區(qū)的1和2,偏移地址N就是字節(jié)存儲區(qū)(N-10000)*2+1和字節(jié)存儲區(qū) (N-10000)*2+2。從這個(gè)定于可以看出,一次至少可讀取兩個(gè)字節(jié)存儲區(qū)單元。

下例是從字節(jié)輸入存儲區(qū)3開始讀4個(gè)存儲區(qū)單元,讀取的內(nèi) 容為00 0A和01 02。

請求     

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

04

功能

04

起始地址高位

27

字節(jié)數(shù)

04

起始地址低位

11

單元3

00

寄存器個(gè)數(shù)高位

00

單元4

0A

寄存器個(gè)數(shù)低位

02

單元5

01



單元6

02

 

3.3.2讀多個(gè)字節(jié)輸出存取區(qū)(0x03 -10000)

這個(gè)功能代碼是用來讀MODBUS從機(jī)相鄰的字節(jié)(8bit)輸出 存儲區(qū)單元。請求協(xié)議數(shù)據(jù)單元詳細(xì)說明了寄存器的起始地址和讀出數(shù)量。每個(gè)存儲區(qū)單元占1個(gè)字 節(jié)。正常的響應(yīng)會返回功能代碼,讀出的寄存器的數(shù)量及內(nèi)容。

字節(jié)輸出存儲區(qū)的開始偏移地址:10000 (2710H)

請求協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

03H

起始地址

2字節(jié)

2710H7530H

*寄存器個(gè)數(shù)

(字節(jié)存儲區(qū)2倍)

2字節(jié)

0001H-007DH

*寄存器個(gè)數(shù):由于字節(jié)輸出存儲區(qū)單元占1個(gè)字節(jié),而標(biāo)準(zhǔn) MODBUS協(xié)議中讀輸出寄存器采用2個(gè)字節(jié),因此此處的寄存器個(gè)數(shù)是指是讀取了兩倍的字節(jié)寄存器數(shù) 量。例如在協(xié)議中寄存器個(gè)數(shù)為2,表示要讀取4個(gè)字節(jié)存儲區(qū)單元。

響應(yīng)協(xié)議數(shù)據(jù)單元

  功能代碼

1字節(jié)

03H

字節(jié)數(shù)  

1 個(gè)字節(jié)

*N

寄存器的內(nèi)容

*N 個(gè)字節(jié)


*N=輸出字節(jié)寄存器的數(shù)量

注意:由于每個(gè)字節(jié)存儲區(qū)單元占用一個(gè)字節(jié),而MODBUS讀輸出寄存器是兩個(gè)字節(jié),因此,每一個(gè) 偏移地址對應(yīng)著兩個(gè)字節(jié)存儲區(qū)單元,由于字節(jié)存儲區(qū)的開始偏移地址是從10000(2710H)開始的, 因此偏移地址10000就是字節(jié)存儲區(qū)的1和2,偏移地址N就是字節(jié)存儲區(qū)(N-10000)*2+1和字節(jié)存儲區(qū) (N-10000)*2+2。從這個(gè)定義可以看出,一次至少可讀取兩個(gè)字節(jié)存儲區(qū)單元。

下例是從字節(jié)輸出存儲區(qū)3開始讀4個(gè)存儲區(qū)單元,讀取的內(nèi) 容為00 0A和01 02。

請求     

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

03

功能

03

起始地址高位

27

字節(jié)數(shù)

04

起始地址低位

11

單元3

00

寄存器個(gè)數(shù)高位

00

單元4

0A

寄存器個(gè)數(shù)低位

02

單元5

01



單元6

02

3.3.3寫兩個(gè)字節(jié)輸出寄存器(0x06 -10000)

這個(gè)功能代碼是用來寫MODBUS從機(jī)兩個(gè)字節(jié)(8bit)輸出存 儲區(qū)單元。請求協(xié)議數(shù)據(jù)單元詳細(xì)說明了寄存器的起始地址、數(shù)值。每個(gè)存儲區(qū)單元占1個(gè)字節(jié)。正 常的響應(yīng)會返回功能代碼、起始地址和寄存器數(shù)值。

*兩個(gè)字節(jié)輸出存儲單元:由于字節(jié)輸出存儲區(qū)單元占1個(gè)字 節(jié),而標(biāo)準(zhǔn)MODBUS協(xié)議中寫輸出寄存器采用2個(gè)字節(jié)。所以對于MOD-BUS06指令為寫單個(gè)寄存器,到這 里就成了寫兩個(gè)字節(jié)輸出寄存器。

字節(jié)輸出存儲區(qū)的開始偏移地址:10000(2710H)

請求協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

06H

起始地址

2字節(jié)

2710H7530H

 數(shù)據(jù)

2字節(jié)

0-FFFFH

響應(yīng)協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

06H

起始地址

2字節(jié)

2710H7530H

 數(shù)據(jù)

2字節(jié)

0-FFFFH

注意:由于每個(gè)整數(shù)存儲區(qū)單元占用兩個(gè)字節(jié),而MODBUS讀輸出寄存器也是兩個(gè)字節(jié),因此,每一 個(gè)偏移地址正好一一對應(yīng)著每個(gè)整數(shù)存儲區(qū)單元,由于整數(shù)存儲區(qū)的開始偏移地址是從0000H開始的 ,因此偏移地址00就是整數(shù)存儲區(qū)單元1,偏移地址N就是整數(shù)存儲區(qū)單元N+1。

下面這個(gè)例子是寫從字節(jié)輸出寄存器3開始的內(nèi)容為00、 03 :

 

請求     

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

06

功能

06

起始地址高位

27

起始地址高位

13

起始地址低位

11

起始地址低位

89

寄存器值高位

00

寄存器值高位

00

寄存器值低位

03

寄存器值低位

03

3.3.4寫多個(gè)字節(jié)輸出寄存器(0x10 -10000

這個(gè)功能代碼是用來寫MODBUS從機(jī)相鄰的字節(jié)(8bit)輸出 存儲區(qū)單元。請求協(xié)議數(shù)據(jù)單元詳細(xì)說明了寄存器的起始地址、數(shù)量和內(nèi)容。每個(gè)存儲區(qū)單元占1個(gè) 字節(jié)。正常的響應(yīng)會返回功能代碼和起始地址。

字節(jié)輸出存儲區(qū)的開始偏移地址:10000 (2710H)

請求協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

10H

起始地址

2字節(jié)

2710H7530H

寄存器個(gè)數(shù)

(字節(jié)存儲區(qū)2倍)

2字節(jié)

0001H-007DH

字節(jié)數(shù)

1字節(jié)

*N

 數(shù)據(jù)

*N

*N輸出字節(jié)寄存器的數(shù)量

響應(yīng)協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

10H

起始地址

2字節(jié)

2710H7530H

寄存器個(gè)數(shù)

2字節(jié)

0001H-007DH

注意:由于字節(jié)寄存器占用一個(gè)字節(jié),而MODBUS寫輸出寄存器是兩個(gè)字節(jié),因此,每一個(gè)偏移地址 對應(yīng)著兩個(gè)字節(jié)寄存器,由于整數(shù)存儲區(qū)的開始偏移地址區(qū)從10000(2710H)開始的,因此偏移地址 10000就是字節(jié)寄存器1和2,偏移地址N就是字節(jié)存儲區(qū)(N-10000)*2+1和字節(jié)存儲區(qū)(N-10000)*2+2。 從這個(gè)定于可以看出,寫字節(jié)輸出存儲區(qū)一次至少寫兩個(gè)。

下面這個(gè)例子是寫從字節(jié)輸出寄存器3開始的內(nèi)容為00、 0A 、01和 02到存儲區(qū)中:

請求     

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

10

功能

10

起始地址高位

27

起始地址高位

00

起始地址低位

11

起始地址低位

01

寄存器個(gè)數(shù)高位

00

寄存器個(gè)數(shù)高位

00

寄存器個(gè)數(shù)低位

02

寄存器個(gè)數(shù)低位

02

字節(jié)數(shù)

04



單元3

00



單元4

0A

單元5

01

單元6

02

3.4 實(shí)數(shù)存儲區(qū)

3.4.1讀多個(gè)實(shí)數(shù)輸入寄存器(0x04 -30000

這個(gè)功能代碼是用來讀MODBUS從機(jī)相鄰的實(shí)數(shù)(32bit)輸入 存儲區(qū)單元。請求協(xié)議數(shù)據(jù)單元詳細(xì)說明了寄存器的起始地址和讀出數(shù)量。每個(gè)寄存器為4個(gè)字節(jié)。 正常的響應(yīng)會返回功能代碼,讀出的寄存器的數(shù)量及內(nèi)容。

實(shí)數(shù)輸入存儲區(qū)的開始偏移地址:30000 (7530H)

請求協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

04H

起始地址

2字節(jié)

7530H9C40H

*寄存器個(gè)數(shù)

(實(shí)數(shù)存儲區(qū)單元個(gè)數(shù)1/2

*2字節(jié)

0001H-007DH

*寄存器個(gè)數(shù):由于每個(gè)實(shí)數(shù)輸入存儲區(qū)單元占4個(gè)字節(jié),而 標(biāo)準(zhǔn)MODBUS協(xié)議中讀輸入寄存器采用2個(gè)字節(jié),因此此處的每一個(gè)寄存器個(gè)數(shù)是指是讀取半個(gè)實(shí)數(shù)存 儲區(qū)單元的數(shù)量。例如在協(xié)議中寄存器個(gè)數(shù)為2,表示要讀取1個(gè)實(shí)數(shù)存儲區(qū)單元。

 

響應(yīng)協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

04H

字節(jié)數(shù)  

1 個(gè)字節(jié)

*N ×4

寄存器的內(nèi)容

*N×4 個(gè)字節(jié)


*N=輸入實(shí)數(shù)寄存器的數(shù)量

注意:由于每個(gè)實(shí)數(shù)儲存單元占用4個(gè)字節(jié),而MODBUS讀輸入寄存器是兩個(gè)字節(jié),因此,每兩個(gè)偏 移地址對應(yīng)著一個(gè)實(shí)數(shù)存儲區(qū)單元,由于實(shí)數(shù)存儲區(qū)的開始偏移地址從30000(7530H)開始的,因此 偏移地址30000和30001就是實(shí)數(shù)存儲區(qū)0,偏移地址N(N為偶數(shù))就是實(shí)數(shù)存儲區(qū)(N-30000)/2+1。從 這個(gè)定于可以看出,讀實(shí)數(shù)輸入存儲區(qū)必須是從偏移地址是偶數(shù)位置開始的(0,2,4,6…)。

下例是從實(shí)數(shù)輸入存儲區(qū)單元2開始讀1個(gè)單元,值內(nèi)容為 3.14(C3 F5 48 40) ( 40 48 F5 C3)

請求     

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

04

功能

04

起始地址高位

75

字節(jié)數(shù)

04

起始地址低位

34

單元2-1/4

C3

寄存器個(gè)數(shù)高位

00

單元2-2/4

F5

寄存器個(gè)數(shù)低位

02

單元2-3/4

48



單元2-4/4

40

3.4.2讀多個(gè)實(shí)數(shù)輸出寄存器(0x03 -30000)

這個(gè)功能代碼是用來讀MODBUS從機(jī)相鄰的實(shí)數(shù)(32bit)輸出 存儲區(qū)單元。請求協(xié)議數(shù)據(jù)單元詳細(xì)說明了寄存器的起始地址和讀出數(shù)量。每個(gè)寄存器為4個(gè)字節(jié)。 正常的響應(yīng)會返回功能代碼,讀出的寄存器的數(shù)量及內(nèi)容。

實(shí)數(shù)輸出存儲區(qū)的開始偏移地址:30000 (7530H)

請求協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

03H

起始地址

2字節(jié)

7530H9C40H

*寄存器個(gè)數(shù)

(實(shí)數(shù)存儲單元個(gè)數(shù)1/2)

*2字節(jié)

0001H-007DH

*寄存器個(gè)數(shù):由于每個(gè)實(shí)數(shù)輸出存儲區(qū)單元占4個(gè)字節(jié),而 標(biāo)準(zhǔn)MODBUS協(xié)議中讀輸出寄存器采用2個(gè)字節(jié),因此此處的每一個(gè)寄存器個(gè)數(shù)是指是讀取半個(gè)實(shí)數(shù)存 儲區(qū)單元的數(shù)量。例如在協(xié)議中寄存器個(gè)數(shù)為2,表示要讀取1個(gè)實(shí)數(shù)存儲區(qū)單元。

 

響應(yīng)協(xié)議數(shù)據(jù)單元

  功能代碼

1字節(jié)

03H

字節(jié)數(shù)  

1 個(gè)字節(jié)

*N ×4

寄存器的內(nèi)容

*NX4個(gè)字節(jié)


*N=輸出實(shí)數(shù)寄存器的數(shù)量

注意:由于每個(gè)實(shí)數(shù)儲存單元占用4個(gè)字節(jié),而MODBUS讀輸出寄存器是兩個(gè)字節(jié),因此,每兩個(gè)偏 移地址對應(yīng)著一個(gè)實(shí)數(shù)存儲區(qū)單元,由于實(shí)數(shù)存儲區(qū)的開始偏移地址從30000(7530H)開始的,因此 偏移地址30000和30001就是實(shí)數(shù)存儲區(qū)0,偏移地址N(N為偶數(shù))就是實(shí)數(shù)存儲區(qū)(N-30000)/2+1。從 這個(gè)定于可以看出,讀實(shí)數(shù)輸出存儲區(qū)必須是從偏移地址是偶數(shù)位置開始的(0,2,4,6…)。

下例是從實(shí)數(shù)輸出存儲區(qū)單元2開始讀1個(gè)單元,值內(nèi)容為 3.14(C3 F5 48 40)

請求

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

03

功能

03

起始地址高位

75

字節(jié)數(shù)

04

起始地址低位

34

單元2-1/4

C3

寄存器個(gè)數(shù)高位

00

單元2-2/4

F5

寄存器個(gè)數(shù)低位

02

單元2-3/4

48



單元2-4/4

40

3.4.3寫多個(gè)實(shí)數(shù)輸出寄存器(0x10 -30000)

這個(gè)功能代碼是用來寫MODBUS從機(jī)相鄰的實(shí)數(shù)(32bit)輸出 存儲區(qū)單元。請求協(xié)議數(shù)據(jù)單元詳細(xì)說明了寄存器的起始地址、數(shù)量和內(nèi)容。每個(gè)寄存器為4個(gè)字節(jié) 。正常的響應(yīng)會返回功能代碼和起始地址。

實(shí)數(shù)輸出存儲區(qū)的開始偏移地址:30000 (7530H)

請求協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

10H

起始地址

2字節(jié)

7530H9C40H

寄存器個(gè)數(shù)

(實(shí)數(shù)存儲單元個(gè)數(shù)1/2)

2字節(jié)

0001H-007DH

字節(jié)數(shù)

1字節(jié)

*N×4

 數(shù)據(jù)

*N

*寄存器個(gè)數(shù):由于每個(gè)實(shí)數(shù)輸出存儲區(qū)單元占4個(gè)字節(jié),而 標(biāo)準(zhǔn)MODBUS協(xié)議中寫輸出寄存器采用2個(gè)字節(jié),因此此處的每一個(gè)寄存器個(gè)數(shù)是指是寫半個(gè)實(shí)數(shù)存儲 區(qū)單元的數(shù)量。例如在協(xié)議中寄存器個(gè)數(shù)為2,表示要寫1個(gè)實(shí)數(shù)存儲區(qū)單元。

響應(yīng)協(xié)議數(shù)據(jù)單元

功能代碼

1字節(jié)

10H

起始地址

2字節(jié)

7530H9C40H

寄存器個(gè)數(shù)

2字節(jié)

0001H-007DH

注意:由于每個(gè)實(shí)數(shù)儲存單元占用4個(gè)字節(jié),而MODBUS寫輸出寄存器是兩個(gè)字節(jié),因此,每兩個(gè)偏 移地址對應(yīng)著一個(gè)實(shí)數(shù)存儲區(qū)單元,由于實(shí)數(shù)存儲區(qū)的開始偏移地址從30000(7530H)開始的,因此 偏移地址30000和30001就是實(shí)數(shù)存儲區(qū)0,偏移地址N(N為偶數(shù))就是實(shí)數(shù)存儲區(qū)(N-30000)/2+1。從 這個(gè)定于可以看出,讀實(shí)數(shù)輸出存儲區(qū)必須是從偏移地址是偶數(shù)位置開始的(0,2,4,6…)。

下例是寫內(nèi)容為3.14(C3 F5 48 40)到實(shí)數(shù)輸出存儲區(qū)單元 2開始的存儲區(qū)中:

請求

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

10

功能

10

起始地址高位

75

起始地址高位

75

起始地址低位

32

起始地址低位

32

寄存器個(gè)數(shù)高位

00

寄存器個(gè)數(shù)高位

00

寄存器個(gè)數(shù)低位

02

寄存器個(gè)數(shù)低位

02

字節(jié)數(shù)

04



數(shù)據(jù)值VOD2高字節(jié)

C3

數(shù)據(jù)值VOD2低字節(jié)

F5

數(shù)據(jù)值VOD3高字節(jié)

48

數(shù)據(jù)值VOD3低字節(jié)

40

點(diǎn)擊打開北京捷麥MODBUD-RTU協(xié)議說明(上)

?

  • 4G-PLC

  • 電臺PLC

  • wiFi-PLC

  • 網(wǎng)口PLC
  • 點(diǎn)擊這里給我發(fā)QQ消息

    獲取聯(lián)系方式
    客服微信二維碼
    掃一掃添加客服微信

    咨詢電話:010-63331036

    技術(shù)支持專線

    010-63331036

    聯(lián)系我們

    網(wǎng)站地圖 | 聯(lián)系我們



    工業(yè)和信息化部備案管理系統(tǒng)網(wǎng)站 京ICP備05015403號-3

    Copyright ?北京捷麥通信器材有限公司,Inc.All rights reserved.