成人午夜一级毛片_三个人同时做会撑坏_亚洲一区二区三区91_国产激情刺激色视频_老师上课跳D突然被开到最大视频

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

1通信協(xié)議范圍及規(guī)范

         此協(xié)議適用于無線測控系統(tǒng)中主站與分站之前的數(shù)據(jù)傳輸協(xié)議,如下圖所示的綠色部分的通信。


         協(xié)議規(guī)定

1.       當分站收到主站的數(shù)據(jù)請求時,必須要在1秒以內(nèi)作出響應(yīng)。

2.       該協(xié)議是通過包傳輸?shù)模谑且?/span>3.5T無數(shù)據(jù)為包結(jié)束條件,例如在串口波特率1200bp/s下,傳輸3.5個數(shù)據(jù)所需的時間大約為30ms(3.5T30ms),收到一個數(shù)據(jù)開始計時,如果收到這個數(shù)據(jù)后30ms內(nèi)沒有再收到下一個數(shù)據(jù),則認為此包結(jié)束,這個數(shù)據(jù)就是這個包的最后一個數(shù)據(jù),之前所收到的所有數(shù)據(jù)就是這包的內(nèi)容。

3.       協(xié)議采用CRC-16校驗(生產(chǎn)多項式x16+x15+ x2+1,簡記式為8005),校驗失敗后這包丟棄不做協(xié)議解析。

4.       超時重發(fā)機制由主站完成,分站無此機制。

5.       傳輸?shù)淖止?jié)序采用“little endian”方式,即我們通常所說的小端朝前(Intelx86系列CPU結(jié)構(gòu)),意味著發(fā)字節(jié)時首先發(fā)要發(fā)送一個整形數(shù)據(jù)(兩個字節(jié))內(nèi)容為0x1234,就先發(fā)的低字節(jié)0x34 然后再0x12,同理浮點型的四個數(shù)據(jù)也是如此發(fā)送。協(xié)議中所有的數(shù)據(jù)都是采用這種字節(jié)序。


 

2 協(xié)議整體組成

         每個通信的數(shù)據(jù)包都有捷麥標示頭、通信頭和請求或響應(yīng)內(nèi)容三部分組成,如下圖所示:

2.1 捷麥標示頭

捷麥標示頭有兩種協(xié)議頭,普通采集與響應(yīng)類型和分站主動上傳這兩種類型,無論哪種類型,捷麥標示頭固定為6個字節(jié)。具體內(nèi)容如下:

         普通采集與響應(yīng)的標示頭為:4F 3F 2F 1F 5F 6F

         分站主動上傳標示頭           4F 3F 2F 1F 5F 5F

 

2.2 通信頭

         通信頭的數(shù)據(jù)長度是固定的,一共是18格字節(jié),包含的內(nèi)容如下圖所示:

 

2.2.1 設(shè)備/應(yīng)用號

         標示此包數(shù)據(jù)是哪個設(shè)備或者應(yīng)用的,固定為兩個字節(jié)。

例如P5037設(shè)備的設(shè)備號為 10 01,站點測試應(yīng)用的應(yīng)用號為 00 05

2.2.2 包標示

         包標示從0開始,請求和響應(yīng)的包標示相同。新包在原有包標示的基礎(chǔ)上加1。重發(fā)時包標示不變(主站對包標示進行加1操作,分站響應(yīng)時,包標示不做任何處理)。占兩個字節(jié)

2.2.3包長度

包長的實際數(shù)值是請求或響應(yīng)的數(shù)據(jù)的字節(jié)數(shù)量,也就是上面協(xié)議整體組成示意圖中的藍色部分的字節(jié)數(shù)量,占兩個字節(jié)(字節(jié)序低字節(jié)在前)。

 

2.2.4包類型

類型碼

定義

方向

備注

00H

請求 

主站分站

對分站點的CPU模塊

80H

應(yīng)答

分站主站


02H

請求 

主站分站

對分站點的通信管理模塊的存儲器

82H

有存儲內(nèi)容應(yīng)答

分站主站

當無存儲內(nèi)容時包長為0,無綠色部分

84H

主動上傳

分站主站


04H

主動上傳的響應(yīng)

