劉海燕,林春蘭,吳雪穎,蘇宇
廣西科技大學(xué)職業(yè)技術(shù)教育學(xué)院,工業(yè)機器人技術(shù)中心(柳州 545006)
條碼,又稱條形碼,是由一組寬度不同、反射率不同的平行相鄰的條和空按規(guī)定的編碼規(guī)則組合表示一定信息的代碼,也是一種能利用光電掃描閱讀設(shè)備識讀并實現(xiàn)將數(shù)據(jù)輸入計算機的特殊代碼[1-2]。條碼技術(shù)被廣泛應(yīng)用于商業(yè)、金融、交通、醫(yī)療衛(wèi)生、郵電、制造、食品、倉儲等領(lǐng)域[3]。條碼是一種經(jīng)濟、實用的自動識別技術(shù),具有輸入速度快、可靠性高、采集信息量大、靈活實用等優(yōu)點[4]。
采用Visual Studio(VS)對機器人進行二次開發(fā),張日紅等[5]在VS開發(fā)環(huán)境下實現(xiàn)機器人離線編程控制的方法;李靜等[6]對用VS創(chuàng)建一種磁吸附履帶式爬壁機器人的人機交互界面,實現(xiàn)上下位機的實時通訊。采用Python實現(xiàn)設(shè)備間的通信,張西波[7]用Python編寫串口程序,可實現(xiàn)對設(shè)備的集中控制和管理;呂煬[8]用Python完成USB通信和網(wǎng)絡(luò)通信開發(fā)。采用RobotStudio(RS)離線編程軟件的Smart組件進行機器人工作站的虛擬仿真;郝建豹等[9]通過SolidWorks構(gòu)建三維仿真模型并導(dǎo)入到RS中構(gòu)建機器人工作站的建模布局,通過創(chuàng)建Smart組件實現(xiàn)工作站的仿真運行。
基于工業(yè)實際生產(chǎn)案例,采用Python下的Pyqt5工具包和Pycharm編輯器開發(fā)串口通信軟件,實現(xiàn)對掃碼器掃描信號的讀取和發(fā)送;采用VS和RS的二次開發(fā)工具PC SDK完成對虛擬機器人的控制;采用RS的Smart組件構(gòu)建仿真系統(tǒng),完成對平臺的仿真運行。
平臺架構(gòu)包括硬件系統(tǒng)和軟件系統(tǒng):硬件系統(tǒng)主要由讀碼器組成;軟件系統(tǒng)由Python開發(fā)的串口通訊軟件、VS開發(fā)的虛擬機器人控制應(yīng)用程序和RS構(gòu)建的雙鏈仿真平臺構(gòu)成。平臺整體框架如圖1所示。
圖1 平臺框架圖
Python是一種動態(tài)、面向?qū)ο蟮哪_本語言,是最流行的編程語言。它易于學(xué)習(xí),速度快、是一種免費和開源的高級語言,便于攜帶和解釋[10]。Pycharm是Python的一組工具,有助于使用者提高Python語言開發(fā)的效率。試驗應(yīng)用Python 3.6.4(64位)中的GUI界面,選用Pyqt5工具包,Pycharm 2018.3.5(64位)版本。串口通信流程圖如圖2所示。
圖2 串口通信流程圖
調(diào)用Python編程所需的模塊→控制優(yōu)先級,先執(zhí)行初始化→接收掃碼數(shù)據(jù)→串口控件→掃碼數(shù)據(jù)顯示→網(wǎng)絡(luò)設(shè)置控件→機器人端串口發(fā)送程序。編碼完成后,運行代碼進行窗口檢驗,如圖3所示。
圖3 串口調(diào)試軟件界面
界面運行完成后,進行串口程序測試,測試結(jié)果如圖4所示。
圖4 串口測試
Visual Studio軟件[11]是一套完整的開發(fā)工具,可生成ASP.NET Web應(yīng)用程序、桌面應(yīng)用程序、XML Web Services和移動應(yīng)用程序。Visual Basic、Visual C#和Visual C++都使用相同的集成開發(fā)環(huán)境(IDE),實現(xiàn)工具共享。創(chuàng)建新項目時,Visual Studio會自動生成一個解決方案,可根據(jù)需要將其他項目添加到解決方案中。系統(tǒng)使用Visual Studio Community 2017版本15.9.11,NET Framwork版本4.0以上。通過添加PC SDK動態(tài)鏈接庫,使用C#編寫PC應(yīng)用程序控制RobotStudio中的機器人,實現(xiàn)與ABB機器人的通信及數(shù)據(jù)讀取和寫入。
對ABB機器人進行二次開發(fā)的目的在于能夠在PC機上通過網(wǎng)絡(luò)對機器人進行遠程操控,可獲取機器人的工作狀態(tài)、程序數(shù)據(jù)、程序模塊、IO模塊等信息。ABB機器人為使用者提供大量便捷的二次開發(fā)及應(yīng)用工具,PC SDK就是其中一項。利用PC SDK對ABB機器人進行二次開發(fā)時,只需要在其官網(wǎng)上下載相應(yīng)版本的動態(tài)鏈接庫文件,用到的PC SDK版本為6.07。
PC SDK的類庫被封裝在不同的功能域中,其動態(tài)鏈接庫文件通過編譯軟件Visual Studio(簡稱VS)引用至用C#建立的Winform項目,根據(jù)開發(fā)需求在VS中構(gòu)建與PC SDK的類庫相關(guān)的類,并建立起各個功能域之間的關(guān)系。
1) 通過創(chuàng)建Winform窗體,建立網(wǎng)絡(luò)掃描和連接等句柄,可顯示網(wǎng)絡(luò)上所有機器人信息。
2) VS與ABB Virtual Controller建立通信,獲取ABB機器人端的變量,并寫入產(chǎn)品A和產(chǎn)品B的控制信號,生成的控制應(yīng)用程序界面如圖5所示。
圖5 ABB機器人控制應(yīng)用程序
ABB模擬與離線編程軟件RS,可在辦公室PC機上完成機器人編程,無需中斷生產(chǎn)。RS基于ABB Virtual Controller,與機器人在生產(chǎn)中運行的軟件相同。因此,RS可以執(zhí)行非常逼真的模擬,并且可在生產(chǎn)現(xiàn)場直接使用編程的機器人程序和配置文件[12]。
應(yīng)用UG 10.0軟件構(gòu)建簡單的AGV小車模型和食品包裝產(chǎn)品A和B模型。簡易AGV小車模型主要參數(shù)為:輪直徑80 mm,寬度150 mm,車身長度1 600 mm,車身寬度1 000 mm,可用裝載車身長度1 200 mm,離地高度135 mm。產(chǎn)品A和B模型為:長度600 mm,寬度400 mm,高度200 mm。模型如圖6所示。
在機器人雙鏈路平臺仿真系統(tǒng)中,為更好地展示效果,從分析物料出發(fā)定義2條輸送鏈(產(chǎn)品A和產(chǎn)品B),創(chuàng)建輸送鏈子對象組件:要求物料在輸送鏈前端自動顯現(xiàn);物料自動輸送到輸送鏈末端,與傳感器發(fā)生碰撞后,發(fā)出產(chǎn)品到位信號,從而啟動機器人搬運工作。
在企業(yè)實際生產(chǎn)案例中,PLC是中央控制單元,通過Profinet或Profibus等現(xiàn)場總線,將數(shù)控機床、工業(yè)機器人等設(shè)備連接起來進行信號通信。而在仿真系統(tǒng)中,Smart組件可以看成是PLC,只需要將該組件的I/O信號與機器人的I/O信號進行關(guān)聯(lián),模擬PLC與機器人的信號通信實現(xiàn)仿真效果。仿真I/O信號如表1所示。
圖6 平臺模型圖
表1 機器人自動上下料生產(chǎn)線部分I/O信號
Smart組件中各子組件之間的邏輯控制,主要是通過I/O信號的連接來實現(xiàn),部分I/O信號邏輯連接如表2所示。
表2 Smart組件_輸送鏈的部分I/O信號邏輯關(guān)系
在搭建好各種模型和Smart組件后,可以根據(jù)工作流程要求,利用RS的離線編程功能編寫和調(diào)試出相應(yīng)的程序,進行模擬仿真查看結(jié)果是否滿足要求。在RS中主要是利用其RAPID對機器人進行編程。RAPID是一種英文的編程語言,里面包含著可以移動機器人、設(shè)置輸出、讀取輸入等指令,還能實現(xiàn)決策、重復(fù)其他指令、構(gòu)造程序、與系統(tǒng)操縱員交流等功能。部分主程序如下所示。
Main主程序:
搭建整個雙鏈平臺后,單擊“仿真控制”選項卡的“播放”,使機器人處于自動仿真運行狀態(tài)。在VS開發(fā)的ABB機器人控制器應(yīng)用程序中啟動程序,完成對虛擬控制柜的通信連接;產(chǎn)品A的掃碼數(shù)值發(fā)送給ABB機器人,機器人就啟動產(chǎn)品A的搬運和碼垛任務(wù);產(chǎn)品B的掃碼數(shù)值發(fā)送給ABB機器人,機器人就啟動產(chǎn)品B的搬運和碼垛任務(wù);若同時發(fā)送A和B的掃碼數(shù)值,ABB機器人就執(zhí)行搬運先到達物料的任務(wù);AGV小車按照3×5的結(jié)構(gòu)進行碼垛。仿真結(jié)果如圖7所示。
圖7 VS控制ABB機器人仿真結(jié)果
在此仿真系統(tǒng)中需要依次完成:1)在Python+Pyqt5+Pycharm中完成串口通信軟件的設(shè)計及界面搭建工作;2)在Visual Studio軟件下完成PCSDK動態(tài)鏈接庫的引用、C#程序編寫、Window窗口搭建、與機器人通信的建立等;3)在RobotStudio軟件下完成SMART組件的搭建,包括雙鏈路碼垛工作站I/O配置及邏輯信號搭建、機器人邏輯信號搭建、程序數(shù)據(jù)創(chuàng)建、目標點示教、仿真程序編寫及調(diào)試。
完成雙鏈路仿真實系統(tǒng)的上位機設(shè)計、下位機機器人工作站的仿真運行。仿真環(huán)境下的搭建,使流水線的物料通過掃碼、分類、ABB機器人裝載和AGV小車運送、計算機總控的一整套視覺自動化研究。該設(shè)計可節(jié)約人力成本,提高工作效率,為工控中的商品包裝倉儲運輸提供一套高效的視覺自動化系統(tǒng)方案。