詳細(xì)介紹
海水養(yǎng)殖COD水質(zhì)傳感器
附錄 數(shù)據(jù)通信
- 數(shù)據(jù)格式
Modbus通信默認(rèn)的數(shù)據(jù)格式為: 9600、n、8、1(波特率9600bps,1個(gè)起始位,8個(gè)數(shù)據(jù)位,無校驗(yàn),1個(gè)停止位)。
- 信息幀格式 (xx代表一個(gè)字節(jié))
- 讀數(shù)據(jù)指令幀
06 03 xx xx xx xx xx xx
地址 功能碼 寄存器起始地址 寄存器數(shù)量 CRC校驗(yàn)碼(低字節(jié)在前)
- 讀數(shù)據(jù)應(yīng)答幀
06 03 xx xx……xx xx xx
地址 功能碼 字節(jié)數(shù) 應(yīng)答數(shù)據(jù) CRC校驗(yàn)碼(低字節(jié)在前)
- 寫數(shù)據(jù)指令幀
06 06 xx xx xx xx xx xx
地址 功能碼 寄存器地址 寫入數(shù)據(jù) CRC校驗(yàn)碼(低字節(jié)在前)
- 寫數(shù)據(jù)應(yīng)答幀
06 06 xx xx xx xx xx xx
地址 功能碼 寄存器地址 寫入數(shù)據(jù) CRC校驗(yàn)碼(低字節(jié)在前)
- 寄存器地址
寄存器地址 | 名稱 | 說明 | 寄存器個(gè)數(shù)(字節(jié)數(shù)) | 訪問方式(功能碼) |
0x0000 | COD測量值 | 2個(gè)雙字節(jié)整數(shù),分別為測量值值和測量值值小數(shù)位數(shù)(默認(rèn)1位小數(shù))。 | 2(4字節(jié)) | 讀(0x03) |
0x0002 | 溫度測量值 | 2個(gè)雙字節(jié)整數(shù),分別為溫度值和溫度值小數(shù)位數(shù)(默認(rèn)1位小數(shù))。 | 2(4字節(jié)) | 讀(0x03) |
0x0004 | 濁度測量值 | 2個(gè)雙字節(jié)整數(shù),分別為測量值值和測量值值小數(shù)位數(shù)(默認(rèn)1位小數(shù))。 | 2(4字節(jié)) | 讀(0x03) |
0x1000 | COD零點(diǎn)校準(zhǔn) | 在去離子水中進(jìn)行校準(zhǔn)。校準(zhǔn)時(shí)寫入的校準(zhǔn)值數(shù)據(jù)0;讀出的數(shù)據(jù)為零點(diǎn)偏移量。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x1004 | COD斜率校準(zhǔn) | 可以在40-400mg/L的溶液中進(jìn)行校準(zhǔn)。校準(zhǔn)時(shí)寫入的校準(zhǔn)值數(shù)據(jù)為所用標(biāo)準(zhǔn)液濃度x10的數(shù)值;讀出的數(shù)據(jù)為斜率值x1000。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x1010 | 溫度校準(zhǔn) | 溫度校準(zhǔn):寫入數(shù)據(jù)為實(shí)際溫度值x10;讀出數(shù)據(jù)為溫度校準(zhǔn)偏移量x10。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x1020 | 濁度零點(diǎn)校準(zhǔn) | 在零濁度水中進(jìn)行校準(zhǔn)。校準(zhǔn)時(shí)寫入的校準(zhǔn)值數(shù)據(jù)0;讀出的數(shù)據(jù)為零點(diǎn)偏移量。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x1024 | 濁度斜率校準(zhǔn) | 可以在40-400NTU的溶液中進(jìn)行校準(zhǔn)。校準(zhǔn)時(shí)寫入的校準(zhǔn)值數(shù)據(jù)為所用標(biāo)準(zhǔn)液濃度x10的數(shù)值;讀出的數(shù)據(jù)為斜率值x1000。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x1100 | 傳感器開關(guān) (本機(jī)通電即開機(jī)工作,此指令僅用于調(diào)試。) | 打開或關(guān)閉傳感器測量功能。寫入數(shù)據(jù)為0時(shí)關(guān)閉測量;寫入數(shù)據(jù)為1時(shí)打開測量。傳感器上電默認(rèn)為打開狀態(tài)。 | 1(2字節(jié)) | 寫(0x06) |
0x2002 | 傳感器地址 | 默認(rèn)為6,數(shù)據(jù)范圍1-127。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x1300 | 自動清洗間隔時(shí)間設(shè)置 | 默認(rèn)為10分鐘,數(shù)據(jù)范圍6~6000分鐘。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x1301 | 自動清洗圈數(shù)設(shè)置 | 默認(rèn)為3圈,數(shù)據(jù)范圍1~6圈。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x2002 | 傳感器地址 | 默認(rèn)為6,數(shù)據(jù)范圍1-127。 | 1(2字節(jié)) | 寫(0x06)/讀(0x03) |
0x2020 | 恢復(fù)出廠 | 校準(zhǔn)值恢復(fù)出廠設(shè)置,寫入數(shù)據(jù)為0。 | 1(2字節(jié)) | 寫(0x06) |
命令示例
- 設(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
- 開機(jī)指令:(本機(jī)通電即開機(jī)工作,此指令僅用于調(diào)試。)
作用:讓探頭連續(xù)發(fā)光,開始COD測量。
請求幀:06 06 11 00 00 01 4C 81
應(yīng)答幀:06 06 11 00 00 01 4C 81
- 讀數(shù)據(jù)指令:
作用:獲取測量探頭的溫度和COD值;溫度的單位為攝氏度,COD值的單位為mg/L。
請求幀:06 03 00 00 00 04 45 BE
應(yīng)答幀:06 03 08 01 02 00 02 00 B0 00 01 14 B4
讀數(shù)示例:
COD值 | 溫度值 |
01 02 00 01 | 00 B0 00 01 |
如:COD值 01 02 表示十六進(jìn)制讀數(shù)COD值,00 01表示COD帶1位小數(shù)點(diǎn),轉(zhuǎn)換成十進(jìn)制數(shù)值為25.8。
溫度值00 B0 表示十六進(jìn)制讀數(shù)溫度值,00 01表示溫度數(shù)值帶1位小數(shù)點(diǎn),轉(zhuǎn)換成十進(jìn)制數(shù)值為17.6攝氏度。
- 校準(zhǔn)指令:
COD溫度校準(zhǔn)
作用:校準(zhǔn)傳感器溫度25.8攝氏度;此值校準(zhǔn)應(yīng)在溫度穩(wěn)定一段時(shí)間后進(jìn)行。
請求幀:06 06 10 10 01 02 0D 29
應(yīng)答幀:06 06 10 10 01 02 0D 29
COD零點(diǎn)校準(zhǔn)
作用:設(shè)定傳感器的COD零點(diǎn)校準(zhǔn)值;此值校準(zhǔn)在去離子水中進(jìn)行。
請求幀:06 06 10 00 00 00 8C BD
應(yīng)答幀:06 06 10 00 00 00 8C BD
COD斜率校準(zhǔn)
作用:設(shè)定傳感器的COD斜率校準(zhǔn)值;此處斜率值校準(zhǔn)在200mg/L的COD溶液中進(jìn)行。
請求幀:06 06 10 04 07 D0 CE D0
應(yīng)答幀:06 06 10 04 07 D0 CE D0
濁度零點(diǎn)校準(zhǔn)
作用:設(shè)定傳感器的濁度零點(diǎn)校準(zhǔn)值;此值校準(zhǔn)在去離子水中進(jìn)行。
請求幀:06 06 10 20 00 00 8D 77
應(yīng)答幀:06 06 10 20 00 00 8D 77
濁度斜率校準(zhǔn)
作用:設(shè)定傳感器的濁度斜率校準(zhǔn)值;此處斜率值校準(zhǔn)在200NTU的濁度溶液中進(jìn)行。
請求幀:06 06 10 24 07 D0 CF 1A
應(yīng)答幀:06 06 10 24 07 D0 CF 1A
- 錯(cuò)誤響應(yīng)
如果傳感器不能正確執(zhí)行上位機(jī)命令,則會返回如下格式信息:
定義 | 地址 | 功能碼 | CODE | CRC校驗(yàn) |
數(shù)據(jù) | ADDR | COM+80H | xx | CRC 16 |
字節(jié)數(shù) | 1 | 1 | 1 | 2 |
- CODE:01 – 功能碼錯(cuò)
03 – 數(shù)據(jù)錯(cuò)
- COM:接收到的功能碼
海水養(yǎng)殖COD水質(zhì)傳感器