KeMotion控制系统及开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KeMotion r5000系列控制器是一套完整的面向多轴运动控制系统软硬件模块化控制器。硬件包括KeMotion控制器,以及各种外围模块组成,它们通过以太网或总线的形式与控制器连接,实现面向各种应用的搭配。软件方面,有用户操作、诊断、开发工具等软件工具集。机器人控制系统的架构可以如下图所示:
系统架构
一、KeMotion系统硬件结构
KeMotion控制器是一套包含了完整软硬件的运动控制系统。
图1-1 KeMotion控制器结构
焊接机器人所使用的几个主要的模块如下所述:
CPU:
数据都存在里面。系统中同时安装了RC机器人控制系统和软PLC控制系统两套软件。它们同时运行,通过共享内存块的方式进行通信。RC部分负责运动控制,软PLC部分负责电气逻辑和实时外部信号采样处理工作,通过与RC通信,还可以扩展成为系统的主控部分,对运动控制过程进行控制。
通过SERCOS III总线与控制器连接,系统采用的I/O模块是FX271/A SERCOS III 接口模块。每个单元都可以独立控制伺服,包括位置、速度、加速度和电流的控制。
Ketop示教器:
太网与控制器连接通信,在局域网内有自己的IP,相当于一个独立的终端,由于是基于OS的所以可以使用路由连接,提供对TCP等协议的支持。可以通过手持终端连接至控制器控制系统的运动,作为机器人操作手持设备,可以编写终端用户程序,对机器人示教操作、手动操作,监视运动状态。
系统扩展:
扩展I/O模块,由于KeMotion控制系统采用的是模块化的方式构建,所以可以方便的外扩I/O模块进行功能扩展,提供插槽式的K-BUS连接。其中可以扩展支持各种总线(CAN、Sercos、Profibus)的模块,以及模拟量或者数字量的输入输出模块。
现在的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系统软件结构
KeMotion控制系统软件结构,可以看成三个部分:控制器上运行的控制系统软
和监控、操作、诊断程序。
KeMotion控制系统软件结构
1.控制器上的软件
统的实时性和可靠性提供了一个基础,同时也为应用软件提供运行环境。VxWorks中运行了两套软件,分别是Robot Control和Soft PLC,它们组合在一起构成了控制系统软件的核心。其中Robot Control是负责机器人的运动控制,包括机器人的轨迹规划和插补操作,而Soft PLC则负责外围信号采样、逻辑控制等功能。
RC和PLC 两者可以通过共享内存的方式进行数据交换,所以PLC可以通过RC-Interface对机器人运动控制,这时可以把PLC看作是主控制器(软件意义上的),同时RC也可以通过与PLC的接口了解机器人各个轴的情况,也可以根据PLC计算的偏差进行坐标系的修正等。
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程序,可以是系统固件中的一些基本指令或者是自己开发的功能。
另一个PLC Application程序,也就是PLC的应用程序,主要工作是对外部逻辑信号的采样、处理,并在PLC和RC之间交换数据。比如可以用来处理焊接电流信号,获取跟踪偏差参数给RC进行纠偏。此外PLC程序还可以通过特定的接口控制RC部分。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
● Reading/writing positions
2) Exchange of cyclic process data between RC and PLC:
● Logic IOs (DI, DO, AI, AO, WI (Word), WO (Word)), 32 each
● Axis position etc.
● Call of RC interpolator
● Main Mode Manager
● Handheld terminal
Keba公司的IEC开发环境KeStudio U3是从通用的CoDeSys开发工具二次开发而来,可以使用IEC 61131-3标准编程语言开发应用程序。
一个监控、操作、诊断机器人运动的软件。操作者可以在手持终端中使用KAIRO 语言编写Robot程序,这就是前面所述的运行在RC中的机器人控制程序。通