鄭魁敬 廉 磊 郝任義
(①燕山大學先進鍛壓成形技術與科學教育部重點實驗室,河北秦皇島066004;②燕山大學河北省并聯機器人與機電系統實驗室,河北秦皇島066004)
隨著制造業的快速發展,工業自動化生產線正在向智能化、集成化方向發展。生產線集成控制系統是將通信、計算機及自動化技術組合在一起的有機整體[1-2]。生產線集成控制包括設備集成和信息集成兩種。設備集成是通過網絡將各種具有獨立控制功能的設備組合成一個有機的整體。信息集成是運用功能塊、模塊化的設計思想,規劃和配置資源的動態調配、設備監控、數據采集處理、質量控制等功能。目前集成控制中應用的通信技術主要有串行通信方法、MAP(manufacturing automation protocol)通信技術和現場總線技術。隨著以太網技術的廣泛應用,工業以太網技術在集成控制的應用越來越廣泛[3]。康軍[4]提出了一種工業以太網遠程監控系統;張建新[5]利用以太網模塊ADAM5000實現了染色設備監控的監控網絡。
虛擬調試技術[6-8]是基于仿真平臺對系統進行有效監督與控制的技術。虛擬調試技術與運動仿真聯合協作,技術上不斷更新,推動機械產品向更高層次方向發展,滿足不斷發展的制造業需求。虛擬調試技術能夠幫助設計人員提高設計速度、提升設計質量,使設計流程發生革命性的轉變。近年來,虛擬調試技術應用越來越廣泛。艾武[9]研究了虛擬車間實現敏捷調度支持的三維仿真環境,齊繼陽[10]設計了一個生產工段的制造系統仿真模型,周蓉[11]在Wintness軟件中對生產線系統進行了仿真,Koo[12]研究了汽車工業中PLC程序驗證的仿真方法,Park[13]研究了一種生產系統的硬件在環仿真。
本文首先介紹了集成控制系統總體框架和通訊方案,對ABB機器人和Siemens PLCS7-300確定了工業以太網集成通訊方案;其次根據系統功能需求設計了集成控制軟件,開發了ABB機器人應用程序和OPC(OLE for process control)客戶端,設計了各個模塊功能,實現了對ABB機器人與PLC的集成控制;然后建立了一系列3D模型進行虛擬調試,對調試過程中發現的不合理之處進行了改善;最后搭建實驗平臺通過實驗對集成控制系統的有效性進行了驗證。
工業以太網是建立在IEEE802.3系列標準和TCP/IP上的分布式實時控制通訊網絡。工業以太網之所以具有明顯優勢是因為它的低成本、開放性和廣泛的軟硬件支持等特點決定的。目前使用的工業以太網和在工廠中使用的信息網絡二者的底層通信協議一致,所以工業以太網能夠實現控制和信息網絡之間的無縫通信。由于工業以太網在通訊距離、速率等方面具有其他網絡無法比擬的優點,因此采用工業以太網作為集成控制的通訊網絡。
集成控制底層為工業機器人及PLC,通過工業以太網集成,在通訊網絡中加入冗余交換機,充當“環路經理”的角色。該交換機循環發送檢測幀,當主交換機正常工作時會自動阻塞該交換機,而當通訊回路中某一點發生故障時,該交換機會立即打開故障點其他端口形成新的通訊回路從而使通訊恢復,當故障排除之后該交換機恢復故障前狀態,這樣就構成了環冗余,減少了平均故障修復時間,從而提高系統的可靠性。集成控制系統總體框架如圖1所示。

其中,對于帶有以太網接口的ABB機器人直接通過工業以太網進行通訊,也可以通過串口服務器作為中間轉化的方式和RS232、RS485等串行通訊接口進行通訊。對于不具有以太網模塊的PLC采用加載BCNet-S7來實現工業以太網的通訊連接。
集成控制軟件是在VS 2015平臺上利用C#語言進行開發,分為機器人應用程序、OPC客戶端和監控程序三部分。其中機器人應用程序可以實現在線搜索所有的機器人控制器并選擇目標控制器進行連接,對I/O信號進行讀寫,對RAPID程序進行讀取、調用等,實現機械單元信息的讀取等功能。監控程序實現截屏、錄像等操作。OPC客戶端能夠實現搜索、連接OPC服務器,設置OPC組屬性,對OPC數據項進行讀寫等操作。具體功能如圖2所示。

