一种基于非实时系统的EtherCAT主站同步方法技术方案

技术编号:25091218 阅读:50 留言:0更新日期:2020-07-31 23:36
本发明专利技术提供一种基于非实时系统的EtherCAT主站同步方法,具体包括:主站初始化;主站使从站启动DC同步信号并工作在自由运行模式;主站和从站之间采用参考时钟实现实时动态同步调整,主站采用优化的周期性通讯方式收发从站数据;主站关闭通讯接口。本发明专利技术的有益效果是:在不改变操作系统的通用性和兼容性条件下,克服了非实时系统下从站无法运行DC同步模式造成的同步精度差的缺陷,提高了主站和从站之间同步的精度和稳定性。

【技术实现步骤摘要】
一种基于非实时系统的EtherCAT主站同步方法
本专利技术涉及工业以太网现场总线通信领域,尤其涉及一种基于非实时系统的EtherCAT主站同步方法。
技术介绍
EtherCAT协议主站和从站之间主要有几种同步方法:首先是采用实时化扩展系统和专用网卡驱动的软主站实现方式。目前在Windows平台上主要有RTX、INTIME等商业实时化补丁。主站协议通过实时系统提供的实时线程、消息事件等接口实现,比如TwinCAT等主站系统。这种方法的缺点是只能支持有限和特定型号的网卡,需要相关的许可证和费用,而且修改了操作系统的内核特性,造成了操作系统兼容性变差,甚至无法运行现有的行业软件进行协同工作。其次是采用FPGA硬件板卡的硬主站方式。这种方案由于主站协议运行在FPGA内部,利用了硬件并行处理特性,通讯周期可缩短至100微妙,从站同步动作时间的精度小于1微秒,可应用于高速高精的运动控制系统。这种方法采用硬件主站方式保障了主从站之间的的通讯可靠性,但是硬件和开发成本较高,且需要开发和各种操作系统平台或主控芯片之间的驱动程序和SDK应用接口。最后是采用非实时系统+普通网卡的软主站方式。这种主站采用了捕获原始网络数据包的方法实现从站通讯,采用系统提供的网络中间层驱动协议,可支持各种网卡。这种方法通用性好,但由于非实时系统的定时精度很差,通讯不稳定性,容易产生各种连接或超时错误,主要用做从站的配置和参数的修改读取工具,无法用于实际运动控制系统。根据主站的实时模式的不同,EtherCAT从站主要工作于DC同步模式和自由运行模式。DC同步模式通过分布式时钟和时间补偿机制实现同步,这种方式只有当主站定时周期精度和实时性非常高时才能采用。在自由运行模式下,各从站相互之间独立的完成数据接收处理和发送,和主站之间也没有进行任何同步调整。这种方式比较适合非实时系统的主站平台,但由于主站周期抖动和传输距离延迟的原因,不同的从站数据包到达时间不一致,同步精度受到很大影响。采用非实时系统的EtherCAT同步方式的主要原因有三点:(1)对于某些商业性操作系统,采用实时化方案的许可费成本很高;(2)对于很多开源操作系统平台目前还没有实时化方案或方案不成熟,如针对各种CPU芯片定制的Linux,Andriod等;(3)很多大型行业软件,如各类仿真,测试,游戏/VR,相关控制系统只能运行在商业性的非实时操作系统平台之上。鉴于实际应用的广泛需求,基于非实时系统的EtherCAT总线同步方式具有非常重要的意义,在很多应用场景甚至超过了实时系统EtherCAT。因此采用传统非实时系统主站并提高主从站之间的同步精度具有广泛的实用价值。
技术实现思路
有鉴于此,本专利技术提供了一种基于非实时系统的EtherCAT主站同步方法。本专利技术提供一种基于非实时系统的EtherCAT主站同步方法,包括以下步骤:S101:主站初始化;S102:主站在配置阶段,通过修改从站寄存器和相关参数,使从站启用DC同步信号并以自由运行模式工作;S103:主站启动从站;在运行阶段,主从站采用DC参考时钟进行动态同步调整,采用优化的周期性通讯方式收发从站数据;S104:主站关闭通讯接口。进一步地,步骤S101具体为:主站创建通讯线程,定时器任务和消息事件;主站初始化网络内的各个网卡,自动扫描该网络所连接从站,初始化从站寄存器,并设置每个从站为初始状态。进一步地,步骤S102中,主站修改从站寄存器和相关参数,使从站启用DC同步信号并以自由运行模式工作,具体为:S201:主站将所有从站的DC同步周期设置为主站通讯周期,并启用DC时钟;主站重新配置从站的PDI配置寄存器和AL事件请求寄存器,加入DC同步模式的中断信号SYNC0,并屏蔽从站同步管理事件信号;S202:主站通过SDO方式修改相关参数使从站强制工作在自由运行模式,其中相关参数包括同步管理参数0x1C32/0x1C33所包含的的对象子1和4,即当前同步类型和同步类型支持集。进一步地,步骤S201中,主站将所有从站的DC同步周期设置为主站通讯周期,并启用DC时钟,具体为:S301:主站初始化每个从站,设置从站状态为预运行状态;S302:主站通过广播命令的方式锁存各个从站网络端口的数据帧接收时间,从而计算出从站DC的系统时间偏差、传输延时和时钟漂移值,并写入各个从站的时钟偏移和漂移寄存器中;S303:主站设定从站DC时钟周期为通讯周期,设定启动时间,并启动DC同步信号。进一步地,步骤S103中,主站在运行阶段,采用主从站时间同步和优化的周期性通讯方式收发从站数据,所述优化的周期性通讯方式,为周期性线程+定时任务方式;所述周期性线程+定时任务方式,具体如下:S401:主站命令所有从站进入运行状态,并启动周期性线程和定时器;S402:主站采用通讯线程进行周期数据报文的发送,在Ti时刻启动定时器来等待从站返回数据报文的接收;S403:主站在t1时刻开始接收从站返回数据报文,并激活接收完成消息事件;S404:周期性线程发送完成后等待周期数据接收完成事件而进入挂起状态,释放CPU占用;S405:周期性线程在t2时刻收到数据包接收完成消息事件,并根据接收到的周期数据进行计算输出;S406:通讯线程在t3时刻开始读取本地CPU时间,并在预先设定的Ti+1时刻再次发送数据报文。进一步地,步骤S402中,主站采用通讯线程进行周期发送时,在发送数据帧中添加获取参考时钟的数据报文;所述参考时钟为首个从站的DC时钟。进一步地,步骤S405中线程在t2时刻收到数据包接收完成事件时,还从接收数据帧中解析返回包含参考时钟的数据报文。进一步地,步骤S104具体为:主站关闭通讯接口,结束线程,清理缓冲区,并设置从站返回到初始化状态。步骤S402中,主站发送时间Ti的具体计算方法如下:S501:主站记录周期性线程启动时的本地CPU时间T0;S502:主站计算发送时间Ti=Ti-1+Tc;其中Tc为通讯周期;Ti-1表示上一个周期的发送时间,其初始值为T0;Ti表示第i个周期的发送时间;S503:主站从周期性接收数据包中获取从站的DC参考时钟Tref;S504:计算从站DC参考时钟与总线通讯周期的偏差dt=Tref%Tc;计算DC参考时钟和主站当前时间偏差的累积di=di-1+(Ti–Tref)%Tc;di-1表示上次的累积值S505:根据从站DC参考时钟与总线通讯周期的偏差dt,利用比例和积分调节法对发送时间Ti进行更新Ti=Ti+Kp*dt+Ki*di;Kp为预设的比例调节系数,Ki为预设的积分调节系数。S506:利用步骤S502-步骤S505动态调节主站每个周期的发送时间Ti。本专利技术提供的技术方案带来的有益效果是:在不改变操作系统的通用性和兼容性条件下,克服了非实时系统无法运行DC同步模式的造成缺陷,提高了主站本文档来自技高网
...

