IEC61499和PLCopen 运动控制

越来越多的PLC 中结合了运动控制功能。其中一个重要的推手就是PLCopen 国际组织开发的基于IEC61131-3 功能块基础的运动控制规范。这一规范包括了功能块接口和轴运动的行为。一个多轴运动控制系统涉及了许多的部件,包括了PLC,伺服驱动器和电机。它们是一个分布式控制系统,但是基于IEC61131-3是针对集中式控制系统而设计的。另一方面,IEC61499 是分布式工业测量,控制和监督系统功能块标准。如何将PLCopen运动控制功能块库转换成为IEC61499 基于事件的功能块,构建大量设备,无中心,自主(Autonomous)控制的完全分布式运动控制系统。笔者觉得这是一个非常有意思的话题。物流系统是一个可能的应用场景。

运动控制系统

  运动控制(MC)是自动化的一个分支,它使用通称为伺服机构的一些设备如液压泵,线性执行机或者是电机来控制机器的位置或速度。在CNC机床,机械臂等系统中,采用了大量运动控制系统。

目前的运动控制系统包括下面几种形式:

  1. 工业PC上添加运动控制卡和PLCopen软件
  2. PLC 通过数字IO口控制伺服驱动器。
  3. PLC 中包含了运动控制模块和PLCopen 功能块库编程
  4. 工业PC/PLC 通过现场总线(例如EtherCAT )与多台外置的伺服驱动器连接
  5. 模块化工业电脑,例如倍福(BECKHOFF)和贝加莱的工业电脑,通过现场总线连接多台伺服驱动器。

   上面的运动控制系统可以分为集中(centralized)控制和非集中式(Decentralized)控制两种,(1) 到(3) 为集中方式,而(4)和(5)为非集中方式。

运动控制系统又可以分为单轴,多轴。多轴系统通常是同步多轴控制。集中控制运动系统的多轴控制是依靠处理器/PLC 的软硬件来实现同步运动控制的。而分布式运动控制系统是通过实时通信网络(例如EtherCAT ) 来实现多个轴的同步运动控制。

虽然后面两种方式从物理设备上是网络结构。不过从软件的角度看,它们仍然是集中控制的软件架构。其中有一台设备是主设备,其它的伺服驱动器被动设备。而且伺服驱动器没有自主控制的能力,它们只能接受主控设备发来的控制命令。

PLCopen 运动控制功能块

  目前市场上的运动控制系统和解决方案是相互不兼容的。这种不兼容性增加了最终用户的成本,学习难度和工程的困难。最终导致了市场成长过程缓慢。

   PLCopen 组织对运动控制标准化工作就是为了减少这种负面效应。它们使用IEC61131-3 中的功能块来描述运动控制功能,对它的编程接口进行了标准化的工作。

PLCopen 的运动功能块

PLCopen 运动功能块基于IEC61131-3 功能块实现。下图是一个绝对移动功能块 。从图中我们可以看出,它有一个Execute数据输入端,Done和Busy 两个数据输出端。

 

运动功能块库(PLCopen MCL)

PLCopen 运动功能块库分成两类-管理类(Administrative)和运动类(Motion).它们又分为单轴和多轴。下面是PLCopen 定义的功能块。

 

运动功能块的执行

PLCopen运动控制库是使用IEC61131-3 的功能块来描述的。我们看到,每个运动控制功能块有一个Execute 输入端。当Execute 从0 到 1 时,该功能块被执行。还有几个数据输出端Done,Busy,Active,Error 。

IEC61131-3 是基于周期扫描的方式执行的。下面是一个SFB 的顺序执行。

 

 

PLCopen 与IEC61499 相融合

     IEC61499 和PLCopen相互融合,意味着将IEC61131-3 功能块转换到IEC61499 功能块。同时将IEC61131-3的周期扫描执行模式转换成为IEC61499基于事件的执行模式。其实,在PLCopen 的MCL 中,基本功能已经是基于事件的序列。一个运动命令由数据输入(Execute)的上升沿启动。运动命令完成的处理方式也是类似的,布尔数据输出上升沿表示功能块执行完成。这种方式与IEC61499 功能块的时间非常类似。

