CN117424668A - 网络中的主设备与从设备之间的时间同步 - Google Patents
网络中的主设备与从设备之间的时间同步 Download PDFInfo
- Publication number
- CN117424668A CN117424668A CN202310892647.9A CN202310892647A CN117424668A CN 117424668 A CN117424668 A CN 117424668A CN 202310892647 A CN202310892647 A CN 202310892647A CN 117424668 A CN117424668 A CN 117424668A
- Authority
- CN
- China
- Prior art keywords
- time
- network
- offset
- master
- slave
- 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.)
- Pending
Links
- 230000001360 synchronised effect Effects 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000006978 adaptation Effects 0.000 claims description 40
- 125000004122 cyclic group Chemical group 0.000 claims description 9
- 230000003044 adaptive effect Effects 0.000 abstract description 2
- 238000004519 manufacturing process Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 230000001960 triggered effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 239000010453 quartz Substances 0.000 description 6
- 238000004904 shortening Methods 0.000 description 6
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001351 cycling effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000009774 resonance method Methods 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
网络中至少一个主设备与作为有中断能力的网络组件的至少一个从设备间的时间同步并使用访问从时间的定时器以在与从时间同步的触发时间生成以预定循环历时重现的中断的方法。同步消息到达时确定主时间与从时间间的时间偏移。从时间偏移确定时间分数,对应中断的预定循环历时的整数倍。从时间分数和时间偏移确定中断偏移。同步单元执行至少一个时间跳跃以校正时间偏移。时间跳跃后中断的第一触发时间以使其偏移预定循环历时到时间跳跃前最后触发时间的方式设置。时间跳跃后中断的数个触发时间偏移自适应历时,以使其至多对应中断偏移和预定时间偏差且所有其之和对应中断偏移的方式从数个触发时间的每个的时间范围选择自适应历时,考虑预定容差值。
Description
技术领域
本发明描述了一种用于网络中的至少一个主设备和至少一个从设备之间的时间同步的方法,其中该至少一个主设备预定义主时间并且经由该网络向至少一个从设备发送具有该主时间的至少一个同步消息。从时间在其上运行的至少一个从设备使用同步消息以使用同步将从时间调整到主时间,其中该至少一个从设备是网络的具有中断能力的网络组件,并且使用定时器,该定时器访问从时间以在与从时间同步的相应的触发时间点生成至少一个中断,该至少一个中断以预定义的规则循环历时重现。
背景技术
原则上,完全不同的硬件组件(诸如中央处理单元、总线模块、驱动模块、总线耦合器、具有集成网络连接的IO模块、相机、HMI设备、网络集成传感器和致动器、网络基础设施(开关、桥等)等可以被提供来作为网络的网络组件。网络中的每个网络组件具有至少一个时钟,该时钟被用于控制网络组件本身中的工作进程。例如,该时钟可以预定义每个计算机进程的可使用的CPU处理时间。还使用时钟来调整网络中的网络组件之间的工作流。这使得能够控制在网络中涉及不同网络组件的各种工作流。
原则上,在基于硬件的时钟和逻辑时钟之间进行区分。基于硬件的时钟是例如具有计数寄存器的石英振荡器,该石英振荡器指定随后由该计数寄存器记录的规则振荡。这种基于硬件的时钟取决于物理变量,诸如温度、气压、环境湿度等。因此,网络组件件的位置可以影响石英振荡器,并且这些变化可能导致基于硬件的时钟的不同时钟或频率速率。虽然这通常对隔离的网络组件没有影响,但是在具有不同网络组件的网络中,以不同频率运行的不同网络组件的时钟之间的时间同步可能变得必要。
在逻辑时钟的情况下,时钟信号经由中断请求来自硬件,诸如基于硬件的时钟。因此,逻辑时钟必须在开启网络组件之后首先被设置。逻辑时钟是可被用于给事件(诸如网络中的工作流)赋予唯一性时间戳的计算机系统的组件。
时间戳被用于将唯一性的时间点分配给事件。该时间戳的准确度决定性地取决于逻辑时钟的准确度。事件是例如生产工厂中的各种物理工作流,但是它们也可以是数字性质的,诸如不同网络组件之间的通信。机器部件或货物的移动(例如在机器上)或处理机器上的处理步骤可以作为物理工作流发生。物理工作流可以由被设计为致动器的网络组件发起或执行,并且由被设计为传感器的网络组件记录。例如,在生产故障的情况下,有可能准确地基于时间戳来告知哪个机器的组件对故障负责以及在什么时间点。这显著地简化了高度复杂的生产系统中的故障排除。
网络组件的时钟可配置成基于硬件的时钟和逻辑时钟或其组合。例如,两个逻辑时钟可使用同一个基于硬件的时钟。通常在网络组件中安装至少一个基于硬件的时钟,该时钟在每种情况下至少指示网络组件中的时间。通常,这样的时间继续从第一初始化开始连续地计数,例如以一秒的预定义片段。在这样的时钟中,石英振荡器充当时钟发生器。为了确保当设备关闭时此时钟不停止,可从电源(即,电池组或可再充电电池)持续向时钟供能。在失去电力的情况下,例如如果母板上的纽扣电池耗尽,则当使用新的电源时,该时钟将再次开始计数。
例如,逻辑时钟现在使用上述基于硬件的时钟来控制工作流并向事件赋予时间戳。
在网络中可能出现不可避免的不准确性,例如因为内置石英振荡器由于制造不准确性而没有以完全相同的频率振荡。此外,网络组件的不同位置可导致石英振荡器中的频率差由于外部影响而出现或增加。网络组件可以一起位于机器大厅中,或者它们还可以在空间上彼此分离。例如,由不同外部温度、空调和CPU发热引起的温差可能对石英振荡器产生影响。
为了能够借助于各种网络组件进行时控通信或能够执行其他时间协调的活动,有必要将具有彼此不同时间的不同网络组件、不同网络域或不同网络中的时钟同步。在最简单的情况下,网络中的一个网络组件被指定为主设备而其他网络组件被指定为从设备。作为主设备的网络组件可以是特别强大且故障安全的网络组件。然后主设备为网络中的从设备预定义时间,并使用它来调节时间同步。通常网络中有多个主设备。主设备角色还可能在网络组件之间周期性地改变,例如在充当主设备的网络组件故障的情况下,或在网络的不同部分之间的连接故障的情况下。
还可能的是,不同的网络在时间方面彼此同步。然后,在每个网络中存在用于时间同步的主设备。第二网络的主设备在网络之间的时间同步期间充当第一网络的主设备的从设备。然后,充当从设备的第二网络的主设备与第一网络的主设备同步。第二网络的主设备随后可以同步第二网络的所有从设备。为此目的,还可以建立网络层级,根据该网络层级建立各个网络彼此同步的次序。由此,第二网络的主设备可以预定义第二网络中的专用时间,该专用时间例如通过时间同步被调整到第一网络的主时间。例如,网络组件可以充当网络中的主设备,只要该网络组件没有接收到在层级上位于上级的网络的主设备的时间同步。例如,可以设想,机器中的可以单独运行并且本身包含网络组件(即,至少一个主设备和一个从设备)的网络首先在内部执行时间同步。当这个机器被整合到生产中时,于是可能有必要使该机器的网络与层级上更高的网络(例如该生产系统的网络)同步。还可以设想网络的不同域要由主设备同步。
然而,在网络中,时钟通常不仅有一个主设备,而是多个主设备,称为“备用主设备”。只要原始主设备相对于时钟执行时间同步,备用主设备就表现得像从设备。如果第一主设备发生故障,则备用主设备中的一个可以接管并执行时间同步。
而且,对于其他任务,时间同步的主设备只能是简单的从设备。在本发明中,术语“主设备”和“从设备”排他地涉及网络中的时间同步并且不涉及其他功能,诸如在生产过程中。然而,主设备和从设备都是网络中的网络组件。
通常,通过同步调整网络中的时钟。在主设备和从设备之间执行时间的完整适配。从设备调整频率和时间差这两者。时间差应被理解为表示主设备的时钟和从设备的时钟之间的具体差值。例如,主设备具有1:02pm的时间并且从设备具有1:05pm的时间。现在,将从设备的时间成1:05p.m.设置至1:02p.m.,并且基于对主设备中的时间的知悉,例如基于从主设备到从设备的同步消息,从设备调整频率,使得时钟以相同的速度运行。频率的精确调整仅在一定数量的同步消息之后才是可能的。
为了避免时间跳跃,只要可能,从设备的频率可以加速或减速,使得主设备和从设备中的时钟同步。然而,如果在主设备和从设备之间存在大的偏差并且该过程可能导致持久误差(尤其是在频率上),则这个过程可能花费很长时间。
频率的单纯调整可以通过谐振法(syntonization)方法进行。如在同步的情况中所使用的,谐振法应被理解为意味着在不进行时间差的任何调整的情况下在网络中的主设备和从设备之间的频率的适配。如在上面的示例中,时间将不会使用跳跃被校正到主设备的时间,而是时间将继续以相同的差异运行。这至少防止了当两个时钟具有相同的频率时差异变大。另外,例如,以此方式阻止了时钟中的跳跃。此外,网络组件中的时间也将以相同的速度流逝,其结果是局部测量的时间段变得相当。
用于时间同步的当前现有技术是IEEE的精确时间协议(PTP)标准(IEEE1588)。该标准规定网络组件中的每个时钟经由网络与主设备分开地同步。例如,时钟可基于该标准与网络中的其他时钟同步。
被同步的应用(诸如高精度工作或生产过程)经由网络组件中的至少一个定时器来控制。定时器通过以规则的间隔(循环历时)发出中断请求来控制系统中的循环过程。利用每个中断,执行循环重复过程(本质上是在网络组件中运行的一段程序代码)。例如,这对于当前和未来事件(诸如生产过程中的步骤)可能是重要的,该事件在定时器的预定义中断时触发。定时器可以例如每100微秒(μs)触发中断,或者还可以以更长或更短的时间间隔触发中断。定时器通常被配置成触发期望或需要的中断。定时器还可以被设计为在不同的预定义时间点触发中断。
当开始生产过程时,通常可允许经过预定义时间,直到所有网络组件的时钟被同步并且所有中断的循环历时也已经被调整,因为在启动期间,由于振荡晶体的不准确性,例如网络组件中的各个中断的循环历时可能具有不同的频率。网络组件也可能输出若干不同的中断。例如,如果若干进程访问网络组件,或者网络组件必须控制若干进程,则这是可能的。然后,中断还可以具有不同的循环历时,例如200μs和1000μs。
然而,在正在进行的过程期间失去连接可能导致时间同步的问题。失去连接可能例如经由连接性的丢失(例如,电缆的断开,或开关、调制解调器或路由器的故障,或者当进入隧道时车辆的GPS连接的丢失)而无意地发生。然后,网络组件或整个在层级上的下级网络可以继续系统内部地操作,但是也可以切换到关闭或待机模式、关断,或者如果不存在断路开关,也可能崩溃。当网络组件被重启时或者当连接被重新建立时,时间同步可能失去,直到随后的同步消息。中断然后不再正确地运行也是可能的,并且也最可能。
然而,在连接中也可能存在期望的中断,例如在自主驾驶车辆的情况下,其在特定时间段内从其基站断开连接。
然后,可能发生的是,不同网络组件之间的中断的循环历时发散。在现有技术中,通过使用单个同步步骤再次适配从设备和主设备之间的时间。其结果是,在同步消息时中断的实际循环历时可以具体地被缩短或也可被延长。结果,这可导致高精度工作流的时间序列和稳定性中的问题,其中可涉及若干网络组件。
因此,本发明的目的是提供防止工作流中断的时间同步。
发明内容
根据本发明,该目的的实现在于,当同步消息到达时,在从设备中或在充当从设备的具有中断能力的网络组件中确定主时间和从时间之间的时间偏移。然后从时间偏移确定时间片段,该时间片段对应于至少一个中断的预定义循环历时的整数倍,然后从时间片段和时间偏移导出中断偏移,例如作为差。为了校正主时间和从时间之间的所确定的时间偏移,在从设备中或在充当从设备的具有中断能力的网络组件中执行至少一个时间跳跃。然后,以如下方式设置至少一个中断在该至少一个时间跳跃之后的第一触发时间点:使得触发时间点相对于该至少一个时间跳跃之前的最后触发时间点偏移预定义循环历时。此外,至少一个中断的在至少一个时间跳跃之后的数个触发时间点在时间上偏移了适配历时,其中用于数个触发时间点在至少一个时间跳跃之后的每一个触发时间点的适配历时以如下方式从时间范围中选择:该适配历时最多对应于中断偏移并且最多对应于预定义时间偏差,从而将预定义容差值纳入考虑(例如,加/减所述预定义容差值)。
本发明的主要方面是,首先,在第一同步步骤中,通过至少一个时间跳跃来校正时间偏移,并且因此校正网络中主设备和从设备之间的非常大的时间差,而不干扰生产或正在进行的工作过程(并且特别是具有实时能力的应用)在其流程中的操作,因为中断通常具有比接收同步消息更高的频率。在该方法的进一步过程中,然后适配至少一个重复中断的触发时间点直到校正了中断偏移,该中断偏移在至少一个时间跳跃之后相比于其他具有中断能力的网络组件而产生。适配历时被选择成不超过中断偏移,并且使得至少一个中断的预定义循环历时不会过多地增加或缩短。这确保在至少一个时间跳跃之后或在适配到其他网络组件期间,与预定义循环历时相比,至少一个中断的实际循环历时仅不显著地缩短或延长。特别是网络中的高精度工作流和/或实时能力的应用(诸如工厂、机器等)因此不受到危害,因为例如程序代码被完全执行或例如控制参数没有被不正确地计算。
如果具有中断能力的网络组件被配置成具有另外主设备的另外网络则是有利的。网络的至少一个主设备向另外网络的另外主设备预定义主时间。以此方式,有可能在两个或更多个网络中以非常简单且高效的方式执行时间同步。例如,每个网络可以自主地执行时间同步,并且然后,例如,另外网络可以非常容易地与该网络同步。结果,例如,可以启动具有多个连接的网络的工厂,或者例如,另外网络可以被添加到现有网络并且与该网络同步。
该目的还通过一种由多个网络组件组成的网络来实现,其中关于时间同步,至少一个网络组件是主设备,并且至少一个另外网络组件是从设备。主设备或充当主设备的网络组件具有主时间并且被设计成将至少一个同步消息发送给至少一个从设备或充当从设备的至少一个另外网络组件(其具有从时间)。至少一个从设备还被设计成使用时间同步将从时间与主时间同步。此外,至少一个网络组件,尤其是充当从设备的网络组件,被设计成具有中断能力的网络组件并且具有定时器,该定时器访问从时间以生成至少一个中断,该中断在与所述从时间同步的相应触发时间点处以预定义循环历时重现。此外,具有中断能力的网络组件具有同步单元,该同步单元被设计成执行以下步骤:
当同步消息到达时,确定主时间与从时间之间的时间偏移;
确定时间偏移的时间片段,其中该时间片段对应于至少一个中断的预定义循环历时的整数倍;
从该时间片段和时间偏移确定中断偏移;
执行至少一个时间跳跃以校正主时间与从时间之间的时间偏移;
设置至少一个中断在至少一个时间跳跃之后的第一触发时间点,使得所述至少一个时间跳跃之后的所述第一触发时间点相对于至少一个时间跳跃之前的最后一个触发时间点偏移预定义循环历时;以及将至少一个中断的在至少一个时间跳跃之后的数个触发时间点在时间上移位适配历时,其中以如下方式从时间范围中选择在所述一个时间跳跃之后的数个触发时间点中的每个触发时间点的适配历时:使得适配历时最多对应于中断偏移并且最多对应于预定义时间偏差,以及至少一个时间跳跃之后的数个触发时间点的所有适配历时的总和对应于该中断偏移,从而将预定义容差值纳入考虑。
理想地,具有中断能力的网络组件被配置成具有另外主设备的另外网络。网络的至少一个主设备能向另外网络的另外主设备预定义主时间。以此方式,两个或更多个网络可以例如在工厂中或在添加网络之后被同步。理想地,建立用于时间同步的网络层级,该网络层级预定义了哪个网络或哪个主设备承担上级角色以及哪个网络或哪个主设备承担下级角色。
附图说明
下面参照图1-5更详细地描述本发明,图1-5以本发明的示例性和非限制性的有利实施方式的方式示出。在附图中:
图1示出了根据本发明的具有主设备和从设备的网络;
图2示出了现有技术的时间同步对不同网络组件中不同中断的影响;
图3示出根据本发明的时间同步及其对不同中断的影响;
图4示出了根据本发明的在网络组件中的时间同步机制;
图5示出了具有主设备和从设备的网络以及在层级上的下级网络。
具体实施方式
图1示出了具有多个网络组件8、8’、8”的示例性网络1,其中至少一个主设备2和多个从设备3相对于时间同步而存在。网络组件8、8’、8”经由网络线路13彼此连接。网络线路13通常形成用于网络组件8、8’、8”之间的数据通信的数据总线,也如图1中所示。网络线路13可以是LAN电缆、网络总线、光纤电缆等,其允许在网络1中在网络组件8、8’、8”之间通信。可以实现用于数据通信的任何通信协议。还可提供网络基础设施,其将不同的网络1或网络1的不同部分彼此连接,例如交换机、路由器等。在这种情况下,网络线路13是网络组件8、8’、8”之间的无线连接。网络1还可以体现为混合的有线和无线网络1。对于网络1,可以设想本领域技术人员所熟悉并且能够利用网络组件8、8’、8”之间的时间同步进行数据传递的所有网络拓扑结构。
多个不同的网络组件8、8’、8”(诸如,处理单元、总线模块、驱动模块、总线耦合器、具有集成网络连接的IO模块、相机、HMI设备、网络集成传感器和致动器等)可以存在于网络1的网络拓扑结构中。网络组件8、8’、8”通常具有微处理器7,在微处理器上执行存储的程序代码,以便实现网络组件8、8’、8”的某个预期功能。为此目的,还可以在网络组件8、8’、8”上安装并运行操作系统,其中,诸如iOS、Linux/Unix、Windows、Android等各种操作系统可以在不同的网络组件8、8’、8”上运行。
除了时钟5.2之外,在网络1中还存在至少一个有中断能力的网络组件8',该网络组件还具有定时器6。如图1中所示,定时器6被设置为在预定的触发时间点tI生成至少一个中断I。例如,定时器6可根据循环历时tC以预定义间隔触发中断I。中断I优选地在微处理器7中被处理以便例如控制程序代码序列。为此目的,定时器6访问有中断能力的网络组件8”中的时钟5.2的时间。因为具有中断能力的网络组件8”相对于时间同步是从设备3,所以时钟5.2的时间取决于主设备2(网络组件8)的主时间tM,并且因此是从时间tS。因此,网络组件8’的定时器6或从设备3的定时器6使用从时间tS在触发时间点tI处生成中断I。
然而,在网络1中还可存在其他具有中断能力的网络组件8’,如图1中的虚线所示。
相对于主时间tM尚未同步的从时间tS可能在绝对时间和频率方面不同。例如,从时间tS可与主时间tM相差某个时间段,诸如几年、几星期、几天、几小时等,但具有相同的频率。因此,例如,绝对时间将不相同。例如,从设备3中的从设备时间tS可具有2019年,而主设备2中的主设备时间tM具有2021年。然而,主时间tM和从时间tS将以相等的速度流逝。在相同的频率处,例如一秒的标称历时是相同的,即,在主设备2中和在从设备3中同样快速地流逝各秒。然而,还有可能并且经常可能的是在同步之前在主设备2与从设备3之间绝对时间和频率都不相同。因此,在从设备3和主设备2之间的不同频率处,主设备2和从设备3中的中断I的循环历时tC,或者甚至在不同从设备3的情况下,名义上可以相同,但实际上不同。因此,主设备2、从设备3或不同的从设备3中的中断I的测量的循环历时tC可能彼此不同。中断I的不同循环历时tC可导致高精度生产工艺中的问题,其中,涉及各种网络组件8、8’、8”,例如,此后,由此控制的程序代码不能以充分同步的方式运行。
主设备2通常向网络1中的从设备3发送同步消息D。同步消息D包含当前主时间tM。例如,可以经由从设备3的网络端口接收同步消息D。在从设备3中在同步单元5.1中处理所包含的主时间tM。为此目的,同步单元5.1还可以在微处理器7中实现,其中同步单元5.1可以是基于软件的和/或基于硬件的,并且执行程序代码或硬件电路。同步单元5.1预定义了时钟5.2的当前从时间tS,其被调整到来自同步消息D的主时间tM。同步单元5.1也可以集成在时钟5.2中。同步消息D可在不同时间到达不同的从设备3。这可以取决于特定从设备3在网络1中的位置、网络拓扑结构和同步消息D的运行时间。
在通常的实现中,同步单元5.1基本上是在从设备3中运行的相应程序代码,例如同步堆栈10(参见图4),将其自身的当前从时间tS与来自同步消息D的主时间tM进行比较。同步消息D在网络1中的运行时间优选地是已知的并且在时间同步期间由同步单元5.1纳入考虑。
同步单元5.1将从设备3的时钟5.2的绝对时间和频率同步到主设备2,使得在同步之后,从设备时间tS对应于主设备时间tM,如图1中所示,并且使得从设备3中的频率也对应于主设备2中的频率。例如,可以从所计算的若干相继同步消息D的时间差精确地计算频率。
由从设备3中的定时器6产生的中断I可以具有相同的标称循环历时tC;然而,循环历时tC也可以根据特定已知方案而不同。在单个有中断能力的网络组件8’、8”中还可存在具有不同标称循环历时tC的若干中断I。循环历时tC本身可以由网络组件8’、8”中的特定应用程序(即,例如,由软件(堆栈)或用于控制机器的应用程序)预定义,并且通常独立于该同步。然而,还可能由用户设置或由制造商在固件中预定义循环历时tC。
然而,如以下将说明的,在根据本发明的方法中将发生的是,中断I的触发时间点tI必须被重置,使得可以遵守预定义循环历时tC。中断I已经在各种有中断能力的网络组件8’、8”中彼此协调并保持彼此协调也是目标。在这种情况下,同步单元5.1可以(直接或间接地)预定义中断I的触发时间点tI必须改变的程度。
为了提供对本发明的更容易理解,在以下实施例中省却了不同的循环历时tC,而不限制一般性,并且所有循环历时tC对应于主设备2的中断I(2)的标称循环历时tC,主设备2也可以是具有中断能力的网络组件8’、8”。此外,假定所有从设备3同时接收同步消息D。
图2中示出了根据现有技术的对中断I的同步及其影响。横坐标描述系统时间t,并且纵坐标对应于网络1中的网络组件8、8'、8”的作为时间条的不同中断I((2)、I(8’)、I(8”)。主设备2具有中断I(2),中断I(2)具有例如1毫秒(ms)的循环历时tC。此外,从设备3作为具有中断I(8’)的有中断能力的网络组件8’而存在,并且另一从设备3’作为具有中断I(8”)的有中断能力的网络组件8”而存在。名义上,中断I(8’)、I(8”)具有与主设备2的中断I(2)相同的循环历时tC。然而,相应网络组件8’、8”中的实际循环历时tC,R可能由于具有中断能力的网络组件8’、8”(从设备3)的时钟5.2的不同频率而不同并且还与主设备2有关。例如,具有中断能力的网络组件8”的实际循环历时tC,R可以是1020μs,而另一具有中断能力的网络组件8”的实际循环历时tC,R可以是980μs。由定时器6对各种中断I(2)、I(8’)、I(8”)的触发通常还可发生在时间tI中的不同触发点处。因此,不同的中断I(2)、I(8’)、I(8”)可发散,并且例如不再彼此协调。
例如,当给定在时间范围t1内引导PC、初始化生产机器等时,中断I(2)、I(8’)、I(8”)的时间点S2、S8’、S8”可能不同。在某个时间段之后,主设备2通过网络1将第一同步消息D1发送到从设备3、3’。如上所述,通过第一同步消息D1使从设备3、3’中的时钟5.2同步。从设备3、3’中的从时间tS使用时间跳跃来同步到主时间tM。在所描述的示例性实施例中,假设所有中断I(2)、I(8’)、I(8”)在时间点S(D1)同步运行。然而,情况不一定总是如此。时钟5.2在时间点S(D1)的时间跳跃例如导致中断I(8”)缩短并且具有在时间上被中断偏移ΔtC缩短的中断(I(8”))。在引导期间或在初始化期间,完全调整从设备3中的绝对时间的单个时间跳跃(诸如在时间点S(D1))可能没有问题,因为中断I(8”)的缩短还没有任何影响。因此,例如,在中断I(8’)、I(8”)具有1000μs的标称循环历时tC的长度的情况下,可能在时间跳跃期间仅流逝600μs。作为时间跳跃的结果,此中断I(8’)、I(8”)失去400μs(即,中断偏移ΔtC),并且再次开始运行。定时器6因此触发中断I(8”),如图2中通过示例所示,即在时间点S(D1),并且当前中断(8”)缩短了400μs。主设备I(2)的中断一般不执行任何时间跳跃。然而,在主设备2改变的情况下,很可能先前的主设备2的中断I(2)作为从设备3同样执行时间跳跃。
在时间范围t2中,在第一同步消息D1和随后的第二同步消息D2之间,中断I(2)、I(8’)、I(8”)继续不改变地并且以期望的方式彼此同步地运行。相继的同步消息D1和D2之间的时间长度不一定相同。此外,时间范围t2可以在大量的同步消息D上延伸,并且表示所期望的运行模式。
在时间范围t3内,即,例如,已经在生产系统的操作期间,即在生产过程正在进行并且控制任务正在执行时,中断可在时间点DC发生,并且例如在具有中断能力的网络组件8”可导致中断的情况下。如上所述,这可能是由于电缆的机械切割、从设备3中的问题等导致的。已经运行的有中断能力的网络组件8’(从设备3)可以进入待机模式,开始纠错或类似操作。在时间点DC中断时,具有中断能力的网络组件8’失去与主设备2的时间同步。在图2中示出了该故障12。在中断已被校正之后,例如在网络组件8’的重启之后,中断I(8’)可在不同时间点开始,例如在时间点S(DC)。然而,中断I(8’)继续运行是可能的,并且例如,不会发生网络组件8’的重启,使得网络组件8’可继续完成其任务。
中断造成主时间tM与从时间tS之间的时间偏移Δt。该时间偏移Δt可以对应于故障12的时间段,但也可以是任何时间段(取决于从设备3如何继续操作)。该时间偏移Δt保持直至第三同步消息D3到达。中断I(8”)的触发时间点tI因此不再与其他网络组件8、8’同步,并且可能出现相对于它们的中断偏移ΔtC。时间偏移Δt可以对应于中断偏移ΔtC。然而,通常的情况是时间偏移Δt是中断偏移ΔtC的数倍。中断偏移ΔtC在下一个同步消息D3到达的时间点S(D3)(类似于时间点S(D1))处用单个时间跳跃被校正,并且中断I(8’)因此在该点处被中断偏移ΔtC缩短,但随后再次与主设备2同步运行。
例如,在时间点S(D3),主设备2具有中断I(2)的1000μs的实际循环历时tC,而在具有中断能力的网络组件8’中仅已经流逝了中断I(8’)的500μs的实际循环历时tC,R(即使循环历时tC名义上也是1000μs长)。在使用同步消息D3的时间同步期间,中断I(8)的失去的500μs(具有中断能力的网络组件8’的中断偏移ΔtC)在时间跳跃期间被跳过,并且导致中断I(8’)的实际循环历时tC,R被缩短了中断偏移ΔtC。然后,响应于时间点S(D3)处的同步消息D3,将中断I(8’)的下一触发时间点tI设置到时间跳跃的时间点。然后,中断I(8’)的后续触发时间点tI由中断I(8’)的循环历时tC产生。
例如,主时间tM与从时间tS之间的时间偏移Δt可以是3500μs,然而,如上所述,该时间偏移仅对应于500μs的中断偏移ΔtC。例如,由于定时器6太早地触发下一中断I(8”),所以这可能在高精度工作或生产过程期间导致问题。尽管该跳过在时间范围t1中的初始化期间没有问题,但是这在操作期间可能导致问题,例如,因为不能完全执行某个程序代码或者在限定的时间不正确地计算控制参数(诸如速度的确定)。因此,在网络组件8’的时间同步失去之后,可能需要中断网络1中的工作流以便恢复中断I(8’)以及其他所涉及的网络组件8、8”的正确流程。
在最好的情况下,这种中断可导致生产时间的损失,或者在最坏的情况下,其可导致对机器或其他部件的损坏。
图3中示出了根据本发明的同步。时间范围t1和时间范围t2基本上对应于图2的那些范围,并且将不再进行描述。然而,还可设置为,在中断I(2)、I(8’)、I(8”)已经开始之后,中断I(2)、I(8’)、I(8”)不会发生时间跳跃,并且因此,在时间范围t1中,不会发生中断I(2)、I(8’)、I(8”)的缩短。在有利的实施例中,因此,一旦使用中断I(2)、I(8’)、I(8”)的应用开始,没有发生如上所述的使中断I(2)、I(8’)、I(8”)的循环历时tC缩短的中断I(2)、I(8’)、I(8”)的时间跳跃。
在图3的时间范围t3内,在时间点DC在有中断能力的网络组件8’中发生时间同步的失去。在具有中断能力的网络组件8’中的中断I(8’)在时间同步的中断之后(即,在故障12之后)已经校正之后再次开始运行,或者甚至在由故障12进行的时间同步的中断期间可简单地继续。然而,通过中断时间同步,例如,在某个时间段内(直到下一同步消息D3到达),不校正网络组件8’中的从时间tS。现在,在与其他网络组件8、8”的其他中断I(2)、I(8”)不同的触发时间点tI触发中断I(8’)。中断I(8’)的触发时间点tI因此在时间上偏移达中断偏移ΔtC,如下面将更详细地解释的。此外,例如,从时间tS可能经受漂移。因此,中断I(8’)与其他中断I(2)、I(8”)相比进一步在时间上偏移。
在时间点S(D3),具有中断能力的网络组件8’(以及其他存在的从设备3’或网络组件8’)接收具有主时间tM的第三同步消息D3。取决于故障12,相对于主设备2,同步单元5.1现在可以在具有中断能力的网络组件8’中建立绝对时间方面的时间偏移Δt。频率差异也可能发生。根据本发明,然后确定从时间tS相对于主时间tM的时间偏移Δt的时间片段Δt1,其中从时间tS的时间偏移Δt的时间片段Δt1与用作从设备3的具有中断能力的网络组件8”的至少一个中断I的循环历时tC的整数倍相对应。中断偏移ΔtC因此可以被确定为时间偏移Δt与所确定的时间片段Δt1之间的差。这可以例如通过传统的减法或通过使用残差值计算来进行。
根据本发明,在第一步骤中,整个时间偏移Δt由同步单元5.2在至少一个时间跳跃TJ中校正,同样如图3中所示。以此方式,主时间tM与从时间tS之间的时间偏移Δt可以优选地在单次时间跳跃TJ中校正。然而,当然还有可能使用若干时间跳跃TJ。
主设备2和从设备3或网络组件8中的频率之间的任何偏移同样可以在该过程中校正。
如在现有技术中所描述的,如参照图2所解释的,具有中断能力的网络组件8’的经缩短的中断I(8’)将由时间跳跃TJ造成并且导致上述问题。根据本发明的方法防止该经缩短的中断I,如将在下面解释的。
为了避免在具有中断能力的网络组件8’中的中断I(8’)的缩短,时间跳跃TJ之后的至少一个中断I(8’)的第一触发时间点tI+1被设置成使得时间跳跃TJ之后的这个触发时间点tI+1与时间跳跃TJ之前的最后一个触发时间点tI相比偏移了循环历时tC。与图2中示出的现有技术相比,中断I(8’)的触发时间点tI+1因此不被设置为同步消息D3的时间点S(D3)。接着,后续触发时间点t1+n将再次在时间上偏移开循环历时tC。然而,触发时间点tI+1、tI+n因此将不与其他网络组件8、8”中的中断I(2)、I(8”)同步。
因此,规定将时间跳跃TJ之后的数个(N)触发时间点tI+1、tI+n适配达适配历时AD以便以这种方式来同步中断I(2)、I(8’)。为此目的,具有可以采用值1至N的索引n的至少一个后续的触发时间点tI+n被时移达适配历时AD。因此,时间跳跃TJ之后的数个(N)触发时间点tI+n还可以包括直接跟随时间跳跃TJ的第一触发时间点tI+n。如果必要,数字N可以仅涵盖时间跳跃TJ之后的第一触发时间点tI+1。因此,在时间跳跃TJ之后,中断I(8’)继续相对于其他有中断能力的网络组件8、8”异步运行,但是在有中断能力的网络组件8’中保持近似等距。触发时间点tI+n通过适配历时AD的这种适配发生,直到在时间跳跃TJ之后产生的中断偏移ΔtC已经被校正,并且因此中断I(2)、I(8’)、I(8”)在网络组件8、8’、8”中再次同步运行。因此,在时间跳跃TJ之后的中断I(8’)的循环历时tC不必具有相同的长度,直到已经校正中断偏移ΔtC。
至少一个后续触发时间点tI+n的适配历时AD选自范围从值0到对应于中断偏移ΔtC的值的时间范围,即,适配历时AD因此最多对应于中断偏移ΔtC。此外,适配历时AD至多对应于预定义时间偏差dt。通过预定义时间偏差dt,确保了在后续触发时间点tI+n之一的循环历时tC不会在时间跳跃TJ之后的时间方面被延长或缩短太多。时间偏差dt被适当地选择并且还可以取决于网络1在其中运行的应用。为了确保适配历时AD还校正中断偏移ΔtC,此外规定,在时间跳跃TJ之后的数个(N)相继触发时间点tI+n的所有适配历时AD的总和对应于中断偏移ΔtC,从而将预定义容差值G(例如,±)纳入考虑。由于这些条件和规范,数个(N个)后续触发时间点tI+n也以所得中断偏移ΔtC实现,这确保在时间跳跃TJ之后的指数n=N个触发时间点tI+n的情况下,将网络组件8’中的中断I(8”)调整到其他网络组件8、8”中的中断I(2)、I(8”),并且在该过程中,保持等于预定义容差值G的最大时间偏差,预定义容差值G可被选择为足够小。理想地,容差值G=0。
数个(N个)触发时间点tI+n中的每一个的适配历时AD不必相同,但是每个适配历时AD必须对应于上述标准和规范。
在某些情况下,中断偏移ΔtC因此能够已经在时间跳跃TJ之后的第一(n=1)触发时间点tI+1处被校正。然而,通常要求在时间跳跃TJ之后的多个触发时间点tI+n。
取决于中断偏移ΔtC的幅度,例如,有可能在适配历时AD(符合预定义时间偏差dt)上校正的仅单个后续触发时间点tI+n调整中断I(8”)。然而,当然还可能需要在多个后续触发时间点tI+n上执行这种适配。
例如,循环历时tC可以是1000μs,如以上在图3中的示例中,并且从时间tS与主时间tM的时间偏移Δt可以是100300μs。在图3中的时间点S(D3),计算中断I(8’)的循环历时tC的整数倍,即,100000μs,即,100乘以1000μs,并且被用于确定中断偏移ΔtC。在本发明中,循环历时tC的整数倍还被计算为时间偏移Δt的时间片段Δt1。中断偏移ΔtC是时间片段Δt1与时间偏移Δt之间的差。根据本发明,在时间跳跃TJ之后,在时间跳跃TJ之后的N个触发时间点tI+n处适配中断偏移ΔtC。还可以在每个后续触发时间点tI+n之后重新确定剩余的中断偏移ΔtC。在用作从设备3的有中断能力的网络组件8’、8”中的多个中断I的情况下,可以针对每个个体中断I确定触发时间点tI+n的这些校正。
为了计算时间片段Δt1和中断偏移ΔtC,可以使用相对于主设备2的时间偏移Δt和中断I的循环历时tC,两者都是已知的:
在以上示例中,所确定的时间偏移Δt是100300μs,即,时间点S(D3)处的从时间tS与主时间tM之间的差,中断偏移ΔtC是300μs,并且时间片段Δt1是100000μs。时间偏移Δt立即通过时间跳跃TJ校正。例如,预定义偏差dt可以是中断I(8’)的循环历时tC的10%。因此,1000μs长中断I(8’)的实际循环历时tC,R可以在900μs至1100μs的范围内进行适配。中断偏移ΔtC然后可以在三个后续触发时间点tI+n处通过将相应循环历时tC在每种情况下延长或缩短100μS(取决于中断偏移ΔtC的符号)进行校正。
在时间跳跃TJ之后的n=1、…、N个触发时间点tI+n中的每一个中,由至少一个中断I(8’)产生的实际循环历时tC,R从预定义循环历时tC偏离不超过预定义偏差dt。预定义偏差dt因此被限制,以确保在时间跳跃TJ之后中断I(8’)的足够等距。
预定义时间偏差dt的大小可以取决于应用和必要的精度,并且可以在从设备3中预定义或设置。例如,偏差dt能够在中断I(8’)的已知循环历时tC的0.5%至5%之间的优选范围内选择。
例如,容差值g可以是中断I(8')的已知循环历时tC的所定义的百分比。然而,还可以设想容差值G是固定值,例如,诸如10纳秒(ns)。
定时器6因此可以在经改变的触发时间点tI+n处触发中断I(8')以确保中断I(8')的经缩短或经延长的实际循环历时tC,R。因此,在能够设置下一缩短/延长之前,在随后的触发时间点tI+n触发相应的中断I(8’)。
中断偏移ΔtC因此在时间跳跃TJ之后的数个n=1,…,N触发时间点tI+n处连贯地被校正,其中中断I(8’)的预定循环历时tC仅缩短或延长适配历时AD。当然,在时间跳跃TJ之后剩余的中断偏移ΔtC可以是如此小,使得通过使用时间跳跃TJ之后的单个触发时间点tI+n的适配历时AD的适配足以用于校正。
校正中断偏移ΔtC的上述方式确保中断I(8’)的循环历时tC不会在时间上缩短或延长太多,这本来会导致上述问题。
在时间跳跃TJ之后,同步单元5.1能够使用定时器6在时间跳跃TJ之后的中断I(8’)的数个(N)触发时间点tI+n,执行从设备3中的中断I(8’)到其他中断I(2)、I(8’)的调整。
图3通过示例示出了中断I(2)、I(8’)、I(8”)的调整。时间跳跃TJ之后的第一触发时间点tI+1不被设置成时间点S(D3),而是遵守循环历时tC,相对于时间跳跃TJ之前的触发时间点tI偏移了该循环历时。在此示例性实施例中,将在时间跳跃TJ之后的第一触发时间点tI1的适配历时AD选择为零。在图3中,由于各个所选择的适配历时AD,随后的触发时间点tI+n具有比中断I(8’)的预定循环历时tC短的实际循环时间tC,R。在这些后续触发时间点t1+n,校正所得的中断偏移ΔtC。在中断I(8’)的这些后续触发时间点tI+n,实际循环历时tC,R在每种情况下偏离中断I(8’)的预定循环历时tC达预定义偏差dt,并且例如由此被缩短。中断I(8’)因此在随后的触发时间点tI+n上接收实际循环历时tC,R,在图3所示的示例中,例如,其短于预定循环历时tC。然而,实际循环历时tC,R也可增加达预定义偏差dt,并且因此可比中断I(8’)的预定循环历时tC更长。相应的随后的触发时间点tI+n由同步单元5.1执行,例如,在存在于同步单元5.1中的适配单元9(图4)中,遵守预定义适配历时AD及其约束。
图4示出了用作具有同步单元5.1并且具有时钟5.2的从设备3的具有中断能力的网络组件8'的示例性实施例(为简单起见,未示出从设备3的其他单元)。时间同步堆栈10(例如程序代码)使用同步消息D或其中包含的主时间tM计算相对于主设备2的时间偏移Δt。适配单元9(例如还有程序代码)使用时间偏移Δt来计算时间片段Δt1并且根据本发明执行时间同步以及将其传递到时钟5.2。时钟5.2的相应当前时间随后被预定义至定时器6,该定时器可在相应的触发时间点tI处或在随后的触发时间点tI+n处触发中断I(8’)。
中断I(8’)的适配可以以比同步消息D到达从设备3更短的时间间隔发生。
在图3中,作为示例,同步单元5.1通过使用三个后续触发时间点tI+n将中断I(8’)调整到其余中断I(2)、I(8”)。此后,在时间点SS,所有中断I(2)、I(8’)、I(8”)继续以预定循环历时tC运行并且再次同步。在这种情况下,新的同步消息D尚未到达。
根据本发明,同步单元5.1(或定时器6)在随后的触发时间点tI+n处在适配历时AD上适配中断I(8”),使得实际循环历时tC,R从循环历时tC偏离不超过预定义偏差dt。
为了解说,下表示出了同步消息D的示例性进展和从时间tS的时间偏移Δt。在下面的示例中,为了简单起见,同步消息D由D0至D2连续表示。只有当接收到同步消息D时,才在此示例中重新计算时间片段Δt1并且重新建立中断I的后续触发时间点tI+n。这被执行直到中断已经被再次调整(在预定义容差值G内)。当接收到同步消息D时计算中断偏移ΔtC,如下表中进一步所示。然而,当接收同步消息D时(使用时间跳跃TJ),从时间tS与主时间tM的同步(即,时间偏移Δt的校正)有利地已经发生。
在该示例中,例如,出于上述原因,从设备3在同步消息D0之前失去与主设备2的同步。在同步消息D0的时间点,从设备3具有100300μs的时间偏移Δt。同步单元5.1基于所接收的主时间tM计算时间偏移Δt并且首先执行根据本发明的至少一个时间跳跃TJ。如上所述,至少一次跳跃时间TJ不必在单个步骤中发生,而是也可在若干步骤中发生。在同步消息D0的时间点处,执行时间跳跃TJ,并且此后剩余的中断偏移ΔtC是300μs。在同步消息D0和D1之间,同步单元5.1在适配历时AD上执行数个(N)触发时间点tI+n的多次适配,其中中断I的相继触发时间点tI+n在时间上偏移。在同步消息D1之前,利用同步消息D0标识的中断偏移ΔtC被校正,并且触发时间点tI可以按照计划再次被触发。例如,在失去时间同步之前,中断I在具有中断能力的网络组件8’(从设备)中每1000μs被触发,并且因此具有1000μs的循环历时tC。时间跳跃JP之后的中断I的触发时间点tI+1可以在适配历时AD上被适配。例如,可以每900μS触发中断I,并且中断I的实际循环时间tC,R因此也改变。由此,最大偏差dt也被利用并被遵守。当然,不言而喻,在负的时间偏移处,时间跳跃JP之后的中断I的触发时间点tI+1也可导致更高的实际循环时间tC,R,诸如例如1050μs。根据本发明的函数在具有中断偏移ΔtC和适配历时AD的表中描述。
由于频率的变化和绝对时间的变化,偏差可以发生在各种各样的时间点,并且导致主时钟2和从时钟3中的时钟5.2发散。因此,尽管在新的同步消息D1的情况中是中间同步,但是可以建立新的时间偏移Δt。作为示例,在同步消息D1的表1中,该偏移是450μs。
现在,根据本发明的同步如同同步消息D0一样进行时间跳跃TJ以及中断偏移ΔtC的随后校正。在该过程中,自适应历时AD中的最大偏差dt并不总是被利用,而是在上一步骤中自适应历时AD仅为50μS。
/>
在有利的实施例中,在时间同步中不是仅考虑具有中断能力的网络组件8’中的单个中断I(8')的循环历时tC,而是考虑中断I的多个(n个)循环历时。例如,定时器6可在有中断能力的网络组件8’中生成具有第一循环历时tC,1的第一中断I1和具有第二循环历时tC,2的第二中断12。同样,也可以提供多个定时器6。然后,可能有必要将根据本发明的方法分开地应用于每个中断I1、I2。
还可以设想将两个或若干个网络彼此连接,这些网络具有至少一个主设备和至少一个从设备。如上所述,每个网络可以自主运行并且可以执行时间同步。然而,还可能存在其中网络必须在时间上与另一网络同步的应用或情形。例如,在引导具有彼此连接的多个网络的系统时,这可能是必要的。网络可以彼此独立地启动,并且每个网络可以首先在内部执行所描述的时间同步。此后,网络可以与另外网络同步。还可以想到将网络连接到另外网络。这可以例如将组件添加到具有网络的系统(诸如例如机器)时发生。以上描述的时间同步还可以在这样的情况下使用。
假设在过程中,如图5中所示,网络1具有主设备2和至少一个从设备3(具有中断能力的网络组件8、8’、8”)。另外的网络1.1同样具有另外的主设备2.1和至少一个从设备3.1。在每个网络1、1.1内,如上所述,使用各自的主设备2、2.1的同步消息D、D2.1进行时间同步。为了使网络1、1.1彼此同步,另外的网络1.1的另外的主设备2.1充当网络1的从设备。如图5中所示,该另外的主设备2.1连接至网络1用于此目的。因此,如上所述,充当网络1的从设备的另外主设备2.1经由来自网络1的主设备2的同步消息D在时间方面同步。由此,另外的主设备2.1现在可以使用同步消息D2.1在它自己的另外的网络1.1中同步从设备3.1。
为此目的,有利的是如果建立网络层级,该网络层级预定义了哪个网络1、1.1为了时间同步而作为与网络1同步的另外或下级网络1.1进行操作,该网络1相对于时间同步充当上级网络1。
Claims (4)
1.一种用于网络(1)中的至少一个主设备(2)与至少一个从设备(3)之间的时间同步的方法,
其中所述至少一个主设备(2)预定义主时间(tM)并且经由所述网络(1)将具有所述主时间(tM)的至少一个同步消息(D)发送给所述至少一个从设备(3),
其中从时间(tS)在其上运行的所述至少一个从设备(3)使用所述同步消息(D)来使用同步将所述从时间(tS)调整到所述主时间(tM),以及
其中所述至少一个从设备(3)是所述网络(1)的具有中断能力的网络设备(8’、8”)并且使用访问所述从时间(tS)以生成至少一个中断(I)的定时器(6),所述至少一个中断(I)在与所述从时间(tS)同步的相应触发时间点(tI)处以预定义循环历时(tC)重现,
其特征在于,当同步消息(D)到达时,在所述从设备(3)中确定所述主时间(tM)与所述从时间(tS)之间的时间偏移(Δt),
确定所述时间偏移(Δt)的时间片段(Δt1),所述时间片段对应于所述至少一个中断(I)的所述预定义循环历时(tc)的整数倍,
从所述时间片段(Δt1)和所述时间偏移(Δt)确定中断偏移(ΔtC);
由所述从设备(3)中的同步单元(5.2)执行至少一个时间跳跃(TJ)以校正所述时间偏移(Δt);
以如下方式设置所述至少一个中断(I)在所述至少一个时间跳跃(TJ)之后的第一触发时间点(tI+1):使得所述至少一个时间跳跃(TJ)之后的所述第一触发时间点(tI+1)相对于所述至少一个时间跳跃(TJ)之前的最后一个触发时间点(tI)偏移所述预定义循环历时(tC);
以及所述至少一个时间跳跃(TJ)之后的所述至少一个中断(I)的数个(N)触发时间点(tI+n)在时间上移位适配历时(AD),在所述至少一个时间跳跃(TJ)之后的所述数个(N)触发时间点(tI+n)中的每个触发时间点(tI+n)的适配历时(AD)以如下方式从时间范围中选择:使得所述适配历时(AD)最多对应于所述中断偏移(ΔtC)并且最多对应于所述预定义时间偏差(dt),并且所述至少一个时间跳跃(TJ)之后的所述数个(N)触发时间点(tI+n)的所有适配历时(AD)的总和对应于所述中断偏移(ΔtC),从而将预定义容差值(G)纳入考虑。
2.如权利要求1所述的方法,其特征在于,所述具有中断能力的网络组件(8'、8'’)被配置成具有另外主设备(2.1)的另外网络(1.1),其中所述网络(1)的所述至少一个主设备(2)将所述主时间(tM)预定义至所述另外网络(1.1)的所述另外主设备(2.1)。
3.一种包括多个网络组件(8、8'、8”)的网络,其中相对于时间同步,至少一个网络组件(8、8'、8”)是具有主时间(tM)的主设备,而至少一个另外网络组件(8、8'、8”)是具有从时间(tS)的从设备(3),
其中所述主设备(2)被设计成将至少一个同步消息(D)发送给所述从设备(3),并且所述从设备(3)被设计成使用同步将所述从时间(tS)调整到所述主时间(tM),以及
其中所述至少一个网络组件(8、8'、8”)是具有中断能力的网络组件(8’、8”),其具有访问所述从时间(tS)以便生成至少一个中断(I)的定时器(6),所述至少一个中断(I)在与所述从时间(tS)同步的相应触发时间点(tI)处以预定义循环历时(tC)重现,
其特征在于,所述具有中断能力的网络组件(8'、8”)具有同步单元(5.2),所述同步单元被设计成执行以下步骤:
-当同步消息(D)到达时,确定所述主时间(tM)与所述从时间(tS)之间的时间偏移(Δt);
-确定所述时间偏移(Δt)的时间片段(Δt1),所述时间片段对应于所述至少一个中断(I)的所述预定义循环历时(tc)的整数倍;
从所述时间片段(Δt1)和所述时间偏移(Δt)确定中断偏移(ΔtC);
执行至少一个时间跳跃(TJ)以校正所述主时间(tM)与所述从时间(tS)之间的时间偏移(Δt);
-以如下方式设置所述至少一个中断(I)在所述至少一个时间跳跃(TJ)之后的第一触发时间点(tI+1):使得所述至少一个时间跳跃(TJ)之后的所述第一触发时间点(tI+1)相对于所述至少一个时间跳跃(TJ)之前的最后一个触发时间点(tI)偏移所述预定义循环历时(tC);以及
-将所述至少一个中断(I)的在所述至少一个时间跳跃(TJ)之后的数个(N)触发时间点在时间上移位适配历时(AD),其中如下方式从时间范围中选择在所述至少一个时间跳跃(TJ)之后的所述数个(N)触发时间点(tI+n)中的每个触发时间点(tI+n)的所述适配历时(AD):使得所述适配历时(AD)最多对应于所述中断偏移(ΔtC)并且最多对应于所述预定义时间偏差(dt),以及所述至少一个时间跳跃(TJ)之后的所述数个(N)触发时间点(tI+n)的所有适配历时(AD)的总和对应于所述中断偏移(ΔtC),从而将预定义容差值(G)纳入考虑。
4.如权利要求3所述的网络,其特征在于,所述至少一个具有中断能力的网络组件(8'、8'’)被配置成具有另外主设备(2.1)的另外网络(1.1),其中所述网络(1)的所述至少一个主设备(2)被设计成将所述主时间(tM)预定义至所述另外网络(1.1)的所述另外主设备(2.1)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ATA50540/2022 | 2022-07-19 | ||
AT505402022 | 2022-07-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117424668A true CN117424668A (zh) | 2024-01-19 |
Family
ID=87378051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310892647.9A Pending CN117424668A (zh) | 2022-07-19 | 2023-07-19 | 网络中的主设备与从设备之间的时间同步 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240028067A1 (zh) |
EP (1) | EP4311135A1 (zh) |
CN (1) | CN117424668A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118091221A (zh) * | 2024-04-23 | 2024-05-28 | 成都玖锦科技有限公司 | 一种fpga并行架构的多通道触发偏移调节方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3748204B2 (ja) * | 2000-11-27 | 2006-02-22 | 三菱電機株式会社 | 周期制御同期システム |
CN111953469B (zh) * | 2020-07-21 | 2023-03-24 | 季华实验室 | 一种伺服驱动器与Ethercat DC时钟的同步方法、装置及电子设备 |
-
2023
- 2023-07-17 EP EP23185713.7A patent/EP4311135A1/de active Pending
- 2023-07-18 US US18/223,281 patent/US20240028067A1/en active Pending
- 2023-07-19 CN CN202310892647.9A patent/CN117424668A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118091221A (zh) * | 2024-04-23 | 2024-05-28 | 成都玖锦科技有限公司 | 一种fpga并行架构的多通道触发偏移调节方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4311135A1 (de) | 2024-01-24 |
US20240028067A1 (en) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4185926B2 (ja) | ロボット協調制御方法及びシステム | |
US11316605B2 (en) | Method, device, and computer program for improving synchronization of clocks in devices linked according to a daisy-chain topology | |
US7356617B2 (en) | Periodic control synchronous system | |
EP3026515B1 (en) | Programmable controller system | |
CN117424668A (zh) | 网络中的主设备与从设备之间的时间同步 | |
KR101636496B1 (ko) | 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 | |
JP2009157913A (ja) | 産業用コントローラ | |
WO2019107022A1 (ja) | 制御装置および制御方法 | |
US11456849B2 (en) | Method and apparatus for synchronizing different communication ports | |
CN102780555A (zh) | 通信系统中的时钟同步方法及装置 | |
CN109117395B (zh) | 微计算机 | |
US7082175B2 (en) | Method for controlled synchronization to an astable clock system, and reception unit corresponding thereto | |
JP4487522B2 (ja) | モータ駆動装置 | |
US20240028066A1 (en) | Continuous time synchronization | |
JP4616054B2 (ja) | 測定システム | |
JP5626589B2 (ja) | ネットワーク機器、および同機器における時刻同期方法 | |
CN112769535B (zh) | 基于CoDeSys控制器的EtherCAT总线型伺服与脉冲型伺服的同步方法 | |
TWI735401B (zh) | 通信裝置、通信系統、通信方法及程式 | |
US20230079221A1 (en) | Time synchronization in a network | |
JP6951019B2 (ja) | カウンタ装置、時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム | |
JP2000253689A (ja) | モータ制御装置およびその同期方法 | |
JP7008894B1 (ja) | 時刻同期従属装置、時刻共有システム、時刻共有方法及びプログラム | |
EP4318985A1 (en) | Co-ordinated resynchronization of clocks in power grid systems | |
Sax et al. | Towards COTS component synchronization for low SWaP-C flight control systems | |
JP2023165443A (ja) | 制御装置及び分散制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |