CN109991887B - 嵌入式实时EtherCAT主站的实时性优化方法 - Google Patents
嵌入式实时EtherCAT主站的实时性优化方法 Download PDFInfo
- Publication number
- CN109991887B CN109991887B CN201711476755.9A CN201711476755A CN109991887B CN 109991887 B CN109991887 B CN 109991887B CN 201711476755 A CN201711476755 A CN 201711476755A CN 109991887 B CN109991887 B CN 109991887B
- Authority
- CN
- China
- Prior art keywords
- time
- timer
- sync0
- master
- station
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明涉及嵌入式实时EtherCAT主站实时性优化方法,主站将数据帧发送给参考时钟从站,并通过返回帧接收到参考时钟从站的时钟值,主站根据该时钟值确定发帧时间,并发送下一帧。本发明通过合理估算算法,解决了软件处理时间以及软件操作硬件时间的不确定性问题。具体为将两个不确定并且难以测量的时间消耗,用上一周期能够准确测量的时间值进行替换,用于计算定时器给定值,从而改善主站实时性。
Description
技术领域
本发明涉及数控技术领域,尤其涉及构建嵌入式实时EtherCAT主站的技术领域,具体涉及一种基于嵌入式实时EtherCAT主站的实时性解决方法。
背景技术
随着工业控制领域对速度、实时性等要求的逐渐提高,传统的现场总线已经难以满足需求,多种实时工业以太网现场总线已经投入使用并得到了日益的重视。其中由德国Beckhoff自动化公司提出的EtherCAT技术,完全符合以太网标准,支持多种拓扑结构,高速、高效率、实时性好,较其他的实时工业以太网现场总线协议有明显的优势,已被广泛应用于工业控制领域。
EtherCAT利用分布时钟机制,对系统实时性方面具有很高的要求。目前很多同步方案中主站选用了实时操作系统,由于主站延时函数误差较大,产生了较严重的丢包现象。本文重点研究了分布时钟技术中嵌入式主站的实现方案,优点在于主站实时性能好、精度高。
发明内容
本发明针对嵌入式软件执行时间的不确定性,提出了一种切实可行的时间消耗估算方法用于优化嵌入式EtherCAT主站系统的实时性。
本发明解决其技术问题所采用的技术方案是:嵌入式实时EtherCAT主站的实时性解决方法,包括以下步骤:
主站将数据帧发送给参考时钟从站,并在设定时间内接收参考时钟从站的时钟值,主站根据该时钟值确定发帧时间,并发送下一帧。
主站根据发帧时间确定定时器的值,在定时器设定Tremain后触发中断,进入下一次定时器事件。
所述定时器的值通过以下步骤得到:
1)主站首先计算参考时钟从站本次与下次接收返回数据帧时间的间隔:
Tref_cycle=τ′SYNC0-τref_local-TSYNC0_shift
τrel_local为每周期读回的参考时钟从站的时钟值,TSYNC0_shift为帧到达时间与SYNC0事件的相位差,τ′SYNC0为下次SYNC0事件发生时刻;
2)主站定时器的剩余时间为:
Tremain=Tref_cycle-(t1+t2′)=Tref_cycle-T″master
其中,t1为参考从站接收数据帧到主站设定定时器计数器的时间间隔,t2′为下一次本地定时器事件开始到参考从站接收下一帧数据帧的时间间隔,T″master为上一次定时器中断开始到重新设定定时器的时间间隔;
3)设定的主站定时器计数器的值为:
τ=Tmax-Tremain
=Tmax-Tref_cycle+T″master
=Tmax-τ′SYNC0+τref_local+TSYNC0_shift+T″master
其中,Tmax为计数器的计数上限。
本发明具有以下有益效果及优点:
1.低运算量。本发明采用的估算方法运算量低,有助于节约程序执行时间,提升主站性能。
2.周期计算。本发明采用的同步算法每周期都会重新计算,不会产生累积误差。
附图说明
图1为主站结构示意图;
图2为周期运行流程图;
图3为时间分配示意图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明。
本发明系统结构图如图1所示,主站协议栈在ARM中完成,在系统启动DC后,对主站的每周期的发帧时刻有着严格要求,主站必须在指定的时间窗口内将数据帧发出,才能在相对确定的时间使数据帧到达参考时钟从站,由于各从站均同步于参考时钟从站,从而保证了整个系统的同步性能。
控制主站发帧时刻的主要难点在于软件执行时间及软件操作硬件的时间不确定。在系统启动DC后,软件流程如图2所示,参考时钟从站接收时刻必须在指定的时间窗口完成,但是主站定时器开始到主站软件操作发帧的软件执行时间不确定,软件执行到调用硬件发帧之间也有着不确定的延时,因此由定时器开始到参考时钟从站接收到帧的时间即图3中的t2也是不确定的。不仅如此,数据帧到达参考时钟后获取时间信息,主站需要通过此时间信息确定发帧时间。但是数据帧到达主站端口至主站软件检测到数据帧到达之间的时间不确定,检测到数据帧到根据参考从站时间信息设置定时器的软件执行时间也不确定,因此由从站接收到帧到调整定时器中断的时间即图3中的t1也是不确定的。
本发明实施具体如下:
如图3所示:
t1:从站接收到帧到调整定时器中断的时间间隔
t2:定时器开始到参考时钟从站接收到帧的时间间隔
Tmaster:定时器中断开始到重新设定定时器的时间间隔
Tremain:定时器给定,即在经过该时间后定时器中断开始
TSYNC0_shift:帧到达时间与SYNC0事件的相位差
Tref_cycle:数据帧两次到达参考时钟从站的时间间隔
TSYNC0_cycle:同步周期时间值
τrel_local:数据帧到达参考时钟从站时,参考时钟从站的本地时间
τSYNC0:SYNC0事件发生时刻
τmaster:定时器中断开始时刻
τsetMasterclock:设定定时器时刻
其中τSYNC0可由DC启动时间每周期加上同步周期时间值TSYNC0_cycle计算获得;Tmaster可在中断程序起始位置与设置定时器位置分别读取本地时间,做差获得;τrel_local为每周期读回的参考时钟从站的时钟值,即为系统时间;TSYNC0_shift由主站给定,为恒定值。右上角标有“′”和“〃”的参数含义与不带右上角标的参数含义相同,“′”和“〃”分别表示下一周期的和上一周期的。
主站利用DC启动时间计算从站SYNC0事件发生时刻。将下次SYNC0事件记为τ′SYNC0,SYNC0偏移记为TSYNC0_shift。周期运行开始后,主站首先计算参考从站本次与下次接收返回数据帧时间的间隔:
Tref_cycle=τ′SYNC0-τref_local-TSYNC0_shift
由图3易知,主站定时器的剩余时间为:
Tremain=Tref_cycle-t1-t2′
其中,t1为参考从站接收数据帧到主站设定定时器计数器的时间间隔,t2′为下一次本地定时器事件开始到参考从站接收下一帧数据帧的时间间隔。显然t2′是不可知的,t1的参考从站接收数据帧的准确主站时间也难以确定。不过t1和t2′之和在数值上恰好是主站一次定时器事件中本地定时器事件开始到主站设定定时器计数器的时间间隔,在中断执行时间比较稳定的情况下,可以考虑使用上一次定时器中断开始到重新设定定时器的时间间隔T″master来进行计算,即:
Tremain=Tref_cycle-(t1+t2′)=Tref_cycle-T″master
综上,需要设定的主站定时器计数器的值为:
τ=Tmax-Tremain
=Tmax-Tref_cycle+T″master
=Tmax-τ′SYNC0+τref_local+TSYNC0_shift+T″master
其中Tmax为计数器的计数上限,应适当放大,增加调整范围。主站在定时器设定Tremain后触发中断,进入下一次定时器事件。
Claims (1)
1.嵌入式实时EtherCAT主站的实时性解决方法,其特征在于,包括以下步骤:
主站将数据帧发送给参考时钟从站,并在设定时间内接收参考时钟从站的时钟值,主站根据该时钟值确定发帧时间,并发送下一帧;
主站根据发帧时间确定定时器的值,在定时器设定Tremain后触发中断,进入下一次定时器事件;
所述定时器的值通过以下步骤得到:
1)主站首先计算参考时钟从站本次与下次接收返回数据帧时间的间隔:
Tref_cycle=τ′SYNC0-τref_local-TSYNC0_shift
τrel_local为每周期读回的参考时钟从站的时钟值,TSYNC0_shift为帧到达时间与SYNC0事件的相位差,τ′SYNC0为下次SYNC0事件发生时刻;
2)主站定时器的剩余时间为:
Tremain=Tref_cycle-(t1+t′2)=Tref_cycle-T″master
其中,t1为参考从站接收数据帧到主站设定定时器计数器的时间间隔,t′2为下一次本地定时器事件开始到参考从站接收下一帧数据帧的时间间隔,T″master为上一次定时器中断开始到重新设定定时器的时间间隔;
3)设定的主站定时器计数器的值为:
τ=Tmax-Tremain
=Tmax-Tref_cycle+T″master
=Tmax-τ′SYNC0+τref_local+TSYNC0_shift+T″master
其中,Tmax为计数器的计数上限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711476755.9A CN109991887B (zh) | 2017-12-29 | 2017-12-29 | 嵌入式实时EtherCAT主站的实时性优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711476755.9A CN109991887B (zh) | 2017-12-29 | 2017-12-29 | 嵌入式实时EtherCAT主站的实时性优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109991887A CN109991887A (zh) | 2019-07-09 |
CN109991887B true CN109991887B (zh) | 2021-08-31 |
Family
ID=67108829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711476755.9A Active CN109991887B (zh) | 2017-12-29 | 2017-12-29 | 嵌入式实时EtherCAT主站的实时性优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109991887B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885160B (zh) * | 2020-07-23 | 2022-07-01 | 中国航发控制系统研究所 | 基于网络通讯的燃机控制软件时序任务调度方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8885516B2 (en) * | 2010-10-07 | 2014-11-11 | Schweitzer Engineering Laboratories, Inc. | Systems and methods for extending a deterministic fieldbus network over a wide area |
CN104539412A (zh) * | 2014-12-30 | 2015-04-22 | 深圳市英威腾电气股份有限公司 | Ethercat主从同步方法及装置和主从站系统 |
CN105656592A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川技术股份有限公司 | EtherCAT通信系统主站及通信方法 |
CN106230541A (zh) * | 2016-08-05 | 2016-12-14 | 深圳市骏龙电子有限公司 | 一种用于工业以太网的站点同步系统及方法 |
CN106788852A (zh) * | 2017-01-16 | 2017-05-31 | 深圳市雷赛智能控制股份有限公司 | 一种EtherCAT电机驱动器与主站时钟的同步方法 |
CN107402534A (zh) * | 2017-07-21 | 2017-11-28 | 上海新时达机器人有限公司 | 调节方法、EtherCAT主站及计算机可读存储介质 |
-
2017
- 2017-12-29 CN CN201711476755.9A patent/CN109991887B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8885516B2 (en) * | 2010-10-07 | 2014-11-11 | Schweitzer Engineering Laboratories, Inc. | Systems and methods for extending a deterministic fieldbus network over a wide area |
CN104539412A (zh) * | 2014-12-30 | 2015-04-22 | 深圳市英威腾电气股份有限公司 | Ethercat主从同步方法及装置和主从站系统 |
CN105656592A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川技术股份有限公司 | EtherCAT通信系统主站及通信方法 |
CN106230541A (zh) * | 2016-08-05 | 2016-12-14 | 深圳市骏龙电子有限公司 | 一种用于工业以太网的站点同步系统及方法 |
CN106788852A (zh) * | 2017-01-16 | 2017-05-31 | 深圳市雷赛智能控制股份有限公司 | 一种EtherCAT电机驱动器与主站时钟的同步方法 |
CN107402534A (zh) * | 2017-07-21 | 2017-11-28 | 上海新时达机器人有限公司 | 调节方法、EtherCAT主站及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109991887A (zh) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103095607B (zh) | 一种实时优先级以太网控制器实现方法 | |
CN102412957B (zh) | 一种高精度同步时钟调整方法 | |
CN105024777A (zh) | 基于EtherCAT实时以太网的伺服驱动器同步方法 | |
EP2854458B1 (en) | Wireless sensor time synchronization | |
EP2222003B1 (en) | Field control system | |
CN103248471B (zh) | 基于ptp协议与反射内存网的时钟同步方法 | |
US10594424B2 (en) | Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period | |
CN106559735B (zh) | 蓝牙数据发送控制方法及装置 | |
US7362834B2 (en) | Method and device for synchronizing at least one node of a bus system and a corresponding bus system | |
KR101636496B1 (ko) | 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 | |
CN105049309A (zh) | 基于powerlink实时以太网的伺服驱动器同步方法 | |
WO2021077289A1 (zh) | 一种同步方法及设备 | |
CN107402534A (zh) | 调节方法、EtherCAT主站及计算机可读存储介质 | |
CN109991887B (zh) | 嵌入式实时EtherCAT主站的实时性优化方法 | |
CN104461972A (zh) | 一种数据信号采样的方法和设备 | |
CN103607270A (zh) | 提高Powerlink以太网同步性能的方法 | |
CN114095109A (zh) | 一种时钟同步方法、装置、设备及存储介质 | |
CN102412954B (zh) | 一种分组网中时钟频率同步方法 | |
CN101719858B (zh) | Can控制器的位时序的同步处理方法 | |
JP4961589B2 (ja) | ネットワークシステムおよびスレーブ同期方法 | |
CN101599962A (zh) | 提高工业以太网网络设备同步精度的方法 | |
JP5662119B2 (ja) | ノードシステムおよび監視ノード | |
KR102064575B1 (ko) | 디바이스 간의 시각 동기 정밀도를 향상시키는 방법, 장치, 시스템 및 컴퓨터 프로그램 | |
CN103455402A (zh) | 一种无累计误差的定时器控制方法 | |
CN108427606B (zh) | 一种调度运动控制器与伺服轴的连接和信息交换的时间片管理与控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: No. 16-2, Nanping East Road, Dongling District, Shenyang City, Liaoning Province, 110168 Patentee after: Shenyang Zhongke CNC Technology Co.,Ltd. Address before: No. 16-2, Nanping East Road, Dongling District, Shenyang City, Liaoning Province, 110168 Patentee before: Shenyang Golding Nc Intelligence Tech.co.,ltd. |