, ,,,
(西北工業(yè)大學(xué)機(jī)電學(xué)院,陜西 西安 710072)
四自由度上下料工業(yè)機(jī)器人控制系統(tǒng)研究
袁順龍,白晶,秦現(xiàn)生,蘇海燕,姜萬生
(西北工業(yè)大學(xué)機(jī)電學(xué)院,陜西 西安 710072)
在數(shù)控加工行業(yè)中,要求提高加工精度和加工效率,降低生產(chǎn)成本,從而導(dǎo)致生產(chǎn)線自動(dòng)化程度的提高,為了最大化地提高數(shù)控機(jī)床的加工效率,解放勞動(dòng)力,上下料工業(yè)機(jī)器人在數(shù)控機(jī)床加工過程中的應(yīng)用也越來越廣泛。本次開發(fā)的控制系統(tǒng)是基于PMAC的四坐標(biāo)上下料工業(yè)機(jī)器人的控制系統(tǒng)。系統(tǒng)以PMAC運(yùn)動(dòng)控制器+上位機(jī)為控制平臺(tái)。PMAC運(yùn)動(dòng)控制器控制各個(gè)伺服電機(jī)的運(yùn)動(dòng);基于PMAC編寫的上位機(jī)人機(jī)界面用來實(shí)時(shí)監(jiān)控狀態(tài)和完成用戶對(duì)整個(gè)系統(tǒng)的基本控制。功能豐富完整,具有實(shí)施價(jià)值。
四坐標(biāo)上下料機(jī)器人控制系統(tǒng);PMAC運(yùn)動(dòng)控制器;人機(jī)界面
目前,上下料工業(yè)機(jī)器人在工業(yè)生產(chǎn)中應(yīng)用越來越廣泛,而且實(shí)際加工過程和加工方式多樣化和加工工序、加工工件的不同,從而也使得上下料工業(yè)機(jī)器人設(shè)計(jì)上的多樣化和專一化。而對(duì)于一個(gè)好的上下料工業(yè)機(jī)器人來說,不僅需要有好的機(jī)械結(jié)構(gòu),而且也需要簡(jiǎn)單、易于操作的控制系統(tǒng)。對(duì)基于PMAC運(yùn)動(dòng)控制卡的四坐標(biāo)上下料工業(yè)機(jī)器人的控制系統(tǒng)進(jìn)行研究。
四坐標(biāo)上下料工業(yè)機(jī)器人的運(yùn)動(dòng)控制原理圖如圖1所示。圖中PMAC是由美國泰道公司研發(fā)的基于DSP處理的運(yùn)動(dòng)控制卡,PMAC可以實(shí)現(xiàn)同時(shí)控制8軸獨(dú)立運(yùn)動(dòng),具有響應(yīng)快,控制精度高和開發(fā)周期短等特點(diǎn)。目前,在國外主要應(yīng)用于工業(yè)機(jī)器人和數(shù)控系統(tǒng)等伺服裝置中。PMAC具有靈活的開發(fā)環(huán)境,可以通過類似C++的高級(jí)語言(Power PMAC還可以用C語言)、C#等編程工具在上位機(jī)中對(duì)PMAC進(jìn)行二次開發(fā)控制多軸運(yùn)動(dòng)。PMAC向用戶提供了控制多軸運(yùn)動(dòng),提供了運(yùn)動(dòng)控制、可編程邏輯控制、同主機(jī)交互等基本功能;并具有各種現(xiàn)場(chǎng)總線和多種反饋裝置接口。PMAC與工控機(jī)的通信方法主要有兩種:一種是總線連接,另一種是DPRAM連接。工控機(jī)和PMAC之間通信時(shí)通過PMAC記性跳線,然后在工控機(jī)上找到PMAC的物理地址。DPRAM在工控機(jī)和PMAC上都有固定的存儲(chǔ)單元,兩者分時(shí)讀取固定的存儲(chǔ)單元,從而實(shí)現(xiàn)上位機(jī)與PMAC之間的通信[1]。
圖1 補(bǔ)償后誤差曲線
四坐標(biāo)上下料工業(yè)機(jī)器人主要實(shí)現(xiàn)對(duì)圖中機(jī)床1和機(jī)床2的上下料。圖1中,氣爪1和氣爪2是采用的FESTO的平行氣爪,控制兩個(gè)氣爪的電磁閥將分別接在PMAC向用戶提供的I/O接口上,控制氣爪的張開和閉合。
四坐標(biāo)上下料工業(yè)機(jī)器人中的驅(qū)動(dòng)器是使用松下的三相伺服驅(qū)動(dòng)器,編碼器為絕對(duì)式編碼器(系統(tǒng)在斷電后仍可以記住自己的運(yùn)動(dòng)位置),分辨率為10000。
電機(jī)是松下的帶有制動(dòng)的伺服電機(jī)。
PMAC具有靈活的開發(fā)環(huán)境,C/C++是其專用的開發(fā)環(huán)境,同時(shí)PAMC還提供了其他開發(fā)環(huán)境的接口,如VB,C#等。四坐標(biāo)上下料工業(yè)機(jī)器人的人機(jī)界面就采用的是C#。C#是一種安全的、穩(wěn)定的和簡(jiǎn)單的編程語言,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性。C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,C#以其強(qiáng)大的操作能力、創(chuàng)新的語言特性和便捷的面向組件編程成為嵌入式開發(fā)的首選語言[2-3]。
C#編寫的人機(jī)界面中的各個(gè)電機(jī)速度和位置等參數(shù)的顯示和電機(jī)實(shí)時(shí)狀態(tài)的監(jiān)控等功能,是通過PMAC開發(fā)者提供的動(dòng)態(tài)鏈接庫Interop.PCOMMSERVERLib.dll中的函數(shù)來實(shí)現(xiàn)的。其中,上位機(jī)讀取和寫入PMAC變量值的函數(shù)為GetresponseEx()。系統(tǒng)軟件的工作機(jī)理如圖2所示。
圖2 系統(tǒng)軟件的工作機(jī)理
四坐標(biāo)上下料工業(yè)機(jī)器人人機(jī)界面組成部分如圖3所示,其主要作用是:在設(shè)備第一次運(yùn)行時(shí),為確定機(jī)器人的運(yùn)行軌跡,對(duì)機(jī)器人進(jìn)行示教,實(shí)時(shí)顯示機(jī)器人末端執(zhí)行器的坐標(biāo)和狀態(tài),實(shí)時(shí)監(jiān)視機(jī)器人的運(yùn)行狀態(tài),對(duì)整個(gè)四坐標(biāo)上下料工業(yè)機(jī)器人控制系統(tǒng)的報(bào)警信息的顯示。
人機(jī)界面對(duì)不同操作人員的權(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)也會(huì)根據(jù)用戶權(quán)限,分別向用戶開放不同的界面。
b.狀態(tài)監(jiān)控界面。狀態(tài)監(jiān)控界面向三種用戶權(quán)限都開放。界面中包括用戶操作區(qū)域和狀態(tài)監(jiān)控區(qū)域。用戶操作區(qū)域包括程序運(yùn)行、暫停、繼續(xù)、復(fù)位和停止按鈕。實(shí)現(xiàn)控制系統(tǒng)的運(yùn)行,暫停、繼續(xù)、各個(gè)電機(jī)的復(fù)位和程序停止等功能。狀態(tài)監(jiān)控區(qū)域包括實(shí)時(shí)監(jiān)控機(jī)器人系統(tǒng)中各個(gè)電機(jī)的位置、速度,根據(jù)電機(jī)位置判斷各個(gè)電機(jī)是否達(dá)到正負(fù)限位,能夠?qū)崟r(shí)監(jiān)控加工工件的個(gè)數(shù)和四坐標(biāo)上下料工業(yè)機(jī)器人運(yùn)行在各個(gè)工位時(shí)詳細(xì)的過程的監(jiān)控。
c.用戶管理界面。用戶管理界面只向管理人員開放。界面中用戶管理人員可以添加新用戶,修改和刪除用戶信息。
d.位置示教界面。位置示教界面向維護(hù)人員開放。界面中維護(hù)人員可以向系統(tǒng)中添新的工件信息,由于工件尺寸的變化,需要對(duì)四坐標(biāo)上下料工業(yè)機(jī)器人進(jìn)行新的示教,用戶可以手動(dòng)分別控制四個(gè)電機(jī),當(dāng)機(jī)器人的末端執(zhí)行器到達(dá)關(guān)鍵點(diǎn)時(shí),系統(tǒng)可以將其坐標(biāo)記錄下,并存入數(shù)據(jù)庫中。當(dāng)點(diǎn)擊狀態(tài)界面中的程序運(yùn)行按鈕時(shí),系統(tǒng)將從數(shù)據(jù)庫中讀取關(guān)鍵點(diǎ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)故障時(shí),維護(hù)人員可以通過此界面對(duì)I/O接口進(jìn)行維修。
PMAC開發(fā)者為用戶提供了Interop.PCOMMSERVERLib.dll動(dòng)態(tài)鏈接庫來實(shí)現(xiàn)上位機(jī)與PMAC的通信,四坐標(biāo)上下料工業(yè)機(jī)器人系統(tǒng)中PMAC與上位機(jī)的通信方式為DPRAM連接。而動(dòng)態(tài)鏈接庫Interop.PCOMMSERVERLib.dll是上位機(jī)和PMAC控制卡連接的橋梁。所以如何應(yīng)用動(dòng)態(tài)連接庫至關(guān)重要。其中,PMAC動(dòng)態(tài)鏈接庫的主要作用是,通信連接PMAC;讀取和設(shè)置PMAC變量值;ASCII通信連接和控制功能[4]。
在PMAC的動(dòng)態(tài)鏈接庫中有些關(guān)鍵的函數(shù),如上位機(jī)在更改和讀取PMAC的變量時(shí)常用的函數(shù)為GetResponseEx();在界面中將實(shí)時(shí)編寫的程序傳遞給PMAC時(shí)用到函數(shù)為DownLoad()。
a.PMAC動(dòng)態(tài)鏈接庫加載函數(shù)。在C#中程序語句為using PCOMMSERVERLib;PCOMMSERVERLib. PmacDevice pmac = new PmacDeviceClass();就可將PMAC動(dòng)態(tài)連接庫加載到C#編寫的控制系統(tǒng)中。
b.選擇、打開和關(guān)閉設(shè)備 PMAC動(dòng)態(tài)鏈接庫中為用戶提供了設(shè)備選擇函數(shù)SelectDevice(),本函數(shù)中包含32個(gè)設(shè)備號(hào),分別為0~31[5]。也就是說,用戶可也同時(shí)連接32臺(tái)PMAC運(yùn)動(dòng)控制器;當(dāng)選擇好設(shè)備號(hào)后,用戶設(shè)置PMAC運(yùn)動(dòng)控制器通信的物理地址,用以太網(wǎng)便可將上位機(jī)和PMAC運(yùn)動(dòng)控制器連接起來;函數(shù)Open()是上位機(jī)和PMAC控制卡建立通信的函數(shù),函數(shù)包含2個(gè)參數(shù),第1個(gè)是輸入?yún)?shù)為設(shè)備號(hào),第2個(gè)是輸出參數(shù)為0或1,當(dāng)數(shù)字為1時(shí),代表上位機(jī)與PMAC控制卡通信成功,當(dāng)數(shù)字為0時(shí),則代表通信失??;函數(shù)Close()是斷開上位機(jī)與PMAC運(yùn)控控制卡的通信。實(shí)現(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è)備未成功連接,請(qǐng)確認(rèn)”,“提示”);
}
Close();
c.運(yùn)動(dòng)程序的加載。PMAC運(yùn)動(dòng)控制器中實(shí)時(shí)控制程序包括插補(bǔ)程序、伺服驅(qū)動(dòng)、PLC監(jiān)視模塊和運(yùn)動(dòng)控制程序模塊。PMAC的執(zhí)行方式跟PLC中程序執(zhí)行方式一樣,同樣為循環(huán)掃描。在狀態(tài)監(jiān)控界面中包括程序運(yùn)行、暫停、繼續(xù)、暫停、復(fù)位和停止。由于四坐標(biāo)上下料工業(yè)機(jī)器人功能專一,四坐標(biāo)上下料工業(yè)機(jī)器人的運(yùn)動(dòng)控制程序也就可以固定不變 ??蓪⒕幒玫倪\(yùn)動(dòng)控制程序下載到PMAC運(yùn)動(dòng)控制卡中。當(dāng)監(jiān)控界面上的程序運(yùn)行按鈕按下后,PMAC運(yùn)控控制器內(nèi)部開始執(zhí)行運(yùn)動(dòng)控制程序[6]?,F(xiàn)以加工管接件為例,四坐標(biāo)上下料工業(yè)機(jī)器人的工作流程如圖5所示。
圖5 工作流程
d.程序監(jiān)控。由于PMAC運(yùn)動(dòng)控制器上集成有I/O接口,通過這些接口可以實(shí)現(xiàn)四坐標(biāo)上下料工業(yè)機(jī)器人系統(tǒng)與兩個(gè)機(jī)床間的握手通訊。實(shí)現(xiàn)上下料工業(yè)機(jī)器人和機(jī)床的協(xié)調(diào)運(yùn)動(dòng)??杀O(jiān)控四坐標(biāo)上下料工業(yè)機(jī)器人末端執(zhí)行器的氣爪是否成功夾取工件,根據(jù)PMAC動(dòng)態(tài)鏈接庫中函數(shù)GetresponEX(),實(shí)時(shí)監(jiān)控四坐標(biāo)上下料工業(yè)機(jī)器人系統(tǒng)中各個(gè)電機(jī)的狀態(tài)和位置。
介紹了基于PMAC運(yùn)動(dòng)控制卡的上下料工業(yè)機(jī)器人控制系統(tǒng),系統(tǒng)通過上位機(jī)編寫的人機(jī)界面,充分利用PAMC動(dòng)態(tài)鏈接庫,實(shí)現(xiàn)人機(jī)交互。本次開發(fā)的控制系統(tǒng)已經(jīng)應(yīng)用工業(yè)生產(chǎn)線上,并取得了良好的效果。具有簡(jiǎn)單易操作、系統(tǒng)穩(wěn)定和人機(jī)交互性好等優(yōu)點(diǎn)。
[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] 海杰爾斯伯格,韋爾特馬瑟,戈?duì)柕?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)新工程計(jì)劃項(xiàng)目(2012KTCQ01-15)
TP212
A
1001-2257(2014)11-0061-04
袁順龍(1989-),男,山東泗水人,碩士研究生,研究方向?yàn)橄冗M(jìn)機(jī)械電子裝置與數(shù)控系統(tǒng)。