主站分站


05H

主動上傳的響應(yīng)并接下來有請求

主站分站


 

2.2.5 路徑

         路徑占三個字節(jié),表示這包數(shù)據(jù)的傳輸路徑,用于電臺在中繼時的協(xié)議支持。缺省值(不使用中繼)為 EF FF F0

24位(三個字節(jié))的路徑信息中前2個字節(jié)表示數(shù)據(jù)的路徑信息。每一級路徑用4位二進制表示。這4位表示在這一級上中轉(zhuǎn)站的編號。如果這個站是中轉(zhuǎn)站其編號范圍是0D。共可表達4級樹形路徑。第三個字節(jié)的后4位表示數(shù)據(jù)傳遞的當前路徑級數(shù)。用F表示對應(yīng)的字段無內(nèi)容。用E表示樹形結(jié)構(gòu)的終點。數(shù)據(jù)的結(jié)構(gòu)如下:

2.2.6 備用

         備用占兩個字節(jié),用于協(xié)議擴展,缺省值為0x00 0x00

2.2.7 目的地址與源地址

         目的地址表示數(shù)據(jù)包的目的。源地址表示數(shù)據(jù)的來源。每個請求數(shù)據(jù)中的請求對應(yīng)著響應(yīng)數(shù)據(jù)中的一個響應(yīng)。請求和響應(yīng)是成對出現(xiàn)的。

         在一個系統(tǒng)中,每一個分站和主站都有唯一的地址。

地址用兩個字節(jié)表示,字節(jié)序采用低字節(jié)在前,比如一個分站的地址為12,那么地址表示為:0C 00

2.8 通信頭CRC

         通信頭部分的CRC校驗,也就是灰色部分的數(shù)據(jù)CRC,不包含“捷麥標示頭”部分和“請求或響應(yīng)數(shù)據(jù)”部分。

 

2.3 請求與響應(yīng)內(nèi)容

         該協(xié)議一包可以獲取不同數(shù)據(jù)類型的數(shù)據(jù),獲取的這一小段稱為數(shù)據(jù)段,請求和響應(yīng)的協(xié)議格式如下圖所示:

 

         注意請求內(nèi)容或者響應(yīng)內(nèi)榮包中的“內(nèi)容”字段的長度依據(jù)功能碼等,可能有些功能碼沒有“內(nèi)容”字段。

請求(響應(yīng))總個數(shù):表示數(shù)據(jù)段的總個數(shù),段數(shù)的最大值為20,請求和響應(yīng)是一一對應(yīng)。

數(shù)據(jù)段:每一個數(shù)據(jù)段都是由序號、功能碼、地址偏移、寄存器數(shù)和內(nèi)容構(gòu)成。序號是從1依次增加的,功能碼等參加下文。

內(nèi)容校驗:內(nèi)容CRC是指對包內(nèi)容(請求或者響應(yīng)內(nèi)容)做CRC處理,不包含“捷麥標示頭”部分和“通信頭”部分。


 

功能碼定義匯總


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

名稱

功能碼意義

