鄭魁敬 廉 磊 郝任義
(①燕山大學(xué)先進(jìn)鍛壓成形技術(shù)與科學(xué)教育部重點實驗室,河北秦皇島066004;②燕山大學(xué)河北省并聯(lián)機器人與機電系統(tǒng)實驗室,河北秦皇島066004)
隨著制造業(yè)的快速發(fā)展,工業(yè)自動化生產(chǎn)線正在向智能化、集成化方向發(fā)展。生產(chǎn)線集成控制系統(tǒng)是將通信、計算機及自動化技術(shù)組合在一起的有機整體[1-2]。生產(chǎn)線集成控制包括設(shè)備集成和信息集成兩種。設(shè)備集成是通過網(wǎng)絡(luò)將各種具有獨立控制功能的設(shè)備組合成一個有機的整體。信息集成是運用功能塊、模塊化的設(shè)計思想,規(guī)劃和配置資源的動態(tài)調(diào)配、設(shè)備監(jiān)控、數(shù)據(jù)采集處理、質(zhì)量控制等功能。目前集成控制中應(yīng)用的通信技術(shù)主要有串行通信方法、MAP(manufacturing automation protocol)通信技術(shù)和現(xiàn)場總線技術(shù)。隨著以太網(wǎng)技術(shù)的廣泛應(yīng)用,工業(yè)以太網(wǎng)技術(shù)在集成控制的應(yīng)用越來越廣泛[3]??弟奫4]提出了一種工業(yè)以太網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng);張建新[5]利用以太網(wǎng)模塊ADAM5000實現(xiàn)了染色設(shè)備監(jiān)控的監(jiān)控網(wǎng)絡(luò)。
虛擬調(diào)試技術(shù)[6-8]是基于仿真平臺對系統(tǒng)進(jìn)行有效監(jiān)督與控制的技術(shù)。虛擬調(diào)試技術(shù)與運動仿真聯(lián)合協(xié)作,技術(shù)上不斷更新,推動機械產(chǎn)品向更高層次方向發(fā)展,滿足不斷發(fā)展的制造業(yè)需求。虛擬調(diào)試技術(shù)能夠幫助設(shè)計人員提高設(shè)計速度、提升設(shè)計質(zhì)量,使設(shè)計流程發(fā)生革命性的轉(zhuǎn)變。近年來,虛擬調(diào)試技術(shù)應(yīng)用越來越廣泛。艾武[9]研究了虛擬車間實現(xiàn)敏捷調(diào)度支持的三維仿真環(huán)境,齊繼陽[10]設(shè)計了一個生產(chǎn)工段的制造系統(tǒng)仿真模型,周蓉[11]在Wintness軟件中對生產(chǎn)線系統(tǒng)進(jìn)行了仿真,Koo[12]研究了汽車工業(yè)中PLC程序驗證的仿真方法,Park[13]研究了一種生產(chǎn)系統(tǒng)的硬件在環(huán)仿真。
本文首先介紹了集成控制系統(tǒng)總體框架和通訊方案,對ABB機器人和Siemens PLCS7-300確定了工業(yè)以太網(wǎng)集成通訊方案;其次根據(jù)系統(tǒng)功能需求設(shè)計了集成控制軟件,開發(fā)了ABB機器人應(yīng)用程序和OPC(OLE for process control)客戶端,設(shè)計了各個模塊功能,實現(xiàn)了對ABB機器人與PLC的集成控制;然后建立了一系列3D模型進(jìn)行虛擬調(diào)試,對調(diào)試過程中發(fā)現(xiàn)的不合理之處進(jìn)行了改善;最后搭建實驗平臺通過實驗對集成控制系統(tǒng)的有效性進(jìn)行了驗證。
工業(yè)以太網(wǎng)是建立在IEEE802.3系列標(biāo)準(zhǔn)和TCP/IP上的分布式實時控制通訊網(wǎng)絡(luò)。工業(yè)以太網(wǎng)之所以具有明顯優(yōu)勢是因為它的低成本、開放性和廣泛的軟硬件支持等特點決定的。目前使用的工業(yè)以太網(wǎng)和在工廠中使用的信息網(wǎng)絡(luò)二者的底層通信協(xié)議一致,所以工業(yè)以太網(wǎng)能夠?qū)崿F(xiàn)控制和信息網(wǎng)絡(luò)之間的無縫通信。由于工業(yè)以太網(wǎng)在通訊距離、速率等方面具有其他網(wǎng)絡(luò)無法比擬的優(yōu)點,因此采用工業(yè)以太網(wǎng)作為集成控制的通訊網(wǎng)絡(luò)。
集成控制底層為工業(yè)機器人及PLC,通過工業(yè)以太網(wǎng)集成,在通訊網(wǎng)絡(luò)中加入冗余交換機,充當(dāng)“環(huán)路經(jīng)理”的角色。該交換機循環(huán)發(fā)送檢測幀,當(dāng)主交換機正常工作時會自動阻塞該交換機,而當(dāng)通訊回路中某一點發(fā)生故障時,該交換機會立即打開故障點其他端口形成新的通訊回路從而使通訊恢復(fù),當(dāng)故障排除之后該交換機恢復(fù)故障前狀態(tài),這樣就構(gòu)成了環(huán)冗余,減少了平均故障修復(fù)時間,從而提高系統(tǒng)的可靠性。集成控制系統(tǒng)總體框架如圖1所示。
其中,對于帶有以太網(wǎng)接口的ABB機器人直接通過工業(yè)以太網(wǎng)進(jìn)行通訊,也可以通過串口服務(wù)器作為中間轉(zhuǎn)化的方式和RS232、RS485等串行通訊接口進(jìn)行通訊。對于不具有以太網(wǎng)模塊的PLC采用加載BCNet-S7來實現(xiàn)工業(yè)以太網(wǎng)的通訊連接。
集成控制軟件是在VS 2015平臺上利用C#語言進(jìn)行開發(fā),分為機器人應(yīng)用程序、OPC客戶端和監(jiān)控程序三部分。其中機器人應(yīng)用程序可以實現(xiàn)在線搜索所有的機器人控制器并選擇目標(biāo)控制器進(jìn)行連接,對I/O信號進(jìn)行讀寫,對RAPID程序進(jìn)行讀取、調(diào)用等,實現(xiàn)機械單元信息的讀取等功能。監(jiān)控程序?qū)崿F(xiàn)截屏、錄像等操作。OPC客戶端能夠?qū)崿F(xiàn)搜索、連接OPC服務(wù)器,設(shè)置OPC組屬性,對OPC數(shù)據(jù)項進(jìn)行讀寫等操作。具體功能如圖2所示。
ABB應(yīng)用程序利用PC SDK進(jìn)行開發(fā),共有6大功能域。依據(jù)功能需求,構(gòu)建了與功能域相關(guān)的類并建立聯(lián)系,結(jié)構(gòu)如圖3所示。這幾個功能域包含了PC訪問ABB機器人控制器的應(yīng)用編程接口(API)。
OPC客戶端總體開發(fā)流程如圖4所示。首先程序獲取計算機IP、名稱等信息,然后枚舉計算機注冊表中的OPC服務(wù)器,如果計算機中沒有服務(wù)器則會彈出報警屬性頁。選擇要連接的OPC服務(wù)器進(jìn)行連接,如果沒有連接成功則繼續(xù)嘗試連接,如果連接成功則默認(rèn)建立缺省組,也可通過設(shè)置組屬性建立自定義組,獲取該組中的數(shù)據(jù)項對象。如果要進(jìn)行讀操作,則程序?qū)@取到的數(shù)據(jù)項對象顯示到已清空的列表中,若進(jìn)行寫操作則需要操作人員選擇要改變的變量,并將要寫入的數(shù)據(jù)填入寫入編輯框中完成寫操作。當(dāng)讀和寫操作都完成之后退出程序時,系統(tǒng)斷開與OPC服務(wù)器的連接并釋放資源,完成對與OPC服務(wù)器綁定的PLC內(nèi)部數(shù)據(jù)的讀寫,實現(xiàn)PC端對PLC的遠(yuǎn)程控制功能。
為了使集成控制軟件具有合理利用資源、提高執(zhí)行效率的功能,軟件開發(fā)時運用了多線程技術(shù)。結(jié)合實際情況開辟了3個線程:ABB線程、PLC線程和監(jiān)控線程。
ABB線程的任務(wù)是實現(xiàn)PC機與ABB之間的通訊與控制。主要負(fù)責(zé)連接所有在線的ABB機器人控制器,獲取機器人I/O信號,獲取機器人末端的位置、速率、各軸轉(zhuǎn)角、操作模式、坐標(biāo)等數(shù)據(jù)信息,遠(yuǎn)程讀取、加載及調(diào)用機器人RAPID加工程序等。
PLC線程的任務(wù)是實現(xiàn)PC機上OPC客戶端通過OPC服務(wù)器與PLC的連接與控制。主要負(fù)責(zé)獲取并連接需要連接的OPC服務(wù)器,獲取或修改OPC組屬性,獲取OPC項的詳細(xì)信息,讀取或修改OPC項中的時間戳、品質(zhì)、Tag(標(biāo)簽)值等具體信息。
監(jiān)控線程的任務(wù)是實現(xiàn)對整個工業(yè)生產(chǎn)線設(shè)備的實時監(jiān)控。主要負(fù)責(zé)連接所有的監(jiān)控設(shè)備,獲取監(jiān)控圖像,對某一時刻監(jiān)控畫面截屏或?qū)δ扯伪O(jiān)控實施錄像。
在運用多線程技術(shù)的程序中,如果同時允許不同線程對共享對象進(jìn)行操作將導(dǎo)致程序異常甚至造成整個程序的崩潰。線程同步技術(shù)的作用是防止共享對象被同時訪問,通過使用互斥鎖排他的方式來實現(xiàn)的。ABB線程與PLC線程對集成控制系統(tǒng)共享數(shù)據(jù)的讀取同步的邏輯關(guān)系如圖5所示,保證同一時間只有一個線程能夠獲得集成控制系統(tǒng)共享數(shù)據(jù)的訪問權(quán)。
虛擬調(diào)試不僅可以使操作人員獲取一些必要數(shù)據(jù)來提高對系統(tǒng)動態(tài)性能的認(rèn)識,更重要的是可直觀看到系統(tǒng)運行的全部情況,大大提高對系統(tǒng)運行性能認(rèn)識的逼真性和直觀性。另外,虛擬調(diào)試可同時設(shè)計硬件及軟件控制系統(tǒng),在調(diào)試過程中發(fā)現(xiàn)的問題又可促進(jìn)硬件的優(yōu)化設(shè)計。在Robot Studio和Demo3D平臺上建立系統(tǒng)模型,通過集成控制軟件來調(diào)試該模型。
機器人焊接工作站,主要組成包括1臺IRB6700-175-305型機器人(R1)和3臺IRB1600-6-145型機器人(R2、R3、R4),外圍加上圍欄、控制柜、固定柱、地板等設(shè)施。機器人工作站總體布局如圖6所示。其中R1機器人固定在地面底座上,其功能主要是夾持待加工工件并將其搬運至焊接區(qū)。R2和R3機器人固定在地面底座上,R4機器人倒掛固定在固定柱上,這3臺機器人的功能是協(xié)同控制來完成對待焊接工件的多方位、高效率的焊接工作。
機器人控制器的執(zhí)行程序是由RAPID語言編寫的,工作站功能流程如圖7所示。
程序開始執(zhí)行時檢測各機器人是否處于起始位置,如果在起始位置則R2、R3、R4處于等待狀態(tài),R1將待加工工件運至加工位置并進(jìn)入等待狀態(tài)。當(dāng)系統(tǒng)檢測到工件到達(dá)加工位置時,R2、R3、R4由等待狀態(tài)進(jìn)入工作狀態(tài)開始加工工件上表面。當(dāng)上表面加工完畢,R2、R3、R4返回起始位置并重新進(jìn)入等待狀態(tài)。當(dāng)檢測到R2、R3、R4回到起始位置時R1將工件翻轉(zhuǎn)并進(jìn)入等待狀態(tài),R2、R3、R4由等待狀態(tài)進(jìn)入工作狀態(tài)加工下表面。當(dāng)下表面加工完后,R2、R3、R4返回起始位置進(jìn)入等待狀態(tài)等待下一個工件到來,R1將加工完的工件運回起始位置并接受下一個待加工工件,完成一個加工流程。
在工作站軟硬件建立完成后,用集成控制系統(tǒng)軟件連接并遠(yuǎn)程控制機器人工作站,在虛擬調(diào)試中發(fā)現(xiàn)工作站機器人布局及RAPID程序不合理之處并進(jìn)行調(diào)整,實現(xiàn)順利運行并完成任務(wù)??刂葡到y(tǒng)ABB主界面如圖8所示,工作站虛擬調(diào)試如圖9所示。
在Demo3D平臺上建立一條自動化生產(chǎn)線,利用OPC服務(wù)器與PLC連接作為控制器對設(shè)備進(jìn)行控制??蓪崿F(xiàn)貨物自動分揀、貼條形碼、AGV小車將貨物在輸送帶及立體倉庫之間運輸、機器人拆垛等功能。
生產(chǎn)線模型包含貨物分揀單元、貼標(biāo)單元、AGV小車單元、自動化立體倉庫單元、機器人拆垛單元五部分,布局如圖10所示。
貨物分揀單元主要由荷載生成器、輸送帶、鏈?zhǔn)揭圃詸C、傳感器等組成。荷載生成器模擬貨物產(chǎn)生過程,傳感器識別不同顏色的貨物并控制鏈?zhǔn)揭圃詸C將不同貨物傳送到輸送帶上,從而實現(xiàn)貨物分揀功能。
貼標(biāo)單元內(nèi)部帶有傳感器,當(dāng)檢測到貨物時,將條形碼貼到貨物表面的指定位置。
AGV小車單元由AGV小車、導(dǎo)軌、車輛控制器、目標(biāo)選擇控制器組成,考慮效率問題加載了兩臺AGV小車進(jìn)行貨物運輸。
自動化立體倉庫單元由貨架、巷道式堆垛起重機、入(出)庫工作臺和自動運進(jìn)(出)等部分組成。貨架是由鋼結(jié)構(gòu)構(gòu)成的結(jié)構(gòu)體,貨架內(nèi)部是具有標(biāo)準(zhǔn)尺寸的用于存放貨物的貨位空間,巷道堆垛起重機完成存、取貨的工作,在貨架之間的巷道中穿行。管理上使用計算機配合條形碼技術(shù)。
機器人拆垛單元主要由拆垛機器人、貨物輸送帶、托盤輸送帶、機器人控制器、拆垛控制器、荷載刪除器等組成。
集成控制系統(tǒng)軟件對PLC與機器人進(jìn)行集成控制,Demo3D通過 OPC服務(wù)器與 PLC連接。在Demo3D中打開“控制標(biāo)簽”對話框,添加服務(wù)器,選擇Siemens的OPC協(xié)議在新建服務(wù)器中添加與PLC梯形圖控制程序相對應(yīng)的控制變量,如圖11所示。
控制程序采用PLC梯形圖和Jscript語言實現(xiàn)控制。程序總體流程如圖12所示。
程序啟動,荷載生成器生成貨物,輸送機電動機開啟,當(dāng)貨物運行至傳感器時,判斷貨物顏色是否為藍(lán)色,若為藍(lán)色則移載機不動作,否則判斷貨物是否為綠色,如是綠色移載機上升電動機正轉(zhuǎn),否則移載機上升電動機反轉(zhuǎn),除了藍(lán)色貨物繼續(xù)運輸之外,其他貨物在荷載刪除器處刪除,實現(xiàn)貨物分揀功能。當(dāng)藍(lán)色貨物繼續(xù)向前運輸并觸發(fā)貼標(biāo)傳感器時,將條形碼粘貼在貨物的指定位置。當(dāng)貨物運行到貼標(biāo)傳感器末端時輸送帶電動機停止并給AGV小車發(fā)送消息指令,AGV小車檢測貼標(biāo)輸送帶是否有貨物待運輸,如果有貨物則AGV小車停下裝貨運輸并將貨物運至經(jīng)檢測無貨物堆積的入庫平臺上。
當(dāng)系統(tǒng)檢測到入庫平臺有貨的話,巷道式堆垛起重機動作將貨物運至貨架中存儲。當(dāng)自動化立體倉庫收到出庫命令時,巷道式堆垛起重機將要出庫的貨物取出并放至出庫平臺上,當(dāng)AGV小車檢測到出庫平臺有要運輸?shù)呢浳飼r停下將貨物運輸至拆垛輸送帶上,拆垛輸送帶將貨物運至拆垛機器人處。當(dāng)機器人檢測到有要拆垛的貨物時機器人啟動,將貨物放至貨物傳送帶上,把托盤放至托盤傳送帶上,貨物和托盤到達(dá)荷載刪除器時被刪除,至此,一個運行周期結(jié)束。
3.3.1 改進(jìn)梯形圖程序不合理之處
在虛擬調(diào)試中出現(xiàn)了一些錯誤,如圖13所示,第一種是藍(lán)色、棕色、綠色三種不同顏色貨物經(jīng)過鏈?zhǔn)揭戚d機時輸送帶電動機均未停止;第二種是只能分揀出藍(lán)色和非藍(lán)兩種貨物;第三種貨物分揀出錯。如果在實際調(diào)試中出現(xiàn)這些情況必然對設(shè)備有所損害,通過虛擬調(diào)試可以避免這些異常,及時發(fā)現(xiàn)問題并解決。經(jīng)檢查是梯形圖程序設(shè)計存在缺陷。
3.3.2 AGV小車裝卸貨目標(biāo)選擇出錯
AGV小車取貨口有貼標(biāo)傳送帶末端、自動化立體倉庫3個出庫平臺4個位置,放貨口有拆垛輸送帶、自動化立體倉庫3個入庫平臺4個位置,會出現(xiàn)AGV小車從倉庫的出庫平臺取貨后直接放到入庫平臺等不符合流程的操作。生產(chǎn)線實際情況更加復(fù)雜,AGV小車的目標(biāo)選擇問題非常重要。
為了解決這個問題,在AGV小車單元中加入兩個目標(biāo)選擇控制器。一個控制器用來監(jiān)視從貼標(biāo)輸送帶出來的貨物,并將貨物放至倉庫單元的入庫平臺上。另一個控制器用來監(jiān)視從倉庫單元的出路平臺出來的貨物,并放至拆垛單元輸送帶上。將控制貼標(biāo)單元的控制器的ListeningTo控制點與貼標(biāo)單元輸送帶末端相連接,將Targets控制點與立體化倉庫的進(jìn)庫平臺相連接。將控制倉庫單元出庫的目標(biāo)選擇控制器的ListeningTo控制點與立體化倉庫出庫輸送帶相連接,將Targets控制點與拆垛輸送帶相連接。目標(biāo)選擇控制器連接如圖14所示。
運行PLC程序,通過OPC客戶端遠(yuǎn)程讀寫PLC內(nèi)部數(shù)據(jù),實現(xiàn)系統(tǒng)模型的控制運行,在虛擬調(diào)試中,系統(tǒng)各單元運行穩(wěn)定、銜接有序,虛擬調(diào)試總體運行如圖15所示。
搭建了生產(chǎn)線集成控制系統(tǒng)實驗平臺,進(jìn)行了機器人銑削實驗以及工業(yè)自動化流水線模擬實驗。實驗平臺包括集成控制系統(tǒng)、ABB機器人和自動化流水線3大部分,總體結(jié)構(gòu)如圖16所示。
ABB機器人選用IRB 4600型工業(yè)機器人。將PC機與ABB的IRC5控制柜進(jìn)行連接,分別將局域網(wǎng)內(nèi)的兩個網(wǎng)線端頭接至PC機和ABB機器人控制柜面板上的網(wǎng)絡(luò)插槽中,并分配相應(yīng)的IP地址。集成控制系統(tǒng)搭建完成后的實際效果如圖17所示。
ABB機器人銑削實驗流程為:將PC機與ABB控制柜用以太網(wǎng)連接后,啟動ABB機器人將機器人操作模式調(diào)到“Auto”檔位,運行集成控制系統(tǒng)軟件搜索連接在線的機器人控制器,然后使用ABB程序模塊遠(yuǎn)程加載銑削RAPID程序至機器人端,啟動高速主軸,開始銑削工件,當(dāng)銑削完成后先停止高速主軸,斷開集成控制系統(tǒng)軟件與ABB機器人控制器的連接,然后再關(guān)閉機器人,至此銑削實驗完成。ABB銑削實驗流程如圖18所示。圖19為實驗過程中機器人運行。
自動化線實驗采用柔性制造系統(tǒng),該系統(tǒng)由物料供給單元、物料檢測系統(tǒng)單元、直線行走搬運倉儲單元、六自由度并聯(lián)多工位加工單元、SCARA機械手傳輸單元、貨物分揀單元、裝配單元、自動化倉庫系統(tǒng)單元八部分組成。工業(yè)自動化流水線布局如圖20所示。
SIMATIC NET OPC服務(wù)器通過以太網(wǎng)建立與PLC的S7連接,實現(xiàn)流程如圖21所示,連接成功界面如圖22所示。
在STEP7中建立項目并組態(tài),將梯形圖程序下載至PLC內(nèi)部,啟動流水線實驗系統(tǒng),在OPC客戶端讀取經(jīng)OPC服務(wù)器與PLC綁定的OPC項數(shù)據(jù),查看系統(tǒng)運行情況。經(jīng)OPC客戶端修改數(shù)據(jù)并觀察系統(tǒng)運行情況。查看與虛擬調(diào)試部分對應(yīng)的物料分揀單元、運輸單元以及倉庫存儲單元以驗證控制系統(tǒng)的可靠性,最后將系統(tǒng)停止并復(fù)位。自動化線運行實驗如圖23所示。
開發(fā)了面向工業(yè)生產(chǎn)線的集成控制系統(tǒng),對ABB機器人和Siemens PLC建立了集成通訊。集成控制軟件實現(xiàn)了PC機對機器人的遠(yuǎn)程控制,利用OPC技術(shù)實現(xiàn)了對PLC的遠(yuǎn)程控制。多線程編程技術(shù)有效解決了各個模塊間的信息交互及線程分配問題。虛擬調(diào)試發(fā)現(xiàn)并解決了PLC編程與系統(tǒng)模型中的一些問題,規(guī)避了實際設(shè)備控制中的異常。機器人切削實驗和工業(yè)自動化流水線實驗有效驗證了集成控制系統(tǒng)的可行性。