發(fā)布日期:2019-08-20 點擊次數(shù):93
ETME拉繩位移傳感器RS485協(xié)議說明
本傳感器使用MODBUS-RTU通訊協(xié)議,默認(rèn)波特率9600,檢驗位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校驗: 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校驗: 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校驗: 18 3A(低位在前,高位在后。)
返回: 05 06 00 01 21 29
地址碼: 05(修改后的設(shè)備地址)
功能碼: 06 (此值為固定的)
起始地址: 00 01(此值為固定的)
CRC16校驗: 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校驗: 75 77(低位在前,高位在后。)
寄存器值1和2即為波特率設(shè)定值,以57600為例即為00 00 E1 00,數(shù)據(jù)位為高位在前,低位在后,這一點和校驗位不同。
返回: 02 10 00 01 00 02 10 3B
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
功能碼: 10(此值為固定的)
寄存器地址:00 01(此值為固定的)
寄存器數(shù)量:00 02(此值為固定的)
CRC16校驗: 10 3B (低位在前,高位在后。)
4.校驗錯誤返回
02 80 55 55 55 9B 7F
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
錯誤碼: 80(此值為固定的)
異常碼: 55 55 55(此值為固定的)
CRC16校驗: 9B 7F (低位在前,高位在后。)
在發(fā)送命令時如果返回的是此命令碼,則說明本命令校驗碼錯誤,造成校驗碼錯誤的原因有可能是如下幾點:
1. 校驗碼計算錯誤
2. 校驗碼高低字節(jié)順序錯誤
3. USB轉(zhuǎn)485轉(zhuǎn)換器問題
4. 通訊線問題,通訊線請盡量用帶屏蔽雙絞線
5. 傳感器模塊損壞等
如都不能查明原因請聯(lián)系你的供貨商尋求技術(shù)支持。
5.功能碼錯誤返回
02 81 FF FF FF 44 7C
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
錯誤碼: 81(此值為固定的)
異常碼: FF FF FF(此值為固定的)
CRC16校驗: 44 7C (低位在前,高位在后。)
由于本傳感器模塊相對簡單,所以并不是所有的MODBUS功能碼都做在里面。在發(fā)送命令時如果返回的是此命令碼,則說明此命令碼傳感器模塊不支持。
6.讀AD值(ASCII碼值)
命令:02 04 00 01 00 01 60 39
地址碼: 02(此值為設(shè)備地址,根據(jù)設(shè)備地址不同而不同)
功能碼: 04(此值為固定的)
寄存器地址:00 01(此值為固定的)
寄存器數(shù)量:00 01(此值為固定的)
CRC16校驗: 60 39 (低位在前,高位在后。)
返回:~+AD(4位)+0x0d+0x0a
起始符:~ ;AD值:ASCII碼值;兩位結(jié)束符0x0d,0x0a。
本命令多用于單傳感器的串口調(diào)試,用串口助手發(fā)送此命令,可以在串口助手上直接看到傳感器的整型AD值,而不用進行進制轉(zhuǎn)換,方便觀察。
最新產(chǎn)品