利用IEC61131-3和PLCopen的运动控制功能块来创重点

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

利用IEC61131-3和PLCopen的运动控制功能块来创建独立于硬件的可再用运动控制应用程序

摘要

运动集成及自动化解决方案的可维护性和连通性这些问题已经出现,因此需要建立标准。

PLCopen建立了这样的标准。编程语言的标准是来协调各工作平台间运动控制功能性的访问。这样,生成的应用程序在工作平台间更独立于硬件而且可再度利用。

PLCopen运动控制功能块提供的标准以IEC61131-3功能块概念为基础。随着功能性和接口的标准化及在多个平台上执行,建立了编程标准,并在工业领域被广泛支持。由于封装隐藏了数据,此标准可用于不同结构,适用的控制从集中型到分散型或从集成型到网络型。它不是为某个应用程序特别设计的,而是可以作为在不同领域中正进行定义的基础层。正因为如此,它对现有和将来的技术都是开放的。

介绍

在很多情形中运动控制系统的用户支持多个应用层。例如,一个包装机供应商可支持三个不同层次:低成本、中等层次和高性能/高成本。使用不同的运动控制系统可解决速度和精确度的不同需求。不幸的是,运动控制市场显示各种系统/解决方案的不兼容。实际上,这意味着结构和用于开发、安装和维护的软件工具的各个层次存在很大的差异。

这种不兼容性带来了相当大的费用:使用不同的实现设备发生混乱,工程变得困难,培训费用增加,软件在各平台间不能再次使用。

标准化自然减少了以上提到的消极要素。标准化不仅适用于IEC61131-3国际标准这样的编程语言中,而且适用于不同的运动控制解决方案(如分散型、集成型或集中型)的接口。

这种标准化可有效地用于定义可再用部件的资料库。这样,编程更独立于硬件,应用软件的可再用性增加,培训和维护的费用减少,不同控制解决方案间的应用程序可伸缩。

任务工作小组的目标

机器制造业的主要供应商请求PLCopen帮助解决不兼容的问题,因此组建了运动控制的任务工作小组。通过使运动控制的功能块标准化,此任务工作小组定义了程序员接口。不仅用户包括在其中,还得到供应商的广泛支持,为很多产品和结构提供了大量实现设备,因而保证了此资料库的成功。

独立的协会PLCopen于2001年11月在它的网站上发布了功能块资料库的定义。组织成员还将继续进行修改。该定义包括顺应性规则,将来会由PLCopen进行认证。

标准化主要关注不同供应商提供的不同系统之间的可再用性,包括分布型和网络型系统。总之,预计标准化将覆盖运动控制市场的百分之八十左右。

任务工作小组定义了运动控制功能块概念有以下几个目标:

1.简单性—容易编写应用程序、安装和维护

2.效率性—体现在功能块的数量和设计效率上

3.一致性—符合IEC61131-3标准

4.通用性—独立于硬件

5.灵活性—将来的扩展/应用范围

6.完全性—不是强制性的但很充分

定义包括三个部分:

1.状态机的定义

2.用于单轴/多轴运动控制的基本功能块集的定义

3.顺应性规则和综述

状态机的定义

下图标准地定义了多个运动控制FB同时启动时轴在高层次的行为特性。运动的这种组合对建立更复杂轮廓或处理程序中的一些例外很有用。(在实际实现过程中,可能有在较低层的附加状态。)

基本规则是按顺序发出运动命令,即使PLC具有实时并行处理的能力。这些命令作用于轴状态图上。

轴总是在定义的状态中的一种状态下。任何运动命令都是一种转换,它改变轴的状态,因此改变当前计算出的运动。

定义了七种状态

1.保持静止

2.回原位

3.离散运动

4.持续运动

5.同步运动

6.停止

7.故障停止

正常过程都从静止开始。在此状态下,每个轴都可连通电源(通过供电命令)。而且可以访问回原位状态(通过对每个轴发布回原位命令),正常完成后返回静止状态。从这里可以将轴转成离散运动或持续运动。通过停止状态可以返回到静止。发生故障时轴将转换为故障停止状态。通过重启命令(人工操作)可以返回到静止,接下来机器可以再次进入运行状态。请注意这些状态都定义了功能块的功能性。

功能块集的定义

功能块的粒度是基本问题。对应于低层次命令的功能性而言,每个轴至少有一个功能块。一个中间层更好地实现了以上的要求,减轻处理器的负载并创建了更高水准的可伸缩性。运行就是在此层次的基础上进行。而且,为了将来的扩展定义两个功能块输入和输出集:一个必须遵守的基本集和一个扩展集。

轴的数据类型及实例

导出数据类型AXIS_REF提供轴的索引。所有制造商都提供这种数据类型。它还为电机/驱动器提供接口。实接口的技术性隐藏在结构和功能块中。这样,当用户访问所有相关参数时,不同的结构看起来是一样的。这种结构包括集成于控制器的运动、集成于驱动器的控制、分布型和网络型系统。

AxisRef作为Var_In_Out

Axis_Ref作为Var_In_Out使用,表示在功能块图形中的水平线连接的一个输入和一个输出。输入/输出变量值存储于FB的外部。Axis_Ref使用的变量表现为输入和输出参数,可以在功能块内修改,以及从外部变量接收数值

举例说明如何进行这个操作:设想一个程序包括很多功能块,所有的功能块都彼此相连(从左至右),都通过Axis_Ref参照到同一个轴。此程序是在一个循环任务模式中,比如每一个毫秒。第一个FB读取Axis_Ref中的最新值,并在完成执行前可能更新其中一些值。紧接着下一个FB开始运行,读取Axis_Ref中已更新的值,也就是使用最新值。这些值耦合到电机。系统间的控制结构完全不同。

可以使用此索引定义一个或更多虚拟轴,在这个意义上,它作为数据结构出现,没有耦合到物理的驱动器或电机。

MC_MoveAbsolute

在一个指定的绝对位置命令被控运动。

MC_MoveRelative

在执行时,命令指定距离的被控运动,此距离与实际位置有关。

相关文档
最新文档