












摘 要:【目的】在光伏電池串的生產(chǎn)過程中,市場(chǎng)對(duì)于不同包裝形式和產(chǎn)品規(guī)格的需求不斷變化,導(dǎo)致生產(chǎn)線需要頻繁調(diào)整,需要對(duì)機(jī)器人重新編程,造成生產(chǎn)效率下降。因此,研發(fā)光伏電池組件機(jī)器人排版軟件系統(tǒng),將有效實(shí)現(xiàn)智能制造的工藝優(yōu)化和效益提升。【方法】基于Visual Studio平臺(tái)對(duì)ABB工業(yè)機(jī)器人進(jìn)行二次開發(fā),利用機(jī)器人廠家提供的二次開發(fā)方法,實(shí)現(xiàn)PC端和機(jī)器人的信息交互和控制。并以光伏電池串實(shí)際項(xiàng)目中遇到的問題為研究對(duì)象,提供智能化解決方案。通過在仿真軟件中搭建數(shù)字化仿真工作站,利用C#語(yǔ)言進(jìn)行編程,開發(fā)出工業(yè)APP,通過軟件將問題的解決辦法在PC端桌面上展示。【結(jié)果】圍繞工業(yè)APP的開發(fā)展開研究,實(shí)現(xiàn)了啟動(dòng)與監(jiān)控、排版調(diào)整、生產(chǎn)數(shù)據(jù)與監(jiān)控、預(yù)防維修、事件日志、數(shù)據(jù)備份等功能,同時(shí),對(duì)軟件進(jìn)行打包并聯(lián)合仿真工作站測(cè)試。通過二次開發(fā)的APP解決了不同工藝要求的電池串智能排版問題,操作簡(jiǎn)單,能有效降低操作員調(diào)試難度,減少操作員上崗培訓(xùn)時(shí)間。【結(jié)論】基于Visual Studio平臺(tái)對(duì)ABB工業(yè)機(jī)器人的二次開發(fā),大大提高了生產(chǎn)率,實(shí)現(xiàn)了企業(yè)降本增效的目的。
關(guān)鍵詞:C#語(yǔ)言;二次開發(fā);工業(yè)機(jī)器人;光伏電池
中圖分類號(hào):TP242.2 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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 引言
在智能制造背景下,雖然我國(guó)制造行業(yè)的產(chǎn)值逐年增長(zhǎng),但智能化水平低、專業(yè)人才缺口大等問題急需解決。目前,許多制造企業(yè)都在進(jìn)行產(chǎn)業(yè)升級(jí),朝著智能化方向發(fā)展。制造企業(yè)通過工業(yè)機(jī)器人、PLC、觸摸屏等來(lái)實(shí)現(xiàn)自動(dòng)裝配,但裝配效果單一,無(wú)法滿足對(duì)包裝形式多樣化的需求[1-3]。本研究基于光伏電池串裝配多樣化的實(shí)際生產(chǎn)要求,采用Visual Studio 2019編程軟件,結(jié)合ABB機(jī)器人的PC SDK二次開發(fā)包,并利用RobotStudio進(jìn)行虛擬調(diào)試,從而滿足光伏電池串多樣化排版需求,操作人員只需輸入相應(yīng)的工藝參數(shù),即可得到滿足多種排版效果的電池裝配方式。同時(shí),該軟件還能根據(jù)需求來(lái)編寫數(shù)據(jù)統(tǒng)計(jì)功能,使數(shù)據(jù)更直觀,在降低操作人員調(diào)試難度的同時(shí),也降低對(duì)人才培育資源的消耗,通過簡(jiǎn)單的培訓(xùn),相關(guān)人員即可快速上崗,從而提高生產(chǎn)效率。
1 系統(tǒng)結(jié)構(gòu)與原理設(shè)計(jì)
1.1 系統(tǒng)框架
RobotStudio是ABB公司開發(fā)的一款虛擬模擬軟件,可對(duì) ABB公司制造的每一個(gè)產(chǎn)品進(jìn)行準(zhǔn)確模擬,包含了與實(shí)際 ABB工業(yè)機(jī)器人的連接、RAPID程序的編譯。通過 RobotStudio對(duì)工業(yè)機(jī)器人進(jìn)行離線編程,應(yīng)先確認(rèn)RAPID程序無(wú)誤,再與現(xiàn)實(shí)中的機(jī)器人進(jìn)行同步,這樣能很好地模擬出生產(chǎn)過程。ABB公司作為優(yōu)秀的工業(yè)機(jī)器人生產(chǎn)商,給用戶提供了多種二次開發(fā)的通信方式,選擇合適的通信方式是十分重要的,現(xiàn)如今主要的通信方式有PC SDK、Robot Web Service(RWS)、息隊(duì)列 RAPID Message Queue (RMQ)、OPC Server、套接字Socket。本研究采用PC SDK通信,可實(shí)現(xiàn)個(gè)人電腦與IRC5之間的通信。通過Controller提供的接口,能對(duì)各個(gè)層次進(jìn)行訪問,從而調(diào)用機(jī)器人控制器的某個(gè)功能,實(shí)現(xiàn)在二次開發(fā)界面掃描控制器并進(jìn)行連接、機(jī)器人啟停、排版調(diào)整、生產(chǎn)數(shù)據(jù)與監(jiān)控、預(yù)防維修、事件日志、數(shù)據(jù)備份等功能[4-7]。RobotStudio二次開發(fā)系統(tǒng)結(jié)構(gòu)如圖1所示。
1.2 排版變換原理
任意機(jī)器人都能準(zhǔn)確且唯一地表示出其在空間坐標(biāo)系(OXYZ)中的位置狀態(tài),其中,位置為X、Y、Z坐標(biāo),姿態(tài)為OX的夾角RX、OY的夾角RY、OZ的夾角RZ。以O(shè)XYZ為基坐標(biāo)系,以 OaXaYaZa為剛性坐標(biāo)系。從機(jī)器人角度來(lái)看,空間內(nèi)任意一點(diǎn)的位置都是由(X,Y,Z,RX,RY,RZ)來(lái)確定的。機(jī)械臂的位置可用3×1的矩陣來(lái)表示,即在基本坐標(biāo)系中,剛性坐標(biāo)系的中心Oa的位置見式(1)。
[P=XYZ] (1)
將機(jī)械臂的位姿表示為3×3的矩陣,即在基坐標(biāo)系中的剛性坐標(biāo)系的位姿見式(2)。
[P=cos∠X'Xcos∠Y'Xcos∠Z'Xcos∠X'Ycos∠Y'Ycos∠Z'Ycos∠X'Zcos∠Y'Zcos∠Z'Z (2)]
式中:第一列為剛體坐標(biāo)系的OaXa軸在基坐標(biāo)系的三個(gè)軸方向上的分量,為單位主矢量;第二列和第三列分別為剛體坐標(biāo)系的OaYa軸和OaZa軸在基坐標(biāo)系的三個(gè)軸方向上的分量。
以光電串聯(lián)搬運(yùn)為例,機(jī)器人沿著坐標(biāo)系統(tǒng) O向Y方向移動(dòng)20, Z方向移動(dòng)15,并圍繞 Z軸轉(zhuǎn)動(dòng)90°。此時(shí),機(jī)器人在O坐標(biāo)系統(tǒng)上的姿態(tài)表示如圖2所示,相關(guān)計(jì)算見式(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)]
機(jī)器人繞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#編程來(lái)控制ABB機(jī)器人,需要引用 ABB機(jī)器人PC SDK開發(fā)包中的幾個(gè)DLL文件,再在C#項(xiàng)目的CS文件程序中編寫界面,在開頭using引用相應(yīng)的命名空間,否則無(wú)法調(diào)用ABB機(jī)器人的API接口。
2.2 總界面布局設(shè)計(jì)
為滿足光伏電池串的多樣化需求,界面可劃分為主界面(連接機(jī)器人前的界面展示)、啟動(dòng)與監(jiān)控、排版調(diào)整、生產(chǎn)數(shù)據(jù)與監(jiān)控、預(yù)防維修、事件日志、數(shù)據(jù)備份這7個(gè)界面。以左側(cè)菜單為切換按鈕,對(duì)各個(gè)界面進(jìn)行切換使用,該過程使用到的窗體控件有button、panel、textBox、comboBox、label等。為了使界面更美觀,對(duì)多個(gè)控件進(jìn)行美化。光伏電池串組件機(jī)器人排版界面如圖3所示,在主界面中下方有實(shí)時(shí)時(shí)間和連接狀態(tài)展示。除主界面外,其他界面都要與機(jī)器人連接后才能使用,即點(diǎn)擊“啟動(dòng)與監(jiān)控”,連接成功后即可使用,否則點(diǎn)擊其他界面無(wú)效。
2.3 “啟動(dòng)與監(jiān)控”功能編寫
要控制機(jī)器人就必須要有被控制的機(jī)器人控制器對(duì)象,通過每點(diǎn)擊一次“啟動(dòng)與監(jiān)控”就自動(dòng)掃描連接第一個(gè)機(jī)器人,相關(guān)功能的核心代碼見表1。連接邏輯如圖4所示,如果未掃描出一個(gè)控制器,即控制器數(shù)量為0時(shí),會(huì)顯示“連接失敗”。只有點(diǎn)擊“啟動(dòng)與監(jiān)控”出現(xiàn)“連接成功”提示時(shí),才能以當(dāng)前控制器為對(duì)象進(jìn)行控制或信息交互,如通過控制器對(duì)象來(lái)控制機(jī)器人的上電、下電、啟動(dòng)、停止、當(dāng)前速度比例、手自動(dòng)狀態(tài)等。其中,某些屬性是可寫入(上電、下電、啟停、更改速度比例等),而某些屬性僅可讀。
方法編寫完畢后,與button控件進(jìn)行綁定事件,即可進(jìn)行點(diǎn)擊觸發(fā)。此外,確定I/O狀態(tài)、確認(rèn)當(dāng)前位置是否安全等都是由控制器對(duì)象來(lái)獲取的,通過算法計(jì)算I/O值是否與原狀態(tài)一致,判斷機(jī)器人當(dāng)前位置值是否在安全范圍內(nèi),從而營(yíng)造出合理安全的啟動(dòng)環(huán)境。開發(fā)出的光伏電池串組件機(jī)器人排版系統(tǒng)圖5所示。
2.4 “排版調(diào)整”功能編寫
“排版調(diào)整”功能如圖6所示。RobotStudio工作站的排版方式如圖6(a)所示,采用的是2×6排列方式。為了貼合市場(chǎng)多樣化需求,需要開發(fā)出一鍵切換各種排版方式,如2×5、2×4、1×12、1×10、1×8等,同時(shí)還應(yīng)配備各種排列方式的總體偏移功能和單個(gè)電池串的偏移調(diào)整功能,具體功能設(shè)計(jì)如圖6(c)所示。通過點(diǎn)擊下拉框“請(qǐng)選擇需要調(diào)整的電池塊”,會(huì)出現(xiàn)如圖6(b)所示的下拉選擇框,可以對(duì)偏移對(duì)象進(jìn)行選擇,同時(shí)通過輸入“坐標(biāo)偏移”和“工具偏移”的XYZ值來(lái)進(jìn)行有效偏移,可通過修改機(jī)器人原位置點(diǎn)位的偏移值和點(diǎn)位值進(jìn)行更改排版。該功能編寫思路與流程如圖7所示。
在更改各種排版模式時(shí),當(dāng)前版型未裝配完整,會(huì)提示當(dāng)前版型裝配未結(jié)束,將在下一版開始更改。更改版型流程如圖8所示。
2.5 其他功能編寫
通過上述界面設(shè)計(jì),可完成連接機(jī)器人、機(jī)器人上下電、機(jī)器人啟動(dòng)停止、控制速度等,且能通過第二個(gè)界面的按鈕進(jìn)行一鍵切換排列方式和偏移工件位置,而其他功能,如“生產(chǎn)數(shù)據(jù)與監(jiān)控”的編寫,是以獲取相機(jī)拍照數(shù)據(jù)和機(jī)器人變量來(lái)進(jìn)行數(shù)據(jù)統(tǒng)計(jì)的,包括開機(jī)時(shí)間、合格數(shù)量、不合格數(shù)量、已做多少、未做多少、合格率、不合格率等。在作業(yè)完成后,需要對(duì)其進(jìn)行處理,該界面完成作業(yè)的處理有兩種形式:一是界面紅黃閃爍提醒;二是產(chǎn)量達(dá)標(biāo)后自動(dòng)停止機(jī)器人運(yùn)行。同時(shí),為了使裝配進(jìn)度更加直觀,在中間添加一個(gè)實(shí)時(shí)進(jìn)度展示燈,能清楚知道當(dāng)前版型裝配進(jìn)度。“預(yù)防維修”功能是通過記錄各種保養(yǎng)時(shí)間,如每天保養(yǎng)、每月保養(yǎng)、每季保養(yǎng)、每年保養(yǎng)等,來(lái)提醒操作員需要進(jìn)行保養(yǎng),已保養(yǎng)過的地方點(diǎn)擊勾選記錄即可。“事件日志”是通過機(jī)器人API直接獲取當(dāng)前控制器事件的全部?jī)?nèi)容。通過將信息展示在窗體控件上,從而得知機(jī)器人當(dāng)前狀態(tài)。“數(shù)據(jù)備份”可讓機(jī)器人數(shù)據(jù)、工件生產(chǎn)數(shù)據(jù)、日志數(shù)據(jù)、IO數(shù)據(jù)等數(shù)據(jù)以文本的形式進(jìn)行備份保存。
3 聯(lián)合工作站調(diào)試
3.1 C#程序打包與部署
在完成C#開發(fā)流程后,要對(duì)C#程序進(jìn)行打包部署,把編寫的C#程序打包成一個(gè)msi文件。其在運(yùn)行后,將在服務(wù)器上自動(dòng)新建一個(gè)虛擬的目錄,把文件內(nèi)容復(fù)制進(jìn)去,復(fù)制的內(nèi)容可在打包中指點(diǎn)。通過打包將cs文件編譯成dll文件,提高運(yùn)行速度。此外,打包發(fā)布可節(jié)約空間,能基本解決安全問題,使C#程序源代碼不被泄漏。在創(chuàng)建安裝文件后,有兩個(gè)安裝文件,即setup. Exe(安裝的引導(dǎo)文件)、核心文件(封裝了程序部件的 msi文件)。
在Visual Studio 2019中創(chuàng)建一個(gè)新工程,該工程類型為Setup項(xiàng)目,顯示“File System(Setup)”,通過該文件接口來(lái)安裝應(yīng)用程序所需添加的文件,User’s Desktop為應(yīng)用安裝完后,用戶桌面上所創(chuàng)建的exe快捷方式;User’s Programs Menu為應(yīng)用程序安裝完成后,用戶的“開始”菜單中顯示的內(nèi)容。此外,還需要再創(chuàng)建一個(gè)文件夾用來(lái)存放“應(yīng)用程序.exe”和“卸載程序.exe”。先在“Application Folder”上點(diǎn)擊右鍵,點(diǎn)擊“Add”文件,在“C#程序. exe”中選擇“Create Shortcut to qrCodeAndScan. Exe”,此時(shí)彈出“Shortcut to...”的快捷鍵,將其復(fù)制到“用戶桌面”中。
使用Windows系統(tǒng)提供的特定參數(shù)進(jìn)行卸載,文件位置為“C:\ Windows\System32\ msiexec. Exe”。在“Application Folder”中單擊右鍵,選擇“Add”文件,在“User’s Programs Menu”目錄下建立 msiexec. exe快捷鍵。在產(chǎn)品代碼的屬性面板中,將產(chǎn)品代碼拷貝到“Arguments”快捷鍵中,以“/x”開頭。設(shè)置系統(tǒng)環(huán)境,選擇.NET Framework版本及依賴項(xiàng),即可生成打包安裝文件。
3.2 連接調(diào)試
經(jīng)過C#程序打包部署,在計(jì)算機(jī)上安裝后,使用已建好的RobotStudio工作站進(jìn)行試驗(yàn)。在RobotStudio中,首先,點(diǎn)擊仿真模式,此時(shí)工件開始通過流水線運(yùn)行,但機(jī)器人不運(yùn)動(dòng);其次,打開C#開發(fā)軟件,點(diǎn)擊“啟動(dòng)與監(jiān)控”,提示連接成功后,依次點(diǎn)擊該界面上的“電機(jī)上電”“確認(rèn)IO狀態(tài)”“確認(rèn)機(jī)器人當(dāng)前位置”;最后,點(diǎn)擊啟動(dòng),機(jī)器人開始運(yùn)動(dòng),將電池串以2×6版型進(jìn)行裝配。當(dāng)點(diǎn)擊“排版調(diào)整”界面的1×12版型時(shí),上位機(jī)將排版模式值進(jìn)行修改,提示切換成功,將在下一次玻璃板裝配中生效,當(dāng)2×6裝配結(jié)束后,便以1×12的排列進(jìn)行裝配。此外,更改工件偏移值也能有效控制光伏電池串的落地點(diǎn)調(diào)試結(jié)果。調(diào)試過程如圖9所示。
4 結(jié)語(yǔ)
在Visual Studio 2019軟件中引用PC SDK的DLL完成C#窗體設(shè)計(jì)、C#程序編寫,與工業(yè)機(jī)器人控制器建立通信,控制機(jī)器人啟動(dòng)、停止、上下電、速率等,同時(shí)讀取工業(yè)機(jī)器人的日志信息、IO信息、點(diǎn)位信息等,并進(jìn)行展示,之后打包部署。在Robot Studio軟件中搭建光伏電池串自動(dòng)裝配工作站,生產(chǎn)過程中,一臺(tái)機(jī)器人逐個(gè)吸取兩邊流水線輸送的電池串,并放入安裝板上,滿足自動(dòng)裝配生產(chǎn)線快速、準(zhǔn)確和柔性化生產(chǎn)的要求。通過以上工作站來(lái)完成排版系統(tǒng)上位機(jī)設(shè)計(jì)。上位機(jī)系統(tǒng)經(jīng)過調(diào)試后,既能滿足不同版型包裝需求,又能進(jìn)行數(shù)據(jù)可視化,保證裝配過程的智能化,提高整體裝配質(zhì)量。通過二次開發(fā),可將工業(yè)機(jī)器人編程過程變得更智能,有效縮短調(diào)試周期,節(jié)約人力成本,減少資源浪費(fèi),同時(shí)增加產(chǎn)線的柔性,使操作員能更快適應(yīng)工作。
參考文獻(xiàn):
[1]梁旭峰,蔡振華,劉琦,等.壓氣機(jī)葉片激光熔化沉積修復(fù)的機(jī)器人路徑自動(dòng)規(guī)劃和試驗(yàn)研究[J/OL].航空制造技術(shù),1-8(2022-10-29)[2023-12-18]http://kns.cnki.net/kcms/detail/11.4387.v.20221027.0946.006.html.
[2]何劍敏,羊榮金,沈孟鋒.基于RobotStudio的智能制造單元實(shí)驗(yàn)平臺(tái)仿真設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2022(3):99-104.
[3]郝瑞林,周利杰,蔡國(guó)慶,等.基于機(jī)器視覺與RobotStudio的餅干包裝生產(chǎn)線仿真[J].包裝與食品機(jī)械,2022(1):64-69.
[4]文志浩,辛志杰,陳振亞,等.基于RobotStudio系統(tǒng)配置功能的工業(yè)機(jī)器人打磨應(yīng)用[J].制造技術(shù)與機(jī)床,2021(8):81-84.
[5]高茂源,王好臣,叢志文,等.基于RobotStudio的機(jī)器人碼垛優(yōu)化研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2020(11):38-41.
[6]王曦鳴.基于Robotstudio的巧克力裝盒生產(chǎn)線仿真[J].包裝與食品機(jī)械,2020(5):55-59.
[7]張立彬,周邦達(dá),沈遙,等.先進(jìn)制造與自動(dòng)化基于工業(yè)機(jī)器人的鞋幫打磨系統(tǒng)設(shè)計(jì)[J].高技術(shù)通訊,2020(8):822-830.