一种EtherCAT主站控制系统的快速时钟同步方法与流程

文档序号:16611873发布日期:2019-01-15 22:22阅读:954来源:国知局
一种EtherCAT主站控制系统的快速时钟同步方法与流程

本发明涉及工业自动化领域,特别涉及一种EtherCAT主站控制系统的快速时钟同步方法。



背景技术:

在分布式运动控制系统中,时钟同步是保证控制器与各执行端,以及各执行端之间协调性工作的基础。EtherCAT采用分布时钟的原理使得各从站的时钟与参考时钟(通常为在逻辑环形拓扑结构中的第一个支持分布时钟功能的EtherCAT从站)的保持同步,同步精度可达1us。然而,EtherCAT分布时钟的时钟同步功能通过专用的硬件逻辑模块来实现,其方法对于在PC机上实现的EtherCAT的主站而言并不适用。同时,在对速度、精度、多轴协调性能等方面要求较高的运动控制领域中,快速的时钟同步方法是保证其系统性能的关键因素。



技术实现要素:

本发明的目的在于克服现有技术中由于EtherCAT主站与参考时钟不同步所带来的丢包问题以及由于PI控制器等时钟同步速度较慢的问题,提供一种基于时钟频率跟随的EtherCAT主站控制系统的快速时钟同步方法。

本发明的目的通过下述技术方案实现:

一种EtherCAT主站控制系统的快速时钟同步方法,其特征在于,所述方法包括:

S1、分别设定固定周期定时线程和可变周期定时线程,所述固定周期定时线程传输和处理用于配置通信通道和与应用层进行数据交互的信息;所述可变周期定时线程通过改变定时周期的大小完成跟随参考时钟运行频率的任务,可变周期定时线程用于处理实时信息;

S2、EtherCAT主站运行状态机,使得各个从站由初始状态到预运行状态再到安全运行状态,最后进入运行状态;

S3、当EtherCAT主站控制系统内的各个从站进入到运行状态后,主站按照当前的时钟周期δmi周期性地采集参考时钟的时间戳,并计算在主站时钟周期δmi下对应的参考时钟的时钟间隔δr;根据二者的比值关系可得下个同步周期的定时时间间隔为δm(i+1)=Tδmi/δr,式中T为以参考时钟为基准时钟的系统的理想的周期时间;按照计算所得值调节主站可变周期定时线程的周期大小,实现主站时钟与参考时钟间的时钟同步。

进一步地,在EtherCAT主站控制系统的各个从站由初始状态向预运行状态转变时,主站按照自身的时钟通过固定周期定时线程以相同的时间间隔δm周期性地获取参考时钟的时间戳(T1,T2,……Tn),根据参考时钟的时间戳计算在按主站时钟运行频率定时的时间间隔δm下参考时钟的时钟间隔的平均值δr=(Tn-T1)/(n-1),所述主站的可变周期定时线程在主站进入运行状态前的初始定时周期δm0为:δm0=Tδm/δr,式中T为以参考时钟为基准时钟的系统的理想的周期时间。

进一步地,采用多次采集求取平均值的方法减少传输噪声对采集的所述参考时钟的时间戳准确性的影响。

进一步地,采用截断误差累加补偿的方法减少由于主站时钟分辨率较低造成的实际的主站定时时间间隔与计算所得理想值之间的偏差。

进一步地,所述步骤S2具体为:

在运行EtherCAT状态机的过程中,通过固定周期定时线程配置各个从站使其进入运行状态;

在EtherCAT主站控制系统的各个从站由初始状态向预运行状态转变时,根据EtherCAT协议发送测试传输延迟的数据帧,并根据采集的时间信息计算主站与参考时钟、各从站与参考时钟的传输延迟和时钟偏移值;根据周期性采集的参考时钟的时间戳,计算参考时钟运行频率与主站时钟运行频率的比值。

在EtherCAT主站控制系统的各个从站由预运行状态向安全运行状态转变时,根据在由初始状态向预运行状态转换阶段计算所得的传输延迟和时钟偏移量对各个从站进行补偿;根据主站与参考时钟的传输延迟和时钟偏移量,设定各个从站SYNC信号的起始时刻。

进一步地,主站在可变周期定时线程中的实时任务需按照实时性能的高低依次处理,以保证时钟同步的准确性,在一个周期内的任务可分为设置下次进入该线程的时间、发送周期性数据、处理周期性数据及处理时间信息,其实时性能依次降低。

进一步地,所述步骤S3具体如下:

S31、按照可变周期定时线程的定时周期,采集参考时钟的时间戳;

S32、N次累计计算在当前同步周期的主站时间间隔下测得的参考时钟时间间隔的平均值;

S33、根据所得平均值,计算主站在下一个时钟同步周期内的理想周期时间;

S34、判断是否到达下一个时钟同步周期,若没有到达则进行误差补偿;若到达,则更换主站的理想周期时间的值,并累计当前主站理想周期时间的阶段误差;

S35、根据主站当前时钟同步周期内的理想周期时间值和误差补偿的结果,计算下一周期的可变周期定时线程的实际时间间隔;

S36、根据实际时间间隔的值设定可变周期定时线程的定时周期。

进一步地,所述可变定时线程处理的实时信息包括运动控制指令、IO读写及读取参考时钟的当前时刻。

本发明相对于现有技术具有如下的优点及效果:

