劉海燕,蘇 宇*,蘇 磊
(1.廣西科技大學(xué),廣西 柳州 545006;2.柳州職業(yè)技術(shù)學(xué)院,廣西 柳州 545006)
ABB機(jī)器人在工業(yè)自動(dòng)化上使用比較多,一般在機(jī)器人控制器中編譯Rapid程序即可,但涉及到可編程控制器PLC及視覺(jué)等外圍設(shè)備時(shí),為了實(shí)現(xiàn)復(fù)雜的自動(dòng)化設(shè)備,需要借助ABB機(jī)器人的二次開(kāi)發(fā)工具開(kāi)發(fā)上位機(jī)程序用于部分控制和監(jiān)控機(jī)器人的運(yùn)行狀況。對(duì)ABB機(jī)器人進(jìn)行二次開(kāi)發(fā)的目的在于能夠在PC機(jī)上通過(guò)網(wǎng)絡(luò)對(duì)機(jī)器人進(jìn)行遠(yuǎn)程操控,以獲取機(jī)器人的工作狀態(tài)、程序數(shù)據(jù)、程序模塊、IO模塊等信息[1-2]。ABB機(jī)器人為使用者提供了大量便捷的二次開(kāi)發(fā)及應(yīng)用工具,PC SDK就是其中一項(xiàng)。
Microsoft Visual Studio(以下簡(jiǎn)稱(chēng)Visual Studio)是美國(guó)微軟公司的開(kāi)發(fā)工具包系列產(chǎn)品。Visual Studio是目前最流行的Windows平臺(tái)應(yīng)用程序的集成開(kāi)發(fā)工具,基于.NET Framework,包括了整個(gè)軟件生命周期中所需要的大部分工具[3]。本文基于汽車(chē)擋風(fēng)玻璃涂膠裝配的實(shí)際生產(chǎn)案例,采用Visual Studio的C#語(yǔ)言、RobotStudio的二次開(kāi)發(fā)工具PC SDK等完成對(duì)虛擬機(jī)器人的控制;采用RobotStudio的Smart組件構(gòu)建涂膠裝配仿真系統(tǒng),完成對(duì)實(shí)驗(yàn)平臺(tái)的仿真運(yùn)行。
實(shí)驗(yàn)仿真工作站架構(gòu)由上位機(jī)和下位機(jī)兩部分組成:上位機(jī)基于Visual Studio開(kāi)發(fā)機(jī)器人控制應(yīng)用程序;下位機(jī)由RobotStudio構(gòu)建的機(jī)器人涂膠裝配實(shí)驗(yàn)仿真工作站構(gòu)成。該實(shí)驗(yàn)仿真工作站整體框架如圖1所示。
圖1 實(shí)驗(yàn)仿真工作站框架圖
利用PC SDK對(duì)ABB機(jī)器人進(jìn)行二次開(kāi)發(fā)時(shí)只需要在其官網(wǎng)上下載相應(yīng)版本的動(dòng)態(tài)鏈接庫(kù)文件。本文用到的PC SDK版本為6.07。
Visual Studio軟件是一套完整的開(kāi)發(fā)工具,可生成ASP.NET Web應(yīng)用程序、桌面應(yīng)用程序、XML Web Services和移動(dòng)應(yīng)用程序。Visual Basic、Visual C#和Visual C++都使用相同的集成開(kāi)發(fā)環(huán)境(IDE),實(shí)現(xiàn)工具共享[4]。創(chuàng)建新項(xiàng)目時(shí),Visual Studio會(huì)自動(dòng)生成一個(gè)解決方案,可以根據(jù)需要將其他項(xiàng)目添加到該解決方案中。本系統(tǒng)使用Visual Studio Community 2017版本15.9.11,NET Framwork版本4.0以上。通過(guò)添加ABB PC SDK動(dòng)態(tài)鏈接庫(kù),定義好命名空間ABB.Robotics.Controllers,使用Visual Studio中的C#編寫(xiě)PC應(yīng)用程序連接RobotStudio中的虛擬機(jī)器人,實(shí)現(xiàn)與ABB機(jī)器人的通信及數(shù)據(jù)讀取和寫(xiě)入。
PC SDK的類(lèi)庫(kù)被封裝在不同的功能域中,其動(dòng)態(tài)鏈接庫(kù)文件通過(guò)編譯軟件Visual Studio引用至用C#建立的Winform項(xiàng)目,根據(jù)開(kāi)發(fā)需求在Visual Studio中構(gòu)建與PC SDK的類(lèi)庫(kù)相關(guān)的類(lèi),并建立起各個(gè)功能域之間的關(guān)系。
(1)建立網(wǎng)絡(luò)掃描和連接等句柄,設(shè)置IP使用回環(huán)地址,再控制其連接界面可顯示網(wǎng)絡(luò)上所有機(jī)器人信息,包括機(jī)器人的IP地址、系統(tǒng)名稱(chēng)、虛擬控制器名稱(chēng)等。
(2)Visual Studio與ABB Virtual Controller建立通信,獲取ABB機(jī)器人端的變量,實(shí)現(xiàn)機(jī)器人電機(jī)的上下電、指針復(fù)位、程序加載、程序卸載等功能,并寫(xiě)入擋風(fēng)玻璃搬運(yùn)、涂膠和裝配的控制信號(hào),生成的控制應(yīng)用程序界面如圖2所示。
圖2 ABB機(jī)器人控制應(yīng)用程序
RobotStudio是ABB公司專(zhuān)門(mén)開(kāi)發(fā)的工業(yè)機(jī)器人離線編程軟件,RobotStudio基于ABB Virtual Controller,與機(jī)器人在生產(chǎn)中運(yùn)行的軟件相同,通過(guò)RobotStudio軟件的在線功能和網(wǎng)線與機(jī)器人控制柜連接,就可以實(shí)現(xiàn)機(jī)器人程序參數(shù)設(shè)定、備份以及監(jiān)控的功能。因此,RobotStudio可以執(zhí)行非常逼真的模擬,并且可以在生產(chǎn)現(xiàn)場(chǎng)直接使用編程的機(jī)器人程序和配置文件[5-6]。
應(yīng)用Solidworks軟件構(gòu)建汽車(chē)模型和擋風(fēng)玻璃模型。汽車(chē)模型的長(zhǎng)度為4920mm,寬度為2040mm;擋風(fēng)玻璃是不規(guī)則圖像,其最大長(zhǎng)度為1400mm,最大寬度為580mm。模型如圖3所示。
圖3 實(shí)驗(yàn)平臺(tái)模型圖
圖4 機(jī)器人涂膠裝配工作站布局
機(jī)器人涂膠裝配工作站布局如圖4所示。搬運(yùn)機(jī)器人從輸送鏈上抓取擋風(fēng)玻璃搬至涂膠區(qū);當(dāng)機(jī)器人搬運(yùn)到位后,觸發(fā)涂膠機(jī)器人進(jìn)行涂膠;涂膠完成后搬運(yùn)機(jī)器人將擋風(fēng)玻璃搬運(yùn)至裝配區(qū),完成汽車(chē)擋風(fēng)玻璃的裝配;裝配結(jié)束后觸發(fā)地板式傳送帶,將汽車(chē)移動(dòng)至另一個(gè)加工工位。整個(gè)工作站流程圖如圖5所示。
圖5 機(jī)器人工作流程圖
Smart組件用來(lái)制作動(dòng)畫(huà)仿真效果,本文通過(guò)設(shè)置擋風(fēng)玻璃Smart組件、工具Smart組件、汽車(chē)Smart組件、傳送帶Smart組件,最終將機(jī)器人與這些工作站進(jìn)行IO邏輯鏈接,完成擋風(fēng)玻璃在輸送鏈上的自動(dòng)傳送;搬運(yùn)機(jī)器人夾取擋風(fēng)玻璃到達(dá)涂膠工位時(shí),發(fā)出到位信號(hào),啟動(dòng)機(jī)器人涂膠作業(yè);涂膠結(jié)束后觸發(fā)搬運(yùn)機(jī)器人的裝配工作;裝配結(jié)束后觸發(fā)汽車(chē)離開(kāi)涂膠工位的信號(hào)和下一輛汽車(chē)啟動(dòng)的信號(hào)。
在企業(yè)實(shí)際生產(chǎn)案例中,PLC是中央控制單元,通過(guò)Profinet或Profibus等現(xiàn)場(chǎng)總線,將汽車(chē)、工業(yè)機(jī)器人、輸送鏈、傳送帶等設(shè)備連接起來(lái)進(jìn)行信號(hào)通信。而在仿真系統(tǒng)中,Smart組件可以看成是PLC,只需要將該組件的I/O信號(hào)與機(jī)器人的I/O信號(hào)進(jìn)行關(guān)聯(lián),模擬PLC與機(jī)器人的信號(hào)通信實(shí)現(xiàn)仿真效果。以汽車(chē)Smart組件為例,設(shè)置仿真I/O信號(hào)如表1所示。
表1 汽車(chē)Smart組件所需要的I/O信號(hào)
Smart組件中各子組件之間的邏輯控制,主要是通過(guò)I/O信號(hào)的連接來(lái)實(shí)現(xiàn),部分I/O信號(hào)邏輯連接如表2所示。
表2 汽車(chē)Smart組件I/O信號(hào)連接
在搭建好各種模型和Smart組件后,可以根據(jù)工作流程要求,利用RobotStudio的RAPID離線編程功能編寫(xiě)和調(diào)試出相應(yīng)的程序,然后進(jìn)行模擬仿真查看結(jié)果是否滿(mǎn)足要求。RAPID是一種英文的編程語(yǔ)言,里面包含著可以移動(dòng)機(jī)器人、設(shè)置輸出、讀取輸入等指令,還能實(shí)現(xiàn)決策、重復(fù)其他指令、構(gòu)造程序、與系統(tǒng)操縱員交流等功能。搬運(yùn)和涂膠機(jī)器人程序流程圖如圖6、圖7所示。
圖6 搬運(yùn)機(jī)器人程序流程圖
圖7 涂膠機(jī)器人程序流程圖
搭建了整個(gè)涂膠裝配實(shí)驗(yàn)平臺(tái)后,在Visual Studio開(kāi)發(fā)的汽車(chē)涂膠和裝配應(yīng)用程序中啟動(dòng)程序,完成對(duì)虛擬控制柜的通信連接;將搬運(yùn)控制信號(hào)發(fā)送給搬運(yùn)ABB機(jī)器人,工作站就啟動(dòng)擋風(fēng)玻璃的搬運(yùn)任務(wù);將涂膠控制信號(hào)發(fā)送給涂膠ABB機(jī)器人,機(jī)器人就啟動(dòng)涂膠任務(wù);將裝配控制信號(hào)發(fā)送給搬運(yùn)ABB機(jī)器人,機(jī)器人就啟動(dòng)裝配任務(wù)。仿真結(jié)果如圖8、圖9所示。
圖8 Visual Studio控制ABB機(jī)器人啟動(dòng)搬運(yùn)和涂膠工作
圖9 Visual Studio控制ABB機(jī)器人啟動(dòng)裝配工作
在此仿真實(shí)驗(yàn)系統(tǒng)中需要依次完成以下工作:
(1)在Visual Studio軟件下完成PC SDK動(dòng)態(tài)鏈接庫(kù)的引用、C#程序編寫(xiě)、window窗口搭建、與機(jī)器人通信的建立、控制信號(hào)的讀取和寫(xiě)入、電機(jī)上下電、指針復(fù)位等程序;
(2)在RobotStudio軟件下搭建汽車(chē)擋風(fēng)玻璃自動(dòng)涂膠與裝配的工作站;在生產(chǎn)過(guò)程中,兩臺(tái)機(jī)器人相互配合,完成自動(dòng)涂膠與裝配工作,滿(mǎn)足現(xiàn)代化汽車(chē)生產(chǎn)線快速、準(zhǔn)確和柔性化生產(chǎn)的要求。
通過(guò)以上工作,最終完成汽車(chē)擋風(fēng)玻璃涂膠和裝配仿真系統(tǒng)的上位機(jī)設(shè)計(jì)、下位機(jī)機(jī)器人工作站的仿真運(yùn)行,實(shí)現(xiàn)汽車(chē)生產(chǎn)流水線上對(duì)汽車(chē)擋風(fēng)玻璃自動(dòng)涂膠功能和汽車(chē)擋風(fēng)玻璃自動(dòng)粘貼裝配功能。經(jīng)過(guò)調(diào)試后的機(jī)器人操作優(yōu)化了擋風(fēng)玻璃的涂膠路線,同時(shí)能夠保證擋風(fēng)玻璃在安裝上的準(zhǔn)確性,提高汽車(chē)制造的整體質(zhì)量,增強(qiáng)汽車(chē)的安全性,節(jié)約人力成本,減少資源的浪費(fèi)。
柳州職業(yè)技術(shù)學(xué)院學(xué)報(bào)2021年1期