摘要:在工業(yè)生產(chǎn)過程中,特別是在自動化程度高的設(shè)備中,均有一個圖形化界面,能對設(shè)備運行狀態(tài)進(jìn)行遠(yuǎn)程監(jiān)視與控制。隨著工業(yè)機器人的廣泛應(yīng)用,在工業(yè)機器人搭建的生產(chǎn)線,工業(yè)機器人的運行狀態(tài)也必將在圖形化界面中進(jìn)行監(jiān)控。在本文中,采用了ScreenMaker工具實現(xiàn)對工業(yè)注塑機機器人工作站的監(jiān)控。為了討論ScreenMaker界面的功能,選擇工業(yè)注塑機機器人為被控對象,工作站的變量與機器人位置狀態(tài)之間的關(guān)聯(lián)與實現(xiàn)等方法在文中被重點討論。
關(guān)鍵詞:ScreenMaker;位置與變量;信號連接;監(jiān)控
隨著工業(yè)技術(shù)的發(fā)展、工業(yè)機器人在生產(chǎn)中的廣泛應(yīng)用、生產(chǎn)狀態(tài)監(jiān)控程度的提高,人們期望在控制室中能隨時觀看到機器人運行狀態(tài)、運行位置、工件生產(chǎn)的數(shù)量統(tǒng)計、乃至整個工廠運行狀態(tài),通常通過開發(fā)一個具有遠(yuǎn)程控制、遠(yuǎn)程監(jiān)視等功能的圖形化界面來實現(xiàn)。圖形化界面的開發(fā)工具現(xiàn)在有很多,有QtCreator、WxWidgets、VisualStudio開發(fā)環(huán)境、.NET編輯等進(jìn)行。QtCreator使用在嵌入式開發(fā)系統(tǒng)中,VisualStudio包含一個針對C#開發(fā)的預(yù)定義設(shè)置集合和一個針對VisualBasic開發(fā)的預(yù)定義設(shè)置集合,用于生成ASP.NETWeb應(yīng)用程序、XMLWebServices、桌面應(yīng)用程序和移動應(yīng)用程序,ScreenMark是在RobotStudio仿真軟件下用來創(chuàng)建用戶自定義圖形化界面的工具。
1.圖形化界面工具ScreenMark
圖形用戶界面(GUI)通過將機器人系統(tǒng)的內(nèi)在工作轉(zhuǎn)化為圖形化的前端界面,從而簡化工業(yè)機器人的操作。如在示教器的GUI應(yīng)用中,圖形化界面由多個屏幕組成,每個占用示教器觸屏的用戶窗口區(qū)域。每個屏幕又由一定數(shù)量的較小的圖形組成構(gòu)成,并按照設(shè)計的布局進(jìn)行擺放。常用的控件有(有時又稱作窗口部件或圖形組件)按鈕、菜單、圖像和文本框。
ScreenMaker是RobotStudio仿真軟件下用來創(chuàng)建用戶自定義界面的工具。使用該工具可創(chuàng)建自定義的操作員界面,編譯完成后可在示教器下監(jiān)控工業(yè)機器人的運行位置、生產(chǎn)產(chǎn)品的數(shù)量、生產(chǎn)狀態(tài)等,使用自定義的操作員界面在工廠實地能簡化機器人系統(tǒng)操作,操作員界面能在正確的時間以正確的格式將正確的信息顯示給用戶。ScreenMaker簡單易學(xué),使用ScreenMaker工具無需學(xué)習(xí)Vi-sualStudio開發(fā)環(huán)境和.NET編輯,也可創(chuàng)建自定義的示教器圖形界面。本論文中開發(fā)的圖形化示教器界面如圖1所示。
圖1.示教器界面
2.RAPID程序與機器人信號之間的關(guān)聯(lián)
圖形化界面需要與機器人的PAPID程序、程序數(shù)據(jù)以及I/O信號進(jìn)行關(guān)聯(lián)。為了調(diào)試方便,一般是RobotStudio中創(chuàng)建一個與真實一樣的工作站,在調(diào)試完成以后,再輸送到真實的機器人控制器中去。本論文中程序代碼、程序數(shù)據(jù)、I/O信號見表1、2、3所示。
3.注塑機注塑流程設(shè)計及程序?qū)崿F(xiàn)
3.1注塑流程的設(shè)計
本論文中采用對注塑機加工的過程進(jìn)行監(jiān)控,注塑機的整個過程如圖2所示。仿真生產(chǎn)線的流程設(shè)計如下:機器人運行至皮帶,然后提取物料進(jìn)入注塑機、注塑機模擬加工、機器人從注塑機提取物料放入皮帶,注塑機停止運行,生產(chǎn)產(chǎn)品計數(shù)。
圖2仿真過程流程圖
3.2.注塑程序的編寫
RobotStudio軟件下,主要是為了對注塑機的運行狀態(tài)進(jìn)行監(jiān)控。注塑機在運行至某一狀態(tài)時,均需將運行狀態(tài)反饋給示教器圖形化界面控件。其實現(xiàn)通過變量來完成。由于只對運行位置等狀態(tài)、產(chǎn)品生產(chǎn)數(shù)量進(jìn)行監(jiān)視,程序編寫得相對比較簡單。位置移動程序采用MoveL或者M(jìn)oveJ指令。MoveL指令為直線運動指令,指定起點和終點后,則從起點到終點的運動軌跡為直線,MoveJ指令則為多關(guān)節(jié)運動,在指定起點與終點后,運動軌跡的規(guī)劃則完全按照機器人內(nèi)部的算法來規(guī)劃。下程序中的MoveLTarget_10,v100,z100,tool0\WObj:=wobj0;中,Target_10即為目標(biāo)點,也即運動的初始點(起點為機器人當(dāng)前位置),v100為運動速度,z100為拐角,tool0為工具坐標(biāo),wobj0為工件坐標(biāo),部分程序代碼如下。
...........................................................................................................
PERSnumnProducedParts:=624;//定義變量nProducedParts,賦初值
PERSnumnRobotPos:=2;//定義變量nRobotPos,賦初值PERSboolbServicePos:=TRUE;
..............................................................................................................
PROCmain()
MoveLpHome10,v1500,fine,tGripper;//機器人在Home位nRobotPos:=0;//機器人在Home位時,變量nRobotPos:=0WaitTime2;
................................................................................................................
MoveJpCovery10,v1500,fine,tGripper;//機器人在搬運位nRobotPos:=1;//機器人在皮帶位時,變量nRobotPos:=1WaitTime2;
..............................................................................................................
MoveJpInMachine,v1500,fine,tGripper;//機器人在注塑機中nRobotPos:=2;//機器人在注塑機中時,變量nRobotPos:=2WaitTime2;
..............................................................................................................
MoveJpService,v1500,fine,tGripper;nRobotPos:=3;//機器人在注塑機中WaitTime2;
..............................................................................................................
nProducedParts:=nProducedParts+1;//nProducedParts表示生產(chǎn)數(shù)量,每完成一次后生產(chǎn)數(shù)量加1
..............................................................................................................
ENDPROC
..............................................................................................................
PROCrToService()//維修時調(diào)用的rToService()
MoveJpService,v100,fine,tGripper;//移動到維修位bServicePos:=TRUE;
SetDO_ToService;//釋放夾具
Stop;//機器人停止運行
ENDPROC
..............................................................................................................
3.3注塑機器人變量與機器人的位置之間的聯(lián)系
在ScreenMaker界面中可以設(shè)置機器人當(dāng)前位置圖片,機器人當(dāng)前位置圖片與程序數(shù)據(jù)nRobotPos變量進(jìn)行相關(guān)聯(lián),nRobotPos具體定義如下:
nRobotPos=0機器人在HOME點
nRobotPos=1機器人在輸送帶
nRobotPos=2機器人在注塑機中
nRobotPos=3機器人在維修位
在編程的時候,在對應(yīng)的位置對nRobotPos這個程序數(shù)據(jù)進(jìn)行賦值,從而使界面作出相應(yīng)響應(yīng)。在ScreenMake界面的控件中選擇控制器在線、選擇nRobotPos變量,建立過程的界面如圖3所示。
圖3.進(jìn)入nRobotPos變量與位置設(shè)定界面
當(dāng)選擇nRobotPos變量后,在建立nRobotPos的變量值后,建立nRobotPos變量值與機器人當(dāng)前位置圖片的關(guān)聯(lián)關(guān)系,建立nRobotPos變量與機器人當(dāng)前位置圖片之間的鏈接關(guān)系的界面如圖4所示。
圖4.nRobotPos變量與機器人當(dāng)前位置圖片的關(guān)聯(lián)
4.圖像效果展示
機器人在生產(chǎn)時,其生產(chǎn)過程將會實時顯示在示教器界面中。如圖5所示為機器人系統(tǒng)在維修時監(jiān)控到的畫面,圖5右側(cè)為仿真工作站機器人停留在維修位中的畫面,圖左側(cè)為示教器界面下監(jiān)控到的機器人在維修時的畫面,在示教器畫面的上面有文字提示機器人所處位置及生產(chǎn)零件的數(shù)量。
圖5.仿真碼垛搬運效果圖
表1.PAPID程序
5.結(jié)論
在本文中,探究了ScreenMakerGUI界面下,工業(yè)機器人運行狀態(tài)監(jiān)控的實現(xiàn)。為了探究其工業(yè)機器人監(jiān)控在ScreenMaker界面下的實現(xiàn),選取了一個注塑機工業(yè)機器人作為被控對象。由于主要是探究在ScreenMaker界面下,機器人運動狀態(tài)與RAPID程序中變量的關(guān)聯(lián)關(guān)系,因此注塑機器人工作站的實現(xiàn)過程相對比較簡單,注塑機器人主要包含三個位置狀態(tài):機器人在HOME點,機器人在輸送帶,機器人在注塑機,機器人在維修位。在不同的位置狀態(tài)下,nRobotPos具有不同的值,在ScreenMaker界面下,不同的值將顯示不同的文字與機器人運行狀態(tài)圖片。