初始化成功后,主从站根据对象字典配置信息进行通讯(通讯数据如表1和表2所示)。主控制器依次给各驱动节点发送命令伺服使能,驱动节点反馈伺服就绪,开始正常运转。每个通信周期,主控制器给个驱动节点发送插补指令,驱动节点反馈实际转速和驱动器状态信息。
2.4 Powerlink移植
无论是否采用操作系统,Powerlink一般包括这样4个任务处理:事件队列、以太网收发事件、时钟事件和外部按键输入处理。由于没有使用操作系统,所以将事件队列和ms级时钟事件放在主函数中查询处理,以太网事件、高精度时钟事件和按键输入处理使用中断的方式实现,通过接口函数与协议栈进行通信。Powerlink主站的移植,针对XilinxSpartan6系列FPGA,修改了Ethernet Edrv。Timer,Buffer,以及Cfm模块。
Powerlink的硬件架构如图4所示。Ethernet驱动使用了Powerlink IP核,IP核里调用openMAC来管理数据收发。Timer包括1个ms级时钟和2个ns级时钟。ms级时钟由软核定时器提供,ns级时钟TimerCycle由FPGA内部50 MHz时钟产生(每个滴答20 ns),去掉了另外一个时钟TimerSlot,数据的发送改由定时发送帧的函数omethTransmitTime代替。Cfm配置模块中,cdc将文件转换成数组添加到工程里面,然后将对文件mnobd.cdc的处理转换成对Buffer的处理,这样就省去了FPGA对文件系统的支持。
Powerlink从站的移植,针对Cyclone IV做了相应修改,大体与主站修改过程类似。
2.5 测试结果
在100 Mbit/s的网络带宽下,通过Powerlink总线,400"s内实现了5个从站伺服驱动器的数据刷新,编码器反馈速度与命令速度之间有1~2个通信周期的滞后,基本上实现了各个驱动节点的同步控制。具体数据量与通信周期的关系如表3所示。
3 结束语
分布式伺服控制简化了机械设计,提高了设计的灵活性,在当前运动控制高速化、多轴化和复杂化的需求下,能够较好地满足市场需求。基于Powerlink通信技术的分布式伺服驱动器,结合了目前普遍采用的Powerlink总线技术,能够较好地满足较高的实时性和可靠性。