功能碼(HEX

->

數(shù)據(jù)訪問

1位訪問

物理離散輸入

讀離散輸入

02

42/82

物理繼電器

讀離散輸出

01

41/81

寫離散輸出

0F

4F/8F

8位訪問

單字節(jié)寄存器

讀字節(jié)輸入寄存器

33

73/B3

讀字節(jié)輸出寄存器

34

74/B4

寫字節(jié)輸出寄存器

35

75/B5

16位訪問

整形寄存器

讀整形輸入寄存器

04

44/84

讀整形輸出寄存器

03

43/83

寫整形輸出寄存器

10

50/90

32位訪問

實數(shù)寄存器

讀實數(shù)輸入寄存器

36

76/B6

讀實數(shù)輸出寄存器

37

77/B7

寫實數(shù)輸出寄存器

38

78/B8

        

 

2.3.1讀離散輸出(0x01

    01功能代碼是遠程設(shè)備用來讀取離散輸出的1~2000鄰近狀態(tài)。請求協(xié)議數(shù)據(jù)單元詳細說明了離散輸出的起始地址和離散輸出的個數(shù)。離散輸出的地址從0開始。

    響應(yīng)信息中的離散輸出被按字節(jié)打包,數(shù)據(jù)字節(jié)的每一位都有一個離散輸出與之相對應(yīng)。狀態(tài)1=ON0=OFF。起始地址的內(nèi)容被放入數(shù)據(jù)第一字節(jié)的最低有效位,依次類推。

    如果返回輸出的位數(shù)不是8的倍數(shù),剩余高位用0補。計數(shù)字節(jié)詳細記錄了完整數(shù)據(jù)字節(jié)的數(shù)量。

 

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

功能代碼

1字節(jié)

0x01

起始地址

2字節(jié)

0x00000xFFFF

感應(yīng)器數(shù)量

2字節(jié)

120000x7D0

 

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

  功能代碼

1字節(jié)

0x01

起始地址

2字節(jié)

0x00000xFFFF

感應(yīng)器數(shù)量

2字節(jié)

120000x7D0

  感應(yīng)器狀態(tài)

n字節(jié)

n=N或者N+1

N*=輸出量/8,如果剩余量不為0,則N=N+1

 

下面舉一個例子是關(guān)于請求讀離散輸出(20-38):

請求

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

起始地址低位

起始地址高位

輸出位數(shù)的低位

輸出位數(shù)的高位

 

01

功能

起始地址低位

起始地址高位

輸出位數(shù)的低位

輸出位數(shù)的高位

27-20的輸出狀態(tài)

35-28的輸出狀態(tài)

38-36的輸出狀態(tài)

01

13

13

00

00

13

13

00

00


CD

6B

05

 

    十六進制數(shù)CD或二進制數(shù)1100 1101包含了輸出位27的狀態(tài)“1”。輸出位27是這個字節(jié)的最高位,輸出位20為這個字節(jié)的最地位。

    在通常的情況下,一個字節(jié)的左邊是最高有效位,右邊是最低有效位。這樣輸出的第一個字節(jié)從左邊到右邊依次是位2720,下一個字節(jié)從左到右依次是位3528。當傳輸這些輸出狀態(tài)時,從最低有效位到最高有效位:20…2728…35依次類推。

    在最后一個字節(jié),十六進制數(shù)05或二進制數(shù)0000 0101是輸出位38-36的狀態(tài)。輸出位38是從左邊開始數(shù)的第六位,輸出位36是這個字節(jié)的最低位。剩余的五個高位用0補。

注意:剩余的五個位(高位)用0補。

 

2.3.2讀離散輸入(0x02)

    功能代碼是遠程安裝設(shè)備驅(qū)動程序用來讀取離散輸入的12000個鄰近狀態(tài)。請求PDU詳細說明了離散輸入的起始地址,第一個離散輸入的地址域和離散輸入的個數(shù)。離散輸入的地址從0開始,因此,離散輸入感應(yīng)器1-16的地址為0-15

    響應(yīng)信息中的離散輸入被按字節(jié)打包,數(shù)據(jù)字節(jié)的每一位都有一個離散輸入與之相對應(yīng)。狀態(tài)1=ON0=OFF。起始地址的內(nèi)容被放入數(shù)據(jù)第一字節(jié)的最低有效位,依次類推。

    如果返回輸出的位數(shù)不是8的倍數(shù),剩余高位用0補。計數(shù)字節(jié)詳細記錄了完整數(shù)據(jù)字節(jié)的數(shù)量。

 

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

功能代碼

1字節(jié)

0x02

起始地址

2字節(jié)

0x00000xFFFF

輸入量

2字節(jié)

120000x7D0

 

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

  功能代碼

1字節(jié)

0x02

起始地址

2字節(jié)

0x00000xFFFF

輸入量

2字節(jié)

120000x7D0

  感應(yīng)器狀態(tài)

N*×1字節(jié)


N*=輸出量/8,如果剩余量不為0,則N=N+1

 

下面舉一個例子是關(guān)于請求讀離散輸入(197-218):

請求

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

起始地址低位

起始地址高位

輸入位數(shù)的低位

輸入位數(shù)的高位

 

02

功能

起始地址高位

起始地址低位

輸入位數(shù)的高位

輸入位數(shù)的低位204-197的輸入狀態(tài)

212-205的輸入狀態(tài)

218-213的輸入狀態(tài)

02

C4

C4

00

00

16

16

00

00


AC

DB

35

 

    從十六進制數(shù)AC或二進制數(shù)1010 1100中可以讀出離散輸入204-197的狀態(tài),輸入位204是這個字節(jié)最高位,197是這個字節(jié)的最低位。

    從十六進制數(shù)35或二進制數(shù)0011 0101中可以讀出離散輸入204-197的狀態(tài),輸入位218是字節(jié)從左邊數(shù)的第三位,輸入位213是這個字節(jié)的最低位

注意:剩余的兩位(高位)用0

 

2.3.3寫離散輸出0x0f

這個功能代碼是遠程設(shè)備用來確定離散輸出序列中的離散輸出的ONOFF狀態(tài)。請求協(xié)議數(shù)據(jù)單元詳細說明了離散輸出的起始地址和輸出數(shù)量。離散輸出的地址是從0開始的,因此離散輸出1的地址為0

在請求協(xié)議數(shù)據(jù)單元詳細說明了請求狀態(tài)ONOFF。這個區(qū)域的相應(yīng)位為邏輯“1”時,對應(yīng)的輸出為ON,邏輯“0”對應(yīng)OFF

正常的響應(yīng)返回功能代碼,起始地址和對應(yīng)離散輸出的數(shù)量。

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

功能代碼

1字節(jié)

0FH

起始地址

2字節(jié)

0000H007FH

輸出數(shù)量

2字節(jié)

0001H0080H

  輸出值

N*×1字節(jié)


 

N*=輸出量/8,如果剩余量不為0,則N=N+1

 

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

  功能代碼

1字節(jié)

0FH

  起始地址

2字節(jié)

0000H007FH

輸出數(shù)量

2字節(jié)

0001H0080H

 

下面舉一個例子,寫一連串的10個離散輸出,從離散輸出20開始

 被傳輸?shù)臄?shù)據(jù)的第一字節(jié)CD是存儲器碼為27-20的狀態(tài),最低位表達的是離散輸出20的狀態(tài),下一字節(jié)存儲器碼為29-28的狀態(tài),最低位表達的是離散輸出28的狀態(tài)。在最后一字節(jié)沒有用到的位用0補。

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

