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