公务员期刊网 论文中心 正文

工业机器人程序管理动态加载系统开发

前言:想要写出一篇引人入胜的文章?我们特意为您整理了工业机器人程序管理动态加载系统开发范文,希望能给你带来灵感和参考,敬请阅读。

工业机器人程序管理动态加载系统开发

摘要:为解决机器人控制器的程序容量有限,难以满足日益复杂的生产工序的问题,开发一套基于以太网的EthernetKRL通讯的库卡机器人动态加载程序,实现了大容量、多种类程序的管理系统。该系统主要解决了机器人存储容量不足的问题,提高了机器人应用的灵活性和复用率,适用于不同零件设计的小批量生产。系统可动态导入工业设计软件生成的离线编程程序,将路径点和机器人例程直接应用于机器人控制器,以离线自动生成代替手动编程路径。

关键词:工业机器人;程序管理动态加载;以太网通讯

随着智能智造及工业机器人应用的普及,机器人技术的不断发展与稳定,其相关技术也随之不断创新。在工业机器人与实际生产相配合过程中提出高需求、高生产效率、更高的零件复杂度,生产的工序随设计变化要求快速、灵活和全自动化。其中一台机器人不止需要完成一道工序,还要根据用户需求同时进行搬运、涂胶、焊接、切割、打磨等复杂工序的组合工作,这些程序需要非常大的数据量,导致机器人控制器内部需要存储的程序数量不断增加。然而机器人控制器的程序容量是有限的,不能存放足够多的程序,已经无法满足用户日益增长的需求。现有的工业机器人编程通常采用两种不同的方法:在线/自动生成轨迹和离线/手动示教编程。在线编程主要用于工业应用,如码垛和焊接,通过机器人控制面板或虚拟机器人环境示教位置点[1]。工业机器人开始具有一定的感知功能和自适应能力的离线编程,可以根据作业对象的状况改变作业内容。可是在设计之初,机器人只设计为针对一些重复性高及无需联网的单一工作站,因此虽然机器人硬件芯片、软件系统得到快速发展,但是底层的程序加载器由于能满足基础使用需求,所以未能有实质性的更新迭代。用户只能面临两种选择:一是在机器人运行前,所有运行的程序的数据依次由操作员手动复制到机器人内,以供机器人循环执行;二是增加机器人,让每台机器人只执行一部分程序,例如:一台用于搬运,一台用于涂胶,一台用于打磨。这样在生产时不仅降低了企业工厂的生产效率,同时也增加了操作员的操作负担,加大了因为人员误操作而引入的风险。传统工业机器人运动控制和编程软件通常是为工厂大规模生产部件而开发的,机器人路径规划和编程是为特定的生产过程设计的,在生产制造中机器人按照既定工作流程,不会为灵活多变的设计/制造活动提供太多空间[2]。所以现在急需一种可行的处理方案来自动管理机器人的程序,实现程序动态按需加载进入机器人控制器。本文通过开发一套基于以太网通讯的上位机控制程序与基于EthernetKRL通讯的库卡机器人动态加载程序,实现了大容量、多种类示教程序管理及动态加载。该系统主要解决机器人控制器程序容量有限的问题,在机器人控制系统中实现传输的程序代码的重建,并在机器人系统文件目录中组接成完整的程序文件,使离线编程程序的动态加载成为可能,提高了机器人应用的灵活性和复用率。在生产时提高企业工厂的生产效率,降低扩充内存或增加机器人的成本,适用于不同设计零件的小批量生产,且配置更灵活。

1系统架构

在传统工控机-机器人控制器控制结构中,一般工控机运行非实时操作系统(MicrosoftWindows或Linux),对于机器人实时交互任务,系统存在不确定性,难以保证运行任务稳定性和正确性。例如,当机器人工具命令(焊枪控制、抓手动作控制)需要与移动的机械手同步的任务,或在传送带上通过传感器扫描获取工件位姿需要动态抓取工件的任务。对于需要实时实现或快速响应的任务,通过PLC作为业务中继站负责业务逻辑控制、数据传输、命令传输、I/O接口。因为工控机操作系统非实时运行,需要PLC作为业务流程控制提高系统稳定性和上位机非实时运行产生的时间不同步问题。采用PLC还可以实现多种外围设备信号的读取,完成多台机器人控制[3]。本文采用工业以太网作为通讯连接方式,将机器人与PLC通过工业以太网进行组网,用交换机连接所有链路节点,以PLCI/O口作为控制系统与外围设备之间的通讯,集成控制系统总体框架如图1所示。其中,工控机与机器人控制器程序文件传输基于EthernetKRL软件包TCP/IP通讯;西门子PLC与库卡机器人通讯通过Profinet通讯总线[4];工控机与西门子PLC采用ModbusTCP方式通讯,最终将PLC所有的数据信息集成到工控机上。因此本系统可管理大量机器人离线程序,具备直接传输运行程序到机器人控制器功能。并可在机器人外部运行模式中,对PLC内部数据的读写实现对机器人运行情况监控和对机器人运行状态控制(运行启动、运行程序选择、运行中断、紧急停止)。如图2所示,机器人程序管理与程序动态加载系统上位机为工控机,上位机运行基于C#编程创建的机器人程序管理系统,操作者可通过人机交互界面导入或通过虚拟仿真程序导入运动任务。工业机器人的运动任务程序通常包括一系列机器人运动和工具命令,这些命令构成了机器人应用的整个过程。将导入的大量运动任务程序建立机器人源程序库,存储已经示教好或生成的大量程序。工控机和控制器之间通过套接字(Socket)通讯传输所需离线程序。根据生产需要,程序管理系统自动从源程序库中将机器人要执行的程序移动到机器人控制器中,清除机器人控制器中不需要执行的程序。从而规避了机器人控制器程序容量有限的问题。在KUKA机器人控制器端,基于EthernetKRL软件包TCP/IP通讯接收数据,并重建上位机传输的程序段,使其在机器人系统文件目录中组接成完整的程序文件。管理系统支持在自动运行模式下,根据可编程逻辑控制器(PLC)输入信号自动加载程序。机器人控制器可通过总线方式或I/O控制方式选择机器人应用层运行的程序号。在机器人控制器中,应用层控制程序事件的整个过程,即单个动作与工具动作的结合,以及与外部系统的交互。机器人末端执行器的工具动作通常通过设置数字或模拟量输出的值以及从数字或模拟输入读取值来控制。这些输入和输出通常连接到现场总线上,现场总线将机器人连接到其他控制设备,如抓手控制、焊枪控制或可编程逻辑控制器(PLC)。

