, ,,,
(西北工業(yè)大學(xué)機(jī)電學(xué)院,陜西 西安 710072)
四自由度上下料工業(yè)機(jī)器人控制系統(tǒng)研究
袁順龍,白晶,秦現(xiàn)生,蘇海燕,姜萬生
(西北工業(yè)大學(xué)機(jī)電學(xué)院,陜西 西安 710072)
在數(shù)控加工行業(yè)中,要求提高加工精度和加工效率,降低生產(chǎn)成本,從而導(dǎo)致生產(chǎn)線自動化程度的提高,為了最大化地提高數(shù)控機(jī)床的加工效率,解放勞動力,上下料工業(yè)機(jī)器人在數(shù)控機(jī)床加工過程中的應(yīng)用也越來越廣泛。本次開發(fā)的控制系統(tǒng)是基于PMAC的四坐標(biāo)上下料工業(yè)機(jī)器人的控制系統(tǒng)。系統(tǒng)以PMAC運動控制器+上位機(jī)為控制平臺。PMAC運動控制器控制各個伺服電機(jī)的運動;基于PMAC編寫的上位機(jī)人機(jī)界面用來實時監(jiān)控狀態(tài)和完成用戶對整個系統(tǒng)的基本控制。功能豐富完整,具有實施價值。
四坐標(biāo)上下料機(jī)器人控制系統(tǒng);PMAC運動控制器;人機(jī)界面
目前,上下料工業(yè)機(jī)器人在工業(yè)生產(chǎn)中應(yīng)用越來越廣泛,而且實際加工過程和加工方式多樣化和加工工序、加工工件的不同,從而也使得上下料工業(yè)機(jī)器人設(shè)計上的多樣化和專一化。而對于一個好的上下料工業(yè)機(jī)器人來說,不僅需要有好的機(jī)械結(jié)構(gòu),而且也需要簡單、易于操作的控制系統(tǒng)。對基于PMAC運動控制卡的四坐標(biāo)上下料工業(yè)機(jī)器人的控制系統(tǒng)進(jìn)行研究。
四坐標(biāo)上下料工業(yè)機(jī)器人的運動控制原理圖如圖1所示。圖中PMAC是由美國泰道公司研發(fā)的基于DSP處理的運動控制卡,PMAC可以實現(xiàn)同時控制8軸獨立運動,具有響應(yīng)快,控制精度高和開發(fā)周期短等特點。目前,在國外主要應(yīng)用于工業(yè)機(jī)器人和數(shù)控系統(tǒng)等伺服裝置中。PMAC具有靈活的開發(fā)環(huán)境,可以通過類似C++的高級語言(Power PMAC還可以用C語言)、C#等編程工具在上位機(jī)中對PMAC進(jìn)行二次開發(fā)控制多軸運動。PMAC向用戶提供了控制多軸運動,提供了運動控制、可編程邏輯控制、同主機(jī)交互等基本功能;并具有各種現(xiàn)場總線和多種反饋裝置接口。PMAC與工控機(jī)的通信方法主要有兩種:一種是總線連接,另一種是DPRAM連接。工控機(jī)和PMAC之間通信時通過PMAC記性跳線,然后在工控機(jī)上找到PMAC的物理地址。DPRAM在工控機(jī)和PMAC上都有固定的存儲單元,兩者分時讀取固定的存儲單元,從而實現(xiàn)上位機(jī)與PMAC之間的通信[1]。
圖1 補償后誤差曲線
四坐標(biāo)上下料工業(yè)機(jī)器人主要實現(xiàn)對圖中機(jī)床1和機(jī)床2的上下料。圖1中,氣爪1和氣爪2是采用的FESTO的平行氣爪,控制兩個氣爪的電磁閥將分別接在PMAC向用戶提供的I/O接口上,控制氣爪的張開和閉合。
四坐標(biāo)上下料工業(yè)機(jī)器人中的驅(qū)動器是使用松下的三相伺服驅(qū)動器,編碼器為絕對式編碼器(系統(tǒng)在斷電后仍可以記住自己的運動位置),分辨率為10000。
電機(jī)是松下的帶有制動的伺服電機(jī)。
PMAC具有靈活的開發(fā)環(huán)境,C/C++是其專用的開發(fā)環(huán)境,同時PAMC還提供了其他開發(fā)環(huán)境的接口,如VB,C#等。四坐標(biāo)上下料工業(yè)機(jī)器人的人機(jī)界面就采用的是C#。C#是一種安全的、穩(wěn)定的和簡單的編程語言,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強大功能的同時去掉了一些它們的復(fù)雜特性。C#綜合了VB簡單的可視化操作和C++的高運行效率,C#以其強大的操作能力、創(chuàng)新的語言特性和便捷的面向組件編程成為嵌入式開發(fā)的首選語言[2-3]。
C#編寫的人機(jī)界面中的各個電機(jī)速度和位置等參數(shù)的顯示和電機(jī)實時狀態(tài)的監(jiān)控等功能,是通過PMAC開發(fā)者提供的動態(tài)鏈接庫Interop.PCOMMSERVERLib.dll中的函數(shù)來實現(xiàn)的。其中,上位機(jī)讀取和寫入PMAC變量值的函數(shù)為GetresponseEx()。系統(tǒng)軟件的工作機(jī)理如圖2所示。
圖2 系統(tǒng)軟件的工作機(jī)理
四坐標(biāo)上下料工業(yè)機(jī)器人人機(jī)界面組成部分如圖3所示,其主要作用是:在設(shè)備第一次運行時,為確定機(jī)器人的運行軌跡,對機(jī)器人進(jìn)行示教,實時顯示機(jī)器人末端執(zhí)行器的坐標(biāo)和狀態(tài),實時監(jiān)視機(jī)器人的運行狀態(tài),對整個四坐標(biāo)上下料工業(yè)機(jī)器人控制系統(tǒng)的報警信息的顯示。
人機(jī)界面對不同操作人員的權(quán)限設(shè)置如圖4所示。
圖3 人機(jī)界面組成
圖4 人機(jī)界面權(quán)限設(shè)置
a.登陸界面。用戶可以根據(jù)已授權(quán)的用戶名和用戶密碼登陸四坐標(biāo)上下料工業(yè)機(jī)器人的控制系統(tǒng)。系統(tǒng)根據(jù)用戶信息判斷用戶的權(quán)限,用戶的權(quán)限被分為操作人員、維護(hù)人員和管理人員。登陸成功后系統(tǒng)也會根據(jù)用戶權(quán)限,分別向用戶開放不同的界面。
b.狀態(tài)監(jiān)控界面。狀態(tài)監(jiān)控界面向三種用戶權(quán)限都開放。界面中包括用戶操作區(qū)域和狀態(tài)監(jiān)控區(qū)域。用戶操作區(qū)域包括程序運行、暫停、繼續(xù)、復(fù)位和停止按鈕。實現(xiàn)控制系統(tǒng)的運行,暫停、繼續(xù)、各個電機(jī)的復(fù)位和程序停止等功能。狀態(tài)監(jiān)控區(qū)域包括實時監(jiān)控機(jī)器人系統(tǒng)中各個電機(jī)的位置、速度,根據(jù)電機(jī)位置判斷各個電機(jī)是否達(dá)到正負(fù)限位,能夠?qū)崟r監(jiān)控加工工件的個數(shù)和四坐標(biāo)上下料工業(yè)機(jī)器人運行在各個工位時詳細(xì)的過程的監(jiān)控。
c.用戶管理界面。用戶管理界面只向管理人員開放。界面中用戶管理人員可以添加新用戶,修改和刪除用戶信息。
d.位置示教界面。位置示教界面向維護(hù)人員開放。界面中維護(hù)人員可以向系統(tǒng)中添新的工件信息,由于工件尺寸的變化,需要對四坐標(biāo)上下料工業(yè)機(jī)器人進(jìn)行新的示教,用戶可以手動分別控制四個電機(jī),當(dāng)機(jī)器人的末端執(zhí)行器到達(dá)關(guān)鍵點時,系統(tǒng)可以將其坐標(biāo)記錄下,并存入數(shù)據(jù)庫中。當(dāng)點擊狀態(tài)界面中的程序運行按鈕時,系統(tǒng)將從數(shù)據(jù)庫中讀取關(guān)鍵點坐標(biāo)并將其傳送給PMAC中的控制程序。為了方便用戶人員進(jìn)行位置示教,用戶還可以在界面中更改電機(jī)的速度。
e.I/O監(jiān)控界面。I/O監(jiān)控界面向維護(hù)人員開放。在界面中維護(hù)人員可以監(jiān)控機(jī)床1、機(jī)床2和四坐標(biāo)上下料工業(yè)機(jī)器人控制系統(tǒng)通信的I/O接口,當(dāng)機(jī)器人與機(jī)床通信出現(xiàn)故障時,維護(hù)人員可以通過此界面對I/O接口進(jìn)行維修。
PMAC開發(fā)者為用戶提供了Interop.PCOMMSERVERLib.dll動態(tài)鏈接庫來實現(xiàn)上位機(jī)與PMAC的通信,四坐標(biāo)上下料工業(yè)機(jī)器人系統(tǒng)中PMAC與上位機(jī)的通信方式為DPRAM連接。而動態(tài)鏈接庫Interop.PCOMMSERVERLib.dll是上位機(jī)和PMAC控制卡連接的橋梁。所以如何應(yīng)用動態(tài)連接庫至關(guān)重要。其中,PMAC動態(tài)鏈接庫的主要作用是,通信連接PMAC;讀取和設(shè)置PMAC變量值;ASCII通信連接和控制功能[4]。
在PMAC的動態(tài)鏈接庫中有些關(guān)鍵的函數(shù),如上位機(jī)在更改和讀取PMAC的變量時常用的函數(shù)為GetResponseEx();在界面中將實時編寫的程序傳遞給PMAC時用到函數(shù)為DownLoad()。
a.PMAC動態(tài)鏈接庫加載函數(shù)。在C#中程序語句為using PCOMMSERVERLib;PCOMMSERVERLib. PmacDevice pmac = new PmacDeviceClass();就可將PMAC動態(tài)連接庫加載到C#編寫的控制系統(tǒng)中。
b.選擇、打開和關(guān)閉設(shè)備 PMAC動態(tài)鏈接庫中為用戶提供了設(shè)備選擇函數(shù)SelectDevice(),本函數(shù)中包含32個設(shè)備號,分別為0~31[5]。也就是說,用戶可也同時連接32臺PMAC運動控制器;當(dāng)選擇好設(shè)備號后,用戶設(shè)置PMAC運動控制器通信的物理地址,用以太網(wǎng)便可將上位機(jī)和PMAC運動控制器連接起來;函數(shù)Open()是上位機(jī)和PMAC控制卡建立通信的函數(shù),函數(shù)包含2個參數(shù),第1個是輸入?yún)?shù)為設(shè)備號,第2個是輸出參數(shù)為0或1,當(dāng)數(shù)字為1時,代表上位機(jī)與PMAC控制卡通信成功,當(dāng)數(shù)字為0時,則代表通信失??;函數(shù)Close()是斷開上位機(jī)與PMAC運控控制卡的通信。實現(xiàn)選擇、打開和關(guān)閉設(shè)備的程序主要段為:
Public static PCOMMSERVERLib.PmacDeviceClass Pmac;
public int m_nDevice;
public bool m_bDeviceOpen;
int dev = m_nDevice;
bool bSuccess = false;
string str;
Pmac.SelectDevice(0,out dev,out bSuccess);
if(bSuccess)
{
Messbox.show(“設(shè)備連接正?!?,“提示”)
}
else
{
Messbox.Show(“設(shè)備未成功連接,請確認(rèn)”,“提示”);
}
Close();
c.運動程序的加載。PMAC運動控制器中實時控制程序包括插補程序、伺服驅(qū)動、PLC監(jiān)視模塊和運動控制程序模塊。PMAC的執(zhí)行方式跟PLC中程序執(zhí)行方式一樣,同樣為循環(huán)掃描。在狀態(tài)監(jiān)控界面中包括程序運行、暫停、繼續(xù)、暫停、復(fù)位和停止。由于四坐標(biāo)上下料工業(yè)機(jī)器人功能專一,四坐標(biāo)上下料工業(yè)機(jī)器人的運動控制程序也就可以固定不變 。可將編好的運動控制程序下載到PMAC運動控制卡中。當(dāng)監(jiān)控界面上的程序運行按鈕按下后,PMAC運控控制器內(nèi)部開始執(zhí)行運動控制程序[6]。現(xiàn)以加工管接件為例,四坐標(biāo)上下料工業(yè)機(jī)器人的工作流程如圖5所示。
圖5 工作流程
d.程序監(jiān)控。由于PMAC運動控制器上集成有I/O接口,通過這些接口可以實現(xiàn)四坐標(biāo)上下料工業(yè)機(jī)器人系統(tǒng)與兩個機(jī)床間的握手通訊。實現(xiàn)上下料工業(yè)機(jī)器人和機(jī)床的協(xié)調(diào)運動。可監(jiān)控四坐標(biāo)上下料工業(yè)機(jī)器人末端執(zhí)行器的氣爪是否成功夾取工件,根據(jù)PMAC動態(tài)鏈接庫中函數(shù)GetresponEX(),實時監(jiān)控四坐標(biāo)上下料工業(yè)機(jī)器人系統(tǒng)中各個電機(jī)的狀態(tài)和位置。
介紹了基于PMAC運動控制卡的上下料工業(yè)機(jī)器人控制系統(tǒng),系統(tǒng)通過上位機(jī)編寫的人機(jī)界面,充分利用PAMC動態(tài)鏈接庫,實現(xiàn)人機(jī)交互。本次開發(fā)的控制系統(tǒng)已經(jīng)應(yīng)用工業(yè)生產(chǎn)線上,并取得了良好的效果。具有簡單易操作、系統(tǒng)穩(wěn)定和人機(jī)交互性好等優(yōu)點。
[1] Delta Tau Data System,Inc. Turbo PMAC User Manual.pdf[EB/OL]. http://www.deltatau.com,2004,3-16.
[2] 沃森,內(nèi)格爾,等.c#入門經(jīng)典[M].齊立波 ,譯.北京:清華大學(xué)出版社,2010.
[3] 海杰爾斯伯格,韋爾特馬瑟,戈爾德.C#編程語言詳解[M].韓江,王秀慧 ,譯.北京:電子工業(yè)出版社,2007.
[4] Delta Tau Data System,Inc.Pcomm Server.pdf [EB/OL].http://www.deltatau.com,2005,37-40,12-18.
[5] PM A C-litehard-warereferance[Z].Delta Tau Data System.Inc,1998.
[6] 劉世成.工業(yè)機(jī)器人路徑規(guī)劃算法研究[D].沈陽:沈陽工業(yè)大學(xué),2004.
Control System Research of Industrial Robot With Four Degrees of Freedom for Loading and Unloading Workpieces
YUANShunlong,BAIJing,QINXiansheng,SUHaiyan,JIANGWansheng
(School of Mechanical Engineering,Northwestern Polytechnical University,Xi’an 710072,China)
In the numerical control processing industry,more and more demand to improve machining precision and machining efficiency and reduce production costs.This lead to the improvement of automation production line.In order to improve the efficiency of numerical control machine tool processing and liberate the workforce,loading and unloading of industrial robots application in CNC machine tool processing is becoming more and more widely.The development of the control system is based on four coordinate with PMAC and industrial robot control system.This system with PMAC motion controller + PC as control platform.PMAC motion controller control the movement of each servo motor.Man-machine interface based on with PMAC used to real-time monitoring status and complete the user the basic control of the whole system.This have feature-rich and complete implementation.
four coordinate loading robot control system;PMAC motion controller;the man-machine interface
2014-06-09
陜西省科技統(tǒng)籌創(chuàng)新工程計劃項目(2012KTCQ01-15)
TP212
A
1001-2257(2014)11-0061-04
袁順龍(1989-),男,山東泗水人,碩士研究生,研究方向為先進(jìn)機(jī)械電子裝置與數(shù)控系統(tǒng)。