摘 要:【目的】在光伏電池串的生產(chǎn)過程中,市場對于不同包裝形式和產(chǎn)品規(guī)格的需求不斷變化,導致生產(chǎn)線需要頻繁調(diào)整,需要對機器人重新編程,造成生產(chǎn)效率下降。因此,研發(fā)光伏電池組件機器人排版軟件系統(tǒng),將有效實現(xiàn)智能制造的工藝優(yōu)化和效益提升。【方法】基于Visual Studio平臺對ABB工業(yè)機器人進行二次開發(fā),利用機器人廠家提供的二次開發(fā)方法,實現(xiàn)PC端和機器人的信息交互和控制。并以光伏電池串實際項目中遇到的問題為研究對象,提供智能化解決方案。通過在仿真軟件中搭建數(shù)字化仿真工作站,利用C#語言進行編程,開發(fā)出工業(yè)APP,通過軟件將問題的解決辦法在PC端桌面上展示?!窘Y果】圍繞工業(yè)APP的開發(fā)展開研究,實現(xiàn)了啟動與監(jiān)控、排版調(diào)整、生產(chǎn)數(shù)據(jù)與監(jiān)控、預防維修、事件日志、數(shù)據(jù)備份等功能,同時,對軟件進行打包并聯(lián)合仿真工作站測試。通過二次開發(fā)的APP解決了不同工藝要求的電池串智能排版問題,操作簡單,能有效降低操作員調(diào)試難度,減少操作員上崗培訓時間?!窘Y論】基于Visual Studio平臺對ABB工業(yè)機器人的二次開發(fā),大大提高了生產(chǎn)率,實現(xiàn)了企業(yè)降本增效的目的。
關鍵詞:C#語言;二次開發(fā);工業(yè)機器人;光伏電池
中圖分類號:TP242.2 文獻標志碼:A 文章編號:1003-5168(2024)16-0022-06
DOI:10.19968/j.cnki.hnkj.1003-5168.2024.16.005
Secondary Development and Application of Industrial Robot
in Battery Typesetting System
LING Xu1 ZOU Chong2 DAI Junliang1
(1.School of Intelligent Control Engineering, Hunan Chemical Vocational Technology College, Zhuzhou 412000, China; 2.School of Mechanical Engineering, Hunan University of Technology, Zhuzhou 412000, China)
Abstract: [Purposes] In the production process of photovoltaic cell strings, due to the changing market demand for different packaging forms and product specifications, the production line needs to be adjusted frequently, and the robot needs to be reprogrammed, resulting in a decrease in production efficiency. Therefore, the research and development of a robotic typesetting software system for photovoltaic cell modules will effectively realize the process optimization and benefit improvement of intelligent manufacturing. [Methods] Based on the Visual Studio platform, the secondary development of ABB industrial robots was carried out, and the secondary development method provided by the robot manufacturer was used to realize the information interaction and control between the PC desktop and the robot. This paper will provide intelligent solutions based on the problems encountered in the actual project of photovoltaic cell strings. Through the simulation software provided by the robot manufacturer, a digital simulation workstation i6c1e53c3d4125d67a433e2c2b381e7e3s built, and the industrial APP is developed by using C# language programming methods, and the solution to the problem is displayed on the PC desktop through the software. [Findings] The content of the article focuses on the development of industrial APP to realize functions including start-up and monitoring, typesetting adjustment, production data and monitoring, preventive maintenance, event logs, data backup, etc. Finally, the software was packaged and the co-simulation workstation was tested. The intelligent typesetting of battery strings with different process requirements was perfectly solved through the secondary development of APP, which was simple to operate, effectively reducing the difficulty of operator debugging and reducing the operator's on-duty time.[Conclusions] Based on the Visual Studio platform, the secondary development of ABB industrial robots can greatly improve productivity, reduce costs and increase efficiency for enterprises.
Keywords: C # language; secondary development; industrial robot; photovoltaic cells
0 引言
在智能制造背景下,雖然我國制造行業(yè)的產(chǎn)值逐年增長,但智能化水平低、專業(yè)人才缺口大等問題急需解決。目前,許多制造企業(yè)都在進行產(chǎn)業(yè)升級,朝著智能化方向發(fā)展。制造企業(yè)通過工業(yè)機器人、PLC、觸摸屏等來實現(xiàn)自動裝配,但裝配效果單一,無法滿足對包裝形式多樣化的需求[1-3]。本研究基于光伏電池串裝配多樣化的實際生產(chǎn)要求,采用Visual Studio 2019編程軟件,結合ABB機器人的PC SDK二次開發(fā)包,并利用RobotStudio進行虛擬調(diào)試,從而滿足光伏電池串多樣化排版需求,操作人員只需輸入相應的工藝參數(shù),即可得到滿足多種排版效果的電池裝配方式。同時,該軟件還能根據(jù)需求來編寫數(shù)據(jù)統(tǒng)計功能,使數(shù)據(jù)更直觀,在降低操作人員調(diào)試難度的同時,也降低對人才培育資源的消耗,通過簡單的培訓,相關人員即可快速上崗,從而提高生產(chǎn)效率。
1 系統(tǒng)結構與原理設計
1.1 系統(tǒng)框架
RobotStudio是ABB公司開發(fā)的一款虛擬模擬軟件,可對 ABB公司制造的每一個產(chǎn)品進行準確模擬,包含了與實際 ABB工業(yè)機器人的連接、RAPID程序的編譯。通過 RobotStudio對工業(yè)機器人進行離線編程,應先確認RAPID程序無誤,再與現(xiàn)實中的機器人進行同步,這樣能很好地模擬出生產(chǎn)過程。ABB公司作為優(yōu)秀的工業(yè)機器人生產(chǎn)商,給用戶提供了多種二次開發(fā)的通信方式,選擇合適的通信方式是十分重要的,現(xiàn)如今主要的通信方式有PC SDK、Robot Web Service(RWS)、息隊列 RAPID Message Queue (RMQ)、OPC Server、套接字Socket。本研究采用PC SDK通信,可實現(xiàn)個人電腦與IRC5之間的通信。通過Controller提供的接口,能對各個層次進行訪問,從而調(diào)用機器人控制器的某個功能,實現(xiàn)在二次開發(fā)界面掃描控制器并進行連接、機器人啟停、排版調(diào)整、生產(chǎn)數(shù)據(jù)與監(jiān)控、預防維修、事件日志、數(shù)據(jù)備份等功能[4-7]。RobotStudio二次開發(fā)系統(tǒng)結構如圖1所示。
1.2 排版變換原理
任意機器人都能準確且唯一地表示出其在空間坐標系(OXYZ)中的位置狀態(tài),其中,位置為X、Y、Z坐標,姿態(tài)為OX的夾角RX、OY的夾角RY、OZ的夾角RZ。以OXYZ為基坐標系,以 OaXaYaZa為剛性坐標系。從機器人角度來看,空間內(nèi)任意一點的位置都是由(X,Y,Z,RX,RY,RZ)來確定的。機械臂的位置可用3×1的矩陣來表示,即在基本坐標系中,剛性坐標系的中心Oa的位置見式(1)。
[P=XYZ] (1)
將機械臂的位姿表示為3×3的矩陣,即在基坐標系中的剛性坐標系的位姿見式(2)。
[P=cos∠X'Xcos∠Y'Xcos∠Z'Xcos∠X'Ycos∠Y'Ycos∠Z'Ycos∠X'Zcos∠Y'Zcos∠Z'Z (2)]
式中:第一列為剛體坐標系的OaXa軸在基坐標系的三個軸方向上的分量,為單位主矢量;第二列和第三列分別為剛體坐標系的OaYa軸和OaZa軸在基坐標系的三個軸方向上的分量。
以光電串聯(lián)搬運為例,機器人沿著坐標系統(tǒng) O向Y方向移動20, Z方向移動15,并圍繞 Z軸轉(zhuǎn)動90°。此時,機器人在O坐標系統(tǒng)上的姿態(tài)表示如圖2所示,相關計算見式(3)。
[R=cos∠X'Xcos∠Y'Xcos∠Z'Xcos∠X'Ycos∠Y'Ycos∠Z'Ycos∠X'Zcos∠Y'Zcos∠Z'Z=cos90°cos180°cos90°cos0°cos90°cos90°cos90°cos90°cos0° = 0?10100001 (3)]
機器人繞XYZ方向旋轉(zhuǎn)角度θ后的位姿矩陣見式(4)至式(6)。
[R(X,θ)=1000cosθ?sinθ0sinθcosθ] (4)
[R(Y,θ)=cosθ0sinθ010?sinθ0cosθ] (5)
[R(Z,θ)=cosθ?sinθ0sinθcosθ0001] (6)
2 C#二次開發(fā)流程
2.1 PCSDK接口引用
通過C#編程來控制ABB機器人,需要引用 ABB機器人PC SDK開發(fā)包中的幾個DLL文件,再在C#項目的CS文件程序中編寫界面,在開頭using引用相應的命名空間,否則無法調(diào)用ABB機器人的API接口。
2.2 總界面布局設計
為滿足光伏電池串的多樣化需求,界面可劃分為主界面(連接機器人前的界面展示)、啟動與監(jiān)控、排版調(diào)整、生產(chǎn)數(shù)據(jù)與監(jiān)控、預防維修、事件日志、數(shù)據(jù)備份這7個界面。以左側(cè)菜單為切換按鈕,對各個界面進行切換使用,該過程使用到的窗體控件有button、panel、textBox、comboBox、label等。為了使界面更美觀,對多個控件進行美化。光伏電池串組件機器人排版界面如圖3所示,在主界面中下方有實時時間和連接狀態(tài)展示。除主界面外,其他界面都要與機器人連接后才能使用,即點擊“啟動與監(jiān)控”,連接成功后即可使用,否則點擊其他界面無效。
2.3 “啟動與監(jiān)控”功能編寫
要控制機器人就必須要有被控制的機器人控制器對象,通過每點擊一次“啟動與監(jiān)控”就自動掃描連接第一個機器人,相關功能的核心代碼見表1。連接邏輯如圖4所示,如果未掃描出一個控制器,即控制器數(shù)量為0時,會顯示“連接失敗”。只有點擊“啟動與監(jiān)控”出現(xiàn)“連接成功”提示時,才能以當前控制器為對象進行控制或信息交互,如通過控制器對象來控制機器人的上電、下電、啟動、停止、當前速度比例、手自動狀態(tài)等。其中,某些屬性是可寫入(上電、下電、啟停、更改速度比例等),而某些屬性僅可讀。
方法編寫完畢后,與button控件進行綁定事件,即可進行點擊觸發(fā)。此外,確定I/O狀態(tài)、確認當前位置是否安全等都是由控制器對象來獲取的,通過算法計算I/O值是否與原狀態(tài)一致,判斷機器人當前位置值是否在安全范圍內(nèi),從而營造出合理安全的啟動環(huán)境。開發(fā)出的光伏電池串組件機器人排版系統(tǒng)圖5所示。
2.4 “排版調(diào)整”功能編寫
“排版調(diào)整”功能如圖6所示。RobotStudio工作站的排版方式如圖6(a)所示,采用的是2×6排列方式。為了貼合市場多樣化需求,需要開發(fā)出一鍵切換各種排版方式,如2×5、2×4、1×12、1×10、1×8等,同時還應配備各種排列方式的總體偏移功能和單個電池串的偏移調(diào)整功能,具體功能設計如圖6(c)所示。通過點擊下拉框“請選擇需要調(diào)整的電池塊”,會出現(xiàn)如圖6(b)所示的下拉選擇框,可以對偏移對象進行選擇,同時通過輸入“坐標偏移”和“工具偏移”的XYZ值來進行有效偏移,可通過修改機器人原位置點位的偏移值和點位值進行更改排版。該功能編寫思路與流程如圖7所示。
在更改各種排版模式時,當前版型未裝配完整,會提示當前版型裝配未結束,將在下一版開始更改。更改版型流程如圖8所示。
2.5 其他功能編寫
通過上述界面設計,可完成連接機器人、機器人上下電、機器人啟動停止、控制速度等,且能通過第二個界面的按鈕進行一鍵切換排列方式和偏移工件位置,而其他功能,如“生產(chǎn)數(shù)據(jù)與監(jiān)控”的編寫,是以獲取相機拍照數(shù)據(jù)和機器人變量來進行數(shù)據(jù)統(tǒng)計的,包括開機時間、合格數(shù)量、不合格數(shù)量、已做多少、未做多少、合格率、不合格率等。在作業(yè)完成后,需要對其進行處理,該界面完成作業(yè)的處理有兩種形式:一是界面紅黃閃爍提醒;二是產(chǎn)量達標后自動停止機器人運行。同時,為了使裝配進度更加直觀,在中間添加一個實時進度展示燈,能清楚知道當前版型裝配進度?!邦A防維修”功能是通過記錄各種保養(yǎng)時間,如每天保養(yǎng)、每月保養(yǎng)、每季保養(yǎng)、每年保養(yǎng)等,來提醒操作員需要進行保養(yǎng),已保養(yǎng)過的地方點擊勾選記錄即可?!笆录罩尽笔峭ㄟ^機器人API直接獲取當前控制器事件的全部內(nèi)容。通過將信息展示在窗體控件上,從而得知機器人當前狀態(tài)?!皵?shù)據(jù)備份”可讓機器人數(shù)據(jù)、工件生產(chǎn)數(shù)據(jù)、日志數(shù)據(jù)、IO數(shù)據(jù)等數(shù)據(jù)以文本的形式進行備份保存。
3 聯(lián)合工作站調(diào)試
3.1 C#程序打包與部署
在完成C#開發(fā)流程后,要對C#程序進行打包部署,把編寫的C#程序打包成一個msi文件。其在運行后,將在服務器上自動新建一個虛擬的目錄,把文件內(nèi)容復制進去,復制的內(nèi)容可在打包中指點。通過打包將cs文件編譯成dll文件,提高運行速度。此外,打包發(fā)布可節(jié)約空間,能基本解決安全問題,使C#程序源代碼不被泄漏。在創(chuàng)建安裝文件后,有兩個安裝文件,即setup. Exe(安裝的引導文件)、核心文件(封裝了程序部件的 msi文件)。
在Visual Studio 2019中創(chuàng)建一個新工程,該工程類型為Setup項目,顯示“File System(Setup)”,通過該文件接口來安裝應用程序所需添加的文件,User’s Desktop為應用安裝完后,用戶桌面上所創(chuàng)建的exe快捷方式;User’s Programs Menu為應用程序安裝完成后,用戶的“開始”菜單中顯示的內(nèi)容。此外,還需要再創(chuàng)建一個文件夾用來存放“應用程序.exe”和“卸載程序.exe”。先在“Application Folder”上點擊右鍵,點擊“Add”文件,在“C#程序. exe”中選擇“Create Shortcut to qrCodeAndScan. Exe”,此時彈出“Shortcut to...”的快捷鍵,將其復制到“用戶桌面”中。
使用Windows系統(tǒng)提供的特定參數(shù)進行卸載,文件位置為“C:\ Windows\System32\ msiexec. Exe”。在“Application Folder”中單擊右鍵,選擇“Add”文件,在“User’s Programs Menu”目錄下建立 msiexec. exe快捷鍵。在產(chǎn)品代碼的屬性面板中,將產(chǎn)品代碼拷貝到“Arguments”快捷鍵中,以“/x”開頭。設置系統(tǒng)環(huán)境,選擇.NET Framework版本及依賴項,即可生成打包安裝文件。
3.2 連接調(diào)試
經(jīng)過C#程序打包部署,在計算機上安裝后,使用已建好的RobotStudio工作站進行試驗。在RobotStudio中,首先,點擊仿真模式,此時工件開始通過流水線運行,但機器人不運動;其次,打開C#開發(fā)軟件,點擊“啟動與監(jiān)控”,提示連接成功后,依次點擊該界面上的“電機上電”“確認IO狀態(tài)”“確認機器人當前位置”;最后,點擊啟動,機器人開始運動,將電池串以2×6版型進行裝配。當點擊“排版調(diào)整”界面的1×12版型時,上位機將排版模式值進行修改,提示切換成功,將在下一次玻璃板裝配中生效,當2×6裝配結束后,便以1×12的排列進行裝配。此外,更改工件偏移值也能有效控制光伏電池串的落地點調(diào)試結果。調(diào)試過程如圖9所示。
4 結語
在Visual Studio 2019軟件中引用PC SDK的DLL完成C#窗體設計、C#程序編寫,與工業(yè)機器人控制器建立通信,控制機器人啟動、停止、上下電、速率等,同時讀取工業(yè)機器人的日志信息、IO信息、點位信息等,并進行展示,之后打包部署。在Robot Studio軟件中搭建光伏電池串自動裝配工作站,生產(chǎn)過程中,一臺機器人逐個吸取兩邊流水線輸送的電池串,并放入安裝板上,滿足自動裝配生產(chǎn)線快速、準確和柔性化生產(chǎn)的要求。通過以上工作站來完成排版系統(tǒng)上位機設計。上位機系統(tǒng)經(jīng)過調(diào)試后,既能滿足不同版型包裝需求,又能進行數(shù)據(jù)可視化,保證裝配過程的智能化,提高整體裝配質(zhì)量。通過二次開發(fā),可將工業(yè)機器人編程過程變得更智能,有效縮短調(diào)試周期,節(jié)約人力成本,減少資源浪費,同時增加產(chǎn)線的柔性,使操作員能更快適應工作。
參考文獻:
[1]梁旭峰,蔡振華,劉琦,等.壓氣機葉片激光熔化沉積修復的機器人路徑自動規(guī)劃和試驗研究[J/OL].航空制造技術,1-8(2022-10-29)[2023-12-18]http://kns.cnki.net/kcms/detail/11.4387.v.20221027.0946.006.html.
[2]何劍敏,羊榮金,沈孟鋒.基于RobotStudio的智能制造單元實驗平臺仿真設計[J].實驗技術與管理,2022(3):99-104.
[3]郝瑞林,周利杰,蔡國慶,等.基于機器視覺與RobotStudio的餅干包裝生產(chǎn)線仿真[J].包裝與食品機械,2022(1):64-69.
[4]文志浩,辛志杰,陳振亞,等.基于RobotStudio系統(tǒng)配置功能的工業(yè)機器人打磨應用[J].制造技術與機床,2021(8):81-84.
[5]高茂源,王好臣,叢志文,等.基于RobotStudio的機器人碼垛優(yōu)化研究[J].組合機床與自動化加工技術,2020(11):38-41.
[6]王曦鳴.基于Robotstudio的巧克力裝盒生產(chǎn)線仿真[J].包裝與食品機械,2020(5):55-59.
[7]張立彬,周邦達,沈遙,等.先進制造與自動化基于工業(yè)機器人的鞋幫打磨系統(tǒng)設計[J].高技術通訊,2020(8):822-830.