所以说,根据PLCOpen 的规范,编写类似的IEC61499 运动功能块应该不存在技术问题。

基于IEC61499 的分布式运动控制系统

     运动控制系统的难点之一就是保持“同步运动 Synchronized Motion”,为了保证多个轴的同步运动,可能需要在很短的时间间隔内修改轴的速度(比如1ms 甚至更小)。如果多轴运动控制是在一个工业电脑或者PLC 中实现的。那么这种同步时可以通过计算机的算力和实时操作系统的调度算法来实现。

 

 图: 集成运动控制系统

 

   另一种运动控制系统是非集中式的。多个伺服驱动器通过网络与主PLC连 接。在这种系统中,PLCOpen 运动控制功能块是在主控PLC 执行的。通过现场总线传递运动控制参数和状态。 为了实现“同步运动控制”,选择时间触发的实时现场总线非常关键。例如EtherCAT,或者Powerlink 总线。

 

 图 非集中式运动控制系统

 

前面已经提到过,从软件的角度看,这种非集中方式的运动控制系统仍然是一种主从方式的集中控制。 基于IEC61499 的PLCopen 运动控制设备 。能够实现更加广泛,灵活和无中心的分布式运动控制系统。每台设备可能就是一个自主(Autonomous)的运动控制单元,它们通过事件传递来协同操作,实现更为灵活的“同步”运动控制。例如 AVG 小车,机床,机械臂系统的控制如果采用集中控制方式也许比较复杂,而采用自主式自动控制方式,比较清晰和简约。

IEC61499 和PLCopen融合,可能会产生更多的产品形式。能够提高构建更多自主控制单元(Autonomous Components)的自主自动化系统的效率。

  1. 集成单轴/多轴运动控制 IEC61499 设备

 这种系统结构是将IEC61131-3 为基础的运动控制系统中的61131-3运行时替换成为IEC61499 运行时和基于IEC611499 功能块的PLCopen 功能块库。

 

从上图可见,具有两个通信接口PROC  和COMM 接口。PROC 是一个现场总线。连接一个或者多个伺服驱动器。EtherCAT和Powerlink 都是时间触发实时现场总线。

 另一个COMM接口,用于IEC61499 的分布式控制通信。COMM应该是事件触发的实时通信网络接口。

 

 

2. 分布式同步运动控制IEC61499  设备

从软件的角度看,上面提到的系统结构仍然是一个集中式运动控制系统。我们知道,IEC61499 本质上是分布式控制系统的。IEC61499 和PLCopen 相结合,能够构建分布式同步运动控制器。它们将具有下列特点:

1 将61499 运行时下沉到伺服驱动器,使伺服驱动器成为IEC61499 单轴或者多轴运动控制器。使伺服驱动器的组态,编程,部署更好灵活。

2 可以是主从方式和完全分布式方式。构建分布式同步运动控制系统。

3 网络要保证“同步运动控制”的要求。比较切实的方式是使用两种网络。事件触发网络用于IEC61499 通信。时间触发网络用于同步运动控制。也可以尝试TSN 网络技术。

 

结束语

          无论是PLCopen 还是运动控制技术,我都是门外汉。所以本文只是畅想一下PLCopen和IEC61499 融合的各种可能,同时也研究了针对PLCopen 运动控制库,IEC61499 设备对性能和网络的要求,这是设计基于IEC61499 运动控制产品应该考虑的问题。IEC61499 并没有规定它的应用范围。事实上,我们可以在任何分布式系统中使用IEC61499 的功能块模型和概念。下一篇博文,我们来谈谈IEC61499 和物联网- “降维打击",IEC61499 在物联网中的应用。

欢迎有兴趣的读者共同探讨。

  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值