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