起始地址低位

起始地址高位

輸出數(shù)量低位

輸出數(shù)量高位

27-20的狀態(tài)

29-28的狀態(tài)

0F

功能

起始地址低位

起始地址高位

輸出數(shù)量低位

輸出數(shù)量高位

 

0F

13

13

00

00

0A

0A

00

00

CD


01

 

 

2.3.5讀字節(jié)輸入寄存器(0x33

這個功能代碼是用來讀遠程設(shè)備相鄰的字節(jié)輸入寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和讀出數(shù)量。每個寄存器為一個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和讀出的寄存器的數(shù)量及內(nèi)容。

 

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

功能代碼

1字節(jié)

33H

起始地址

2字節(jié)

0000H到13FFH

數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H




 

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

  功能代碼

1字節(jié)

33H

  起始地址

2字節(jié)

0000H到13FFH

  數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


 

N*=數(shù)據(jù)字節(jié)個數(shù)

 

下面這個例子是讀從字節(jié)寄存器2開始讀內(nèi)容為00 0A 01 02到寄存器,:

 

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

33

功能

33

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

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

04

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

04

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

00

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

00



數(shù)據(jù)值VB00001

數(shù)據(jù)值VB00002

數(shù)據(jù)值VB00003

數(shù)據(jù)值VB00004

00

0A

01

02

 

2.3.5讀字節(jié)輸出寄存器(0x34

這個功能代碼是用來讀遠程設(shè)備相鄰的字節(jié)輸出寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和讀出數(shù)量。每個寄存器為一個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和讀出的寄存器的數(shù)量及內(nèi)容。

 

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

功能代碼

1字節(jié)

34H

起始地址

2字節(jié)

0000H到13FFH

數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H




 

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

  功能代碼

1字節(jié)

34H

  起始地址

2字節(jié)

0000H到13FFH

  數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


 

N*=數(shù)據(jù)字節(jié)個數(shù)

 

下面這個例子是讀從字節(jié)寄存器2開始讀內(nèi)容為00 0A 01 02到寄存器,:

 

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

34

功能

34

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

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

04

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

04

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

00

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

00



數(shù)據(jù)值VB00001

數(shù)據(jù)值VB00002

數(shù)據(jù)值VB00003

數(shù)據(jù)值VB00004

00

0A

01

02

 

2.3.4寫字節(jié)輸出寄存器(0x35

這個功能代碼是遠程設(shè)備用來寫相鄰的字節(jié)輸出寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和輸出數(shù)量。每個寄存器為一個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和寫入的寄存器的數(shù)量。

 

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

功能代碼

1字節(jié)

35H

起始地址

2字節(jié)

0000H到13FFH

數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


 

N*=數(shù)據(jù)字節(jié)個數(shù)

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

  功能代碼

1字節(jié)

35H

  起始地址

2字節(jié)

0000H到13FFH

  數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H

 

下面這個例子是寫00 0A 01 02到寄存器,從字節(jié)寄存器2開始:

 

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

35

功能

35

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

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

04

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

04

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

00

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

00

數(shù)據(jù)值VB00001

00



數(shù)據(jù)值VB00002

0A

數(shù)據(jù)值VB00003

01

數(shù)據(jù)值VB00004

02

 

 

2.3.6讀整形輸入寄存器(0x04

這個功能代碼是用來讀遠程設(shè)備相鄰的整形(int雙字節(jié))輸入寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和讀出數(shù)量。每個寄存器為兩個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和讀出的寄存器的數(shù)量及內(nèi)容。

 

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

功能代碼

1字節(jié)

04H

起始地址

2字節(jié)

0000H到13FFH

寄存器個數(shù)

2字節(jié)

14000001-190H




 

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

  功能代碼

1字節(jié)

04H

  起始地址

2字節(jié)

0000H到13FFH

  寄存器個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


 

N*=數(shù)據(jù)字節(jié)個數(shù)*2

 

下面這個例子是讀從整形寄存器2開始讀內(nèi)容為00 0A01 02到寄存器,:

 

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

04

功能

04

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

寄存器個數(shù)低位

02

寄存器個數(shù)低位

02

寄存器個數(shù)高位

00

寄存器個數(shù)高位

00



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

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

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

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

00

0A

01

02

 

2.3.7讀整形輸出寄存器(0x03

這個功能代碼是用來讀遠程設(shè)備相鄰的整形(int雙字節(jié))輸出寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和讀出數(shù)量。每個寄存器為兩個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和讀出的寄存器的數(shù)量及內(nèi)容。

 

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

功能代碼

1字節(jié)

03H

起始地址

2字節(jié)

0000H到13FFH

寄存器個數(shù)

2字節(jié)

14000001-190H




 

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

  功能代碼

1字節(jié)

03H

  起始地址

2字節(jié)

0000H到13FFH

  寄存器個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


 

N*=數(shù)據(jù)字節(jié)個數(shù)*2

 

下面這個例子是讀從整形輸出寄存器2開始讀內(nèi)容為00 0A01 02到寄存器,:

 

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

03

功能

03

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

寄存器個數(shù)低位

02

寄存器個數(shù)低位

02

寄存器個數(shù)高位

00

寄存器個數(shù)高位

00



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

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

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

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

00

0A

01

02

 

 

2.3.8寫整形輸出寄存器(0x10

這個功能代碼是用來寫遠程設(shè)備相鄰的整形(int雙字節(jié))輸出寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和讀出數(shù)量。每個寄存器為兩個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和讀出的寄存器的數(shù)量及內(nèi)容。

 

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

功能代碼

1字節(jié)

10H

起始地址

2字節(jié)

0000H到13FFH

寄存器個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


 

N*=數(shù)據(jù)字節(jié)個數(shù)*2

 

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

  功能代碼

1字節(jié)

10H

  起始地址

2字節(jié)

0000H到13FFH

寄存器個數(shù)

2字節(jié)

14000001-190H




 

下面這個例子是讀從整形輸出寄存器2開始讀內(nèi)容為00 0A01 02到寄存器:

 

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

10

功能

10

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

寄存器個數(shù)低位

02

寄存器個數(shù)低位

02

寄存器個數(shù)高位

00

寄存器個數(shù)高位

00

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

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

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

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

00

0A

01

02



 

2.3.9讀實數(shù)輸入寄存器(0x36

這個功能代碼是用來讀遠程設(shè)備相鄰實數(shù)(float,四字節(jié),IEE754標準)輸入寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和讀出數(shù)量。每個寄存器為四個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和讀出的寄存器的數(shù)量及內(nèi)容。

 

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

功能代碼

1字節(jié)

36H

起始地址

2字節(jié)

0000H到13FFH

數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H




 

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

  功能代碼

1字節(jié)

36H

  起始地址

2字節(jié)

0000H到13FFH

  數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


 

N*=數(shù)據(jù)字節(jié)個數(shù)*4

 

下面這個例子是讀從整形寄存器2開始讀內(nèi)容為3.143.15到寄存器,:

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

36

功能

36

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

寄存器個數(shù)低位

02

寄存器個數(shù)低位

02

寄存器個數(shù)高位

00

寄存器個數(shù)高位

00



數(shù)據(jù)值ViF2字節(jié)1

數(shù)據(jù)值ViF2字節(jié)2

數(shù)據(jù)值ViF2字節(jié)3

數(shù)據(jù)值ViF2字節(jié)4

數(shù)據(jù)值ViF3字節(jié)1

數(shù)據(jù)值ViF3字節(jié)2

數(shù)據(jù)值ViF3字節(jié)3

數(shù)據(jù)值ViF3字節(jié)4

C3

F5

48

40

9A

99

49

40

 

2.3.10讀實數(shù)輸出寄存器(0x37

這個功能代碼是用來讀遠程設(shè)備相鄰實數(shù)(float,四字節(jié),IEE754標準)輸出寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和讀出數(shù)量。每個寄存器為四個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和讀出的寄存器的數(shù)量及內(nèi)容。

 

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

功能代碼

1字節(jié)

37H

起始地址

2字節(jié)

0000H到13FFH

數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H




 

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

  功能代碼

1字節(jié)

37H

  起始地址

2字節(jié)

0000H到13FFH

  數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


 

N*=數(shù)據(jù)字節(jié)個數(shù)*4

 

下面這個例子是讀從整形寄存器2開始讀內(nèi)容為3.143.15到寄存器,:

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

37

功能

37

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

寄存器個數(shù)低位

02

寄存器個數(shù)低位

02

寄存器個數(shù)高位

00

寄存器個數(shù)高位

00



數(shù)據(jù)值VOF2字節(jié)1

數(shù)據(jù)值VOF2字節(jié)2

數(shù)據(jù)值VOF2字節(jié)3

數(shù)據(jù)值VOF2字節(jié)4

數(shù)據(jù)值VOF3字節(jié)1

數(shù)據(jù)值VOF3字節(jié)2

數(shù)據(jù)值VOF3字節(jié)3

數(shù)據(jù)值VOF3字節(jié)4

C3

F5

48

40

9A

99

49

40

 

2.3.11寫實數(shù)輸出寄存器(0x38

這個功能代碼是用來寫遠程設(shè)備相鄰實數(shù)(float,四字節(jié),IEE754標準)輸出寄存器塊。請求協(xié)議數(shù)據(jù)單元詳細說明了寄存器的起始地址和寫的數(shù)量和內(nèi)容。每個寄存器為四個字節(jié)。正常的的響應(yīng)會返回功能代碼,起始地址和讀出的寄存器的數(shù)量及內(nèi)容。

 

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

功能代碼

1字節(jié)

38H

起始地址

2字節(jié)

0000H到13FFH

數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H

  數(shù)據(jù)

N*字節(jié)


N*=數(shù)據(jù)字節(jié)個數(shù)*4

 

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

  功能代碼

1字節(jié)

38H

  起始地址

2字節(jié)

0000H到13FFH

  數(shù)據(jù)字節(jié)個數(shù)

2字節(jié)

14000001-190H




 

N*=數(shù)據(jù)字節(jié)個數(shù)*4

 

下面這個例子是寫從整形寄存器2開始內(nèi)容為3.143.15到寄存器上,:

請求       

響應(yīng)

字段名稱

Hex

字段名稱

Hex

功能

38

功能

38

起始地址低位

01

起始地址低位

01

起始地址高位

00

起始地址高位

00

寄存器個數(shù)低位

02

寄存器個數(shù)低位

02

寄存器個數(shù)高位

00

寄存器個數(shù)高位

00

數(shù)據(jù)值VOF2字節(jié)1

數(shù)據(jù)值VOF2字節(jié)2

數(shù)據(jù)值VOF2字節(jié)3

數(shù)據(jù)值VOF2字節(jié)4

數(shù)據(jù)值VOF3字節(jié)1

數(shù)據(jù)值VOF3字節(jié)2

數(shù)據(jù)值VOF3字節(jié)3

數(shù)據(jù)值VOF3字節(jié)4

C3

F5

48

40

9A

99

49

40



 

2.3.12 主動請求與響應(yīng)(0x40+*

         各種類型碼還有兩個碼+0x400x80的類型碼(例如0x01碼變成0x410x810x0F變成0x4F0x8F),他們的語法是一樣處理的。只有一下不同:

         當發(fā)送出去的數(shù)據(jù)包是0x40碼類型時,捷麥標示頭自動變成4F 3F 2F 1F 5F 5F的主動上傳標示頭,包類型字段變成84的主動上傳字段。(其他的處理邏輯跟普通的下至數(shù)據(jù)一樣處理)。

         當收到的數(shù)據(jù)包類型是這種0x40碼類型時,將數(shù)據(jù)內(nèi)容解析出來,然后將內(nèi)容更新到自身對應(yīng)的0x80碼類型的變量上,然后進行相應(yīng)的響應(yīng),(標示頭自動變成主動上傳頭,包類型字段變成04的主動上傳響應(yīng)字段)(其他的處理邏輯跟普通的采集數(shù)據(jù)包響應(yīng)一樣處理)。

         0x80碼是采集變量(只讀變量),采集周期為0

2.3.13 示例獲取一個數(shù)據(jù)段

(假設(shè)分配的設(shè)備號為25 7D,包標示為5,中心站的地址為0,請求的分站為7,獲得整形輸入的數(shù)據(jù))

主站完整的數(shù)據(jù)請求包為:

4F 3F 2F 1F 5F 6F 25 7D 05 00 09 00 00 EF FF F0 00 00 07 00 00 00 F6 08 01 01 04 00 00 02 00 FA B1

從站完整的數(shù)據(jù)響應(yīng)包為:

4F 3F 2F 1F 5F 6F 25 7D 05 00 0D 00 80 EF FF F0 00 00 00 00 07 00 03 6B 01 01 04 13 00 02 00 12 34 56 78 1B CB

 

2.3.14 示例獲取多個個數(shù)據(jù)段

(假設(shè)分配的設(shè)備號為25 7D,包標示為5,中心站的地址為0,分站為7,獲得整形輸入的數(shù)據(jù)和讀離散輸出)

主站完整的數(shù)據(jù)請求包為:

4F 3F 2F 1F 5F 6F 25 7D 05 00 0F 00 00 EF FF F0 00 00 07 00 00 00 FE 00 02 01 04 00 00 02 00 02 01 00 00 09 00 57 F1

從站完整的數(shù)據(jù)響應(yīng)包為:

4F 3F 2F 1F 5F 6F 25 7D 05 00 15 00 80 EF FF F0 00 00 00 00 07 00 21 7B 02 01 04 00 00 02 00 12 34 56 78 02 01 00 00 09 00 D7 01 72 82  

 

?

  • 4G-PLC

  • 電臺PLC

  • wiFi-PLC

  • 網(wǎng)口PLC
  • 點擊這里直接在線溝通

    點擊這里給我發(fā)QQ消息

    點擊這里獲得我的聯(lián)系方式

    技術(shù)支持專線

    010-63331036

    聯(lián)系我們

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



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

    Copyright ?北京捷麥順馳科技有限公司,Inc.All rights reserved.