當(dāng)前位置:中美貿(mào)易網(wǎng) > 技術(shù)中心 > 所有分類(lèi)
ETME拉繩位移傳感器RS485協(xié)議說(shuō)明
本傳感器使用MODBUS-RTU通訊協(xié)議,默認(rèn)波特率9600,檢驗(yàn)位NONE,數(shù)據(jù)位8,停止位1。設(shè)備地址默認(rèn)02。
1. 讀AD值(MODBUS)
命令 :02 03 00 01 00 01 D5 F9
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同。)
功能碼: 03 (此值為固定的)
寄存器地址:00 01(此值為固定的)
寄存器數(shù)量:00 01(此值為固定的)
CRC16校驗(yàn): D5 F9(低位在前,高位在后,此值是根據(jù)前面數(shù)據(jù)不同而變化的,不是固定的。)
返回: 02 03 02 08 95 3B EB
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同。)
功能碼: 03(此值為固定的)
字節(jié)數(shù): 02(此值為固定的)
AD值: 08 95(比如返回AD數(shù)據(jù)為2197,高位在前,低位在后。此值一直隨傳感器變化中。)
CRC16校驗(yàn): 3B EB (低位在前,高位在后。)
2.修改設(shè)備地址
命令: 02 06 00 01 00 05 18 3A
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同。)
功能碼: 06 (此值為固定的)
寄存器地址: 00 01(此值為固定的)
設(shè)備地址: 00 05(比如把設(shè)備地址修改為5)
CRC16校驗(yàn): 18 3A(低位在前,高位在后。)
返回: 05 06 00 01 21 29
地址碼: 05(修改后的設(shè)備地址)
功能碼: 06 (此值為固定的)
起始地址: 00 01(此值為固定的)
CRC16校驗(yàn): 21 29(低位在前,高位在后。)
3.修改波特率
發(fā)送:02 10 00 01 00 02 04 00 00 E1 00 75 77(波特率修改為57600)
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
功能碼: 10(此值為固定的)
寄存器地址:00 01(此值為固定的)
寄存器數(shù)量:00 02(此值為固定的)
字節(jié)數(shù): 04(此值為固定的)
寄存器值1: 00 00(此值根據(jù)波特率不同而修改)
寄存器值2: E1 00(此值根據(jù)波特率不同而修改)
CRC16校驗(yàn): 75 77(低位在前,高位在后。)
寄存器值1和2即為波特率設(shè)定值,以57600為例即為00 00 E1 00,數(shù)據(jù)位為高位在前,低位在后,這一點(diǎn)和校驗(yàn)位不同。
返回: 02 10 00 01 00 02 10 3B
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
功能碼: 10(此值為固定的)
寄存器地址:00 01(此值為固定的)
寄存器數(shù)量:00 02(此值為固定的)
CRC16校驗(yàn): 10 3B (低位在前,高位在后。)
4.校驗(yàn)錯(cuò)誤返回
02 80 55 55 55 9B 7F
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
錯(cuò)誤碼: 80(此值為固定的)
異常碼: 55 55 55(此值為固定的)
CRC16校驗(yàn): 9B 7F (低位在前,高位在后。)
在發(fā)送命令時(shí)如果返回的是此命令碼,則說(shuō)明本命令校驗(yàn)碼錯(cuò)誤,造成校驗(yàn)碼錯(cuò)誤的原因有可能是如下幾點(diǎn):
1. 校驗(yàn)碼計(jì)算錯(cuò)誤
2. 校驗(yàn)碼高低字節(jié)順序錯(cuò)誤
3. USB轉(zhuǎn)485轉(zhuǎn)換器問(wèn)題
4. 通訊線問(wèn)題,通訊線請(qǐng)盡量用帶屏蔽雙絞線
5. 傳感器模塊損壞等
如都不能查明原因請(qǐng)聯(lián)系你的供貨商尋求技術(shù)支持。
5.功能碼錯(cuò)誤返回
02 81 FF FF FF 44 7C
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
錯(cuò)誤碼: 81(此值為固定的)
異常碼: FF FF FF(此值為固定的)
CRC16校驗(yàn): 44 7C (低位在前,高位在后。)
由于本傳感器模塊相對(duì)簡(jiǎn)單,所以并不是所有的MODBUS功能碼都做在里面。在發(fā)送命令時(shí)如果返回的是此命令碼,則說(shuō)明此命令碼傳感器模塊不支持。
6.讀AD值(ASCII碼值)
命令:02 04 00 01 00 01 60 39
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
功能碼: 04(此值為固定的)
寄存器地址:00 01(此值為固定的)
寄存器數(shù)量:00 01(此值為固定的)
CRC16校驗(yàn): 60 39 (低位在前,高位在后。)
返回:~+AD(4位)+0x0d+0x0a
起始符:~ ;AD值:ASCII碼值;兩位結(jié)束符0x0d,0x0a。
本命令多用于單傳感器的串口調(diào)試,用串口助手發(fā)送此命令,可以在串口助手上直接看到傳感器的整型AD值,而不用進(jìn)行進(jìn)制轉(zhuǎn)換,方便觀察。