ABB應用程序利用PC SDK進行開發,共有6大功能域。依據功能需求,構建了與功能域相關的類并建立聯系,結構如圖3所示。這幾個功能域包含了PC訪問ABB機器人控制器的應用編程接口(API)。

OPC客戶端總體開發流程如圖4所示。首先程序獲取計算機IP、名稱等信息,然后枚舉計算機注冊表中的OPC服務器,如果計算機中沒有服務器則會彈出報警屬性頁。選擇要連接的OPC服務器進行連接,如果沒有連接成功則繼續嘗試連接,如果連接成功則默認建立缺省組,也可通過設置組屬性建立自定義組,獲取該組中的數據項對象。如果要進行讀操作,則程序將獲取到的數據項對象顯示到已清空的列表中,若進行寫操作則需要操作人員選擇要改變的變量,并將要寫入的數據填入寫入編輯框中完成寫操作。當讀和寫操作都完成之后退出程序時,系統斷開與OPC服務器的連接并釋放資源,完成對與OPC服務器綁定的PLC內部數據的讀寫,實現PC端對PLC的遠程控制功能。
為了使集成控制軟件具有合理利用資源、提高執行效率的功能,軟件開發時運用了多線程技術。結合實際情況開辟了3個線程:ABB線程、PLC線程和監控線程。
ABB線程的任務是實現PC機與ABB之間的通訊與控制。主要負責連接所有在線的ABB機器人控制器,獲取機器人I/O信號,獲取機器人末端的位置、速率、各軸轉角、操作模式、坐標等數據信息,遠程讀取、加載及調用機器人RAPID加工程序等。
PLC線程的任務是實現PC機上OPC客戶端通過OPC服務器與PLC的連接與控制。主要負責獲取并連接需要連接的OPC服務器,獲取或修改OPC組屬性,獲取OPC項的詳細信息,讀取或修改OPC項中的時間戳、品質、Tag(標簽)值等具體信息。

監控線程的任務是實現對整個工業生產線設備的實時監控。主要負責連接所有的監控設備,獲取監控圖像,對某一時刻監控畫面截屏或對某段監控實施錄像。
在運用多線程技術的程序中,如果同時允許不同線程對共享對象進行操作將導致程序異常甚至造成整個程序的崩潰。線程同步技術的作用是防止共享對象被同時訪問,通過使用互斥鎖排他的方式來實現的。ABB線程與PLC線程對集成控制系統共享數據的讀取同步的邏輯關系如圖5所示,保證同一時間只有一個線程能夠獲得集成控制系統共享數據的訪問權。

虛擬調試不僅可以使操作人員獲取一些必要數據來提高對系統動態性能的認識,更重要的是可直觀看到系統運行的全部情況,大大提高對系統運行性能認識的逼真性和直觀性。另外,虛擬調試可同時設計硬件及軟件控制系統,在調試過程中發現的問題又可促進硬件的優化設計。在Robot Studio和Demo3D平臺上建立系統模型,通過集成控制軟件來調試該模型。

機器人焊接工作站,主要組成包括1臺IRB6700-175-305型機器人(R1)和3臺IRB1600-6-145型機器人(R2、R3、R4),外圍加上圍欄、控制柜、固定柱、地板等設施。機器人工作站總體布局如圖6所示。其中R1機器人固定在地面底座上,其功能主要是夾持待加工工件并將其搬運至焊接區。R2和R3機器人固定在地面底座上,R4機器人倒掛固定在固定柱上,這3臺機器人的功能是協同控制來完成對待焊接工件的多方位、高效率的焊接工作。
機器人控制器的執行程序是由RAPID語言編寫的,工作站功能流程如圖7所示。
程序開始執行時檢測各機器人是否處于起始位置,如果在起始位置則R2、R3、R4處于等待狀態,R1將待加工工件運至加工位置并進入等待狀態。當系統檢測到工件到達加工位置時,R2、R3、R4由等待狀態進入工作狀態開始加工工件上表面。當上表面加工完畢,R2、R3、R4返回起始位置并重新進入等待狀態。當檢測到R2、R3、R4回到起始位置時R1將工件翻轉并進入等待狀態,R2、R3、R4由等待狀態進入工作狀態加工下表面。當下表面加工完后,R2、R3、R4返回起始位置進入等待狀態等待下一個工件到來,R1將加工完的工件運回起始位置并接受下一個待加工工件,完成一個加工流程。

