机器人控制器的二次开发

2012-07-06 02:01陈海秀王海俊
关键词:终端用户编程程序

戴 栋,陈海秀,王海俊

(1.南京信息工程大学信息与控制学院,南京 210044;2.东南大学自动化学院,南京 210044)

奥地利KEBA是一家提供机器人控制系统解决方案的公司。该公司以KeMotion为核心的控制系统包括实时并行的Robot Control(RC)与Motion Control(MC)控制模式,提供示教再现的用户层编程方式,用户可以随意定制自己的Teach-In示教程序来实现控制对象的运动方式与运动轨迹规划。该系统在底层RC开发上几乎不再受到限制,程序员可以在开放式的RC平台上配合被控对象完成既定功能开发,比如具有焊接功能的关节型机器人、具有喷涂功能的关节型机器人等。KEBA公司在德国3S公司CoDeSys基础上开发出基于r系列控制器解决MC控制方案的KeStudio开放式的开发平台,支持多种类型机器人,如2D-3D Cartesian Robot、RR Scara Robot、RRL Scara Robot、LRR Scara Robot、Delta Robot、Articulated Robot及General Robot等。本文结合KeMotion机器人控制器,在RC中实现了8轴多关节型机器人对焊接设备的控制,并且在用户程序上实现机器人焊接功能。

1 KEBA控制系统介绍

KEBA控制系统由手持终端KeTop、机器人控制器KeMotionControl、外部设备组成。控制器CPU部分是系统的核心,支持KeMotion Control r4000 r5000系列、KeSystems Control S_CP24xCP25xSM系列的CP252/X CPU模块,使用的是定制的基于Intel x86的嵌入式微处理器,其上运行的是Vx-Works实时操作系统。控制器带有CF卡插槽、存储系统及系统数据和应用软件。外部扩展I/O模块上KeMotion控制系统采用模块化的方式构建,所以可以方便地外扩I/O模块进行功能扩展,包括可以扩展支持各种总线(CAN、Sercos、Profibus)模块,以及模拟量或者数字量的输入输出模块。外部设备或扩展模块通过以太网或总线与控制器相联。KEBA公司提供的PC机上的工具软件有TeachEdit、KeStudio、UosView、Scope 和 TeachView。TeachEdit、KeStudio分别为RC程序和PLC程序的编程工具。UosView和Scope为控制系统监视诊断工具。UosView显示 VxWorks的变量信息。Scope显示图形仿真控制系统的运动过程,能读取在控制器中设定显示的变量,并且可以模拟显示被控对象模型。TeachView为终端用户操作软件,可以安装在手持终端上或PC上。

2 基于KEBA的控制器二次开发

KEBA公司为KeMotion控制系统提供了一套完整的功能开发、用户操作、在线诊断/模拟、内存检测工具,包括Expert RC开发、用户Teach-In在线编程和支持IEC61131国际化标准的PLC程序开发。KEBA公司提供了支持Robot Control(RC)编程环境的TeachEdit平台和支持Motion Control开发的编程环境的KeStudio平台。TeachEdit平台可以在线调试,支持 TeachTalk语言。TeachTalk语言是系统运动控制的在线编程语言和专业级机器人流程开发语言,可以访问KEBA系统的固件,可以支持ROUTINE生成不同用途的宏和类,以便End-user程序调用。而Teach-In终端用户程序是终端用户运用KAIRO编程语言编写的应用程序,可以调用TeachTalk语言生成的宏或者类,形成特定功能的开发包。PLC部分负责电气逻辑和实时外部信号采样处理,通过与RC通信,对运动控制过程进行控制。图1为机器人控制器KeMotion开发结构。

