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中的机器人控制程序。
通
过手持终端,不但可以运行程序,还可以随时修改程序、监控变量,或者手动操作机器人运动,也可以进行机器人的示教。
3.PC机上的软件
PC机上的工具软件Teachedit和KeStudio分别为RC程序和PLC程序的编程工具。
Uos和Scope为控制系统监视诊断工具,Uos显示VxWorks的变量信息,Scope图形仿真控制系统的运动过程,并能读取在控制器中设定显示的变量,并
与控制器的连接是互斥的,所以同时只能有一个终端与控制器连接通信。
以上对KeMotion控制系统的软件结构进行了简述,下面说明的是KeMotion控制系统的软件开发过程。
三、KeMotion系统软件开发
Keba公司为KeMotion控制系统提供了一套完整的开发工具,包括RC和PLC 程序开发的编程环境teachedit和Kestudio,还有运行于手持设备和PC上的teachview以及运行于PC端的各种监控、诊断和仿真软件。
1.Robot Control软件开发
在Robot Control中运行的程序是机器人的运动控制程序,Robot Control系统具备了完整的机器人运动控制功能。
RC和PLC之间有RC-Interface接口库联系,所以外部的PLC程序可以通过RC接口控制RC,从而拥有控制机器人的能力。
一般Robot程序开发可以分为两个层面,一层是终端用户级,另一层是专家级。
终端用户程序是终端用户运用KAIRO编程语言编写的应用程序。
终端用户程序
上的TeachView也可以编写。
基本macro的功能大致可以分成如下几种:
1) 移动机器人到一定的位置,可以使用轴位置或者笛卡尔坐标位置;
2) 设置机器人运动动态参数,比如速度、加速度和跃度(jerk)等;
3) 路径重叠参数;
4) 设置位置和时间触发;
5) 基本数学函数指令;
6) 设置和读取数字IO;
7) 设置和读取模拟IO;
开发者可以使用TeachTalk编程语言在PC上使用TeachEdit开发工具进行专家编程,使用TeachTalk语言编写功能宏(macro)提供给终端用户使用。
TeachTalk是一种专门为机器人控制发展的一种解释型编程语言,它是运行在teachcontrol运行系统上的语言,可以在teachtalk编程系统中创建、测试和启动TeachTalk程序,可以认为RC最终解释执行的就是TeachTalk语言。
使用TeachTalk语言编写功能macro是二次开发的基本方法,一个macro在TeachTalk中可以看作是一个Routine。
再进一步的具体的开发和程序的说明这里就不细说了,也正在熟悉了解中。
只算是大体上的把握吧。
2.PLC应用软件开发
PLC程序的主要工作是逻辑控制、模式管理、轴控制数据的更新、I/O系统的控制等。
此外还有机器人的配置,配置的内容包括任务配置和PLC配置,任务配置可以看成是系统的主要工作,因为任务可以看作PLC程序的主体结构,其他的功能块和函数都是因为任务中需要所以才存在。
而PLC配置又包括I/O配置和机器人配置,这些配置主要是配置运动控制的对象和建立I/O对象,这些配置工作可以在KeStudio的中图形化的设置。
KeMoiton控制系统中的Soft PLC遵从IEC 61131-3标准,所以可以使用IEC 61131-3中规定几种标准编程语言编写PLC应用程序。
Keba公司提供了PLC 开发工具KeStudio,这是一款基于CoDeSys开发的PLC编程工具。
同时Keba 公司提供了一些标准的库文件,还有Rc.lib,Mc.lib,McAxis.lib等与机器人控制相关的库文件,其中Mc库中的功能块(function block)采用的是PLCopen组织提供的标准运动控制功能块,但是同时也根据应用对其进行了一定的扩展。
所以整套系统的标准性和可移植性还是不错的。
Keba提供的IEC编程模板,通过模仿模板可以了解启动Robot Control所必须的函数,使得编程者通过PLC部分更加容易的启动Robot Control。
因而可以看成是提供了一种编程框架,编程者可以在其中添加和扩展功能和函数。
PLC程序包含五个部分:
1) Initialization 初始化
2) Runtime control and measurement 运行系统控制和管理
3) Axes update 轴位置更新
4) User programs 用户程序
5) Update of RobotControl Robot Control更新(共享变量)。