2机器人控制器管理程序

库卡机器人程序控制系统主要功能如下:根据用户需求自动将机器人程序移动到库卡机器人默认的程序目录下,由此达到扩增机器人默认的程序内存大小的效果。机器人程序控制系统具有两种控制模式:①手动:用户可自由选择想要从源程序库加载的机器人程序,并在复制前先删除机器人控制器内不需要执行的程序;②自动:自动根据现场PLC的传输过来的信号,从源程序库中自动加载机器人程序,根据用户需求自动将机器人默认目录下的程序进行删除、备份、增加,操作员可以迅速上手,无需额外的硬件。支持两种运行模式下加载程序使系统软件开发自由度更高,可为PLC提供更多程序选择接口,实现CAD/CAM软件离线编程程序的动态加载。本文所开发的系统用户不需要具备任何编程知识,因此所有的目标点坐标的文件格式转换都是由所设计的上位机程序完成的。使用转换后的坐标生成文件后,自动生成的文件有两种:一种是带有过程参数的XML文件格式,另一种是存储路径点的KUKA格式的dat文件。XML文件具有特定的结构,用于保存所有必要的几何和路径数据;dat文件具有KUKA语言特有的结构。需传输的数据被转换为XML配置文件定义的XML结构,并将该XML转换为字节并发送给机器人控制器。当工控机从机器人接收数据时,通过KUKA“DirectoryLoader”软件包自动加载到机器人存储区中[5]。该软件包可以基于EthernetKRL通讯发送的命令从机器人控制器的可定义目录加载模块。机器人控制器端采用库卡专有编程语言(KRL),其中为实现“DirectoryLoader”软件包文件加载,需设置以太网配置文件、循环更新程序编号提交解释器文件sps.sub、控制器变量的配置文件ConfigMon.ini、系统全局变量配置文件$config.dat。

3数据传输模型的构建

基于C#的上位机程序与机器人控制器之间采用“DirectoryLoader”软件包重构程序文件。上位机和机器人控制器通过EthernetKRL软件包进行双向通信的功能。上位机和机器人控制器之间的通信基于Socket通讯,以上位机作为服务器,机器人作为客户端进行通信,通信延迟在2ms以下。以太网连接是采用XML文件配置,在机器人控制器中创建一个包含所需变量的XML文件,如下所示,文件内定义了过程变量。机器人控制器初始化连接时会读入配置,服务器发送XML结构由参数、变量和命令组成,作为响应,机器人根据这些变量的值进行动作。以太网配置文件XML结构如下所示:1)将自动加载和重建算法程序的SRC文件复制到机器人控制器的目录C:\KRC\ROBOTER\Program中。2)将网络配置的XML文件复制到控制器的目录C:\KRC\ROBOTER\Config\User\Common\EthernetKRL中。3)在外部系统上启动服务器程序,切换到库卡示教器页面。“DirectoryLoader”软件包的函数在自动外部模式下通过触发器的上升缘进行初始化,例如将触发器$in[x]或$FLAG[x]设置为TRUE,然后机器人就可以连接到后台的机器人程序控制系统。4)与待测机器人控制器建立稳定连接,服务器程序具有以下功能:发送和接收数据(自动或手动);显示接收到的数据;显示发送的数据。

4结束语

为了将大容量的离线生成的程序放到机器人中,或者通过内存交换来绕过KRC4的小内存容量,本文开发一套机器人动态加载程序,主要解决机器人存储容量不足的问题,提高了机器人应用的灵活性和复用率。系统通过工业以太网组网方式连接机器人、PLC与机器人控制器,可直接传输离线程序到机器人控制器,并可在机器人运行过程中,通过对PLC数据的读写实现对机器人运行监控和对机器人运行状态控制。

参考文献

[3]郝任义.工业自动化生产线中机器人及PLC的集成控制研究[D].秦皇岛:燕山大学,2018

[4]郭磊,王培光,宗晓萍.基于KUKA机器人的PROFINET协议通讯分析[J].电子世界,2017(6):113-117

作者:陈挺木 单位:福建省特种设备检验研究院泉州分院