本文说明IEEE1588在一个分散运动控制系统中的应用,目前的解决方案依靠分散运动部件对时间同步的专门实现。随着IEEE1588的出现,可以开发一种在标准网络(如以太网)上使用商用技术的运动控制解决方案。本文要说明在一个网络范例内IEEE1588和运动的基本操作。
分散运动控制要求系统节点之间紧密地同步,通常这要求在系统内时钟间的波动是微秒数量级。更高性能的应用驱动将这个性能提高到几分一微秒范围。当前的解决方案是使用适当的网络和接口部件达到使分散系统内节点间的紧密同步。定制的接口卡控制整个系统时钟的分配和同步以及控制数据的定时传送。
IEEE1588精确时间协议提供分布网络上的标准化的同步机制,通过使用IEEE1588协议就可在标准网络上用标准化的解决方案取代专用解决方案。就可用现成的部件代替专用的网络接口部件。
现使用IEEE1588协议和以太网实现一个简单的分布运动控制系统,用以演示这个原理。
范例说明
范例运动系统由三个控制器组成,每个控制器通过一个SERCOS适配器连接一个驱动器。SERCOS是连接数字驱动器的工业标准。所有的运动节点都用以太网卡连接到标准的以太网。
调节器内的“运动计划器”管理每个驱动器的位置信息,以控制点动、移动、和联动操作。每个驱动器作为一个运动轴,其中一个轴是主轴,其它两个为从动轴。每个从动轴都与主轴以1:1的比率联动。连接到主轴的控制器以一定时间间隔向连接到从动轴的控制器发送位置基准。
在系统内所有节点的时钟是同步的,它使用IEEE1588协议达到以太网的时钟同步。在底板上的时钟同步是用先与IEEE1588的专用协议实现的。
系统时钟同步
网络时钟同步是在以太网适配卡上实现的,这个适配卡包含一个FPGA硬件辅助电路,用于对进入和输出的IEEE1588协议报文打上时间印记。这个FPGA包含一个64位,每片25纳秒的高分辨率的可调谐时钟。
运动的同步
基本的运动控制要求在一个节点的运动任务的运行要与其它所有节点同步。节点之间的所有事务都建立在同步刷新周期基础上。对控制器与传动和控制器与控制器之间的两种事务是相同的。
1588的实现
1588协议是一个运行在适配器上的C/C++工具,大多数1588协议的实现包括同步,诊断,延时请求,延时响应和报文管理。
输出同步
在范例应用中需要根据主轴的位置精确地接通或断开一个输出。用这个输出触发一个选通灯,照亮所有三个轴的相位。为了达到精确的输出闸门,使用一个特别的输出组件,它的时钟与系统中的其余时钟同步,由控制器内的运动计划器向这个组件发送一个输出值,这个值带着时间标记指示释放输出或停止输出的时间。输出组件使用先前说明过的任务同步电路管理输出的“定时”以达到精确的输出时间。
GPS作为最高主时钟
本运动系统范例的启动时间缺省为时间为0的UTC时间。对运动系统通常不需要绝对时间,但对一些明显的事件如故障条件,时间标记可能很有用处。所以这里集成了一个全球定位系统(GPS)接口,用于提供精确的UTC时间源。并用作系统的最高主时钟。这个接口集成在以太网适配器模块上,适配器上的算法从GPS接收器接收“秒脉冲”和UTC刷新,并调节它的本地时钟维持与GPS的同步。
结论
提供的1588在以太网分布运动系统的应用例子是可靠和精确的应用。硬件辅助电路提供的主时钟和从时钟之间的起伏精度不大于200纳秒。当使用GPS作为主时间基准时,在从时钟的累计波动为500纳秒。如果耒自GPS接收器的秒脉冲信号的边沿不清晰,还会产生附加的波动。
本例子展示的是一个相对较小的系统,还需要更大的范例和在各种负载条件下进行测试。
这是开发CIP Sync同步原理工作中的结果。
这里表述的想法、观点和建议只是为说明作者对使用CIP网络的可能性的概念,并不反映ODVA的想法、观点和建议。由于CIP网络可用于各种不同的情况,可融入各制造商的各种产品和系统。因此试图使用的读者和特定CIP网络的从业者应自行决定这里表述的想法、观点和建议是否适合你的应用条件。