在虚拟控制对象(机器人)情况下,离线编程系统Teachview提供用户程序平台,开发并通过仿真再现窗口Scope监测、模拟及调试控制对象的动作或者希望达到的效果。控制模型构造工具把控制对象解释成支持机器人开发的编程语言,通过KeS-tudio配置虚拟控制对象(机器人),在PC上对控制对象进行虚拟RC/MC开发。虚拟开发调试完毕后修改配置文件,移植到实际控制对象(机器人)系统中去。用户调试监测层、机器人控制层、控制对象层之间通过以太网或者总线形式通信。机器人控制器支持外扩I/O模块,之间通过K-BUS级联通信。KeMotion控制系统常用的扩展I/O模块有DM272/A、DO272/A、FX271/A、AM280/A。

图1 机器人控制器KeMotion开发结构

2.1 Robot Control软件开发

控制器中安装有Robot Control机器人的运动控制程序。Robot Control系统具备了专业级的机器人运动控制功能。一般Robot Control程序开发可以分为2个层面:一是上层终端用户级,是终端用户编写的程序;另一个是底层专家级,可以是系统固件中的一些基本库函数或是程序员开发的功能。终端用户程序可以使用终端用户语言KAIRO在手持终端KeTop上编写,也可以在PC上使用KEBA公司的开发工具TeachView编写。底层RC程序可以通过PC上的TeachEdit离线模拟开发或者在线联调。开发者可以使用TeachTalk编程语言在PC上使用TeachEdit开发工具进行专家编程,并使用TeachTalk语言编写功能宏(Macro),提供给终端用户使用。

运行在手持终端KeTop示教器上的Teach-View软件是基于WinCE的嵌入式系统,通过以太网与控制器连接通信。可以通过手持终端连接至控制器控制系统的运动,也可以编写终端用户程序对机器人进行示教操作、手动操作,监视其运动状态。End-User开发语言 KAIRO是KEBA公司专门为机器人操作者设计的一种编程语言。利用KAIRO语言中的终端用户指令集,终端用户可以很容易地创建机器人运动控制程序。指令包括了基本的运动指令、设置指令、系统功能、数学函数、流程控制和I/O设备读写等。一般来说这些功能指令被称为宏,相当于TeachTalk中的ROUTINE。所以可见这个指令集是开放的,可通过TeachTalk编写相应的Macro来扩展。在PC上使用TeachT-alk编程语言在KEBA提供的开发工具TeachEdit中进行二次开发,就是所谓的专家编程。KAIRO语言把机器人程序中的命令翻译成相应的运动模式,包括数学几何计算、路径插补、动态规划、机器人坐标系变换等。图2是Robot Control的流程。图3是RC中对应用程序的操作方式。KeTop操作控制流程中区别对待Project及Program的Load与Open操作,前一种操作是加载到控制器上,后一种操作仅仅是编译所打开的Program,不具有RC运动控制功能。

图2 Ketop RC控制顺序流程

图3 Ketop程序控制流程

2.2 基于KeMotion控制器的机器人焊接功能实现

2.2.1 焊接过程控制

机器人焊接过程中需要有2个控制的过程:一是机器人运动控制过程;另一个是焊接控制过程。机器人控制过程包括机器人焊接路径规划、焊接机器人状态监控以及机器人示教编程;焊接控制过程则包括焊机控制、送丝机与保护气等控制。机器人焊接过程如图4所示。

图4 机器人焊接过程

一次焊接过程可以这样来描述:示教盒手持终端编程,设置焊接工件外的起始点,一般也称作安全点,然后示教焊接开始点与结束点。焊接路径是通过机器人示教器示教完成的,可以通过用户编程实现。焊接过程通过开发焊接宏来实现。通常在焊接之前,为了验证焊接路径的有效性,大多数情况需要进行模拟焊接,即不启动焊接功能,只是单一进行机器人运动控制。模拟焊接信号需要在手持终端手动设置。焊接过程流程控制如图5所示。

图5 焊接过程流程控制

2.2.2 焊接系统硬件结构

