CN107402534B - 调节方法、EtherCAT主站及计算机可读存储介质 - Google Patents
调节方法、EtherCAT主站及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107402534B CN107402534B CN201710599596.5A CN201710599596A CN107402534B CN 107402534 B CN107402534 B CN 107402534B CN 201710599596 A CN201710599596 A CN 201710599596A CN 107402534 B CN107402534 B CN 107402534B
- Authority
- CN
- China
- Prior art keywords
- time
- ethercat
- master station
- periodic
- task
- 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(Ether Control Automation Technology,以太网控制自动化技术,或实时工业以太网)是一种基于工业以太网的现场总线通信协议,因其广泛的适用性、刷新周期短和同步性能好等优点,已在各类控制系统中得到了广泛的认可和应用。
但是在实现本发明的过程中,发明人发现现有技术中存在一些问题:由于,在EtherCAT主站中进行的数据输入事件(或数据输出事件)的开始时间点和周期时钟中断同步事件的开始时间点无法固定,因此,现有的这种在EtherCAT从站进行周期时钟中断同步事件时会与EtherCAT主站数据输入事件(或数据输出事件)存在冲突,而由于该冲突的存在,会使得EtherCAT主站在接收或发送数据帧时导致数据帧的丢失,无法保证数据帧的实时性,因此不利于高精度的实时控制系统。
发明内容
本发明实施方式解决的问题在于提供一种一种调节方法、EtherCAT主站及计算机可读存储介质,解决了在EtherCAT主站发送数据帧时产生的数据报文中断和从站提供的周期时钟中断之间存在的相互冲突问题。
为解决上述技术问题,本发明的实施方式提供了一种调节方法,该调节方法应用于实时工业以太网EtherCAT主站,包括:EtherCAT主站在开始执行周期实时任务后,设置周期实时任务的任务唤醒的时间,并周期性的获取EtherCAT从站提供的周期时钟中断同步事件的开始时间和EtherCAT主站的主站应用程序的当前时间;若确定周期时钟中断同步事件的开始时间与主站应用程序的当前时间之间的时间差值不大于预先设置的同步差值,获取目标调节值;其中,目标调节值为周期时钟中断同步事件的开始时间到周期实时任务内的数据输入事件或数据输出事件开始的时间之间的时间差值;根据目标调节值,调节并固定周期实时任务内的周期时钟中断同步事件的开始时间和数据输入事件或数据输出事件开始的时间。
本发明的实施方式还提供了一种EtherCAT主站,包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明任意实施方式中涉及的调节方法;其中,EtherCAT主站与各EtherCAT预先建立通信连接。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,且计算机程序被处理器执行时能够实现本发明应用于EtherCAT主站的任意实施方式中涉及的调节方法。
本发明实施方式相对于现有技术而言,提供的调节方法,在EtherCAT主站开始执行周期实时任务,且设置好周期实时任务的任务唤醒的时间后,通过周期性的获取EtherCAT从站提供的周期时钟中断同步事件的开始时间和EtherCAT主站的主站应用程序的当前时间,并在周期时钟中断同步事件的开始时间与主站应用程序的当前时间之间的时间差值不大于预先设置的同步差值时,获取目标调节值,进入数据帧的同步阶段,最终根据获取的目标调节值,调节并固定周期实时任务内的周期时钟中断同步事件的开始时间和数据输入事件或数据输出事件开始的时间,使得在EtherCAT主站进行的数据输入或数据输出事件和EtherCAT从站提供的周期时钟中断开始的时间点得到固定,从而解决了在EtherCAT主站发送数据帧时产生的数据报文中断和从站提供的周期时钟中断之间存在的相互冲突问题。
另外,EtherCAT主站在开始执行周期实时任务之前,调节方法还包括:在EtherCAT主站中进行初始化配置;初始化配置,具体包括:在EtherCAT主站和与之适配的各EtherCAT从站上电后,EtherCAT主站向EtherCAT参考从站发送基准时间,并选择EtherCAT参考从站的时钟作为参考时钟;其中,EtherCAT参考从站为与EtherCAT主站连接的第一个具有分布时钟功能的EtherCAT从站,参考从站根据基准时间计算周期时钟中断同步事件的开始时间;EtherCAT主站从EtherCAT参考从站中获取周期时钟中断同步事件的开始时间。在EtherCAT主站开始执行周期实时任务之前,通过对EtherCAT主站进行初始化配置,从而实现EtherCAT主站与EtherCAT参考从站之间时间的同步,保证后续调节操作的准确性。
另外,在EtherCAT主站从EtherCAT参考从站中获取周期时钟中断同步事件的开始时间之后,初始化配置还包括:EtherCAT主站将周期时钟中断同步事件的开始时间通过总线发送给各EtherCAT从站;其中,各EtherCAT从站按照物理连接的顺序依次从总线接收周期时钟中断同步事件的开始时间。在EtherCAT主站从EtherCAT参考从站中获取周期时钟中断同步事件的开始时间,完成与EtherCAT参考从站之间的时间同步后,利用总线将周期时钟中断同步事件的开始时间发送给各EtherCAT从站,从而达到EtherCAT主站和与之适配的EtherCAT从站的时间同步,且开始执行周期时钟中断同步事件的开始时间相同,进一步保证后续调节操作的准确性。
另外,获取目标调节值,具体包括:EtherCAT主站根据主站应用程序的当前时间、周期实时任务的任务唤醒时间、周期实时任务内的周期时钟中断同步事件的开始时间,计算第一时间值、第二时间值和第三时间值;其中,第一时间值为周期实时任务的任务唤醒时间到主站应用程序的当前时间所需的时长,第二时间值为周期实时任务的任务唤醒时间到周期实时任务内的数据输入或数据输出事件开始的时间所需的时长,第三时间值为周期实时任务内的周期时钟中断同步事件的开始时间到主站应用程序的当前时间所需的时长;根据第一时间值和周期实时任务的任务唤醒持续时长,确定第一剩余时间值;根据第二时间值和周期实时任务内的数据输入或数据输出事件的持续时长,确定第二剩余时间值;根据第三时间值和周期实时任务内的周期时钟中断同步事件的持续时长,确定第三剩余时间值;根据第一剩余时间值、第二剩余时间值、第三剩余时间值,确定目标调节值。本发明实施方式,提供了一种获取目标调节值的具体方式,在EtherCAT主站与EtherCAT从站时间同步的情况下,根据主站应用程序的当前时间、周期实时任务的任务唤醒时间、数据输入或数据输出事件开始的时间、周期时钟中断同步事件的开始时间能够准确计算出最终需要的目标调节值,保证了目标调节值的精确度,同时计算方式也较为简便。
另外,在根据目标调节值,调节并固定周期实时任务内的周期时钟中断同步事件的开始时间和数据输入事件或数据输出事件开始的时间之后,调节方法还包括:获取并存储EtherCAT主站将相邻的周期时钟中断同步事件开始的时间和数据输入事件或数据输出事件之间的时间差值;将时间差值作为调节方法中的调节参考值。在完成对周期实时任务内的周期时钟中断同步事件的开始时间和数据输入事件或数据输出事件开始的时间的调节后,通过获取并存储EtherCAT主站将相邻的周期时钟中断同步事件开始的时间和数据输入事件或数据输出事件之间的时间差值,最终将该时间差值作为本发明实施方式中提供的调节方法后续对EtherCAT主站和EtherCAT从站调节的调节参考值,从而可以方便后续调节操作。
附图说明
图1是本发明第一实施方式的调节方法的流程图;
图2是本发明第一实施方式的调节方法中目标调节值的确定示意图;
图3是本发明第二实施方式的调节方法的流程图;
图4是本发明第三实施方式的EtherCAT主站的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种调节方法,图1所示的调节方法主要应用于实时工业以太网EtherCAT主站,为了保证调节方法能够正常执行,需要保证EtherCAT主站已经和与之适配的EtherCAT从站建立了通信连接,并且都处于上电状态,具体而言,图1涉及的调节方法的流程可以包括:
在步骤101中,设置周期实时任务的任务唤醒的时间,并获取周期时钟中断同步事件的开始时间和主站应用程序的当前时间。
具体的说,本实施方式中获取的周期时钟中断同步事件的开始时间是由与EtherCAT主站适配的EtherCAT从站提供的,主站应用程序的当前时间是EtherCAT主站自身提供的,并且为了保证后续操作的准确性,在整个周期实时任务中需要周期性进行获取操作。
另外,在本实施方式中,设置周期实时任务的任务唤醒的时间的操作需要在EtherCAT主站在开始执行周期实时任务后进行。
需要说明的是,本实施方式中涉及的周期实时任务具体为EtherCAT主站和EtherCAT从站在一个周期内所进行的数据通信事件,关于周期实时任务的周期时长以及周期实时任务的任务唤醒的时间的具体设置,此处不做限制。
另外,周期时钟中断同步事件的开始时间具体是指EtherCAT主站在上电进入工作状态后开始执行周期实时任务的具体时间。周期实时任务的任务唤醒的时间具体是指周期实时任务在每个周期从睡眠中唤醒的时间,本领域的技术人员可以根据需要进行合理设置,此处不再赘述。
另外,值得一提的是,在实际应用中,每一个周期实时任务的周期内只允许有一个数据输入事件(或数据输出事件)和一个周期时钟中断同步事件。
在步骤102中,获取目标调节值。
具体的说,在实际应用中,获取目标调节值是为了对EtherCAT主站中的数据帧进行同步,而保证数据帧同步的前提需要周期时钟中断同步事件先同步,因此EtherCAT主站会根据每一次获取到的周期时钟中断同步事件的开始时间和主站应用程序的当前时间,计算两者之间的时间差值,并将得到的时间差值与预先设置的同步差值进行比对,若确定周期时钟中断同步事件的开始时间与主站应用程序的当前时间之间的时间差值不大于预先设置的同步差值(即确定周期时钟中断同步事件已经同步),EtherCAT主站才会获取目标调节值。
在实际应用中,可以在确定周期时钟中断同步事件的开始时间与主站应用程序的当前时间之间的时间差值不大于预先设置的同步差值时,触发预先在EtherCAT主站中写入的同步标志置位(在编译程序时设置的一个检测变量),此时,EtherCAT主站可以根据该同步标志置位去执行获取目标调节值的操作,具体可以根据实际需要进行设置,此处不做限制。
为了便于理解,以下对获取目标调节值的具体方式进行说明:
EtherCAT主站根据主站应用程序的当前时间(图2中的app_time)、周期实时任务的任务唤醒时间(图2中的task_wake_time)、周期实时任务内的周期时钟中断同步事件的开始时间(图2中的sync_start_time),计算第一时间值、第二时间值和第三时间值。
需要说明的是,第一时间值为图2中左侧的第一个周期实时任务的任务唤醒时间task_wake_time到主站应用程序的当前时间app_time所需的时长。
第二时间值为图2中左侧的第一个周期实时任务的任务唤醒时间task_wake_time到周期实时任务内的数据输入或数据输出事件开始的时间(图2中的靠近第一个周期实时任务的任务唤醒时间task_wake_time的pdi_time)所需的时长。
第三时间值为周期实时任务内的周期时钟中断同步事件的开始时间(图2中左侧的第一个sync_start_time)到主站应用程序的当前时间app_time所需的时长。
在得到第一时间值、第二时间值和第三时间值后,EtherCAT主站根据第一时间值和周期实时任务的任务唤醒持续时长(两个task_wake_time之间的时长),确定第一剩余时间值,即图2中的wake_time_diff,根据第二时间值和周期实时任务内的数据输入或数据输出事件的持续时长(两个pdi_time之间的时长),确定第二剩余时间值,即图2中的wake_pdi_diff,根据第三时间值和周期实时任务内的周期时钟中断同步事件的持续时长(两个sync_start_time之间的时长),确定第三剩余时间值,即图2中的sync_start_diff。
最终根据第一剩余时间值wake_time_diff、第二剩余时间值wake_pdi_diff、第三剩余时间值sync_start_diff,确定目标调节值,图2中sync_pdi_diff。也就是说,目标调节值sync_pdi_diff为第一剩余时间值wake_time_diff减去第三剩余时间值sync_start_diff,再加上第二剩余时间值wake_pdi_diff之后得到的时间值。
在步骤103中,调节并固定周期实时任务内的周期时钟中断同步事件的开始时间和数据输入事件或数据输出事件开始的时间。
具体的说,在确定目标调节值后,EtherCAT主站根据目标调节值执行步骤103。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的调节方法,在EtherCAT主站开始执行周期实时任务,且设置好周期实时任务的任务唤醒的时间后,通过周期性的获取EtherCAT从站提供的周期时钟中断同步事件的开始时间和EtherCAT主站的主站应用程序的当前时间,并在周期时钟中断同步事件的开始时间与主站应用程序的当前时间之间的时间差值不大于预先设置的同步差值时,获取目标调节值,进入数据帧的同步阶段,最终根据获取的目标调节值,调节并固定周期实时任务内的周期时钟中断同步事件的开始时间和数据输入事件或数据输出事件开始的时间,使得在EtherCAT主站进行的数据输入或数据输出事件和EtherCAT从站提供的周期时钟中断开始的时间点得到固定,从而解决了在EtherCAT主站发送数据帧时产生的数据报文中断和从站提供的周期时钟中断之间存在的相互冲突问题。
另外,值得一提的是,为了便于用户对EtherCAT主站及EtherCAT从站的后续调节,在根据目标调节值,调节并固定周期实时任务内的周期时钟中断同步事件的开始时间和数据输入事件或数据输出事件开始的时间之后,还可以进一步获取并存储EtherCAT主站将相邻的周期时钟中断同步事件开始的时间和数据输入事件(或数据输出事件)开始的时间之间的时间差值,并将该时间差值作为调节方法中的调节参考值,从而在后续使用过程中,当需要对在EtherCAT主站中设置的周期实时任务内的周期时钟中断同步事件的开始时间和数据输入事件或数据输出事件开始的时间进行固定时,供用户进行参考,进而方便后续的调节,并且保证调节的准确性。
本发明的第二实施方式涉及一种调节方法。本实施方式在第一实施方式的基础上做了进一步改进,具体改进之处为:EtherCAT主站在开始执行周期实时任务之前,还需要先进行初始化配置,具体流程如图3所示。
具体的说,在本实施方式中,包含步骤301至步骤304,其中,步骤302至步骤304分别与第一实施方式中的步骤101至步骤103大致相同,此处不再赘述。下面主要介绍不同之处:
在步骤301中,在EtherCAT主站中进行初始化配置。
具体的说,在EtherCAT主站中进行的初始化配置具体包括以下操作:
在EtherCAT主站和与之适配的各EtherCAT从站上电后,EtherCAT主站向EtherCAT参考从站发送基准时间,并选择EtherCAT参考从站的时钟作为参考时钟。
需要说明的是,本实施方式中选取的EtherCAT参考从站为与EtherCAT主站连接的第一个具有分布时钟功能的EtherCAT从站。
EtherCAT参考从站在接收到EtherCAT主站发送的基准时间后,根据基准时间计算周期时钟中断同步事件的开始时间,进一步的,EtherCAT主站会通过总线从EtherCAT参考从站中获取计算出的周期时钟中断同步事件的开始时间。
值得一提的是,在实际应用中,EtherCAT主站从EtherCAT参考从站中获取计算出的周期时钟中断同步事件的开始时间的操作,需要在周期时钟中断同步事件的开始时间和主站应用程序的当前时间稳定之后进行,并且为了方便计算和控制EtherCAT主站与各EtherCAT从站之间进行的通信交互,可以将EtherCAT主站中的周期实时任务内的同步事件、任务唤醒、主站应用程序的当前实际、数据输入或数据输出事件等的周期时长设置为同一时间值,具体可以根据需要设置,此处不做现在。
另外,值得一提的是,在EtherCAT主站从EtherCAT参考从站中获取周期时钟中断同步事件的开始时间之后,EtherCAT主站会将周期时钟中断同步事件的开始时间通过总线发送给各EtherCAT从站,从而完成各EtherCAT从站与EtherCAT主站的时间的同步。
需要说明的是,各EtherCAT从站在从总线中获取各EtherCAT主站下发的周期时钟中断同步事件的开始时间时,是按照物理连接的顺序依次从接收的。
另外,在EtherCAT主站从EtherCAT参考从站中获取周期时钟中断同步事件的开始时间之后,EtherCAT主站还会根据获取的周期时钟中断同步事件的开始时间,设置周期实时任务的周期时长,并且EtherCAT主站在周期实时任务中向各EtherCAT从站发送数据报文。
另外,在选择EtherCAT参考从站的时钟作为参考时钟之后,EtherCAT主站在开始执行周期实时任务之前,EtherCAT主站还会向各EtherCAT从站下发测量报文,这样各EtherCAT从站根据接收到的测量报文,可以计算数据报文的传输延迟时间和系统偏差时间,从而达到对各EtherCAT从站的粗同步,使得EtherCAT主站在开始执行周期实时任务时,各EtherCAT从站、EtherCAT参考从站和EtherCAT主站之间基本处于同步状态,然后在进行后续的调节操作时,可以进一步保证后续操作的准确性。
与现有技术相比,本实施方式中提供的调节方法,在EtherCAT主站开始执行周期实时任务之前,通过对EtherCAT主站进行初始化配置,从而实现EtherCAT主站与EtherCAT参考从站之间时间的同步,保证后续调节操作的准确性。另外,在EtherCAT主站与EtherCAT参考从站的时间同步后,利用总线将周期时钟中断同步事件的开始时间发送给各EtherCAT从站,从而达到EtherCAT主站和与之适配的EtherCAT从站的时间同步,且开始执行周期时钟中断同步事件的开始时间相同,进一步保证后续调节操作的准确性。
上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第三实施方式涉及一种EtherCAT主站,包括存储器和处理器,存储器中保存有预设程序,处理器读取存储器中保存的程序,并按照该程序执行本发明任意实施方式中的调节方法。
具体的说,EtherCAT主站的结构框图如图4所示。
该EtherCAT主站包括:一个或多个处理器401以及存储器402,图4中以一个处理器401为例。处理器401、存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述任意方法实施方式所述的调节方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器402中,当被一个或者多个处理器401执行时,执行上述任意方法实施方式中的调节方法。
上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。
本申请第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分流程,是可以通过计算机程序来指令相关的硬件完成,在实际应用中存储在计算机可读存储介质中的计算机程序可包括上述任意方法实施方式的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
本领域技术人员可以理解实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (9)
1.一种调节方法,其特征在于,应用于实时工业以太网EtherCAT主站;所述调节方法包括:
所述EtherCAT主站在开始执行周期实时任务后,设置所述周期实时任务的任务唤醒的时间,并周期性的获取EtherCAT从站提供的周期时钟中断同步事件的开始时间和所述EtherCAT主站的主站应用程序的当前时间;
所述周期时钟中断同步事件的开始时间指EtherCAT主站在上电进入工作状态后开始执行周期实时任务的具体时间;所述周期实时任务的任务唤醒的时间指周期实时任务在每个周期从睡眠中唤醒的时间;
若确定所述周期时钟中断同步事件的开始时间与所述主站应用程序的当前时间之间的时间差值不大于预先设置的同步差值,获取目标调节值;其中,所述目标调节值为所述周期时钟中断同步事件的开始时间到所述周期实时任务内的数据输入事件或数据输出事件开始的时间之间的时间差值;
根据所述目标调节值,调节并固定所述周期实时任务内的所述周期时钟中断同步事件的开始时间和所述数据输入事件或所述数据输出事件开始的时间。
2.根据权利要求1所述的调节方法,其特征在于,所述EtherCAT主站在开始执行所述周期实时任务之前,所述调节方法还包括:
在所述EtherCAT主站中进行初始化配置;
所述初始化配置,具体包括:
在所述EtherCAT主站和与之适配的各EtherCAT从站上电后,所述EtherCAT主站向EtherCAT参考从站发送基准时间,并选择所述EtherCAT参考从站的时钟作为参考时钟;
其中,所述EtherCAT参考从站为与所述EtherCAT主站连接的第一个具有分布时钟功能的EtherCAT从站,所述参考从站根据所述基准时间计算所述周期时钟中断同步事件的开始时间;
所述EtherCAT主站从所述EtherCAT参考从站中获取所述周期时钟中断同步事件的开始时间。
3.根据权利要求2所述的调节方法,其特征在于,在所述EtherCAT主站从所述EtherCAT参考从站中获取所述周期时钟中断同步事件的开始时间之后,所述初始化配置还包括:
所述EtherCAT主站将所述周期时钟中断同步事件的开始时间通过总线发送给各EtherCAT从站;其中,各EtherCAT从站按照物理连接的顺序依次从所述总线接收所述周期时钟中断同步事件的开始时间。
4.根据权利要求2所述的调节方法,其特征在于,在所述EtherCAT主站从所述EtherCAT参考从站中获取所述周期时钟中断同步事件的开始时间之后,所述初始化配置还包括:
所述EtherCAT主站根据获取的所述周期时钟中断同步事件的开始时间,设置所述周期实时任务的周期时长;其中,所述EtherCAT主站在所述周期实时任务中向各EtherCAT从站发送数据报文。
5.根据权利要求4所述的调节方法,其特征在于,在选择所述EtherCAT参考从站的时钟作为参考时钟之后,所述EtherCAT主站在开始执行所述周期实时任务之前,所述初始化配置还包括:
所述EtherCAT主站向各EtherCAT从站下发测量报文;
其中,各EtherCAT从站根据所述测量报文,计算所述数据报文的传输延迟时间和系统偏差时间;
各EtherCAT从站,根据所述传输延迟时间和所述系统偏差时间进行粗同步。
6.根据权利要求1所述的调节方法,其特征在于,所述获取目标调节值,具体包括:
所述EtherCAT主站根据所述主站应用程序的当前时间、所述周期实时任务的任务唤醒时间、所述周期实时任务内的周期时钟中断同步事件的开始时间,计算第一时间值、第二时间值和第三时间值;其中,所述第一时间值为所述周期实时任务的任务唤醒时间到所述主站应用程序的当前时间所需的时长,所述第二时间值为所述周期实时任务的任务唤醒时间到所述周期实时任务内的所述数据输入或所述数据输出事件开始的时间所需的时长,所述第三时间值为所述周期实时任务内的周期时钟中断同步事件的开始时间到所述主站应用程序的当前时间所需的时长;
根据所述第一时间值和所述周期实时任务的任务唤醒持续时长,确定第一剩余时间值;
根据所述第二时间值和所述周期实时任务内的所述数据输入或所述数据输出事件的持续时长,确定第二剩余时间值;
根据所述第三时间值和所述周期实时任务内的所述周期时钟中断同步事件的持续时长,确定第三剩余时间值;
根据所述第一剩余时间值、所述第二剩余时间值、所述第三剩余时间值,确定所述目标调节值。
7.根据权利要求6所述的调节方法,其特征在于,在根据所述目标调节值,调节并固定所述周期实时任务内的所述周期时钟中断同步事件的开始时间和所述数据输入事件或所述数据输出事件开始的时间之后,所述调节方法还包括:
获取并存储所述EtherCAT主站中相邻的所述周期时钟中断同步事件开始的时间和所述数据输入事件或所述数据输出事件之间的时间差值;
将所述时间差值作为调节参考值。
8.一种EtherCAT主站,其特征在于,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的调节方法;
其中,所述EtherCAT主站与各EtherCAT从站预先建立通信连接。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任意一项所述的调节方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599596.5A CN107402534B (zh) | 2017-07-21 | 2017-07-21 | 调节方法、EtherCAT主站及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599596.5A CN107402534B (zh) | 2017-07-21 | 2017-07-21 | 调节方法、EtherCAT主站及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402534A CN107402534A (zh) | 2017-11-28 |
CN107402534B true CN107402534B (zh) | 2021-02-19 |
Family
ID=60402231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710599596.5A Active CN107402534B (zh) | 2017-07-21 | 2017-07-21 | 调节方法、EtherCAT主站及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402534B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108199822B (zh) * | 2017-12-29 | 2021-04-02 | 武汉华中数控股份有限公司 | 一种EtherCAT-NCUC的总线同步方法及装置 |
CN109991887B (zh) * | 2017-12-29 | 2021-08-31 | 沈阳高精数控智能技术股份有限公司 | 嵌入式实时EtherCAT主站的实时性优化方法 |
CN108377265B (zh) * | 2018-02-07 | 2020-10-16 | 南京南瑞继保电气有限公司 | 一种电力系统中控制保护分布式系统的实时同步方法 |
US11360918B1 (en) * | 2020-12-21 | 2022-06-14 | Otis Elevator Company | Real-time processing system synchronization in a control system |
CN114706615B (zh) * | 2022-06-08 | 2022-09-06 | 国家工业信息安全发展研究中心 | 一种工业机器人协议的自动化逆向分析方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271100A (zh) * | 2011-09-05 | 2011-12-07 | 国电南京自动化股份有限公司 | EtherCAT工业以太网与无线Zigbee间的网关装置及其协议转换方法 |
CN102655467A (zh) * | 2012-03-22 | 2012-09-05 | 上海三一精机有限公司 | 一种以太网现场总线主站结构及控制方法 |
CN104281086A (zh) * | 2014-10-22 | 2015-01-14 | 郑州斯倍思机电有限公司 | 一种基于EtherCAT通信协议的自动氩弧焊接设备软PLC控制系统 |
CN104620183A (zh) * | 2012-05-21 | 2015-05-13 | 泰塔制造有限责任公司 | 使用分布式控制模型的自动化和运动控制系统 |
CN105024777A (zh) * | 2015-07-29 | 2015-11-04 | 上海新时达电气股份有限公司 | 基于EtherCAT实时以太网的伺服驱动器同步方法 |
CN105187283A (zh) * | 2015-08-21 | 2015-12-23 | 中国科学院计算技术研究所 | 基于EtherCAT协议的工业控制网络从站通信方法及装置 |
US10095224B2 (en) * | 2014-03-03 | 2018-10-09 | Samsung Electronics Co., Ltd. | EtherCAT control device and factory automation system having the same |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8130773B2 (en) * | 2008-06-25 | 2012-03-06 | Honeywell International Inc. | Hybrid topology ethernet architecture |
CN102460891B (zh) * | 2009-05-25 | 2014-10-15 | 维斯塔斯风力系统集团公司 | 控制包括数据处理器同步的风力发电系统的方法和系统 |
US8145338B2 (en) * | 2009-06-02 | 2012-03-27 | The Procter & Gamble Company | Systems and methods for detecting and rejecting defective absorbent articles from a converting line |
ATE552672T1 (de) * | 2009-07-31 | 2012-04-15 | Abb Research Ltd | Datenübertragung in einem ringkommunikationsnetzwerk |
KR101828295B1 (ko) * | 2011-08-30 | 2018-02-13 | 삼성전자 주식회사 | 단말 및 그 단말에서 애플리케이션 관리 방법 |
CN102709949A (zh) * | 2012-06-15 | 2012-10-03 | 中国电力科学研究院 | 一种微电网协调控制系统 |
CN102739491B (zh) * | 2012-07-13 | 2015-01-14 | 上海三一精机有限公司 | 一种以太网通信主站实现方法 |
US9952995B2 (en) * | 2012-11-27 | 2018-04-24 | Nxp Usa, Inc. | Redundant packet forwarding system |
US9419737B2 (en) * | 2013-03-15 | 2016-08-16 | Concio Holdings LLC | High speed embedded protocol for distributed control systems |
CN104702474B (zh) * | 2015-03-11 | 2018-02-23 | 华中科技大学 | 一种基于FPGA的EtherCAT主站装置 |
CN105259814B (zh) * | 2015-10-30 | 2018-01-19 | 上海交通大学 | 一种多机器人系统及其通信系统 |
CN105553795B (zh) * | 2015-12-24 | 2018-10-16 | 武汉华中数控股份有限公司 | 一种在工业以太网中传输标准以太网数据的方法 |
CN105554012B (zh) * | 2015-12-28 | 2019-01-25 | 天津瑞能电气有限公司 | 一种基于DSP的EtherCAT从站转Canopen主站的通信单元 |
CN105656592B (zh) * | 2015-12-31 | 2018-09-21 | 深圳市汇川技术股份有限公司 | EtherCAT通信系统主站及通信方法 |
CN105763641B (zh) * | 2016-04-19 | 2019-01-15 | 华南理工大学 | 一种EtherCAT主站控制系统的快速时钟同步方法 |
CN106230541B (zh) * | 2016-08-05 | 2018-08-21 | 深圳市骏龙电子有限公司 | 一种用于工业以太网的站点同步系统及方法 |
-
2017
- 2017-07-21 CN CN201710599596.5A patent/CN107402534B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271100A (zh) * | 2011-09-05 | 2011-12-07 | 国电南京自动化股份有限公司 | EtherCAT工业以太网与无线Zigbee间的网关装置及其协议转换方法 |
CN102655467A (zh) * | 2012-03-22 | 2012-09-05 | 上海三一精机有限公司 | 一种以太网现场总线主站结构及控制方法 |
CN104620183A (zh) * | 2012-05-21 | 2015-05-13 | 泰塔制造有限责任公司 | 使用分布式控制模型的自动化和运动控制系统 |
US10095224B2 (en) * | 2014-03-03 | 2018-10-09 | Samsung Electronics Co., Ltd. | EtherCAT control device and factory automation system having the same |
CN104281086A (zh) * | 2014-10-22 | 2015-01-14 | 郑州斯倍思机电有限公司 | 一种基于EtherCAT通信协议的自动氩弧焊接设备软PLC控制系统 |
CN105024777A (zh) * | 2015-07-29 | 2015-11-04 | 上海新时达电气股份有限公司 | 基于EtherCAT实时以太网的伺服驱动器同步方法 |
CN105187283A (zh) * | 2015-08-21 | 2015-12-23 | 中国科学院计算技术研究所 | 基于EtherCAT协议的工业控制网络从站通信方法及装置 |
Non-Patent Citations (1)
Title |
---|
Ethercat总线分布式多电机控制研究;张桢;《电子科技》;20140615(第6期);第106-116页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107402534A (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402534B (zh) | 调节方法、EtherCAT主站及计算机可读存储介质 | |
US9331838B2 (en) | Method for synchronizing clocks in nodes of a vehicle network and node designed to perform the method | |
US9386552B2 (en) | Wireless sensor time synchronization | |
CN107276711B (zh) | EtherCAT主站装置 | |
US9323286B2 (en) | Ad-hoc synchronization of industrial control networks | |
CN107703878B (zh) | 一种plc分布式远程io扩展模块 | |
CN102769504B (zh) | 一种1588系统及其实现同步的方法 | |
WO2015196685A1 (zh) | 时钟同步方法及装置 | |
JP6495314B2 (ja) | 時間同期チャネルホッピングネットワークにおいて低電力端末との同期を維持するためのシステム及び方法 | |
JP5825446B2 (ja) | 信号同期システム、ノード同期システム、信号同期方法、及び、ノード同期方法 | |
CN111511013B (zh) | 用于使控制信号同步的方法、电子设备和计算机存储介质 | |
CN105049309A (zh) | 基于powerlink实时以太网的伺服驱动器同步方法 | |
US8281177B2 (en) | Distributed control system | |
CN103607270A (zh) | 提高Powerlink以太网同步性能的方法 | |
CN104486058A (zh) | 一种ptp系统时间同步方法以及装置 | |
GB2556844A (en) | Random access repeater, relay system and relay method therefor | |
CN109743140B (zh) | 基于低功耗广域网的通讯控制方法和装置 | |
JP2010061458A (ja) | マシンコントローラシステムおよびマシンコントローラ間同期方法 | |
KR101435181B1 (ko) | 배전 지능화 시스템의 마스터와 슬레이브 간 시각동기 및 전송 지연시간 보정 방법 | |
CN214480655U (zh) | 一种兼容可定义确定性通信以太网的嵌入式设备 | |
CN108427606B (zh) | 一种调度运动控制器与伺服轴的连接和信息交换的时间片管理与控制装置 | |
CN114257469A (zh) | 一种EtherCAT主站的通讯方法、装置以及介质 | |
Kim et al. | Time synchronization method of IEEE 802.1 AS through automatic optimal sync message period adjustment for in-car network | |
CN111381539A (zh) | 一种总线实时同步控制装置 | |
CN205139676U (zh) | 一种plc本地io扩展模块与分布式远程io扩展模块 |
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 |