工业机器人在电池排版系统中的二次开发与应用

2024-10-10 00:00凌旭邹冲戴俊良
河南科技 2024年16期

摘 要:【目的】在光伏电池串的生产过程中,市场对于不同包装形式和产品规格的需求不断变化,导致生产线需要频繁调整,需要对机器人重新编程,造成生产效率下降。因此,研发光伏电池组件机器人排版软件系统,将有效实现智能制造的工艺优化和效益提升。【方法】基于Visual Studio平台对ABB工业机器人进行二次开发,利用机器人厂家提供的二次开发方法,实现PC端和机器人的信息交互和控制。并以光伏电池串实际项目中遇到的问题为研究对象,提供智能化解决方案。通过在仿真软件中搭建数字化仿真工作站,利用C#语言进行编程,开发出工业APP,通过软件将问题的解决办法在PC端桌面上展示。【结果】围绕工业APP的开发展开研究,实现了启动与监控、排版调整、生产数据与监控、预防维修、事件日志、数据备份等功能,同时,对软件进行打包并联合仿真工作站测试。通过二次开发的APP解决了不同工艺要求的电池串智能排版问题,操作简单,能有效降低操作员调试难度,减少操作员上岗培训时间。【结论】基于Visual Studio平台对ABB工业机器人的二次开发,大大提高了生产率,实现了企业降本增效的目的。

关键词:C#语言;二次开发;工业机器人;光伏电池

中图分类号: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 引言

在智能制造背景下,虽然我国制造行业的产值逐年增长,但智能化水平低、专业人才缺口大等问题急需解决。目前,许多制造企业都在进行产业升级,朝着智能化方向发展。制造企业通过工业机器人、PLC、触摸屏等来实现自动装配,但装配效果单一,无法满足对包装形式多样化的需求[1-3]。本研究基于光伏电池串装配多样化的实际生产要求,采用Visual Studio 2019编程软件,结合ABB机器人的PC SDK二次开发包,并利用RobotStudio进行虚拟调试,从而满足光伏电池串多样化排版需求,操作人员只需输入相应的工艺参数,即可得到满足多种排版效果的电池装配方式。同时,该软件还能根据需求来编写数据统计功能,使数据更直观,在降低操作人员调试难度的同时,也降低对人才培育资源的消耗,通过简单的培训,相关人员即可快速上岗,从而提高生产效率。

1 系统结构与原理设计

1.1 系统框架

RobotStudio是ABB公司开发的一款虚拟模拟软件,可对 ABB公司制造的每一个产品进行准确模拟,包含了与实际 ABB工业机器人的连接、RAPID程序的编译。通过 RobotStudio对工业机器人进行离线编程,应先确认RAPID程序无误,再与现实中的机器人进行同步,这样能很好地模拟出生产过程。ABB公司作为优秀的工业机器人生产商,给用户提供了多种二次开发的通信方式,选择合适的通信方式是十分重要的,现如今主要的通信方式有PC SDK、Robot Web Service(RWS)、息队列 RAPID Message Queue (RMQ)、OPC Server、套接字Socket。本研究采用PC SDK通信,可实现个人电脑与IRC5之间的通信。通过Controller提供的接口,能对各个层次进行访问,从而调用机器人控制器的某个功能,实现在二次开发界面扫描控制器并进行连接、机器人启停、排版调整、生产数据与监控、预防维修、事件日志、数据备份等功能[4-7]。RobotStudio二次开发系统结构如图1所示。

1.2 排版变换原理

