剛買(mǎi)了個(gè)傳感器。。。有那個(gè)高手指點(diǎn)下三菱PLC怎樣和它通訊讀取壓力?
HM29 數字壓力傳感器通訊協(xié)議
該協(xié)議按照標準的主從格式設計,主機發(fā)送給從機一條含
有從機地址的指令,從機得到正確的地址驗證后返回信息。(無(wú)
奇偶校驗、8 位數據、1 位停止位)
讀取數據
$ H X1 E X2 L C D M
$ :開(kāi)始字符;
X1: 從機地址的十位數;
X2: 從機地址的個(gè)位數;
HELCDM :為容錯符號,為大寫(xiě)。
如需要讀取01號傳感器的數據,則發(fā)送:$ H 0 E 1LCDM
如需要讀取12號傳感器的數據,則發(fā)送:$ H1 E 2LCDM
二、從機返回數據:(通訊使用ASCII碼)
共18 位
{ UNIT D5 D4 D3 D2 D1 DP }(壓力)
[ UNIT D5 D4 D3 D2 D1 DP ] (溫度)
{ : 返回數據的啟示符;
UNIT:從機的單位:
0-KPa; 1-MPa; 2-m; 3-Pa; 4-Kg; 5-bar; 6-°C;
D5: 返回數據的萬(wàn)位;(數據類(lèi)型為有符號整形)
D4: 返回數據的千位;
D3: 返回數據的百位;
D2: 返回數據的十位;
D1: 返回數據的個(gè)位;
DP : 小數點(diǎn)位置:
0 代表沒(méi)有小數點(diǎn);1 代表有1 位小數點(diǎn);
2 代表有2 位小數點(diǎn);3 代表有3 位小數點(diǎn);
(出廠(chǎng)量程設置的時(shí)候確定的該參數)
} :返回數據的結束符;
注意:D1~D5 的組合問(wèn)題在從機中原數為 int(有符號整形);
從機程序中如下處理:
D5= 原數/10000+0x30; //分解并組成ASCII碼
D4= 原數/1000%10+0x30;
D3= 原數/100%10+0x30;
D2= 原數/10%10+0x30;
D1= 原數%10+0x30;
“{ }”內數據為壓力,“ [ ] ”內數據為溫度值,通過(guò)單位也可分別。
例如:返回{5120003} 代表:12.000bar