智能數(shù)字傳感器參數(shù):
型號 | S-CGORP |
探頭 | ORP復(fù)合電極 |
反應(yīng)時間 | 1 秒內(nèi)完成 90% 讀數(shù) |
溫度范圍 | 0 ~ 50°C |
量程范圍 | -1999mV ~ +1999mV |
分辨率 | 0.01mV |
輸出接口 | 全數(shù)字輸出(浮點),接口RS-485 |
傳輸協(xié)議 | Modbus RTU |
功能碼 | 支持 03 04 06 |
自定義定地址 | 支持 1 ~ 254地址范圍 |
自定義波特率 | 支持115200, 57600, 38400, 28800, 19200, 14400, 9600, 4800, 2400, 1200,8N1 |
校準(zhǔn) | 命令方式校準(zhǔn)/軟件校準(zhǔn) |
自動識別 | 特征碼查詢識別 |
工作電壓 | 5V±0.2V DC |
預(yù)熱時間 | ≤ 1s |
系統(tǒng)功耗 | ≤ 210 mW |
ESD人體靜電防護 | 支持 |
防護等級 | IP54 |
傳感器壽命(探頭) | 3年 |
二、產(chǎn)品資源
《用戶手冊》 | 1份 |
《自動校準(zhǔn)軟件》 | 1份 |
三、使用Modbus通訊協(xié)議與傳感器通訊
3.1 Modbus協(xié)議Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個品牌)在1979年發(fā)明的,是一個真正用于工業(yè)現(xiàn)場的總線協(xié)議。為更好地普及和推動Modbus在基于以太網(wǎng)上的分布式應(yīng)用,目前施耐德公司已將Modbus協(xié)議的所有權(quán)移交給IDA(Interface for Distributed Automation,分布式自動化接口)組織,并成立了Modbus-IDA組織,為Modbus今后的發(fā)展奠定了基礎(chǔ)。在中國,Modbus已經(jīng)成為國家標(biāo)準(zhǔn)GB/T19582-2008
3.2 傳感器通訊波特率
在次使用傳感器時,傳感器使用的默認波特率為9600 Baud,8 Data bits, None Parity, 1 Stop Bit,您可以通過Modbus RTU命令寫波特率寄存器進行設(shè)置,命令寫入后將在下一次上電時生效。
表3.2.1 波特率寄存器
寄存器 名稱 | 類型 | 大小 | 起始 地址 | 讀功 能碼 | 寫功 能碼 | 數(shù)據(jù)-波特率 | 默認值 | 存儲模式 |
波特率 | 4X | 16 Bit | 0x0001 | 0x03 | 0x06 | 見表 4.2.2 | 0x0000 | 大端模式 (Big-Endian) |
表3.2.2 寄存器數(shù)據(jù)與波特率關(guān)系
寄存器數(shù)據(jù) | 對應(yīng)波特率 |
0x0000 | 115200 Baud |
0x0001 | 57600 Baud |
0x0002 | 38400 Baud |
0x0003 | 28800 Baud |
0x0004 | 19200 Baud |
0x0005 | 14400 Baud |
0x0006 | 9600 Baud |
0x0007 | 4800 Baud |
0x0008 | 2400 Baud |
0x0009 | 1200 Baud |
其他 | 自動恢復(fù)到出廠設(shè)置值 |
(1)將波特率修改為9600 Baud (0x0006),默認傳感器子地址為0x01
主機發(fā)送請求:
地址 (8 Bit) | 功能碼 (8 Bit) | 起始寄存器地址高位 (8 Bit) | 起始寄存器地址低位 (8 Bit) | 數(shù)據(jù)高位 (8 Bit) | 數(shù)據(jù)低位 (8 Bit) | CRC高位 | CRC低位 |
0x01 | 0x06 | 0x00 | 0x01 | 0x00 | 0x06 | 0x58 | 0x08 |
地址 (8 Bit) | 功能碼 (8 Bit) | 起始寄存器地址高位 (8 Bit) | 起始寄存器地址低位 (8 Bit) | 數(shù)據(jù)高位 (8 Bit) | 數(shù)據(jù)低位 (8 Bit) | CRC高位 | CRC低位 |
0x01 | 0x06 | 0x00 | 0x01 | 0x00 | 0x06 | 0x58 | 0x08 |
傳感器進行正常應(yīng)答后,將傳感器重新上電,使用9600 Baud連接傳感器即可。
3.3 傳感器子地址
在次使用傳感器時,傳感器使用的默認子地址為0x01,您可以通過Modbus RTU命令寫子地址寄存器進行設(shè)置,命令寫入后將在下一次上電時生效。
表3.3.1 子地址寄存器
寄存器 名稱 | 類型 | 大小 | 起始 地址 | 讀功 能碼 | 寫功 能碼 | 數(shù)據(jù)范圍 | 默認值 | 存儲模式 |
子地址 | 4X | 16 Bit | 0x0002 | 0x03 | 0x06 | 0x00~0xFE | 0x0001 | 大端模式 (Big-Endian) |
3.3.1 修改地址寄存器示例
(1)將地址修改為0x08 ,默認傳感器地址為0x01
主機發(fā)送請求:
地址 (8 Bit) | 功能碼 (8 Bit) | 起始寄存器地址高位 (8 Bit) | 起始寄存器地址低位 (8 Bit) | 數(shù)據(jù)高位 (8 Bit) | 數(shù)據(jù)低位 (8 Bit) | CRC高位 | CRC低位 |
0x01 | 0x06 | 0x00 | 0x02 | 0x00 | 0x08 | 0x29 | 0xCC |
地址 (8 Bit) | 功能碼 (8 Bit) | 起始寄存器地址高位 (8 Bit) | 起始寄存器地址低位 (8 Bit) | 數(shù)據(jù)高位 (8 Bit) | 數(shù)據(jù)低位 (8 Bit) | CRC高位 | CRC低位 |
0x01 | 0x06 | 0x00 | 0x02 | 0x00 | 0x08 | 0x29 | 0xCC |
傳感器進行正常應(yīng)答后,將傳感器重新上電,使用子地址 0x08連接傳感器即可。
3.4 獲取ORP電位數(shù)值
通過Modbus RTU 協(xié)議可以訪問ORP值寄存器來獲取當(dāng)前所測量的ORP值數(shù)據(jù),ORP數(shù)據(jù)由2個16 bit的輸入寄存器進行存儲,按照小端模式(Little-Endian,即x86體系模式)的單精度浮點數(shù)(即C/C++ 中的float類型, 32 Bit)進行表示。
表3.4.1 ORP寄存器
寄存器 名稱 | 類型 | 大小 | 起始 地址 | 讀功 能碼 | 寫功 能碼 | 數(shù)據(jù)范圍 | 存儲模式 |
ORP值1 | 3X | 16 Bit | 0x0001 | 0x04 | - | -2^128 ~ +2^128 | 單精度浮點數(shù) |
ORP值2 | 3X | 16 Bit | 0x0002 | 0x04 | - |
(1)默認傳感器地址為0x01,電極放置在ORP為 14.078314 mV 的溶液當(dāng)中進行測量
主機發(fā)送請求:
地址 (8 Bit) | 功能碼 (8 Bit) | 起始寄存器地址高位 (8 Bit) | 起始寄存器地址低位 (8 Bit) | 寄存器數(shù)量高位 (8 Bit) | 寄存器數(shù)量低位 (8 Bit) | CRC高位 | CRC低位 |
0x01 | 0x04 | 0x00 | 0x01 | 0x00 | 0x02 | 0x20 | 0x0B |
地址 (8 Bit) | 功能碼 (8 Bit) | 字節(jié)數(shù) (8 Bit) | 數(shù)據(jù)位[0] (8 Bit) | 數(shù)據(jù)位[1] (8 Bit) | 數(shù)據(jù)位[2] (8 Bit) | 數(shù)據(jù)位[3] (8 Bit) | CRC高位 | CRC低位 |
0x01 | 0x04 | 0x04 | 0xC6 | 0x40 | 0x61 | 0x41 | 0x2F | 0x78 |
應(yīng)答數(shù)據(jù)說明:
在傳感器應(yīng)答中,數(shù)據(jù)位[0]至數(shù)據(jù)位[3]共4個字節(jié)構(gòu)成了32位小端模式下的Float類型的數(shù)據(jù)即為14.078314。
編程提示:
以上述數(shù)據(jù)為例,C語言當(dāng)中可進行如下轉(zhuǎn)換操作
注意:樣例代碼為x86 PC 或 小端模式ARM處理器平臺
所有評論僅代表網(wǎng)友意見,與本站立場無關(guān)。