任意机器人都能准确且唯一地表示出其在空间坐标系(OXYZ)中的位置状态,其中,位置为X、Y、Z坐标,姿态为OX的夹角RX、OY的夹角RY、OZ的夹角RZ。以OXYZ为基坐标系,以 OaXaYaZa为刚性坐标系。从机器人角度来看,空间内任意一点的位置都是由(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轴在基坐标系的三个轴方向上的分量。

以光电串联搬运为例,机器人沿着坐标系统 O向Y方向移动20, Z方向移动15,并围绕 Z轴转动90°。此时,机器人在O坐标系统上的姿态表示如图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方向旋转角度θ后的位姿矩阵见式(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#二次开发流程

2.1 PCSDK接口引用

通过C#编程来控制ABB机器人,需要引用 ABB机器人PC SDK开发包中的几个DLL文件,再在C#项目的CS文件程序中编写界面,在开头using引用相应的命名空间,否则无法调用ABB机器人的API接口。

2.2 总界面布局设计

为满足光伏电池串的多样化需求,界面可划分为主界面(连接机器人前的界面展示)、启动与监控、排版调整、生产数据与监控、预防维修、事件日志、数据备份这7个界面。以左侧菜单为切换按钮,对各个界面进行切换使用,该过程使用到的窗体控件有button、panel、textBox、comboBox、label等。为了使界面更美观,对多个控件进行美化。光伏电池串组件机器人排版界面如图3所示,在主界面中下方有实时时间和连接状态展示。除主界面外,其他界面都要与机器人连接后才能使用,即点击“启动与监控”,连接成功后即可使用,否则点击其他界面无效。

2.3 “启动与监控”功能编写

要控制机器人就必须要有被控制的机器人控制器对象,通过每点击一次“启动与监控”就自动扫描连接第一个机器人,相关功能的核心代码见表1。连接逻辑如图4所示,如果未扫描出一个控制器,即控制器数量为0时,会显示“连接失败”。只有点击“启动与监控”出现“连接成功”提示时,才能以当前控制器为对象进行控制或信息交互,如通过控制器对象来控制机器人的上电、下电、启动、停止、当前速度比例、手自动状态等。其中,某些属性是可写入(上电、下电、启停、更改速度比例等),而某些属性仅可读。

方法编写完毕后,与button控件进行绑定事件,即可进行点击触发。此外,确定I/O状态、确认当前位置是否安全等都是由控制器对象来获取的,通过算法计算I/O值是否与原状态一致,判断机器人当前位置值是否在安全范围内,从而营造出合理安全的启动环境。开发出的光伏电池串组件机器人排版系统图5所示。

2.4 “排版调整”功能编写

“排版调整”功能如图6所示。RobotStudio工作站的排版方式如图6(a)所示,采用的是2×6排列方式。为了贴合市场多样化需求,需要开发出一键切换各种排版方式,如2×5、2×4、1×12、1×10、1×8等,同时还应配备各种排列方式的总体偏移功能和单个电池串的偏移调整功能,具体功能设计如图6(c)所示。通过点击下拉框“请选择需要调整的电池块”,会出现如图6(b)所示的下拉选择框,可以对偏移对象进行选择,同时通过输入“坐标偏移”和“工具偏移”的XYZ值来进行有效偏移,可通过修改机器人原位置点位的偏移值和点位值进行更改排版。该功能编写思路与流程如图7所示。

在更改各种排版模式时,当前版型未装配完整,会提示当前版型装配未结束,将在下一版开始更改。更改版型流程如图8所示。

2.5 其他功能编写

通过上述界面设计,可完成连接机器人、机器人上下电、机器人启动停止、控制速度等,且能通过第二个界面的按钮进行一键切换排列方式和偏移工件位置,而其他功能,如“生产数据与监控”的编写,是以获取相机拍照数据和机器人变量来进行数据统计的,包括开机时间、合格数量、不合格数量、已做多少、未做多少、合格率、不合格率等。在作业完成后,需要对其进行处理,该界面完成作业的处理有两种形式:一是界面红黄闪烁提醒;二是产量达标后自动停止机器人运行。同时,为了使装配进度更加直观,在中间添加一个实时进度展示灯,能清楚知道当前版型装配进度。“预防维修”功能是通过记录各种保养时间,如每天保养、每月保养、每季保养、每年保养等,来提醒操作员需要进行保养,已保养过的地方点击勾选记录即可。“事件日志”是通过机器人API直接获取当前控制器事件的全部内容。通过将信息展示在窗体控件上,从而得知机器人当前状态。“数据备份”可让机器人数据、工件生产数据、日志数据、IO数据等数据以文本的形式进行备份保存。

3 联合工作站调试

3.1 C#程序打包与部署

在完成C#开发流程后,要对C#程序进行打包部署,把编写的C#程序打包成一个msi文件。其在运行后,将在服务器上自动新建一个虚拟的目录,把文件内容复制进去,复制的内容可在打包中指点。通过打包将cs文件编译成dll文件,提高运行速度。此外,打包发布可节约空间,能基本解决安全问题,使C#程序源代码不被泄漏。在创建安装文件后,有两个安装文件,即setup. Exe(安装的引导文件)、核心文件(封装了程序部件的 msi文件)。

在Visual Studio 2019中创建一个新工程,该工程类型为Setup项目,显示“File System(Setup)”,通过该文件接口来安装应用程序所需添加的文件,User’s Desktop为应用安装完后,用户桌面上所创建的exe快捷方式;User’s Programs Menu为应用程序安装完成后,用户的“开始”菜单中显示的内容。此外,还需要再创建一个文件夹用来存放“应用程序.exe”和“卸载程序.exe”。先在“Application Folder”上点击右键,点击“Add”文件,在“C#程序. exe”中选择“Create Shortcut to qrCodeAndScan. Exe”,此时弹出“Shortcut to...”的快捷键,将其复制到“用户桌面”中。

使用Windows系统提供的特定参数进行卸载,文件位置为“C:\ Windows\System32\ msiexec. Exe”。在“Application Folder”中单击右键,选择“Add”文件,在“User’s Programs Menu”目录下建立 msiexec. exe快捷键。在产品代码的属性面板中,将产品代码拷贝到“Arguments”快捷键中,以“/x”开头。设置系统环境,选择.NET Framework版本及依赖项,即可生成打包安装文件。

3.2 连接调试

经过C#程序打包部署,在计算机上安装后,使用已建好的RobotStudio工作站进行试验。在RobotStudio中,首先,点击仿真模式,此时工件开始通过流水线运行,但机器人不运动;其次,打开C#开发软件,点击“启动与监控”,提示连接成功后,依次点击该界面上的“电机上电”“确认IO状态”“确认机器人当前位置”;最后,点击启动,机器人开始运动,将电池串以2×6版型进行装配。当点击“排版调整”界面的1×12版型时,上位机将排版模式值进行修改,提示切换成功,将在下一次玻璃板装配中生效,当2×6装配结束后,便以1×12的排列进行装配。此外,更改工件偏移值也能有效控制光伏电池串的落地点调试结果。调试过程如图9所示。

4 结语

在Visual Studio 2019软件中引用PC SDK的DLL完成C#窗体设计、C#程序编写,与工业机器人控制器建立通信,控制机器人启动、停止、上下电、速率等,同时读取工业机器人的日志信息、IO信息、点位信息等,并进行展示,之后打包部署。在Robot Studio软件中搭建光伏电池串自动装配工作站,生产过程中,一台机器人逐个吸取两边流水线输送的电池串,并放入安装板上,满足自动装配生产线快速、准确和柔性化生产的要求。通过以上工作站来完成排版系统上位机设计。上位机系统经过调试后,既能满足不同版型包装需求,又能进行数据可视化,保证装配过程的智能化,提高整体装配质量。通过二次开发,可将工业机器人编程过程变得更智能,有效缩短调试周期,节约人力成本,减少资源浪费,同时增加产线的柔性,使操作员能更快适应工作。

参考文献:

[1]梁旭峰,蔡振华,刘琦,等.压气机叶片激光熔化沉积修复的机器人路径自动规划和试验研究[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的饼干包装生产线仿真[J].包装与食品机械,2022(1):64-69.

[4]文志浩,辛志杰,陈振亚,等.基于RobotStudio系统配置功能的工业机器人打磨应用[J].制造技术与机床,2021(8):81-84.

[5]高茂源,王好臣,丛志文,等.基于RobotStudio的机器人码垛优化研究[J].组合机床与自动化加工技术,2020(11):38-41.

[6]王曦鸣.基于Robotstudio的巧克力装盒生产线仿真[J].包装与食品机械,2020(5):55-59.

[7]张立彬,周邦达,沈遥,等.先进制造与自动化基于工业机器人的鞋帮打磨系统设计[J].高技术通讯,2020(8):822-830.