1 引言
由于可靠性高、抗干擾能力好、接口功能強、使用方便等優(yōu)點,PLC在工業(yè)機器人控制領域中得到了廣泛應用。但是PIE無法進行復雜的運算和顯示各種實時控制圖表,人機交互性差、管理人員不能及時了解現場情況,為彌補PLC這方面的不足,這就需要采用一套PC-PLC監(jiān)控管理系統。而在該系統中,其最主要的問題便是PC與PLC之間的通信,為此,用VB下的PLC通信開發(fā)的工業(yè)機器人監(jiān)控系統
2 系統構成
工業(yè)機器人監(jiān)控系統構成,如圖1示。
圖1 系統構成
在監(jiān)控系統中,上位機的主要任務是獲取機器人的信息,完成機器人運動在上位機上的實時顯示,在機器人出現故障時上位機可控制機器人工作,并及時報警以便盡快修復故障;下位機采用三菱Fx系列PLC,其主要任務是對機器人的運動進行控制,獲取和存儲機器人的狀態(tài)信息,發(fā)生故障時按上位機命令執(zhí)行。
3 通信協議
計算機與PLC之問采用主從應答方式,計算機始終具有初始傳送優(yōu)先權,根據需要向PLC發(fā)出讀寫命令;下位機處于被動狀態(tài)響應上位機的命令。上位機讀數據時通過通信口向PLC發(fā)出讀數據命令,PLC響應命令并將數據傳回上位機,上位機通過讀通信口即可取的所需數據;寫數據時,上位機通過通信口向PLC發(fā)出寫命令及數據,PLC即可接收。當PLC投能正確響應時,PLC返回投能正確響應標志。此外PIE通信模塊還有其它命令代碼,上位機發(fā)出不同的命令,PLC便能做出相應的響應。
為了使計算機和PLC建立起正確的通信,還必須在PLC的特殊寄存器作相應的設置。D8120用來設置數據長度、校驗形式、渡特率和協議方式;D8121用來設置站號,設置范圍為O0H—OFH;D8129用來設置校驗時間。上位機與PIE的通信協議可有多種格式,在我們設計的工業(yè)機器人監(jiān)控系統中采用的協議格式如下:
(1)計算機從PLC讀取數據
(2)計算機向PLC寫數據
主要控制字符含義如下: ENQ:計算機的請求信號; ACK:無校驗錯誤,PLC的應答信號; NAK:檢查到錯誤時,PLC的應答信號; SIX:信息幀開始標志; ETX:信息幀結束標志。
4 系統軟件設計
4.1 上位機軟件設計
由于Visual Basic 6.0是WhMows環(huán)境下簡單、易學墑效的可視化編程語言開發(fā)系統,以其所見所得的可視化界面設計風格和面向對象的程序設計等特點,已廣泛地應用于各個領域,是很多計算機軟件開發(fā)人員開發(fā)的工具 VB6.0不但提供了良好的界面設計能力,而且在微機串口通信方面也有很強的
功能,它提供了具有強大功能的通信控件MSConxn。該控件可設置用來發(fā)送和接收二進制數據或ASCII碼數據,可對串口狀態(tài)及串口通信的信息格式進行設置,實現對下位機地址和數據的接收和發(fā)送,達到多機通信的目的。
MSComm控件有很多重要屬性,其中最主要的有:
Cornna Port屬性。設置并返回通信端口號;
Settings屬性。以字符串的形式設置并返回波特率、奇偶校驗、數據位、停止位;
PortOpen屬性。設置并返回通信端口的狀態(tài),也可打開和關閉端口;
IputLen屬性。設置并返回Input每次讀出的字符數;
Inputt屬性。從接收緩沖區(qū)返回和刪除字符;
OutPut屬性。向傳送緩沖區(qū)寫一個字符串;
InbuferCount屬性。接收緩沖區(qū)中的字節(jié)數。
在通信中,采用查詢方式,通過lnbm%rCount屬性值來判斷輸入緩沖區(qū)是否接收到所需的字符。下面以1 站為例說明計算機同PLC的主要通信程序。
4.2 下位機軟件設計
下位機軟件,除了控制工業(yè)機器人外,還得設置同通信有關的寄存器的參數。1站PLC與通信有關的主要梯形圖,如圖2示。
圖2 PLC通信的梯形囤
5 結論
該監(jiān)控系統的運行表明,用VB的MSComm控件設計的實時通信軟件可靠、穩(wěn)定,能很好地滿足在任務比較簡單時的監(jiān)控系統的要求。
(審核編輯: 智匯李)
分享