KeMotion控制系统及开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

KeMotion控制系统及开发

KeMotion r5000系列控制器是一套完整的面向多轴运动控制系统软硬件模块化控制器。硬件包括由Keba公司设计的KeMotion控制器,以及各种外围模块组成,它们通过以太网或总线的形式与控制器连接,实现面向各种应用的搭配。软件方面,Keba公司也提供了一套完整的用户操作、诊断、开发工具等软件工具集。Keba公司提供的机器人控制系统解决方案的架构可以如下图0-1所示。

图0-1 系统架构

一、KeMotion系统硬件结构

Keba公司的KeMotion控制器是一套包含了完整软硬件的运动控制系统,如下图1-1所示。

图1-1 KeMotion控制器结构

焊接机器人所使用的几个主要的模块如下所述:

图1-2 CPU模块

CPU:CPU部分是系统的核心目前焊接机器人使用的是KeMotion r5000系列的CP252/X CPU 模块(如图1-2,使用的是定制的基于Intel x86嵌入式微处理器),其上运行的是VxWorks实时操作系统。控制器带有CF卡,OS和应用软件以及系统的数据都存在里面。系统中同时安装了RC机器人控制系统和软PLC控制系统两套软件。它们同时运行,通过共享内存块的方式进行

通信。RC部分负责运动控制,软PLC部分负责电气逻辑和实时外部信号采样处理工作,通过与RC通信,还可以扩展成为系统的主控部分,对运动控制过程进行控制。

KeDrive D2

伺服驱动器:通过SERCOS III总线与控制器连接,系统采用的I/O模块是FX271/A SERCOS III 接口模块。每个单元都可以独立控制伺服,包括位置、速度、加速度和电流的控制。

Ketop示教器

手持终端(KeTop示教器,图1-4):其上运行的是基于WinCE的嵌入式系统,通过以太网与控制器连接通信,在局域网内有自己的IP,相当于一个独立的终端,由于是基于OS的所以可以使用路由连接,提供对TCP等协议的支持。可以通过手持终端连接至控制器控制系统的运动,作为机器人操作手持设备,可以编写终端用户程序,对机器人示教操作、手动操作,监视运动状态。

系统扩展

扩展I/O模块:由于KeMotion控制系统采用的是模块化的方式构建,所以可以方便的外扩I/O模块进行功能扩展,提供插槽式的K-BUS连接。其中可以扩展支持各种总线(CAN、Sercos、Profibus)的模块,以及模拟量或者数字量的输入输出模块,如图1-5所示。

现在的Kemotion r5000控制系统的扩展I/O配置如下:

CP252/X CPU module;

DM272/A Digital Input / Output Module;

DO272/A Digital Output Module;

FX271/A SERCOS III Interface Module;

AM280/A Analog Input/Output;

PC:通过以太网和控制器连接在同一局域网内,可以登录到控制器系统内部修改系统文件;可以模拟手持终端控制控制系统,但在同一时刻只有一个人具有修改终端用户程序的权限;通过编辑程序的应用程序连接正在运行的控制器,调试、仿真程序;通过PC机上编写的OPC客户端连接控制器提供的OPC服务器,读写数据,实现控制。可见,控制调试方法多样,满足各种需求,方便扩展。

KeMotion控制系统的硬件结构,如控制器,伺服驱动器,IO模块完全实现了模块化,各模块之间通过标准的网络或总线进行连接通信,同时提供了可扩展安全控制器的功能。以上设备的连接和调试没有参与,细节上的东西了解不多。

二、KeMotion系统软件结构

KeMotion控制系统软件结构如下图2-1所示,可以看成三个部分:控制器上运行的控制系统软件、手持终端上运行的监控、操作、诊断软件和PC上运行的编程开发工具软件和监控、操作、诊断程序。

KeMotion控制系统软件结构

1.控制器上的软件

控制系统软件的核心部分是运行在控制器硬件平台(x86嵌入式微处理器)上一整套软件。自底向上的看,首先底层的OS是VxWorks实时操作系统,这为系统的实时性和可靠性提供了一个基础,同时也为应用软件提供运行环境。

VxWorks中运行了两套软件,分别是Robot Control和Soft PLC,它们组合在一起构成了控制系统软件的核心。其中Robot Control是负责机器人的运动控制,包括机器人的轨迹规划和插补操作,而Soft PLC则负责外围信号采样、逻辑控制等功能。

RC和PLC 两者可以通过共享内存的方式进行数据交换,所以PLC可以通过RC-Interface 对机器人运动控制,这时可以把PLC看作是主控制器(软件意义上的),同时RC也可以通过与PLC的接口了解机器人各个轴的情况,也可以根据PLC计算的偏差进行坐标系的修正等,它们之间的接口如图2-2所示。

RC和PLC关系

从软件开发的角度,可以把OS、RC和 PLC软件看作是系统的固件,开发者只需要了解程序与固件的接口,以及各个控制软件之间的接口,这样就可以简化系统的软件结构。再向上看,就是具体的应用程序了,Robot Program是运行在RC(Robot Control)中的程序,PLC应用程序是运行于Soft PLC中的程序。

其中Robot Program是机器人运动控制的程序,在Robot Control中可以运行使用KAIRO 编程语言编写的机器人运动控制程序。KAIRO语言是Keba公司专门为机器人操作者设计一种编

程语言,是一种简单可靠的运动控制语言,利用KAIRO语言中的终端用户指令集,终端用户可以很容易的创建机器人运动控制程序。

KAIRO编程语言属于终端用户程序语言(end user level language),所以程序的语法较简单,只要有一定的编程基础,基本上可以较快的熟悉。主要的指令包括了基本的运动指令、设置指令、系统功能、数学函数、流程控制和I/O设备读写等。除了流程控制指令外,其余部分的指令大多是一些基本的功能块。一般来说这些功能指令被称为“宏(Macro)”,相当于TeachTalk中的Routine,或者可以看成是一个功能块。所以可见这个指令集是开放的,随时可以通过TeachTalk编写相应的Macro来扩展。在PC上使用TeachTalk编程语言在Keba提供的开发工具teachedit中进行二次开发,就是所谓的专家编程,这里下节会仔细说明二次开发的方法。

综上所述,RC应用程序大体可以看成两层,上层是End User程序,是终端用户编写的程序;下层是Expert程序,可以是系统固件中的一些基本指令或者是自己开发的功能。RC部分程序的结构可以如图2-3所示。

RC部分程序结构

另一个PLC Application程序,也就是PLC的应用程序,主要工作是对外部逻辑信号的采样、处理,并在PLC和RC之间交换数据。比如可以用来处理焊接电流信号,获取跟踪偏差参数给RC进行纠偏。此外PLC程序还可以通过特定的接口控制RC部分,如图2-4。PLC部分的工作主要是配置和逻辑控制,配置包括:配置任务、配置I/O、配置伺服、配置机器人轴参数;逻辑控制程序部分则负责数据的采样计算处理、机器人轴伺服驱动输入输出控制、I/O系统输入输出控制。PLC通过和RC的配合最终实现完整的自动焊接过程控制。

PLC通过RC Interface控制RC

RC接口中包括了一系列可用服务,这些服务可以通过RcInterface.lib和Rc.lib调用。以下是一些服务:

1) Controlling the RC:

● Loading/unloading and starting/stopping motion programs

● Jogging

● Switching the robot on/off

相关文档
最新文档