5. 通信協(xié)議
5.1 通訊基本參數(shù)編 碼 | 8位二進(jìn)制 |
數(shù)據(jù)位 | 8位 |
奇偶校驗(yàn)位 | 無 |
停止位 | 1位 |
錯(cuò)誤校驗(yàn) | CRC(冗余循環(huán)碼) |
波特率 | 2400bit/s、4800bit/s、9600 bit/s可設(shè),出廠默認(rèn)為4800bit/s |
采用Modbus-RTU 通訊規(guī)約,格式如下:
初始結(jié)構(gòu) ≥4 字節(jié)的時(shí)間
地址碼 = 1 字節(jié)
功能碼 = 1 字節(jié)
數(shù)據(jù)區(qū) = N 字節(jié)
錯(cuò)誤校驗(yàn) = 16 位CRC 碼
結(jié)束結(jié)構(gòu) ≥4 字節(jié)的時(shí)間
地址碼:為變送器的地址,在通訊網(wǎng)絡(luò)中是的(出廠默認(rèn)0x01)。
功能碼:主機(jī)所發(fā)指令功能指示,本變送器只用到功能碼0x03(讀取寄存器數(shù)據(jù))。
數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)是具體通訊數(shù)據(jù),注意16bits數(shù)據(jù)高字節(jié)在前!
CRC碼:二字節(jié)的校驗(yàn)碼。
主機(jī)問詢幀結(jié)構(gòu):
地址碼 | 功能碼 | 寄存器起始地址 | 寄存器長(zhǎng)度 | 校驗(yàn)碼低位 | 校驗(yàn)碼高位 |
1字節(jié) | 1字節(jié) | 2字節(jié) | 2字節(jié) | 1字節(jié) | 1字節(jié) |
地址碼 | 功能碼 | 有效字節(jié)數(shù) | 數(shù)據(jù)一區(qū) | 第二數(shù)據(jù)區(qū) | 第N數(shù)據(jù)區(qū) | 校驗(yàn)碼 |
1字節(jié) | 1字節(jié) | 1字節(jié) | 2字節(jié) | 2字節(jié) | 2字節(jié) | 2字節(jié) |
寄存器地址 | PLC或組態(tài)地址 | 內(nèi)容 | 操作 |
0000 H | 40001 | 濕度 | 只讀 |
0001 H | 40002 | 溫度 | 只讀 |
舉例:讀取設(shè)備地址0x01的溫濕度值
問詢幀:
地址碼 | 功能碼 | 起始地址 | 數(shù)據(jù)長(zhǎng)度 | 校驗(yàn)碼低位 | 校驗(yàn)碼高位 |
0x01 | 0x03 | 0x00 0x00 | 0x00 0x02 | 0xC4 | 0x0B |
地址碼 | 功能碼 | 返回有效字節(jié)數(shù) | 濕度值 | 溫度值 | 校驗(yàn)碼低位 | 校驗(yàn)碼高位 |
0x01 | 0x03 | 0x04 | 0x02 0x92 | 0xFF 0x9B | 0x5A | 0x3D |
當(dāng)溫度低于 0 ℃ 時(shí)溫度數(shù)據(jù)以補(bǔ)碼的形式上傳。
溫度:FF9B H(十六進(jìn)制)= -101 => 溫度 = -10.1℃
濕度計(jì)算:
濕度:292 H (十六進(jìn)制)= 658 => 濕度 = 65.8%RH
所有評(píng)論僅代表網(wǎng)友意見,與本站立場(chǎng)無關(guān)。