產(chǎn)品簡介
欣仰邦S-SPTI智能數(shù)字傳感器采用高精度鉀離子電極, RS-485 接口輸出,支持標(biāo)準(zhǔn) Modbus RTU 工業(yè)數(shù)據(jù)總線協(xié)議,能夠完成鉀離子濃度數(shù)據(jù)采集、校準(zhǔn)及自動溫度補償?shù)裙δ?,用戶可自定義查詢子地址,設(shè)置傳輸波特率。配合傳感器保護罩可用于土壤在線監(jiān)測,原理是檢測土壤內(nèi)水分的鉀離子含量。
智能數(shù)字傳感器參數(shù)
●型號:S-SPTI
●探頭:復(fù)合電極(帶溫補)
●反應(yīng)時間:1 秒內(nèi)完成 90% 讀數(shù)
●溫度范圍:0 ~ 50°C
●量程范圍:0.04ppm ~ 39000ppm 3%
●分 辨 率 :全數(shù)字輸出(浮點)
●輸出接口:接口 RS-485 Modbus RTU
●傳輸協(xié)議功能碼:支持 03 04 06
●自定義定地址:支持 1 ~ 254 地址范圍
●自定義波特率:支 持 115200, 57600, 38400, 28800, 19200, 14400, 9600, 4800, 2400, 1200,8N1
●校準(zhǔn):命令方式校準(zhǔn)/軟件校準(zhǔn)
●溫度補償:自動補償
●補償器件自動識別:PT100/PT1000 鉑熱電阻特 征 碼 查 詢 識 別
●工作電壓:5V±0.2V DC
●預(yù)熱時間:≤ 1s
●系統(tǒng)功耗:≤ 80 mW
●ESD 人體靜電防護:支持
●防護等級:IP54
接線說明



傳感器協(xié)議與傳感器通訊
Modbus 協(xié)議
Modbus 是由 Modicon(現(xiàn)為施耐德電氣公司的一個品牌)在 1979 年發(fā)明的,是一個真正用于工業(yè)現(xiàn)場的總線協(xié)議。為更好地普及和推動 Modbus 在基于以太網(wǎng)上的分布式應(yīng)用,目前施耐德公司已將 Modbus 協(xié)議的所有權(quán)移交給 IDA(Interface forDistributed Automation,分布式自動化接口)組織,并成立了 Modbus-IDA 組織,為
Modbus 今后的發(fā)展奠定了基礎(chǔ)。在中國,Modbus 已經(jīng)成為國家標(biāo)準(zhǔn) GB/T19582-2008
傳感器通訊波特率
在次使用傳感器時,傳感器使用的默認(rèn)波特率為 9600 Baud,8 Data bits, None Parity, 1 Stop Bit,您可以通過 Modbus RTU 命令寫波特率寄存器進行設(shè)置,命令寫入后將在下一次上電時生效。
波特率寄存器
寄存器 名稱 | 類型 | 大小 | 起始 地址 | 讀功 能碼 | 寫功 能碼 | 數(shù)據(jù)-波特 率 | 默認(rèn)值 | 存儲模式 |
波特率 | 4X | 16 Bit | 0x0001 | 0x03 | 0x06 | 見表 4.2.2 | 0x0000 | 大端模式 (Big-Endian) |
寄存器數(shù)據(jù)與波特率關(guān)系
修改波特率寄存器示例
(1)將波特率修改為 9600 Baud (0x0006),默認(rèn)傳感器子地址為 0x01
主機發(fā)送請求:
(8 Bit) | (8 Bit) | ||||||
0x01 | 0x06 | 0x00 | 0x01 | 0x00 | 0x06 | 0x58 | 0x08 |
傳感器正常應(yīng)答:
(8 Bit) | (8 Bit) | ||||||
0x01 | 0x06 | 0x00 | 0x01 | 0x00 | 0x06 | 0x58 | 0x08 |
傳感器異常應(yīng)答:見《Modbus RTU 協(xié)議》- 06 功能碼對應(yīng)的異常碼相關(guān)章節(jié)。傳感器進行正常應(yīng)答后,將傳感器重新上電,使用 9600 Baud 連接傳感器即可。
傳感器子地址
在次使用傳感器時,傳感器使用的默認(rèn)子地址為 0x01,您可以通過 Modbus RTU
|
注意:若設(shè)置的地址范圍超過 0x00 ~ 0xFE,傳感器將默認(rèn)將高位字節(jié)數(shù)據(jù)丟棄,使用低位字節(jié)作為新的地址號。
4.3.1 修改地址寄存器示例
(1)將地址修改為 0x08 ,默認(rèn)傳感器地址為 0x01主機發(fā)送請求:
(8 Bit) | (8 Bit) | ||||||
0x01 | 0x06 | 0x00 | 0x02 | 0x00 | 0x08 | 0x29 | 0xCC |
傳感器正常應(yīng)答:
(8 Bit) | (8 Bit) | ||||||
0x01 | 0x06 | 0x00 | 0x02 | 0x00 | 0x08 | 0x29 | 0xCC |
傳感器異常應(yīng)答:見《Modbus RTU 協(xié)議》- 06 功能碼對應(yīng)的異常碼相關(guān)章節(jié)。傳感器進行正常應(yīng)答后,將傳感器重新上電,使用子地址 0x08 連接傳感器即可。
獲取鉀離子濃度
通過 Modbus RTU 協(xié)議可以訪問鉀離子(K+)值寄存器來獲取當(dāng)前所測量的 K+ 值
數(shù)據(jù),K+數(shù)據(jù)由 2 個 16 bit 的輸入寄存器進行存儲,按照小端模式(Little-Endian,即
x86 體系模式)的單精度浮點數(shù)(即 C/C++ 中的 float 類型, 32 Bit)進行表示。表 4.4.1 K+ 寄存器
寄存器 名稱 | 類型 | 大小 | 起始 地址 | 讀功 能碼 | 寫功 能碼 | 數(shù)據(jù)范圍 | 存儲模式 |
K+ 值 1 | 3X | 16 Bit | 0x0001 | 0x04 | - | -2^128 ~ +2^128 | 單精度浮點數(shù) |
K+ 值 2 | 3X | 16 Bit | 0x0002 | 0x04 | - |
4.4.1 讀取 K+ 值寄存器示例
(1)默認(rèn)傳感器地址為 0x01,電極放置在鉀離子為 14.078314 ppm 的溶液當(dāng)中進行測量
主機發(fā)送請求:
(8 Bit) | (8 Bit) | (8 Bit) | (8 Bit) | ||||
0x01 | 0x04 | 0x00 | 0x01 | 0x00 | 0x02 | 0x20 | 0x0B |
傳感器正常應(yīng)答:
地址 | 功能碼 | 字節(jié)數(shù) | 數(shù)據(jù)位[0] | 數(shù)據(jù)位[1] | 數(shù)據(jù)位[2] | 數(shù)據(jù)位[3] |
(8 Bit) | (8 Bit) | (8 Bit) | (8 Bit) | (8 Bit) | (8 Bit) | (8 Bit) |
0x01 | 0x04 | 0x04 | 0xC6 | 0x40 | 0x61 | 0x41 |
傳感器異常應(yīng)答:見《Modbus RTU 協(xié)議》- 04 功能碼對應(yīng)的異常碼相關(guān)章節(jié)。應(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)換操作
所有評論僅代表網(wǎng)友意見,與本站立場無關(guān)。