电弧焊接机器人框架结构如图6所示,其中I/O模块分成2级:第1级是机器人控制器外部扩展I/O口和机器人控制器通过K-BUS级联通信;第2级是焊接模块接口卡RINT X12和机器人控制外扩I/O以工业总线连接的形式通信。机器人控制器外扩I/O口一方面读取手持终端输入的外部模拟量,并通过焊接模块接口卡RINT X12反馈到电焊机中去,实现对与电弧相关模拟量的微调;另一方面通过焊接模块接口卡RINT X12获得焊接过程反馈信号,输入到机器人控制器中去,实现对电焊机状态以及焊接过程的监控与问题诊断。

图6 电弧焊接系统硬件结构

2.2.3 焊接功能软件开发

机器人焊接功能焊接过程流程如图7所示。

图7 机器人焊接功能焊接过程流程

焊接功能的开发一般在Control中实现。输入控制功能需要在示教器上实现,这就是预送气、预送丝和回抽丝。程序中涉及到的使用手持终端KeTopt50上的按键包括 EmergencyStopT50、Key-SwitchLeft、KeySwitchRight、F1、F2,具 体 如 表 1所示。

表1 KeTopT50按键设定

最后在KeMotion机器人控制器软件开发平台上实现机器人控制焊接设备焊接模块功能,如图8所示,包括起弧、收弧、送气、送丝、手动/自动等功能控制。

图8 焊接模块功能

图9(a)为手持终端TeachView的用户层编程,深色部分是通过TeachEdit编程平台开发出的供用户使用的指令,在专家层RC中一般称之为ROUTINE,而在用户层一般称之为宏或者具有某种功能的模块。图9(b)为焊接功能起弧程序的参数设置界面,通过底层Rc专家级开发而来。

图9 机器人电弧焊接用户层开发程序

3 结束语

本文以6轴多关节型机器人在KEBA机器人控制器上的开发实现为例,介绍了新型通用型控制器软件的二次开发方法,主要包括Robot Control底层专家平台开发及End-user用户界面平台开发,最终实现了KeMotion控制器对焊接设备的控制,开发出了具有自主知识产权的6轴焊接机器人。通过本文的讨论与研究,一方面形成了一套机器人控制器二次开发的方法,另一方面实现了机器人焊接方案,为一般意义上的机器人控制器的开发提供参考。

[1]葛益军.基于IEC61131-3的编程系统的研究[D].杭州:浙江大学,2006.

[2]张磊.基于PC的软PLC运行系统研究与实现[D].太原:太原理工大学,2008.

[3]戴娟,王惠家.光电导航移动机器人转向机构的设计研究[J].昆明理工大学学报:理工版,2006,31(3):29-32.

[4]苑晶,黄亚楼,孙凤池.多转向驱动拖挂式移动机器人镇定控制[J].自动化学报,2011,37(4):471-479.

[5]KEBA.KeMotion-Robotics[EB/OL].[2011-08-18].http://www.keba.com/en/industrial-automation/kemotion-robotics/.

[6]马玉敏,樊留群,李辉,等.软PLC技术的研究与实现[J].机电一体化,2005(3):63-66.

[7]罗燕华.嵌入式软PLC技术的研究与实现[D].武汉:华中科技大学,2006.

[8]3S.IEC 61131-3 Development System(IDE)CoDeSys[EB/OL].[2011-05-20].http://www.3s-software.com/index.shtml?en_CoDeSysV3_en.

[9]Bonfe M,Fantuzzi C.Object-oriented approach to PLC software design for manufacture machinery using IEC 61131-3 norm languages[J].Advanced Intelligent Mechatronics,2001(2):787-792.

[10]李永明,王健.焊接机器人控制系统的研究[J].仪表技术,2009(6):31-33.

猜你喜欢
终端用户编程程序
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
组播环境下IPTV快速频道切换方法
一种基于负载平衡的网络接入选择方法*
创卫暗访程序有待改进