1)实现了EtherCAT主站与参考时钟的同步,避免了因时钟不同步而导致的丢包问题;

2)采用频率跟随的方法实现了快速的时钟同步,避免了其他时钟同步方法(如PI控制器)中超调量过大和稳定时间的不确定性对系统性能的影响,能够准确快速的跟踪参考时钟的运行频率;

3)采用改变主站时钟的运行频率的方法实现时钟同步,避免了由于时刻替换导致的时间缺失,保证了系统的稳定运行。

附图说明

图1为EtherCAT主站控制系统快速时钟同步方法流程图;

图2为时钟频率跟随方法的原理图;

图3为EtherCAT主站实现时钟频率跟随方法的原理图;

图4 EtherCAT主站资源调度示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

请参见附图1,附图1是EtherCAT主站控制系统的快速时钟同步方法的流程图。本发明采用基于Windows的RTX实时内核实现EtherCAT主站。在RTX系统中其时钟运行频率并不能被改变,本发明采用相对时钟同步的方法实现EtherCAT主站与参考时钟的同步。RTX实时内核虽然能够到达1us的时钟同步精度但在不影响系统性能的前提下,选用CLOCK2,最小分辨率为10us。具体过程如下:

步骤S1、分别设定固定周期定时线程和可变周期定时线程,固定周期定时线程传输和处理用于配置通信通道和与应用层进行数据交互的信息。可变周期定时线程通过改变定时周期的大小完成跟随参考时钟运行频率的任务。可变周期定时线程用于处理实时信息,如运动控制指令、IO读写及读取参考时钟的当前时刻等。

步骤S2、EtherCAT主站通过固定周期定时线程发送指令运行状态机。

在由初始状态向预运行状态转变阶段:

步骤S21、根据EtherCAT协议发送测试传输延迟的数据帧,并根据采集的时间信息计算主站与参考时钟、各从站与参考时钟的传输延迟和时钟偏移量;

步骤S22、主站按照自身的时钟通过固定周期定时线程以相同的时间间隔(δm)周期性地获取参考时钟的时间戳(T1,T2,……Tn),根据参考时钟的时间戳可计算在按主站时钟运行频率定时的时间间隔δm下参考时钟的时钟间隔的平均值δr(δr=(Tn-T1)/(n-1)),所述主站的可变周期定时线程在主站进入运行状态前的初始定时周期δm0为:δm0=Tδm/δr,式中T为以参考时钟为基准时钟的系统的理想的周期时间;

在由预运行状态向安全运行状态转变阶段,

步骤S23、根据在由初始状态向预运行状态转变阶段计算所得的传输延迟和时钟偏移量对各个从站进行补偿;

步骤S24、根据主站与参考时钟的传输延迟和时钟偏移量,设定各个从站SYNC信号的起始时刻。

步骤S3、系统进入到安全运行阶段后,主站采用时钟频率跟随的方法实现主站时钟与参考时钟的快速时钟同步。

如图2所示,Clock_m为主站的时钟,Clock_ref为参考时钟。当系统内的各个从站进入到运行状态后,主站按照当前的时钟周期周期性(δmi)地采集参考时钟的时间戳,并计算在主站周期δmi下对应的参考时钟的时钟间隔为(δr)。根据二者的比值关系可得下个同步周期的定时时间间隔为δm(i+1)=Tδmi/δr,式中T为以参考时钟为基准时钟的系统的理想的周期时间。按照计算所得值调节主站可变周期定时线程的周期大小,实现主站时钟与参考时钟间的时钟同步。

由于传输中延迟等因素的存在,为了获取更准确的速度比值,可多次测量后寻求平均值。虽然时钟晶振的漂移呈线性变化,但该漂移可能会受到外部环境如温度等影响发生变化,因此应在时钟运行的过程中,不断跟踪参考时钟的运行速度的变化情况调整主站的可变周期定时线程的周期值。由于所选系统时钟的分辨率为10μs,因此通过上述方法计算所得的理论时钟频率在实际应用中会存在截断误差,需要进行截断误差补偿。具体步骤如下:

S31、按照可变周期定时线程的定时周期,采集参考时钟的时间戳;

S32、N次累计计算在当前同步周期的主站时间间隔下测得的参考时钟时间间隔的平均值;

S33、根据所得平均值,计算主站在下一个时钟同步周期内的理想周期时间;

S34、判断是否到达下一个时钟同步周期,若没有到达则进行误差补偿;若到达,则更换主站的理想周期时间的值,并累计当前主站理想周期时间的阶段误差;

S35、根据主站当前时钟同步周期内的理想周期时间值和误差补偿的结果,计算下一周期的可变周期定时线程的实际时间间隔;

S36、根据实际时间间隔的值设定可变周期定时线程的定时周期。

在本实施例中,周期性数据承载着每个通信周期各个节点所需要信息,它对时间确定性的要求比对通信系统的实时性的要求高,特别是周期性数据中包含着时间信息时。时间确定性的资源调度是整个系统能否可靠有序地运行保障。周期性数据按周期进行处理,其优先级最高,而非周期数据在周期性数据处理的空闲状态中处理。在一个周期时间内,需要处理的与周期性数据发送有关的任务有,发送周期性数据(任务1),处理周期性数据(任务2),处理时间信息(任务3),设置下次进入该线程的时间(任务4),在一个周期时间内任务调度的示意图如图4所示。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1