劉海燕,蘇 宇*,蘇 磊
(1.廣西科技大學,廣西 柳州 545006;2.柳州職業(yè)技術學院,廣西 柳州 545006)
ABB機器人在工業(yè)自動化上使用比較多,一般在機器人控制器中編譯Rapid程序即可,但涉及到可編程控制器PLC及視覺等外圍設備時,為了實現(xiàn)復雜的自動化設備,需要借助ABB機器人的二次開發(fā)工具開發(fā)上位機程序用于部分控制和監(jiān)控機器人的運行狀況。對ABB機器人進行二次開發(fā)的目的在于能夠在PC機上通過網(wǎng)絡對機器人進行遠程操控,以獲取機器人的工作狀態(tài)、程序數(shù)據(jù)、程序模塊、IO模塊等信息[1-2]。ABB機器人為使用者提供了大量便捷的二次開發(fā)及應用工具,PC SDK就是其中一項。
Microsoft Visual Studio(以下簡稱Visual Studio)是美國微軟公司的開發(fā)工具包系列產(chǎn)品。Visual Studio是目前最流行的Windows平臺應用程序的集成開發(fā)工具,基于.NET Framework,包括了整個軟件生命周期中所需要的大部分工具[3]。本文基于汽車擋風玻璃涂膠裝配的實際生產(chǎn)案例,采用Visual Studio的C#語言、RobotStudio的二次開發(fā)工具PC SDK等完成對虛擬機器人的控制;采用RobotStudio的Smart組件構建涂膠裝配仿真系統(tǒng),完成對實驗平臺的仿真運行。
實驗仿真工作站架構由上位機和下位機兩部分組成:上位機基于Visual Studio開發(fā)機器人控制應用程序;下位機由RobotStudio構建的機器人涂膠裝配實驗仿真工作站構成。該實驗仿真工作站整體框架如圖1所示。

圖1 實驗仿真工作站框架圖
利用PC SDK對ABB機器人進行二次開發(fā)時只需要在其官網(wǎng)上下載相應版本的動態(tài)鏈接庫文件。本文用到的PC SDK版本為6.07。
Visual Studio軟件是一套完整的開發(fā)工具,可生成ASP.NET Web應用程序、桌面應用程序、XML Web Services和移動應用程序。Visual Basic、Visual C#和Visual C++都使用相同的集成開發(fā)環(huán)境(IDE),實現(xiàn)工具共享[4]。創(chuàng)建新項目時,Visual Studio會自動生成一個解決方案,可以根據(jù)需要將其他項目添加到該解決方案中。本系統(tǒng)使用Visual Studio Community 2017版本15.9.11,NET Framwork版本4.0以上。通過添加ABB PC SDK動態(tài)鏈接庫,定義好命名空間ABB.Robotics.Controllers,使用Visual Studio中的C#編寫PC應用程序連接RobotStudio中的虛擬機器人,實現(xiàn)與ABB機器人的通信及數(shù)據(jù)讀取和寫入。
PC SDK的類庫被封裝在不同的功能域中,其動態(tài)鏈接庫文件通過編譯軟件Visual Studio引用至用C#建立的Winform項目,根據(jù)開發(fā)需求在Visual Studio中構建與PC SDK的類庫相關的類,并建立起各個功能域之間的關系。
(1)建立網(wǎng)絡掃描和連接等句柄,設置IP使用回環(huán)地址,再控制其連接界面可顯示網(wǎng)絡上所有機器人信息,包括機器人的IP地址、系統(tǒng)名稱、虛擬控制器名稱等。
(2)Visual Studio與ABB Virtual Controller建立通信,獲取ABB機器人端的變量,實現(xiàn)機器人電機的上下電、指針復位、程序加載、程序卸載等功能,并寫入擋風玻璃搬運、涂膠和裝配的控制信號,生成的控制應用程序界面如圖2所示。

圖2 ABB機器人控制應用程序
RobotStudio是ABB公司專門開發(fā)的工業(yè)機器人離線編程軟件,RobotStudio基于ABB Virtual Controller,與機器人在生產(chǎn)中運行的軟件相同,通過RobotStudio軟件的在線功能和網(wǎng)線與機器人控制柜連接,就可以實現(xiàn)機器人程序參數(shù)設定、備份以及監(jiān)控的功能。因此,RobotStudio可以執(zhí)行非常逼真的模擬,并且可以在生產(chǎn)現(xiàn)場直接使用編程的機器人程序和配置文件[5-6]。
應用Solidworks軟件構建汽車模型和擋風玻璃模型。汽車模型的長度為4920mm,寬度為2040mm;擋風玻璃是不規(guī)則圖像,其最大長度為1400mm,最大寬度為580mm。模型如圖3所示。

