c002c014
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看c002c014的 主題 / 回貼
樓主  發(fā)表于: 2010-11-18 21:41
剛買了個傳感器。。。有那個高手指點下三菱PLC怎樣和它通訊讀取壓力?
HM29 數(shù)字壓力傳感器通訊協(xié)議
該協(xié)議按照標準的主從格式設計,主機發(fā)送給從機一條含
有從機地址的指令,從機得到正確的地址驗證后返回信息。(無
奇偶校驗、8 位數(shù)據(jù)、1 位停止位)
讀取數(shù)據(jù)
$ H X1 E X2 L C D M
$ :開始字符;
X1: 從機地址的十位數(shù);
X2: 從機地址的個位數(shù);
HELCDM :為容錯符號,為大寫。
如需要讀取01號傳感器的數(shù)據(jù),則發(fā)送:$ H 0 E 1LCDM
如需要讀取12號傳感器的數(shù)據(jù),則發(fā)送:$ H1 E 2LCDM
二、從機返回數(shù)據(jù):(通訊使用ASCII碼)
共18 位
{ UNIT D5 D4 D3 D2 D1 DP }(壓力)
[ UNIT D5 D4 D3 D2 D1 DP ] (溫度)
{ : 返回數(shù)據(jù)的啟示符;
UNIT:從機的單位:
0-KPa; 1-MPa; 2-m; 3-Pa; 4-Kg; 5-bar; 6-°C;
D5: 返回數(shù)據(jù)的萬位;(數(shù)據(jù)類型為有符號整形)
D4: 返回數(shù)據(jù)的千位;
D3: 返回數(shù)據(jù)的百位;
D2: 返回數(shù)據(jù)的十位;
D1: 返回數(shù)據(jù)的個位;
DP : 小數(shù)點位置:
0 代表沒有小數(shù)點;1 代表有1 位小數(shù)點;
2 代表有2 位小數(shù)點;3 代表有3 位小數(shù)點;
(出廠量程設置的時候確定的該參數(shù))
} :返回數(shù)據(jù)的結束符;
注意:D1~D5 的組合問題在從機中原數(shù)為 int(有符號整形);
從機程序中如下處理:
D5= 原數(shù)/10000+0x30; //分解并組成ASCII碼
D4= 原數(shù)/1000%10+0x30;
D3= 原數(shù)/100%10+0x30;
D2= 原數(shù)/10%10+0x30;
D1= 原數(shù)%10+0x30;
“{ }”內數(shù)據(jù)為壓力,“ [ ] ”內數(shù)據(jù)為溫度值,通過單位也可分別。
例如:返回{5120003} 代表:12.000bar
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5212 個
工控威望: 7436 點
下載積分: 159053 分
在線時間: 3173(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-26
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2010-11-19 09:37
使用485BD配合RS指令。
編程之前建議使用串口調試助手搞清楚需要發(fā)送的字符以及返回的字符,然后在PLC照著這些字符發(fā)送和接收。
c1364441
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 193 個
工控威望: 326 點
下載積分: 13233 分
在線時間: 79(小時)
注冊時間: 2011-03-17
最后登錄: 2018-08-02
查看c1364441的 主題 / 回貼
2樓  發(fā)表于: 2011-05-13 18:05
學習中。