【技术保护点】
1.一种基于非实时系统的EtherCAT主站同步方法,其特征在于:具体包括以下步骤:/nS101:主站初始化;/nS102:主站在配置阶段,通过修改从站寄存器和相关参数,使从站启用DC同步信号并以自由运行模式工作;/nS103:主站启动从站;在运行阶段,主从站采用DC参考时钟进行动态同步调整,采用优化的周期性通讯方式收发从站数据;/nS104:主站关闭通讯接口。/n

【技术特征摘要】
1.一种基于非实时系统的EtherCAT主站同步方法,其特征在于:具体包括以下步骤:
S101:主站初始化;
S102:主站在配置阶段,通过修改从站寄存器和相关参数,使从站启用DC同步信号并以自由运行模式工作;
S103:主站启动从站;在运行阶段,主从站采用DC参考时钟进行动态同步调整,采用优化的周期性通讯方式收发从站数据;
S104:主站关闭通讯接口。


2.如权利要求1所述的一种基于非实时系统的EtherCAT主站同步方法,其特征在于:步骤S101具体为:主站创建通讯线程,定时器任务和消息事件;主站初始化网络内的各个网卡,自动扫描该网络所连接从站,初始化从站寄存器,并设置每个从站为初始状态。


3.如权利要求1所述的一种基于非实时系统的EtherCAT主站同步方法,其特征在于:
步骤S102中,主站修改从站寄存器和相关参数,使从站启用DC同步信号并以自由运行模式工作,具体为:
S201:主站将所有从站的DC同步周期设置为主站通讯周期,并启用DC时钟;主站重新配置从站的PDI配置寄存器和AL事件请求寄存器,加入DC同步模式的中断信号SYNC0,并屏蔽从站同步管理事件信号;
S202:主站通过SDO方式修改相关参数使从站强制工作在自由运行模式,其中相关参数包括同步管理参数0x1C32/0x1C33所包含的的对象子1和4,即当前同步类型和同步类型支持集。


4.如权利要求3所述的一种基于非实时系统的EtherCAT主站同步方法,其特征在于:步骤S201中,主站将所有从站的DC同步周期设置为主站通讯周期,并启用DC时钟,具体为:
S301:主站初始化每个从站,设置从站状态为预运行状态;
S302:主站通过广播命令的方式锁存各个从站网络端口的数据帧接收时间,从而计算出从站DC的系统时间偏差、传输延时和时钟漂移值,并写入各个从站的时钟偏移和漂移寄存器中;
S303:主站设定从站DC时钟周期为通讯周期,设定启动时间,并启动DC同步信号。


5.如权利要求1所述的一种基于非实时系统的EtherCAT主站同步方法,其特征在于:步骤S103中,主站在运行阶段,采用主从站时间同步和优化的周期性通讯方式收发从站数据,所述优化的周期性通讯方式,为周期性线程+定时任务方式;所述周期性线程+定时任务方式,具体如下:
S401:主站命令所有...

【专利技术属性】
技术研发人员:杜佳星龚兴武
申请(专利权)人:武汉迈信电气技术有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1