劉魏晉 , 胡 琛 , 陳俊杰 , 唐 洋 , 李樹杰
(1.武漢交通職業(yè)學院,湖北 武漢 430000;2.湖北交投科技發(fā)展有限公司,湖北 武漢 430000)
自動化生產(chǎn)線從20世紀初開始問世,機械制造也開始向機械自動化技術方向發(fā)展。20世紀中期自動化生產(chǎn)線開始蓬勃發(fā)展。自動化生產(chǎn)與原有的生產(chǎn)線相比,降低了生產(chǎn)成本,減少了生產(chǎn)時間,省去了一些人為操作過程,節(jié)省了場地空間,在制作工藝上可以極大地提升產(chǎn)品的質(zhì)量、精確性、穩(wěn)定性以及效率,達到了事半功倍的效果。自動化生產(chǎn)線主要包括機械部分、控制部分、傳感器部分、檢測部分、執(zhí)行部分和電源部分,而機器人就屬于其中的執(zhí)行部分,工業(yè)機器人的引入,可以大幅提升制造業(yè)自動化生產(chǎn)水平[1]。它是自動化生產(chǎn)線中不可或缺的一部分,它的種類繁多,功能齊全。例如,對機械零件的加工與裝配,生產(chǎn)線中的噴漆、焊接、電鍍,產(chǎn)品的分揀,貨物的搬運等,這些功能都充分證明了它的重要性。
Unity3D是Unity Technologies公司于2005年發(fā)布的一款創(chuàng)作引擎,可實現(xiàn)各種3D內(nèi)容形式的交互,大多數(shù)人使用他的目的和使用Unreal引擎一樣都是以開發(fā)游戲為主。Unity引擎發(fā)展了10多年,現(xiàn)已成為一個非常強大的開發(fā)引擎。Unity提供了一個功能齊備、容易操作的開發(fā)環(huán)境[2]。Unity應用十分廣泛,不僅僅是游戲開發(fā),一些模型設計、策劃行業(yè)、教育行業(yè)、電影行業(yè)、工業(yè)等都可以用到Unity?;诖?,本文以Unity3D場景集成的方式對智能化機器人和設備進行數(shù)字化三維建模,并完成虛擬現(xiàn)實的人機交互[3]。
SIMATIC S7-1500PLC是目前西門子公司對中國發(fā)布的最新一款PLC,它為使用者提供了最強的性能、內(nèi)置以及強大的電源、更多的通信方式等。由于S7-1500系列PLC自帶模塊化結(jié)構(gòu),使用者可以將一些非常復雜的機械設計變?yōu)楝F(xiàn)實,而且可以為使用者在數(shù)字化轉(zhuǎn)換的過程中提供一些可靠的幫助。相比于西門子S7-1200系列PLC,則顯得更加靈活,其中,位、字、實數(shù)指令的運算都要比S7-1200系列的指令運算快。網(wǎng)口數(shù)也比S7-1200系列多,S7-1500最多可以拓展31個模塊,這是S7-1200系列無法比擬的。所以,大多數(shù)情況都選取S7-1500作為控制系統(tǒng)的主站。
隨著虛擬現(xiàn)實技術迅速發(fā)展,虛擬裝配在產(chǎn)品開發(fā)、實訓教學中得到了廣泛應用[4]。Unity3D的虛擬現(xiàn)實技術可以不受場地和空間限制,在虛擬場景中實現(xiàn)和現(xiàn)實自動化生產(chǎn)線一樣的流程工藝控制,Unity3D與虛擬仿真PLC相結(jié)合完成虛擬仿真機器人控制,一共裝配3把三軸孔明鎖,1個孔明鎖需要3個物料組成。3個物料按原材料庫——暫存庫——伺服托盤放料位——伺服托盤檢測位——伺服托盤取料位——成品庫的流程來完成裝配。原材料庫、暫存庫、成品庫中共有15個傳感器,檢測物料是否到該位置,以便執(zhí)行下一步動作。
將虛擬機器人包導入Unity項目中,在進行產(chǎn)線搭建前需得到官方授權,在驗證窗口里將機器碼復制給官方人員進行授權,方可對導入包進行操作。授權后在場景選項中進入產(chǎn)線搭建,將場景布局變更為官方的布局,在本地模型中對模型進行位置搭建。虛擬場景運行模式下可以在設備選項選中仿真機器人,對機器手臂進行自由拖動結(jié)合,項目界面可以設置機器人每一步的動作點位。圖1為Unity3D虛擬仿真機器人。
圖1 Unity3D虛擬仿真機器人
在藍圖的邏輯關系中,藍圖起到操作虛擬仿真機器人的作用,藍圖是腳本編寫而成的,將仿真機器人的每一步信號在藍圖上編輯出來,圖2為仿真機器人操作面板藍圖。藍圖一共分為四個部分,原料位到緩存位部分、原料傳感器部分、緩存位傳感器部分和加工位部分。原料位到緩存位部分主要是指機器人移動原材料至暫存庫的控制流程。加工位部分由伺服模組、機器人和成品庫的傳感器組成。藍圖編輯過程中要將藍圖對應裝配流程順序依次連接。藍圖中的控制面板可以直接控制仿真機器人的動作。按下啟動,系統(tǒng)開始按照流程運行。運行時對應指示燈亮起。
圖2 仿真機器人操作面板藍圖
虛擬仿真機器人是連接西門子S7-1500PLC進行控制的,需要用到TIA portal 軟件,控制本次裝配流程的程序指令都是需要從DB塊里面調(diào)用的。
創(chuàng)建好與Unity藍圖對應的DB塊,根據(jù)藍圖上的信號在DB塊中添加相應的變量。虛擬仿真場景中的伺服托盤需要給他標定位置,用ADD和IN_RANGE指令對伺服托盤模組進行原點位、裝配位以及檢測位的定位。確保機器人能夠正確將物料放到伺服托盤對應位置。圖3為伺服托盤程序段。
圖3 伺服托盤程序段
當原料傳感器檢測到原料庫有物料時,傳感器將電信號傳給機器人,機器人接收到信號開始動作,將原材料抓取至暫存庫,暫存庫內(nèi)也裝有傳感器,當內(nèi)部的傳感器檢測到原材料就會將信號傳給機器人,這時機器人就會按照流程繼續(xù)去抓取原材料按部就班地放到暫存庫,機器人會按照程序編號的順序去抓取原材料。當暫存庫的3個位都滿時,機器人會再次接收到傳感器的信號,就會把原材料轉(zhuǎn)移到伺服托盤上,伺服托盤也有3個位置,并且每個位置上都有傳感器,一旦檢測到物料,伺服托盤就會移動到檢測位,檢測相機檢測完成后,伺服托盤會再回到放料位等待下個物料,依此步驟執(zhí)行3次后伺服托盤就會移動到裝配位開始進行三軸孔明鎖的組裝。機器人會根據(jù)程序去到相應的點位來完成孔明鎖的組裝,組裝完成后機器人會將孔明鎖放到成品庫,3個成品庫也設有傳感器,成品被移動到成品庫時機器人就會放置下個成品,直至3個成品全部放置完畢,最后機器人再回至原點,整個工藝流程才全部結(jié)束。
機器人開始取料需要幾個條件,機器人要處于空閑狀態(tài),庫存位里面的傳感器要檢測到物料,即物料要放在庫存位。這樣程序中相應的常開指令就會置1,常閉指令保持置0,使得“機器人取第一根料至暫存庫啟動”的指令被置位。程序段中的物料檢測開關對應的就是原材料庫中所安裝的接近開關傳感器。在機器人抓取第一根料的程序中,為了保證機器人正常運行,將程序第三條“物料檢測開關2”的常開指令前面放1個“物料檢測開關1”的常閉指令,這樣原材料庫的1號接近開關傳感器檢測到原料時“物料檢測開關1”的常閉指令就會置1而斷開,機器人就會專一的取抓取第一個原料。
同樣的道理,將第四條程序中的“物料檢測開關3”前面也分別加上“物料檢測開關1、2”的常閉指令??杀苊獬霈F(xiàn)3條抓取不同物料的指令在執(zhí)行程序的過程中發(fā)生沖突。值得一提的是,當機器人接收到信號時,控制虛擬機器人執(zhí)行動作的程序需要與Unity中所設置的機器人動作點位一一對應。圖4為機器人取料程序段。
圖4 機器人取料程序段
S7-PLCSIM Advanced是西門子針對S7-1500PLC所打造的虛擬仿真軟件,相當于S7-1500PLC的數(shù)字雙胞胎。軟件操作也是十分容易上手,勾選上PLCSIM,就可以給虛擬仿真的PLC設置通信IP地址,虛擬仿真PLC的IP地址盡量和Portal軟件中的PLC地址相同。否則會導致連接不上。當Advanced軟件的虛擬PLC亮綠燈,表明連接成功。
關于Opc通信,Opc ua起到了虛擬仿真機器人和PLC之間的通信作用,相當于機器人間的交流。在Unity中的窗口中找到Opc ua連接,勾選Portal軟件中的S7-1500設備中的激活Opc ua服務器,將服務器地址輸入到Unity的Opc ua界面中。連接成功后進行藍圖信號與PLC程序中變量的綁定,完成Opc ua的連接。圖5為Opc ua通信。
圖5 Opc ua通信
虛擬仿真技術將物理世界與數(shù)字世界虛實相映,可以突破硬件設備的限制,基于Unity虛擬仿真讓虛擬機器人和PLC相結(jié)合,在虛擬世界中進行工藝路徑規(guī)劃、物流設計,實現(xiàn)在虛擬環(huán)境中生產(chǎn)工藝。