在工作站軟硬件建立完成后,用集成控制系統軟件連接并遠程控制機器人工作站,在虛擬調試中發現工作站機器人布局及RAPID程序不合理之處并進行調整,實現順利運行并完成任務。控制系統ABB主界面如圖8所示,工作站虛擬調試如圖9所示。

在Demo3D平臺上建立一條自動化生產線,利用OPC服務器與PLC連接作為控制器對設備進行控制。可實現貨物自動分揀、貼條形碼、AGV小車將貨物在輸送帶及立體倉庫之間運輸、機器人拆垛等功能。
生產線模型包含貨物分揀單元、貼標單元、AGV小車單元、自動化立體倉庫單元、機器人拆垛單元五部分,布局如圖10所示。
貨物分揀單元主要由荷載生成器、輸送帶、鏈式移栽機、傳感器等組成。荷載生成器模擬貨物產生過程,傳感器識別不同顏色的貨物并控制鏈式移栽機將不同貨物傳送到輸送帶上,從而實現貨物分揀功能。


貼標單元內部帶有傳感器,當檢測到貨物時,將條形碼貼到貨物表面的指定位置。
AGV小車單元由AGV小車、導軌、車輛控制器、目標選擇控制器組成,考慮效率問題加載了兩臺AGV小車進行貨物運輸。
自動化立體倉庫單元由貨架、巷道式堆垛起重機、入(出)庫工作臺和自動運進(出)等部分組成。貨架是由鋼結構構成的結構體,貨架內部是具有標準尺寸的用于存放貨物的貨位空間,巷道堆垛起重機完成存、取貨的工作,在貨架之間的巷道中穿行。管理上使用計算機配合條形碼技術。
機器人拆垛單元主要由拆垛機器人、貨物輸送帶、托盤輸送帶、機器人控制器、拆垛控制器、荷載刪除器等組成。
集成控制系統軟件對PLC與機器人進行集成控制,Demo3D通過 OPC服務器與 PLC連接。在Demo3D中打開“控制標簽”對話框,添加服務器,選擇Siemens的OPC協議在新建服務器中添加與PLC梯形圖控制程序相對應的控制變量,如圖11所示。

控制程序采用PLC梯形圖和Jscript語言實現控制。程序總體流程如圖12所示。

程序啟動,荷載生成器生成貨物,輸送機電動機開啟,當貨物運行至傳感器時,判斷貨物顏色是否為藍色,若為藍色則移載機不動作,否則判斷貨物是否為綠色,如是綠色移載機上升電動機正轉,否則移載機上升電動機反轉,除了藍色貨物繼續運輸之外,其他貨物在荷載刪除器處刪除,實現貨物分揀功能。當藍色貨物繼續向前運輸并觸發貼標傳感器時,將條形碼粘貼在貨物的指定位置。當貨物運行到貼標傳感器末端時輸送帶電動機停止并給AGV小車發送消息指令,AGV小車檢測貼標輸送帶是否有貨物待運輸,如果有貨物則AGV小車停下裝貨運輸并將貨物運至經檢測無貨物堆積的入庫平臺上。
當系統檢測到入庫平臺有貨的話,巷道式堆垛起重機動作將貨物運至貨架中存儲。當自動化立體倉庫收到出庫命令時,巷道式堆垛起重機將要出庫的貨物取出并放至出庫平臺上,當AGV小車檢測到出庫平臺有要運輸的貨物時停下將貨物運輸至拆垛輸送帶上,拆垛輸送帶將貨物運至拆垛機器人處。當機器人檢測到有要拆垛的貨物時機器人啟動,將貨物放至貨物傳送帶上,把托盤放至托盤傳送帶上,貨物和托盤到達荷載刪除器時被刪除,至此,一個運行周期結束。
3.3.1 改進梯形圖程序不合理之處
在虛擬調試中出現了一些錯誤,如圖13所示,第一種是藍色、棕色、綠色三種不同顏色貨物經過鏈式移載機時輸送帶電動機均未停止;第二種是只能分揀出藍色和非藍兩種貨物;第三種貨物分揀出錯。如果在實際調試中出現這些情況必然對設備有所損害,通過虛擬調試可以避免這些異常,及時發現問題并解決。經檢查是梯形圖程序設計存在缺陷。

