摘要:利用松下(FPG)可編程控制器(MTRN) RS-485通信指令,實現單臺控制器和與多臺廈門[宇電]AI儀表的串行通信控制,并能實時檢測各儀表的運行狀態.
關鍵詞:可編程控制器 MTRN通信指令 RS-485通信協議 AI儀表控制
引言:工業場合中,經常要用一些儀表去控制,如溫度.液位.流量等.在某些場合,需要1臺控制器靈活地控制多臺儀表,以達到設計控制目的.
本文利用日本松下可編程控制器(MTRN) RS-485通信指令,方便的實現與多臺廈門[宇電]AI儀表的串行通信.成功的實現了用單臺控制器對多臺儀表的靈活控制。
可編程控制器允許在一個RS-485通信接口上連接多達101臺[宇電]儀表,儀表大于60臺時,需加一個RS-485中繼器,RS-485通信口通信距離長達1KM以上。
一、宇電AI儀表的串口通信協議
對于AI儀表其通信方式為RS-485, (1個起始位,1個或2個停止位,8位數據,無奇偶校驗)通信傳輸數據的波特率(1.2K 2.4K 4.8K 9.6K 19.2K 可在儀表叁數baud中設定)
二、系統的總體設計
圖1為系統的總體設計方框圖,這里重點突出可編程控制器與AI儀表RS-485接口部分。在工業現場,RS-485通信是應用較多的一種通信方式,圖中可編程控制器通過RS-485通信接口與多個AI儀表相連接,zui多可達到101臺,每臺儀表被賦予各自的地址碼,用以識別身份,( 地址碼可在儀表叁數Addr中設定).這樣可編程控制器的RS-485通信口便能通過通信線對掛在下面的所有儀表進行控制操作。
圖1:系統的總體方框圖 |
三、儀表接收和發送的通信協議如下 (1)AI儀表接收控制的通信協議
ADDR:為一個16位數據,占用二個字節,其數值范圍16進制的80H-BFH,兩個字必需相同,ADDR=儀表地址+80H 例:儀表地址為1 則ADDR=8181H
叁數代碼:為一個8位數據,占用一個字節,詳見_?宇電通信協通信說明書?中的叁數代碼表格
讀寫指令: 為一個8位數據,占用一個字節,讀=(16進制)52H 寫=(16進制)43H
要寫入的叁數內容:為一個16位數據,占用二個字節.如SV值.上限報警.下限報警.Ctrl控制方式.等.
校驗碼: 為一個16位數據,占用二個字節. 校驗碼=ADDR+叁數代碼*256+讀寫指令+要寫入的叁數內容
例:儀表地址=1 要寫入叁數代碼00H,要寫入的叁數內容SV設定值=1234 (十六進制=4D2) 則公式如下:
01H+(00HX256)+43H+4D2 =516H校驗碼
(2)AI儀表返回通信協議
無論是讀或寫儀表都返回以下數據
PV測量值:為1個16位數據,占用二個字節
SV設定值:為1個16位數據,占用二個字節
輸出值MV: 為1個8位數據,占用一個字節
報警狀態: 為1個8位數據,占用一個字節
所讀/寫叁數值: 為1個16位數據,占用二個字節
校驗碼: 為1個16位數據,占用二個字節 校驗碼計算詳見?宇電通信協議說明書? 。
四、AI儀表和可編程控制器接線圖
[宇電]AI儀表------松下FPG可編程控制器
五、 AI儀表和可編程控制器通信應用例子程序
例: 將叁數代碼00H,(SV設定值)寫入地址1儀表,和讀取地址1儀表的PV測量值。
(1)儀表通信格式設定
1個起始位,1個停止位,8位數據,無奇偶校驗.
設定通信傳輸數據的波特率baud=19.2K
設定儀表地址Addr=1
校驗碼自動計算
(2)可編程控制器通信格式設定 圖2
注: 圖2叁數比須設為和儀表一樣
圖2 |
(3)數據設定和校驗碼計算 圖3
圖3 |
程序中改變DT32710就等于改變了SV設定值.
(4)數據發送 圖4
圖4 |
(5)數據接收 圖5
圖5 |
通信正常狀態下. 儀表面板上com燈將“亮”“滅”閃爍.
結束語:
本文利用松下可編程控制器和AI儀表進行RS-485通信,實現了單臺控制器控制多臺AI儀表的任務,并能實時檢測各儀表的運行狀態,整個系統控制靈活方便, 方案結構簡單,開發成本低,周期短,既使在惡劣的工業環境下也能穩定工作。