除非特别说明,文中所涉及的PLC编程软件为CoDeSys V3.5版本
一、运动控制规范和IEC 61131-3
长期以来,全球存在着众多的运动控制解决方案供应商,每家供应商几乎都有独自开发的运动控制服务软件。对于开发者来说,协调如此多的编程平台显然是不现实的,用户对于运动控制软件的标准化的需求日益强烈,而关于PLC编程技术的国际标准IEC 61131的诞生为运动控制规范的建立提供了软件框架支撑。1996年,PLCopen组织建立了运动控制规范组。
二、PLCopen运动控制规范特点
1.核心思想
PLCopen运动控制规范目的很明确:在IEC 61131-3为基础的编程环境下,在开发、安装和维护运动控制软件等各个阶段,协调不同的编程平台,使它们都能满足运动控制块的标准化要求。
概括起来说,PLCopen运动控制规范的思路主要有以下几点:
● 是基于IEC 61131-3软件模型框架
● 抽象化,与硬件无关的软件模型
● 将需求问题分解,进行标准的模块化设计
2.特点
PLCopen运动控制规范实际上是规范各类运动控制所需的功能块,包括单轴运动控制功能块、多轴协调运动控制功能块运动控制过程中的状态变化以及规定符合规则和语句。
运动控制规范包括以下几个部分:
运动控制库 | 名称 |
---|---|
第一部分 | 运动控制库 |
第二部分 | 扩展 |
第三部分 | 用户导则 |
第四部分 | 运动控制的协调 |
第五部分 | 回原点功能 |
第六部分 | 液压驱动扩展 |
PLCopen运动控制规范主要关注不同供应商提供的不同系统间的软件可复用性,这些规范具备以下特性:
● 易用性。编写应用程序方便,安装和维护容易。
● 效率性。编程效率高,表现为具有足够数量且经验证的功能块,很大程度上提高了编程的效率性。
● 一致性。符合IEC61131-3标准的结构化和模块化。
● 通用性。软件独立于硬件。
● 完全性。非强制性,但很充分。
PLCopen运动功能块仅仅定义到接口和数据结构层面,其具体实现由各个厂商自行定义。
三、功能块概念
1.功能块模型
在PLCopen制定的运动控制规范、安全控制规范和OPC UA通信规范中,都是用相应的功能块来表达其功能的。
常用的两种功能块模型:
● Enable类模型:
2.Enable类和Execute类功能块模型
PLCopen运动功能块的定义包含两部分:激活部分和状态相关部分,激活功能块又有两个选项:Execute/Done和Enable/Valid。
1).Execute/Done:上升沿触发功能块的执行,下降沿复位“Done”、“Error”、“ErrorID”和“CommmandAborted”。功能块完成时置位Done(或InVelocity、InGear、InTorque、Insync)。
2).Enable/Valid:Enable为电平有效,同时Valid作为相关输出。
功能块其它有关输出的定义:
● Busy:功能块正在执行,Execute上升沿时Busy置位,Done、Aborted和Error使Busy复位。
● Active:功能块已经控制该轴。
● Done:功能块已经成功地执行完了命令动作。
● CommmandAborted:当前命令因被其它命令取代而取消。
● Error:功能块报故障。
● ErrorID:功能块故障码。
在实际编程时,功能块会有详细的变量表达式,这部分在接下来的章节中介绍。