3.3.2 AGV小車裝卸貨目標選擇出錯
AGV小車取貨口有貼標傳送帶末端、自動化立體倉庫3個出庫平臺4個位置,放貨口有拆垛輸送帶、自動化立體倉庫3個入庫平臺4個位置,會出現AGV小車從倉庫的出庫平臺取貨后直接放到入庫平臺等不符合流程的操作。生產線實際情況更加復雜,AGV小車的目標選擇問題非常重要。
為了解決這個問題,在AGV小車單元中加入兩個目標選擇控制器。一個控制器用來監視從貼標輸送帶出來的貨物,并將貨物放至倉庫單元的入庫平臺上。另一個控制器用來監視從倉庫單元的出路平臺出來的貨物,并放至拆垛單元輸送帶上。將控制貼標單元的控制器的ListeningTo控制點與貼標單元輸送帶末端相連接,將Targets控制點與立體化倉庫的進庫平臺相連接。將控制倉庫單元出庫的目標選擇控制器的ListeningTo控制點與立體化倉庫出庫輸送帶相連接,將Targets控制點與拆垛輸送帶相連接。目標選擇控制器連接如圖14所示。

運行PLC程序,通過OPC客戶端遠程讀寫PLC內部數據,實現系統模型的控制運行,在虛擬調試中,系統各單元運行穩定、銜接有序,虛擬調試總體運行如圖15所示。

搭建了生產線集成控制系統實驗平臺,進行了機器人銑削實驗以及工業自動化流水線模擬實驗。實驗平臺包括集成控制系統、ABB機器人和自動化流水線3大部分,總體結構如圖16所示。
ABB機器人選用IRB 4600型工業機器人。將PC機與ABB的IRC5控制柜進行連接,分別將局域網內的兩個網線端頭接至PC機和ABB機器人控制柜面板上的網絡插槽中,并分配相應的IP地址。集成控制系統搭建完成后的實際效果如圖17所示。



ABB機器人銑削實驗流程為:將PC機與ABB控制柜用以太網連接后,啟動ABB機器人將機器人操作模式調到“Auto”檔位,運行集成控制系統軟件搜索連接在線的機器人控制器,然后使用ABB程序模塊遠程加載銑削RAPID程序至機器人端,啟動高速主軸,開始銑削工件,當銑削完成后先停止高速主軸,斷開集成控制系統軟件與ABB機器人控制器的連接,然后再關閉機器人,至此銑削實驗完成。ABB銑削實驗流程如圖18所示。圖19為實驗過程中機器人運行。
自動化線實驗采用柔性制造系統,該系統由物料供給單元、物料檢測系統單元、直線行走搬運倉儲單元、六自由度并聯多工位加工單元、SCARA機械手傳輸單元、貨物分揀單元、裝配單元、自動化倉庫系統單元八部分組成。工業自動化流水線布局如圖20所示。

SIMATIC NET OPC服務器通過以太網建立與PLC的S7連接,實現流程如圖21所示,連接成功界面如圖22所示。

在STEP7中建立項目并組態,將梯形圖程序下載至PLC內部,啟動流水線實驗系統,在OPC客戶端讀取經OPC服務器與PLC綁定的OPC項數據,查看系統運行情況。經OPC客戶端修改數據并觀察系統運行情況。查看與虛擬調試部分對應的物料分揀單元、運輸單元以及倉庫存儲單元以驗證控制系統的可靠性,最后將系統停止并復位。自動化線運行實驗如圖23所示。


開發了面向工業生產線的集成控制系統,對ABB機器人和Siemens PLC建立了集成通訊。集成控制軟件實現了PC機對機器人的遠程控制,利用OPC技術實現了對PLC的遠程控制。多線程編程技術有效解決了各個模塊間的信息交互及線程分配問題。虛擬調試發現并解決了PLC編程與系統模型中的一些問題,規避了實際設備控制中的異常。機器人切削實驗和工業自動化流水線實驗有效驗證了集成控制系統的可行性。