圖3 實驗平臺模型圖

圖4 機器人涂膠裝配工作站布局
機器人涂膠裝配工作站布局如圖4所示。搬運機器人從輸送鏈上抓取擋風玻璃搬至涂膠區(qū);當機器人搬運到位后,觸發(fā)涂膠機器人進行涂膠;涂膠完成后搬運機器人將擋風玻璃搬運至裝配區(qū),完成汽車擋風玻璃的裝配;裝配結束后觸發(fā)地板式傳送帶,將汽車移動至另一個加工工位。整個工作站流程圖如圖5所示。

圖5 機器人工作流程圖
Smart組件用來制作動畫仿真效果,本文通過設置擋風玻璃Smart組件、工具Smart組件、汽車Smart組件、傳送帶Smart組件,最終將機器人與這些工作站進行IO邏輯鏈接,完成擋風玻璃在輸送鏈上的自動傳送;搬運機器人夾取擋風玻璃到達涂膠工位時,發(fā)出到位信號,啟動機器人涂膠作業(yè);涂膠結束后觸發(fā)搬運機器人的裝配工作;裝配結束后觸發(fā)汽車離開涂膠工位的信號和下一輛汽車啟動的信號。
在企業(yè)實際生產(chǎn)案例中,PLC是中央控制單元,通過Profinet或Profibus等現(xiàn)場總線,將汽車、工業(yè)機器人、輸送鏈、傳送帶等設備連接起來進行信號通信。而在仿真系統(tǒng)中,Smart組件可以看成是PLC,只需要將該組件的I/O信號與機器人的I/O信號進行關聯(lián),模擬PLC與機器人的信號通信實現(xiàn)仿真效果。以汽車Smart組件為例,設置仿真I/O信號如表1所示。

表1 汽車Smart組件所需要的I/O信號
Smart組件中各子組件之間的邏輯控制,主要是通過I/O信號的連接來實現(xiàn),部分I/O信號邏輯連接如表2所示。

表2 汽車Smart組件I/O信號連接
在搭建好各種模型和Smart組件后,可以根據(jù)工作流程要求,利用RobotStudio的RAPID離線編程功能編寫和調(diào)試出相應的程序,然后進行模擬仿真查看結果是否滿足要求。RAPID是一種英文的編程語言,里面包含著可以移動機器人、設置輸出、讀取輸入等指令,還能實現(xiàn)決策、重復其他指令、構造程序、與系統(tǒng)操縱員交流等功能。搬運和涂膠機器人程序流程圖如圖6、圖7所示。

圖6 搬運機器人程序流程圖

圖7 涂膠機器人程序流程圖
搭建了整個涂膠裝配實驗平臺后,在Visual Studio開發(fā)的汽車涂膠和裝配應用程序中啟動程序,完成對虛擬控制柜的通信連接;將搬運控制信號發(fā)送給搬運ABB機器人,工作站就啟動擋風玻璃的搬運任務;將涂膠控制信號發(fā)送給涂膠ABB機器人,機器人就啟動涂膠任務;將裝配控制信號發(fā)送給搬運ABB機器人,機器人就啟動裝配任務。仿真結果如圖8、圖9所示。

圖8 Visual Studio控制ABB機器人啟動搬運和涂膠工作

圖9 Visual Studio控制ABB機器人啟動裝配工作
在此仿真實驗系統(tǒng)中需要依次完成以下工作:
(1)在Visual Studio軟件下完成PC SDK動態(tài)鏈接庫的引用、C#程序編寫、window窗口搭建、與機器人通信的建立、控制信號的讀取和寫入、電機上下電、指針復位等程序;
(2)在RobotStudio軟件下搭建汽車擋風玻璃自動涂膠與裝配的工作站;在生產(chǎn)過程中,兩臺機器人相互配合,完成自動涂膠與裝配工作,滿足現(xiàn)代化汽車生產(chǎn)線快速、準確和柔性化生產(chǎn)的要求。
通過以上工作,最終完成汽車擋風玻璃涂膠和裝配仿真系統(tǒng)的上位機設計、下位機機器人工作站的仿真運行,實現(xiàn)汽車生產(chǎn)流水線上對汽車擋風玻璃自動涂膠功能和汽車擋風玻璃自動粘貼裝配功能。經(jīng)過調(diào)試后的機器人操作優(yōu)化了擋風玻璃的涂膠路線,同時能夠保證擋風玻璃在安裝上的準確性,提高汽車制造的整體質(zhì)量,增強汽車的安全性,節(jié)約人力成本,減少資源的浪費。