久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 組態王與單片機協議2

組態王與單片機協議2

作者: 時間:2016-11-27 來源:網絡 收藏
1.通訊口設置:

通訊方式:RS-232,RS-485,RS-422均可。

本文引用地址:http://cqxgywz.com/article/201611/322100.htm

波特率:由單片機決定(2400,4800,9600and19200bps)。

字節數據格式:由單片機決定。

起始位

數據位

校驗位

停止位

注意:在組態王中設置的通訊參數如波特率,數據位,停止位,奇偶校驗必須與單片機編程中的通訊參數一致

2.在組態王中定義設備地址的格式

格式:##.# 

前面的兩個字符是設備地址,范圍為0-255,此地址為單片機的地址,由單片機中的程序決定 ;

后面的一個字符是用戶設定是否打包,“0”為不打包、“1”為打包,用戶一旦在定義設備時確定了打包,組態王將處理讀下位機變量時數據打包的工作。

3.在組態王中定義的寄存器格式

寄存器名稱

dd上限

dd下限

數據類型

Xdd

65535

0

FLOAT/BYTE/UINT

斜體字dd代表數據地址,此地址與單片機的數據地址相對應。

注意:在組態王中定義變量時,一個X寄存器根據所選數據類型(BYTE,UINT,FLOAT)的不同分別占用一個、兩個,四個字節,定義不同的數據類型要注意寄存器后面的地址,同一數據區內不可交叉定義不同數據類型的變量。為提高通訊速度建議用戶使用連續的數據區。

例如,

1、在單片機中定義從地址0開始的數據類型為BYTE型的變量:

則在組態王中定義相應的變量的寄存器為X0、X1、X2、X3、X4。。。。。。。。,數據類型為BYTE,每個變量占一個字節

2、在單片機中定義從地址100開始的數據類型為UINT型的變量:

則在組態王中定義相應的變量的寄存器為X100、X102、X104、X106、X108。。。。。。。。,數據類型UINT,每個變量占兩個字節

3、在單片機中定義從地址200開始的數據類型為FLOAT型的變量:

則在組態王中定義相應的變量的寄存器為X200、X204、X208、X212。。。。。。。,數據類型FLOAT,每個變量占四個字節

3.組態王與單片機通訊的命令格式:

讀寫格式(除字頭、字尾外所有字節均為ASCII碼)

字頭

設備地址

標志

數據地址

數據字節數

數據…

異或

CR

說明;

字頭:1字節1個ASCII碼,40H

設備地址: 1字節2個ASCII碼,0—255(即0---0x0ffH)

標志:1字節2個ASCII碼,bit0~bit7,

bit0= 0:讀,bit0= 1:寫。

bit1= 0:不打包。

bit3bit2 = 00,數據類型為字節。

bit3bit2 = 01,數據類型為字。

bit3bit2 = 1x,數據類型為浮點數。

數據地址: 2字節4個ASCII碼,0x0000~0xffff

數據字節數:1字節2個ASCII碼,1—100,實際讀寫的數據的字節數。

數據…:為實際的數據轉換為ASCII碼,個數為字節數乘2。

異或:異或從設備地址到異或字節前,異或值轉換成2個ASCII碼

CR:0x0d。

通訊嘗試恢復命令(COMERROR),請求地址為0的一個BYTE數據

3.1.上位機發送讀命令

字頭

設備地址

標志

數據地址

數據字節數

異或

CR

下位機應答:若正常:

字頭

設備地址

數據字節數

數據…

異或

CR

若不正常:

字頭

設備地址

**

異或

CR

例1:讀15號儀表,數據地址為15的數據。其中數據為100,數據類型為字節,不打包。組態王所發數據為:

40

30

46

43

30

30

30

30

46

30

31

37

32

0d

字頭

設備地址15

標志

讀操作

字節型

不打包

數據地址15

數據字節數1

異或

若正確:

40

30

46

30

31

36

34

37

35

0d

字頭

設備地址15

數據字節數1

數據100

異或

若不正確:

40

30

46

2a

2a

37

36

0d

字頭

設備地址15

**

異或

例2:讀15號儀表,數據地址為15的數據。其中數據為100,數據類型為字節,打包。組態王所發數據為:

40

30

46

43

32

30

30

30

46

30

31

37

30

0d

字頭

設備地址15

標志

讀操作

字節型

打包

數據地址15

數據字節數1

異或

若正確:

40

30

46

30

31

36

34

37

35

0d

字頭

設備地址15

數據字節數1

數據100

異或

若不正確:

40

30

46

2a

2a

37

36

0d

設備地址15

**

異或

3.2.上位機發送寫命令

字頭

設備地址

標志

數據地址

數據字節數

數據…

異或

CR

下位機應答:若正常:

字頭

設備地址

##

異或

CR

若不正常:

字頭

設備地址

**

異或

CR

例1:寫15號儀表,數據地址為15。寫數據255,數據類型為字,不打包。組態王所發數據為:

40

30

46

43

35

30

30

30

46

30

32

30

30

46

46

37

34

0d

字頭

設備地址15

標志

寫操作

字型

不打包

數據地址15

數據字節數2

數據255

異或

若正確:

40

30

46

23

23

37

36

0d

字頭

設備地址15

##

異或

若不正確:

40

30

46

2a

2a

37

36

0d

字頭

設備地址15

**

異或


上一頁 1 2 下一頁

關鍵詞: 組態王單片機協

評論


技術專區

關閉