魏志麗
(廣東松山職業技術學院,廣東韶關 512126)
在發達國家中,工業機器人自動化生產線成套設備已成為自動化裝備的主流及未來的發展方向。國外汽車、電子電器、工程機械等行業已經大量使用工業機器人自動化生產線,以保證產品質量,提高生產效率,同時避免了大量的工傷事故。全球諸多國家近半個世紀的工業機器人的使用實踐表明,工業機器人的普及是實現自動化生產,提高社會生產效率,推動企業和社會生產力發展的有效手段。
自動生產線主要由井式送料裝置、傳送帶、水平推桿、翻轉機械手、龍門機械手、裝配機器人以及配套的氣動、電氣控制系統組成,如圖1所示。

圖1 自動生產線組成
隨機擺放的工件1 由井式送料裝置送出,經傳送帶向下傳送。傳送過程中,經翻轉機械手將工件的開口調整為同一方向,同時將工件1(非金屬)用水平推桿推除。工件1(金屬)到達傳送帶尾部后,由龍門機械手將工件1(金屬白色)放在3#工位,工件1(金屬黑色)放在4#工位滑槽。工件1 經滑槽滑入A 工作臺,機器人先將工件1(金屬黑色)從A 工作臺移至B 裝配臺,而后將工件2 與工件1(金屬黑色)裝配,最后按1~9 的編號順序將裝配件放入成品料架指定的位置,如圖2 所示。

圖2 工件裝配位置
系統主站使用西門子S7-300PLC 控制井式送料裝置、傳送帶、水平推桿和龍門機械手,從站西門子S7-200PLC 控制翻轉機械手的執行,從站PLC 與 主 站PLC 通 過EM277 實 現Profibus-DP 通信,在DP網絡中設置為3號站。ABB機器人作為從站,完成工件1 與工件2 的裝配工作,與主站S7-300PLC 實現Profibus-DP 通信,在網絡中設置為4 號站。網絡連接如圖3 所示,西門子S7-300PLC 在網絡中作為主站,可以對從站進行讀寫操作,硬件和網絡組態是在西門子組態軟件STEP7 中完成的,需要添加EM277 和ABB 機器人的GSD文件。

圖3 系統網絡連接
系統使用ABBIRB120工業機器人,編寫機器人程序之前要設置一些重要的程序數據,程序數據是在程序模塊或系統模塊中設定值和定義一些環境數據。創建的程序數據由同一個模塊或其他模塊中的指令進行引用[1]。
(1)工具數據TOOLDATA
工具數據TOOLDATA是用于描述安裝在機器人第六軸上的工具TCP、重心和重量等參數數據。執行程序時,機器人就是將TCP 移至編程位置,程序中描述的速度與位置就是TCP 點在對應工件坐標中的速度與位置。
(2)工件坐標
工件坐標的設置主要是為了方便編程和坐標的偏移,使用三點法,分別設置工件2 料架的工件坐標為Wobj_C,成品料架工件坐標為Wobj_D。
(3)LOADDATA
對于搬運用的機器人除應設定夾具的重量和重心外,還應設置搬運對象的重量和重心數據。
(4)機器人目標點(Robottarget)
作為機器人運動的目標,可以用示教器示教,但工件2 料架和成品料架工位較多時,不能一一示教,只需示教其中一個點,其他點可通過該點的偏移得到。該系統中的Robottarget 可分為常量和變量,如A、B、C 和D 點的機器人目標點設置為PA、PB、PC 和PD,這些點均設置為常量,使用示教器直接示教出來。工件2 料架及成品料架上的機器人目標點均為變量,分別設置為P20和P30,這些點可通過PC和PD偏移得到。
系統中,ABB 工業機器人的關節運動指令主要使用MOVEJ 和MOVEL,MOVEJ 指令主要在空間位置改變時使用,而MOVEL指令則在抓放工件過程中運行直線路徑時使用,避免在抓放工件過程中與工件發生碰撞,使用MOVEL指令時轉彎數據使用fine,避免提前對工件進行抓放。
ABB 工業機器人與西門子300PLC 實現的是Profibus-DP通信,在機器人控制柜上安裝Profibus適配器DSQC667,DSQC667 支持512 點數字輸入和數字輸出。在示教器的配置系統參數中,需要設置如下參數。
(1)Unit Type:設置通信長度是1 個字節的輸入和輸出。
(2)Unit:設置Profibus適配器DSQC667的站地址為4。
(3)Signal:設置1 個輸入信號,此信號來源于西門子300PLC,作為檢測到工件1 到滑槽,使機器人動作的信號;2 個輸出信號,其中一個作為完成裝配的信號傳送給主站,另外一個是使相應的夾具動作的信號。在Signal 設置中主要選擇分配的Unit 和地址偏移量,此處的地址偏移量要與西門子S7-300PLC 中的地址相對應,因此在西門子組態軟件STEP7 中進行硬件和網絡組態時,必須安裝ABB 機器人GSD 文件,安裝的路徑為:STEP7 硬件組態畫面菜單選項→安裝GSD 文件→HMS_1811.GSD →安裝。此GSD 文件的目錄為RobotWare5.13UtilityFieldbusProfibusGSDHMS_1811.GSD。
安裝GSD 文件完成后,設置通信長度各為一個字節的輸入和輸出通信區,在硬件組態畫面硬件目錄→Additional Field Bus →Anybus-CC PROFIBUS DP-V1 →Universal module,雙擊插槽1,在DP 屬性中設置I/O 類型為輸出輸入,各為1 個字節。
在工業生產過程中,機器人要完成許多有規律性的重復操作,因此機器人程序中需要重復執行某些語句,這些被重復執行的語句稱之為循環體。執行循環控制操作的語句有FOR、WHILE等語句。
2.5.1 FOR循環語句
FOR 循環語句結構簡潔,使用方便,結構如下:

循環體
(1)i是循環控制變量;
(2)循環控制變量的初始值i=0;
(3)循環的終止條件,當i>2 時,循環終止,因此當i=0,1,2時,循環體被執行三次,每次執行完循環體,循環控制變量自動加1,直至i>2,終止循環體執行。
2.5.2 FOR循環的嵌套

循環體
此雙重FOR 循環外循環的循環控制變量為i,內循環的循環控制變量為j,循環體執行的次數為i和j變化的乘積,共9次:
當i=0 時j=0、1、2,依次執行循環體,共3次;
當i=1 時j=0、1、2,依次執行循環體,共3次;
當i=2 時j=0、1、2,依次執行循環體,共3次。
2.5.3 機器人目標點與雙重FOR語句循環控制變量i、j之間的關系
循環控制變量i和j變化的組合如下,其中i為行變化,j為列變化:

機器人目標點位置排列:

如上分析,工件2 料架上的每個機器人目標點均可通過對C 點的X、Y 坐標偏移得到(Z 無變化,偏移量為0),機器人目標點可設置為:P20=Offs(PC,-120i,-90j,0),其中-120i 為X 坐標變化量,-90j 為Y 坐標變化量。當i=0,j=0 時,P20即是PC,由于工件坐標設置和機器人基座標設置方向相同,所以偏移量中出現負數表示與工件坐標的X、Y正方向相反。
由于雙重FOR循環i和j的排列順序,機器人在工件2 料架上取工件的順序是先按行0,行1,行2 的順序取工件2,如想按列取工件2,可改變FOR 循環的內外循環的變量的位置,如:

可使抓取工件按照列0、列1和列2的順序進行。
同樣,成品料架每個機器人的目標點均可通過PD的偏移得到,由于成品料架棧條的高度不同,Z 的偏移量與行變化i有關,P30=Offs(PD,120i,90j,-20i)。

圖4 系統網絡連接
系統流程圖如圖4 所示,包括初始化子程序、主程序和三個取放子程序。
通過分析,工業機器人通過Profibus-DP總線通信方式與主站連接,使系統主從通信方式更簡單、方便,FOR 循環語句編寫機器人循環操作的程序,使程序結構更緊湊。工業機器人在自動生產線中的應用,使產品的質量和生產效率都得到了明顯的提高。
[1]葉暉,管小清.工業機器人實操與應用技巧[M].北京:機械工業出版社,2010.