通訊協(xié)議
設(shè)備所有操作或回復(fù)命令都為16進(jìn)制數(shù)據(jù)。默認(rèn)通訊波特率:9600,8,n,1。
基本命令格式:
[設(shè)備地址][功能碼][起始地址:2字節(jié)][數(shù)據(jù)長(zhǎng)度:2字節(jié)][CRC16校驗(yàn):2字節(jié)]
意義如下:
A、設(shè)備地址:設(shè)備地址范圍為1-35,其中250即0xFA為通用查詢地址,當(dāng)不知道設(shè)備地址時(shí),可用此通用查詢地址進(jìn)行查詢。
B、功能碼:不同的應(yīng)用需求功能碼不同,比如3為查詢輸入寄存器數(shù)據(jù)。
C、起始地址:查詢或操作寄存器起始地址。
D、數(shù)據(jù)長(zhǎng)度:讀取的長(zhǎng)度。
E、CRC校驗(yàn):CRC16校驗(yàn),高位在前,低位在后。
1)參數(shù)查詢(功能碼為0x03 )
[設(shè)備地址][03][00][數(shù)據(jù)長(zhǎng)度][CRC16校驗(yàn):2字節(jié)]
設(shè)備響應(yīng):
[設(shè)備地址][命令號(hào)][返回的字節(jié)個(gè)數(shù)][數(shù)據(jù)][CRC16校驗(yàn)]
響應(yīng)數(shù)據(jù)意義如下:
A、返回的字節(jié)個(gè)數(shù):表示數(shù)據(jù)的字節(jié)個(gè)數(shù),也就是數(shù)據(jù)1,2...n中的n的值。
B、數(shù)據(jù)長(zhǎng)度: 值范圍1-7。
傳感器內(nèi)置了7個(gè)數(shù)據(jù)寄存器。
|
寄存器地址
|
含義
|
類型
|
值范圍為(10進(jìn)制):
|
實(shí)際值
|
|
4x0001
|
水分含量
|
無(wú)符號(hào)整型
|
0-10000
|
0-100
|
|
4x0002
|
溫度
|
無(wú)符號(hào)整型
|
-5500-12500
|
-55-125
|
|
4x0003
|
量程縮放系數(shù)
|
無(wú)符號(hào)整型
|
2000-50000
|
0.2-5
|
|
4x0004
|
偏移校準(zhǔn)值
|
無(wú)符號(hào)整型
|
-100-100
|
-10.00-10.00
|
|
4x0005
|
水分顯示*大值
|
無(wú)符號(hào)整型
|
0-10000
|
0-100
|
|
4x0006
|
不分顯示*小值
|
無(wú)符號(hào)整型
|
0-1000
|
0-10
|
|
4x0007
|
設(shè)備地址
|
無(wú)符號(hào)整型
|
1-35
|
1-35
|
例如:查詢1號(hào)設(shè)備上水分及溫度傳感器數(shù)據(jù):
發(fā)送:01 03 00 00 00 02 C4 0B
回應(yīng): 01 03 02 07 1C 08 2C [CRC16]
上例回復(fù)數(shù)據(jù)中:01表地址1,02表數(shù)據(jù)長(zhǎng)度為2個(gè)字節(jié),由于測(cè)點(diǎn)數(shù)據(jù)長(zhǎng)度占兩個(gè)字節(jié),比如**個(gè)數(shù)據(jù)為07 1C, 折成10進(jìn)制即為:1820,因模塊分辨率為0.01,該值需除以100,即實(shí)際值為18.20%,08 2C為溫度值,計(jì)算方法相同。
在組態(tài)王或力控組態(tài)軟件中,水分寄存器地址為:4x0001,溫度值寄存器地址為:4x0002
2)量程縮放系數(shù)(功能號(hào):0x06輔助命令號(hào):0x0A )
當(dāng)設(shè)備量程整體放大或縮小,我們可以通過(guò)此參數(shù)來(lái)調(diào)整,使顯示值整體縮放。
發(fā)送命令格式:
[設(shè)備地址][命令號(hào):0x06][ 輔助命令號(hào):0x0A] [00 00] [參數(shù)值:占2個(gè)字節(jié)] [CRC16]
比如將設(shè)備地址量程縮放系數(shù)更改為1.05,實(shí)際參數(shù)需乘10000,即十進(jìn)制值為10500,對(duì)應(yīng)16進(jìn)制數(shù)據(jù)為29 04,我們可以用設(shè)備地址通配值(0XFA,即250)來(lái)設(shè)置,當(dāng)然也可以直接用當(dāng)前設(shè)備地址對(duì)設(shè)備進(jìn)行操作:
命令為: FA 06 0A 00 29 04 81 CA
設(shè)備響應(yīng): 01 00 29 04 1F 8B
響應(yīng)格式為:
設(shè)備響應(yīng)格式:[設(shè)備地址][ 00] [參數(shù)值:2個(gè)字節(jié)] [CRC16]
若設(shè)備正確響應(yīng),表明參數(shù)設(shè)置成功
3)偏移校準(zhǔn)值(功能號(hào):0x06輔助命令號(hào):0x0A )
當(dāng)顯示值整體偏大或偏小,我們可以通值此能數(shù),使顯示值整體偏移
發(fā)送命令格式:
[設(shè)備地址][命令號(hào):0x06][ 輔助命令號(hào):0x0A] [02 00] [參數(shù)值:占2個(gè)字節(jié)] [CRC16]
比如將顯示值整體偏移-3%Rh,那系數(shù)為-3.00,實(shí)際參數(shù)需乘100,即十進(jìn)制值為-300,對(duì)應(yīng)16進(jìn)制數(shù)據(jù)為FE D4,我們可以用設(shè)備地址通配值(0XFA,即250)來(lái)設(shè)置,當(dāng)然也可以直接用當(dāng)前設(shè)備地址對(duì)設(shè)備進(jìn)行操作:
命令為: FA 06 0A 02 FE D4 7E 66
設(shè)備響應(yīng): 01 02 FE D4 E0 27
響應(yīng)格式為:
設(shè)備響應(yīng)格式:[設(shè)備地址][ 00] [參數(shù)值:2個(gè)字節(jié)] [CRC16]
若設(shè)備正確響應(yīng),表明參數(shù)設(shè)置成功
4)水分顯示*大值(功能號(hào):0x06輔助命令號(hào):0x0A )
我們可以用此參數(shù)來(lái)設(shè)置水分計(jì)能夠顯示的*大值。
發(fā)送命令格式:
[設(shè)備地址][命令號(hào):0x06][ 輔助命令號(hào):0x0A] [04 00] [參數(shù)值:占2個(gè)字節(jié)] [CRC16]
比如將水分含量顯示值*大允許為100%,那實(shí)目標(biāo)參數(shù)為100.00,實(shí)際參數(shù)需乘100,即十進(jìn)制值為10000,對(duì)應(yīng)16進(jìn)制數(shù)據(jù)為 27 10,我們可以用設(shè)備地址通配值(0XFA,即250)來(lái)設(shè)置,當(dāng)然也可以直接用當(dāng)前設(shè)備地址對(duì)設(shè)備進(jìn)行操作:
命令為: FA 06 0A 04 27 10 C4 64
設(shè)備響應(yīng): 01 04 27 10 00 25
響應(yīng)格式為:
設(shè)備響應(yīng)格式:[設(shè)備地址][ 00] [參數(shù)值:2個(gè)字節(jié)] [CRC16]
若設(shè)備正確響應(yīng),表明參數(shù)設(shè)置成功
5)水分顯示*小值(功能號(hào):0x06輔助命令號(hào):0x0A )
我們可以用此參數(shù)來(lái)設(shè)置水分計(jì)能夠顯示的*小值,此小于此值時(shí),都顯示為0。
發(fā)送命令格式:
[設(shè)備地址][命令號(hào):0x06][ 輔助命令號(hào):0x0A] [06 00] [參數(shù)值:占2個(gè)字節(jié)] [CRC16]
比如將水分含量顯示值*大允許為3%,那實(shí)目標(biāo)參數(shù)為3.00,實(shí)際參數(shù)需乘300,即十進(jìn)制值為300,對(duì)應(yīng)16進(jìn)制數(shù)據(jù)為01 2C,我們可以用設(shè)備地址通配值(0XFA,即250)來(lái)設(shè)置,當(dāng)然也可以直接用當(dāng)前設(shè)備地址對(duì)設(shè)備進(jìn)行操作:
命令為: FA 06 0A 06 01 2C 7F D5
設(shè)備響應(yīng): 01 06 01 2C E1 94
響應(yīng)格式為:
設(shè)備響應(yīng)格式:[設(shè)備地址][ 00] [參數(shù)值:2個(gè)字節(jié)] [CRC16]
若設(shè)備正確響應(yīng),表明參數(shù)設(shè)置成功
6)設(shè)備地址設(shè)置(功能號(hào):0x06輔助命令號(hào):0x0A )
我們可以用此參數(shù)來(lái)設(shè)置設(shè)備的設(shè)備地址,值范圍為1-35,注意,為方便用戶對(duì)設(shè)備地址的查詢,設(shè)備帶有通配地址250,即0xFA,當(dāng)多個(gè)設(shè)備在總線上時(shí),請(qǐng)不用使用通配地址對(duì)設(shè)備進(jìn)行參數(shù)操作。
發(fā)送命令格式:
[設(shè)備地址][命令號(hào):0x06][ 輔助命令號(hào):0x0A] [08 00] [參數(shù)值:占2個(gè)字節(jié)] [CRC16]
比如不清楚當(dāng)前設(shè)備地址,可以直接用通配地址對(duì)設(shè)備進(jìn)行地址設(shè)置,我們將當(dāng)前設(shè)置地址設(shè)置為1,命令為: FA 06 0A 08 00 01 DF 9B
設(shè)備響應(yīng): 01 08 00 01 41 DA
響應(yīng)格式為:
設(shè)備響應(yīng)格式:[設(shè)備地址][ 00] [參數(shù)值:2個(gè)字節(jié)] [CRC16]
若設(shè)備正確響應(yīng),表明參數(shù)設(shè)置成功