Powerlink在分布式伺服驱动中的应用设计
2013-03-30张少林陈幼平
张少林,陈 冰,陈幼平
(华中科技大学,湖北 武汉 430074)
0 引言
为了实现更高速、更柔性的生产目的,传统上由机械部件完成的功能越来越多的由伺服系统完成[1]。同时,工业现场总线的广泛应用,为分布式控制系统提供了良好的高实时性、高可靠性解决方案。目前,在一些大型包装、印刷、纺织、机器人和CNC等领域,该方案能够较好地解决系统模块化的布局,具有较高的应用价值。采用Powerlink开源技术作系统总线,能够较好地利用Powerlink开源的优势,提供较高的实时性和安全性,同时具有较低的成本。
1 分布式伺服控制
分布式伺服控制实质上是分布式驱动,集中式控制。典型的分布式伺服系统结构如图1所示。系统由1个主控制器和n个驱动节点组成,通过普通以太网介质组成环形网络。主控制器实现多轴控制的轨迹算法和主站通讯协议。轨迹控制算法实现了各轴的插补运算,并通过现场总线将指令发送到驱动节点。驱动节点根据目标指令和编码器反馈信息,实现控制环路,驱动电机运动。此外,总线上可以扩展I/O设备,采集传感器信息,扩展其他应用[2]。
图1 分布式伺服系统总体结构
分布式伺服系统的性能优劣,很大程度上取决于选择的运动控制总线。总线的速度、协议的效率直接影响了伺服轴的数据更新时间,进而影响伺服轴的控制精度;总线的安全可靠性和自诊断、自恢复能力决定了控制系统的稳定性;总线的应用是否广泛、调试是否方便,影响了总线的市场通用性,开发成本的高低。
开源技术Ethernet Powerlink具有良好的性能。首先,Powerlink的通信周期短,能够在几百微妙内刷新全部节点的控制信息。其次,Powerlink通过数据传输的特定方法来确保安全性,摒弃了以前需要的双绞线装置,降低了配线需求。归功于严格确定的时序,非常短的循环周期,很低的网络抖动,开放的实时通信系统,为Powerlink安全性提供了理想的基础[3]。此外,Powelrink与标准以太网兼容,具有高实时性、拓扑结构灵活、热插拔和开源等特点,这些都为Powerlink的广泛应用提供了基础。因此,选用Powerlink技术作为伺服控制总线,是性能良好且成本实惠的选择。
2 Powerlink在伺服驱动器上的实现
2.1 硬件框架
主控制器和驱动节点的硬件电路基本相同,如图2所示,都采用Freescale Cortex-M4ARM做主处理器,通过FlexBus总线与FPGA通信。FPGA外接DDR2存储器件和2个以太网控制芯片DP83630,主要实现Powerlink协议。驱动节点还有一个编码器模块输入和电机驱动输出。
图2 节点硬件结构
2.2 初始化过程
驱动节点初始化过程如图3所示。首先是主站上电启动,初始化并等待从站节点的接入。然后驱动节点上电,驱动器进行自检和初始化。此时强电还没有接通,驱动节点应答主控制器的IdentRequest请求,完成Powerlink的初始化,并告知应用层当前初始化状态。应用层判断Powerlink初始化正常,接通强电,否则发出错误信息到数码管显示[4]。
图3 驱动节点初始化过程
2.3 正常通信过程
初始化成功后,主从站根据对象字典配置信息进行通讯(通讯数据如表1和表2所示)。主控制器依次给各驱动节点发送命令伺服使能,驱动节点反馈伺服就绪,开始正常运转。每个通信周期,主控制器给个驱动节点发送插补指令,驱动节点反馈实际转速和驱动器状态信息[5]。
表1 主站数据格式
表2 从站数据格式
2.4 Powerlink移植
无论是否采用操作系统,Powerlink一般包括这样4个任务处理:事件队列、以太网收发事件、时钟事件和外部按键输入处理。由于没有使用操作系统,所以将事件队列和ms级时钟事件放在主函数中查询处理,以太网事件、高精度时钟事件和按键输入处理使用中断的方式实现,通过接口函数与协议栈进行通信。Powerlink主站的移植,针对Xilinx Spartan6系列FPGA,修改了Ethernet Edrv,Timer,Buffer,以及Cfm模块。
Powerlink的硬件架构如图4所示[6]。Ethernet驱动使用了Powerlink IP核,IP核里调用open-MAC来管理数据收发。Timer包括1个ms级时钟和2个ns级时钟。ms级时钟由软核定时器提供,ns级时钟TimerCycle由FPGA内部50MHz时钟产生(每个滴答20ns),去掉了另外一个时钟TimerSlot,数据的发送改由定时发送帧的函数omethTransmitTime代替。Cfm配置模块中,cdc将文件转换成数组添加到工程里面,然后将对文件mnobd.cdc的处理转换成对Buffer的处理,这样就省去了FPGA对文件系统的支持。
图4 Powerlink IP核结构
Powerlink从站的移植,针对Cyclone IV做了相应修改,大体与主站修改过程类似。
2.5 测试结果
在100Mbit/s的网络带宽下,通过Powerlink总线,400μs内实现了5个从站伺服驱动器的数据刷新,编码器反馈速度与命令速度之间有1~2个通信周期的滞后,基本上实现了各个驱动节点的同步控制。具体数据量与通信周期的关系如表3所示。
表3 Powerlink通信测试
3 结束语
分布式伺服控制简化了机械设计,提高了设计的灵活性,在当前运动控制高速化、多轴化和复杂化的需求下,能够较好地满足市场需求。基于Power-link通信技术的分布式伺服驱动器,结合了目前普遍采用的Powerlink总线技术,能够较好地满足较高的实时性和可靠性。
[1]宋华振,陈志彤,曹海笑,等.走向分布式的伺服控制[J].现代制造,2006,(10):42-43.
[2]吕应明,袁海文,刑军伟.基于CAN总线的分布式位置伺服系统设计[J].电子技术应用,2010,36(3):136-139.
[3]EPSG.Powerlink安全性-灵活地安全性协议[Z].上海:贝加莱工业自动化有限公司,2012.
[4]樊留群.实时以太网及运动控制总线技术[M].上海:同济大学出版社,2009.
[5]GSK.DA98E系列总线式交流驱动单元使用手册[Z].广州:广州数控设备有限公司,2011.
[6]AVNET.Xilinx FPGA Powerlink Controlled Node Application Note(ADS Spartan6Ethernet Powerlink Board)[Z].香港:安富利科技集团,2012.