詳細介紹
海水養(yǎng)殖鹽度水質(zhì)傳感器
附錄 數(shù)據(jù)通訊
?
- 數(shù)據(jù)格式
Modbus通信默認的數(shù)據(jù)格式為:9600、n、8、1(波特率9600bps、1個起始位、8個數(shù)據(jù)位、無校驗、1個停止位)。
波特率等參數(shù)可以定制。
- 信息幀格式(xx代表一個字節(jié))
- 讀數(shù)據(jù)指令幀:
06 03 xx xx xx xx xx xx
地址 功能碼 寄存器地址 寄存器數(shù)量 CRC校驗碼(低字節(jié)在前)
- 讀數(shù)據(jù)應(yīng)答幀:
06 03 xx xx……xx xx xx
地址 功能碼 字節(jié)數(shù) 應(yīng)答數(shù)據(jù) CRC校驗碼(低字節(jié)在前)
- 寫數(shù)據(jù)指令幀:
06 06 xx xx xx xx xx xx
地址 功能碼 寄存器地址 寫入數(shù)據(jù) CRC校驗碼(低字節(jié)在前)
- 寫數(shù)據(jù)應(yīng)答幀(同寫數(shù)據(jù)指令幀):
06 06 xx xx xx xx xx xx
地址 功能碼 寄存器地址 寫入數(shù)據(jù) CRC校驗碼(低字節(jié)在前)
- 寄存器地址
寄存器地址 | 名稱 | 說明 | 寄存器個數(shù) | 訪問方式 |
40001 (0x0000) | 測量值+溫度 | 4個雙字節(jié)整數(shù),分別為測量值、測量值小數(shù)位數(shù)、溫度值、溫度值小數(shù)位數(shù)。 | 4(8字節(jié)) | 讀 |
44097 (0x1000) | 零點校準(zhǔn) | 在空氣中校準(zhǔn),寫入數(shù)據(jù)為0。 | 1(2字節(jié)) | 寫 |
44101 (0x1004) | 斜率校準(zhǔn)
| 在已知的標(biāo)準(zhǔn)溶液(20%滿量程—滿量程)中校準(zhǔn),寫入數(shù)據(jù)為標(biāo)準(zhǔn)溶液實際值×10。 | 1(2字節(jié)) | 寫 |
44103 (0x1006) | 零點校準(zhǔn)值 | 讀出數(shù)據(jù)為零點偏移量。 | 1(2字節(jié)) | 讀 |
44105 (0x1008) | 斜率校準(zhǔn)值 | 讀出數(shù)據(jù)為斜率值×1000。 | 1(2字節(jié)) | 讀 |
44113 (0x1010) | 溫度校準(zhǔn) | 在溶液中校準(zhǔn),寫入數(shù)據(jù)為實際溫度值×10;讀出數(shù)據(jù)為溫度校準(zhǔn)偏移量×10。 | 1(2字節(jié)) | 寫/讀 |
48195 (0x2002) | 傳感器地址 | 默認為6,寫入數(shù)據(jù)范圍1-127。 | 1(2字節(jié)) | 寫/讀 |
48225 (0x2020) | 恢復(fù)出廠 | 校準(zhǔn)值恢復(fù)出廠設(shè)置,寫入數(shù)據(jù)為0。 | 1(2字節(jié)) | 寫 |
注意:
- 寄存器地址為根據(jù)Modbus協(xié)議定義的帶寄存器類型的寄存器起始地址(括號中的16進制表示的實際的寄存器起始地址)。
- 更改傳感器地址時,返回指令中的傳感器地址為更改后的位置。
- 讀取數(shù)據(jù)時返回測量值的數(shù)據(jù)定義:
xx xx xx xx xx xx xx xx
2字節(jié)測量值 2字節(jié)測量值小數(shù)位數(shù) 2字節(jié)溫度值 2字節(jié)溫度小數(shù)位數(shù)
數(shù)據(jù)類型默認為:雙字節(jié)整型,高字節(jié)在前;其他如浮點數(shù)類型可選。
- 命令示例
- 設(shè)置設(shè)備ID地址:
作用:設(shè)置電極的Modbus設(shè)備地址;
將設(shè)備地址06改為01,范例如下
請求幀:06 06 20 02 00 01 E3 BD
應(yīng)答幀:01 06 20 02 00 01 E2 0A
- 開始測量指令
作用:獲取測量探頭的鹽度值和溫度;溫度的單位為攝氏度,鹽度的值為PSU;
請求幀:06 03 00 00 00 04 45 BE
應(yīng)答幀:06 03 08 01 02 00 01 00 B0 00 01 14 B4
讀數(shù)示例:
鹽度值 | 溫度值 |
01 02 00 01 | 00 B0 00 01 |
如:鹽度值 01 02 表示十六進制讀數(shù)鹽度值,00 01 表示鹽度數(shù)值帶1位小數(shù)點,轉(zhuǎn)換成十進制為25.8。
溫度值00 B0 表示十六進制讀數(shù)溫度值,00 01表示溫度數(shù)值帶1位小數(shù)點,轉(zhuǎn)換成十進制為17.6。
- 校準(zhǔn)指令
零點校準(zhǔn)
作用:設(shè)定電極的鹽度零點校準(zhǔn)值;此處零點校準(zhǔn)在空氣中進行;
請求幀:06 06 10 00 00 00 8C BD
應(yīng)答幀:06 06 10 00 00 00 8C BD
斜率校準(zhǔn)
作用:設(shè)定電極的鹽度斜率校準(zhǔn)值;此處斜率值以實際標(biāo)準(zhǔn)溶液數(shù)值為準(zhǔn),以50PSU為示例參看校準(zhǔn);
請求幀:06 06 10 04 01 F4 CD 6B
應(yīng)答幀:06 06 10 04 01 F4 CD 6B
- 錯誤響應(yīng)
如果傳感器不能正確執(zhí)行上位機命令,則會返回如下格式信息:
定義 | 地址 | 功能碼 | CODE | CRC校驗 |
數(shù)據(jù) | ADDR | COM+80H | xx | CRC 16 |
字節(jié)數(shù) | 1 | 1 | 1 | 2 |
- CODE:01 – 功能碼錯
03 – 數(shù)據(jù)錯
- COM:接收到的功能碼
海水養(yǎng)殖鹽度水質(zhì)傳感器