TIME SYNCHRONIZATION IN A REAL-TIME NETWORK

DE502021007646D1Active Publication Date: 2025-06-18ABB (SCHWEIZ) AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE502021007646
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-11-06
Filing Date
2021-11-04
Publication Date
2025-06-18
Estimated Expiration
2041-11-04

AI Technical Summary

Technical Problem

Existing synchronization methods in real-time networks require high processor power and are less accurate, with limitations in signal propagation delay compensation and flexibility in communication roles.

Method used

A method where synchronization packets from a synchronization master propagate along a specified synchronization path, allowing participants to synchronize their local network times by calculating time differences and network time offsets, which can be corrected for signal propagation times.

Benefits of technology

This method achieves more precise synchronization with lower computational overhead compared to complex methods like PTP, while maintaining accuracy and flexibility, even in the event of a synchronization master failure.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention relates to a method for synchronizing the respective local network time of participants in a real-time network, wherein the participants are connected to one another via ports, wherein the participants each transmit synchronization packets to connected participants, preferably cyclically, wherein a participant in the real-time network is designated as the synchronization master, wherein the local network time of the other participants is synchronized to the local network time of the synchronization master using the synchronization packets.

[0002] Central processing units, bus modules, drive modules, bus couplers, IO modules with integrated network connections, cameras, HMI devices, network-integrated sensors and actuators, and network infrastructure (switches, bridges, etc.) can be configured as participants in a real-time network. Each participant has a local time, which is determined by a counter for each participant. However, due to oscillator tolerances, the counters are not synchronized with each other. However, to enable interaction between participants in a real-time network and physical processes in control systems, for example, the participants require a common time domain. This ensures more precise and faster control of processes in the real-time network. Physical processes can include, for example, the movements of machine parts or goods on a machine.The physical processes are initiated by participants designed as actuators and recorded by participants designed as sensors.

[0003] This means that each participant can be provided with a local network time that is derived from the local time. However, due to oscillator tolerances of the respective counters, these local network times of the participants must be synchronized with each other to an accuracy of several hundred milliseconds to nanoseconds. Complex synchronization methods based on extensive software stacks, such as those provided for in the PTP protocol, are known for this purpose. However, such methods require a correspondingly high processor power from the participants. Simpler synchronization methods are also known, particularly for real-time networks that are divided into masters and slaves. The division of roles into masters and slaves relates to a large part or all of the communication in the real-time network and is fixed and therefore cannot be changed or can only be changed indirectly.The predefined communication master is also assigned the role of synchronization master. This synchronization master sends a synchronization signal to all participants to synchronize their local times to the global time. The master uses a defined part of the existing network protocol, such as a recognized frame start, to determine the global time. Well-known simple synchronization methods are used in the Powerlink, X2X, Sercos, and EtherCat network protocols. These simple synchronization methods place lower demands on processor performance, but also have a limited range of functions and are naturally less accurate than complex synchronization methods. For example, signal propagation delay compensation is not possible with well-known simple synchronization methods.Known synchronization methods are software-based, meaning they can only become active after the network has been started. Real-time operation is therefore only possible after synchronization has been completed, and the time until the first synchronization is limited by the software startup time.

[0004] GB 2426164 A, US 7447931 B1, WO 2016015769, EP 3016306 A1, WO 2005 / 119951 A1 disclose time synchronization, wherein a master sends a synchronization packet to all connected slaves to perform time synchronization. Consequently, a master sends a synchronization packet and broadcasts it to all slaves in a network. Failover masters, which take over the role of the old master in the event of a failure, are also described in the prior art. However, a synchronization path is never described.

[0005] EP 2544389 A1 discloses a time synchronization system, where a time sync master is supported by a clock sync master in a subordinate domain. The synchronization of the slaves of a domain occurs along a synchronization path. However, during transmission along the synchronization path, the operating clock and the clock pulse of the two masters are passed on unchanged, and each slave calculates the difference to its own time from this.

[0006] Further relevant prior art is disclosed by MEIER S ET AL: "IEEE 1588 syntonization and synchronization functions completely realized in hardware", 2008 IEEE INTERNATIONAL SYMPOSIUM ON PRECISION CLOCK SYNCHRONIZATION FOR MEASUREMENT, CONTROL AND COMMUNICATION IEEE PISCATAWAY, NJ, USA, September 22, 2008 (2008-09-22), pages 1-4, ISBN: 978-1-4244-2275-3.

[0007] It is an object of the present invention to provide an improved synchronization of participants in a real-time network.

[0008] The invention is defined by the independent claims.

[0009] This object is achieved in that, using the synchronization packets starting from the synchronization master along a synchronization path, the local network time of the participants located along the synchronization path is synchronized to the local network time of the synchronization master, and in that the participants transmit a time stamp of their local time with the synchronization packet at the time of sending the respective synchronization packet, and in that the participants calculate a difference time from a difference between the time stamp received in the synchronization packet and a time stamp of their local time upon receipt of the respective synchronization packet, for a port via which a synchronization packet is sent, wherein the local network time of the participants is synchronized using the difference time.

[0010] The method according to the invention can be easily implemented at the participants in hardware (e.g. in an ASIC or an FPGA - Field Programmable Gate Array, an integrated circuit (IC) of digital technology into which a logic circuit can be loaded) and yet enables more precise synchronization of the participants' local times than is provided for, for example, in the X2X protocol. Nevertheless, the structure of the method according to the invention is considerably less complex than, for example, in the comparably accurate PTP synchronization method. This means that overhead can be saved with comparable synchronization accuracy, or a higher synchronization accuracy can be achieved with comparable overhead. Preferably, the participants transmit a timestamp of their local time with the synchronization packet at the time the respective synchronization packet is sent.For a port through which a synchronization packet is received, the participants calculate a time difference based on the difference between the timestamp received in the synchronization packet and the timestamp of their local time when the respective synchronization packet is received. No time difference is calculated for a port through which no synchronization packet is received. The participants' local network time is further synchronized to the local network time of the synchronization master using the respective time differences.

[0011] Preferably, a synchronization path is specified starting from the synchronization master and running through the other participants, whereby the local network times of the other participants along the synchronization path are synchronized to the local network time of the synchronization master.

[0012] If the real-time network is linear and a participant at one end of the real-time network is designated as the synchronization master, then the synchronization path can be viewed as the synchronization direction. If the real-time network is linear and a participant in the middle (i.e., not at one end) of the real-time network is designated as the synchronization master, then the synchronization path runs in two synchronization directions (starting from the synchronization master). If the real-time network is branched and a participant forming the branch is designated as the synchronization master, then the synchronization path runs in three or more (depending on the type of branch) synchronization directions (starting from the synchronization master).

[0013] In a real-time network, several participants can also be designated as synchronization masters, with each master having an associated synchronization path.

[0014] Advantageously, the participants each transmit a network time offset of one of their other ports with the synchronization packet. The participants calculate the network time offset of the ports via which a synchronization packet is received, each from the sum of the calculated difference time and a network time offset received in the synchronization packet.

[0015] If a participant has two ports, it transmits the network time deviation of the other port via one port. If a participant has more than two ports, it is specified from which port(s) the network time deviation is forwarded to which port(s). If a synchronization path is known, the synchronization path can specify which port(s) are assigned to which port(s) for forwarding the network time deviation, whereby the network time deviation can be forwarded along or against the synchronization path.

[0016] Preferably, the synchronization master transmits a specified network time offset along the synchronization path with the synchronization packet. This can also be interpreted as specifying a network time offset for the synchronization master for ports located opposite the synchronization path, which is then transmitted via the port along the synchronization path. The participants calculate their local network time from the difference between their local time and the network time offset of the port located opposite the synchronization path.

[0017] Since the synchronization path originates from the synchronization master, the port that is not located in the direction of the synchronization path is considered to be "located opposite the synchronization path" and is preferably assigned a network time offset, preferably zero. For ports that do not receive a synchronization packet, a network time offset of zero is specified.

[0018] For the ports of the synchronization master arranged opposite to the synchronization path, the previously specified network time deviation applies, which of course can also be zero.

[0019] The synchronization path therefore specifies along which participants and ports the local network time is synchronized.

[0020] The participants can correct the network time deviation of the ports via which a synchronization packet is received by a signal propagation time of the received synchronization packet.

[0021] To this end, the participants can transmit the time difference of the ports through which the respective synchronization packet is sent with the synchronization packet. The participants can also calculate the signal propagation time of the received synchronization packet from the time difference received with the synchronization packet and the time difference of the port through which the synchronization packet is received, preferably from halving the difference between the received time difference and the time difference of the port through which the synchronization packet is received.

[0022] The time difference can be filtered by the participants, reducing measurement inaccuracies and quantization effects.

[0023] Furthermore, the participants can calculate and preferably filter a grid time deviation difference from a current grid time deviation in a current cycle and a grid time deviation from a previous cycle. The calculated and preferably filtered grid time deviation difference is added to the current grid time deviation in the current cycle to obtain a corrected grid time deviation difference, and the corrected grid time deviation difference replaces the original current grid time deviation. This allows deviations in the synchronized grid time due to oscillator tolerances to be compensated.

[0024] If the designated synchronization master fails, another participant is preferably designated as the new synchronization master. This can be done explicitly or implicitly, i.e., automatically. However, a new synchronization path can be designated starting from the new synchronization master. In particular, if a synchronization master fails at one end of the real-time network, the participant now at the end can also serve as the synchronization master. Since the synchronization path does not change, the participants continue to calculate their local network time from the difference between their local time and the network time deviation of a port arranged opposite the synchronization path, which therefore also does not change. This means that the real-time network remains synchronized, even if the previous synchronization master fails. During operation, fundamental changes (i.e.Even without failure of the previous synchronization master, another participant can be defined as the synchronization master, which may be necessary, for example, to change an operating mode in the real-time network.

[0025] Preferably, the synchronization packet is transmitted in ISO-OSI Layer 2. This results in particularly low overhead.

[0026] Preferably, the participants in the real-time network are connected to each other linearly. However, the real-time network can also have a non-linear structure, such as a branched or ring-shaped structure. A branched structure differs from a linear structure in that it can also have participants that have not only one or two neighboring participants, but also three or more neighboring participants.

[0027] The real-time network can be an X2X+ network. X2X+ is a serial real-time network whose nodes are connected to each other via switches. These switches are typically X20 bus modules plugged in series, but can also be implemented differently. Data transmission in an X2X+ real-time network conforms to the LVDS (Low Voltage Differential Signaling) standard, an interface standard for high-speed data transmission. The data rate is very high at 512 Mbps, and no clock signal is transmitted. For this reason, the clock signal is recovered at the signal receiver.

[0028] The synchronization packet can contain one or more frames with

[0029] Include synchronization information. The synchronization packet can be transmitted in a management frame, since the associated management channel has the highest priority and a channel can be interrupted by one with higher priority. Preferably, a management frame with a synchronization packet is generated every 4 µs. A timestamp of the local time, the start-of-management symbol, can be generated. The end of the management frame is indicated by the end-of-management symbol.

[0030] Instead of a linear real-time network, a branched real-time network can also be provided. The synchronization direction can be branched to reach all participants via synchronization packets.

[0031] The present invention is described below with reference to the Figuren 1a bis 2c which show exemplary, schematic and non-limiting advantageous embodiments of the invention. Fig.1a a linear real-time network comprising three participants Fig.1b the linear real-time network with a synchronization master at the end of the real-time network, Fig.1c the linear real-time network with a synchronization master in the middle of the real-time network, Fig.2a a preferred design of the real-time network Fig. 1a , Fig.2b a preferred design of the real-time network Fig. 1b , Fig.2c a preferred design of the real-time network Fig. 1c .

[0032] In Fig. 1a 1 shows a linear real-time network 1 comprising three nodes 11, 12, 13. It is assumed that each node 11, 12, 13 has a first port 11[1], 12[1], 13[1] and a second port 11[2], 12[2], 13[2]. The nodes 11, 12, 13 each have a local time t1, t2, t3, which is determined by an associated counter. The local time t1, t2, t3 of the nodes 11, 12, 13 are not synchronized with each other due to oscillator tolerances. A local network time tn1, tn2, tn3 is also provided for the nodes 11, 12, 13, which is derived from the respective local time t1, t2, t3. However, the local network times tn1, tn2, tn3 of participants 11, 12, 13 are not synchronized with each other.

[0033] If participants in a real-time network are connected to each other linearly, this means that a participant at one end of the linear real-time network is connected to another participant via only one port, with the other port (or ports) not in use. Likewise, a participant at another end of the linear real-time network is connected to another participant via only one port, with the other port (or ports) not in use. The participants arranged between the participants at the end in a linear real-time network are each connected to other participants via two ports.

[0034] In Fig. 1a This means that the first port 11[1] of the first participant 11 and the second port 13[2] of the third participant 13 are not occupied, since the first participant 11 and the third participant 13 each represent one end of the linear real-time network 1. The second participant 12 is located between the participants 11, 13 arranged at the ends and is connected via its first port 12[1] to the second port 11[2] of the first participant 11 and via its second port 12[2] to the first port 13[1] of the third participant 13.

[0035] The participants 11, 12, 13 are configured to exchange synchronization packets D1[2], D2[1], D2[2], D3[1] with their neighboring participants. The first participant 11 transmits a data packet D1[2] via its second port 11[2] to the second participant 12, which receives the data packet D1[2] on its first port 12[1]. The second participant 12 transmits a data packet D2[1] via its first port 12[1] to the first participant 11, which receives the data packet D2[1] on its second port 11[2]. Likewise, the second participant 12 transmits a data packet D2[2] to the third participant 13, which receives the data packet D2[2] on its first port 13[1]. The third subscriber 13 transmits a data packet D3[1] via its first port 13[1] to the second subscriber 12, which receives the data packet D3[1] at its second port 12[1].

[0036] According to the invention, one of the participants 11, 12, 13 is now designated as synchronization master SM. Fig. 1b represents the real-time network 1 Fig. 1a where the first participant 11 is chosen as the synchronization master SM. In Fig. 1c the second participant 12 is selected as the synchronization master SM. Using the synchronization packets D1[2], D2[1], D2[2], D3[1], the local network time tn1, tn2, tn3 of the other participants 11, 12, 13 is synchronized to the local network time tn1, tn2, tn3 of the synchronization master SM.

[0037] It is advantageous to specify a synchronization path S starting from the synchronization master SM via the other participants 11, 12, 13 of the real-time network 1. In Fig. 1b Starting from the first participant 11 as synchronization master SM, the path to the right via the second and third participants 12, 13 is logically determined as synchronization path S. This means that the synchronization path S leads from the first participant 11 via its second port 11[2] to the first port 12[1] of the second participant 12 and further via its second port 12[2] to the first port 13[1] of the third participant 13 and ends at the third participant 13. In Fig. 1c However, this means that the synchronization path S, starting from the second participant 12 as the synchronization master SM, leads to the left and to the right in order to reach all other participants 11, 13. The synchronization path S therefore leads from the second participant 12 via its first port 12[1] to the second port 11[2] of the first participant 11, and equally from the second participant 12 via its second port 12[2] to the first port 13[1] of the third participant 13.

[0038] If the real-time network 1 were Fig. 1b designed as a ring network (not shown), ie the second port 13[2] of the third subscriber 13 is connected to the first port 11[1] of the first subscriber 11, then starting from the first subscriber 11 as synchronization master SM would be as in Fig. 1b a synchronization path S via the second subscriber 12 to the third subscriber 13 would be possible, where the synchronization path S ends. However, in the said ring network, a synchronization path S would also be possible, starting from the first subscriber 11 via its first port 11[1] to the second port 13[2] of the third subscriber 13 and further via the first port 13[1] of the third subscriber to the second port 12[2] of the second subscriber 12, where the synchronization path S ends. Likewise, in the said ring network, a split synchronization path S would be possible, starting from the first subscriber 11, i.e. via its first port 11[1] to the second port 13[2] of the third subscriber 13 and also via its second port 11[2] to the first port 12[1] of the second subscriber 12, whereby the synchronization path S ends at the second and third subscribers 12, 13.

[0039] According to the invention, using the synchronization packets D1[2], D2[1], D2[2], D3[1] starting from the synchronization master SM and along the synchronization path S, the local network time tn1, tn2, tn3 of the participants located along the synchronization path S is synchronized to the local network time tn1, tn2, tn3 of the synchronization master SM.

[0040] This means that in Fig. 1b the second subscriber 12 synchronizes its local network time tn2 with the local network time tn1 of the first subscriber 11, using the data packet D1[2]. The third subscriber 13 synchronizes its local network time tn3 with the local network time tn2 of the second subscriber 12 and thus with the local network time tn1 of the first subscriber 11, using the data packet D2[2]. Thus, the first subscriber 11, as the synchronization master SM, specifies its local network time tn1 as the global network time if zero is specified as the network time deviation td10[1]. Otherwise, the specified network time deviation td10[1] on the synchronization master SM determines how far its local time t1 deviates from the global network time.

[0041] In Fig. 1c The second subscriber 12, as the synchronization master SM, specifies its local network time tn2 as the global network time, whereby the local network time tn1 of the first subscriber 11 is synchronized to the local network time tn2 of the second subscriber 12, using the data packet D2[1]. Similarly, the third subscriber 13 synchronizes its local network time tn3 to the local network time tn2 of the second subscriber 12, using the data packet D2[2].

[0042] Fig. 2a represents a preferred embodiment, wherein the real-time network 1 is configured Fig. 1a is used. In Fig. 2b will be like in Fig. 1b the first participant 11 is used as synchronization master SM and in Fig. 2c as in Fig. 1c the second participant 12 is used as synchronization master SM.

[0043] Preferably, the subscribers 11, 12, 13 calculate a difference time td1[2], td2[1], td2[2], td3[1] for the ports 11[2], 12[1], 12[2], 13[1], via which a synchronization packet D1[2], D2[1], D2[2], D3[1] is received, whereupon the local network time tn1, tn2, tn3 of the subscribers 11, 12, 13 is synchronized using the difference times td1[2], td2[1], td2[2], td3[1]. For this purpose, participants 11, 12, and 13 create a time stamp of their local time t1, t2, and t3 at the time of sending the respective synchronization packet D1[2], D2[1], D2[2], and D3[1] and transmit it with the synchronization packet D1[2], D2[1], D2[2], and D3[1]. Participants 11, 12, and 13 also create a time stamp of their local time t1, t2, and t3 at the time of receiving the respective synchronization packet D1[2], D2[1], D2[2], and D3[1].To determine the difference time td1[2], td2[1], td2[2], td3[1] of a port 11[2], 12[1], 12[2], 13[1], the difference between the time stamp generated upon receipt of a synchronization packet D1[2], D2[1], D2[2], D3[1] and the time stamp received with this synchronization packet D1[2], D2[1], D2[2], D3[1] is calculated.

[0044] For the real-time network according to Fig. 2a This means that the first participant 11 transmits a time stamp of its local time t1 with the data packet D1[2]. Upon receiving the data packet D1[2], the second participant determines a time stamp of its local time t2 and calculates its difference time td2[1] for the first port 12[1] from the difference between the time stamps: td2[1] = t2-t1.

[0045] Likewise, the second participant 12 transmits a time stamp of its local time t2 to the first participant 11 with the data packet D2[1] and a time stamp of its local time to the third participant 13 with the data packet D2[2]. Upon receiving the data packet D2[1], the first participant 11 determines a time stamp of its local time t1 and calculates its difference time td1[2] at the second port 11[2] from the difference between these time stamps: td1[2] = t1-t2. Upon receiving the data packet D2[2], the third participant 13 determines a time stamp of its local time t3 and calculates its difference time td3[1] for the first port 13[1] from the difference between these time stamps: td3[1] = t3-t2.

[0046] Similarly, the third participant 13 transmits a time stamp of its local time t3 to the second participant 12 with the data packet D3[1]. Upon receiving the data packet D3[1], the second participant 12 determines a time stamp of its local time t2 and calculates its difference time td2[2] for the second port 12[2] from the difference between these time stamps: td2[2] = t2-t3.

[0047] For ports over which no synchronization packet is received, no difference time td1[1] td3[2] is formed. In Fig. 2a the first participant 11 does not receive a synchronization packet via its first port 11[1] and the third participant 13 does not receive a synchronization packet via its second port 13[2].

[0048] Preferably, the participants 11, 12, 13 each transmit a network time deviation td10[1], td20[1], td20[2], td30[2] of another port of the participant 11, 12, 13 with the synchronization packet D1[2], D2[1], D2[2], D3[1]. If a participant 11, 12, 13 has two ports 11[1], 11[2], 12[1], 12[2], 13[1], 13[2], it transmits the network time deviation of the (exactly one) other port 11[1], 11[2], 12[1], 12[2], 13[1], 13[2]. If a participant 11, 12, 13 has more than two ports, it is specified (e.g., in advance) from which ports the network time deviation is forwarded to which ports. This assignment of the ports of a participant can be done in one direction or in both directions. If a synchronization path S is known, the synchronization path S can specify from which ports the network time deviation is forwarded to which ports.It can be provided that the network time deviation is forwarded only in the direction of the synchronization path S, or according to the port assignment of the synchronization path S without taking the direction into account (ie in the direction of the synchronization path S and against the direction of the synchronization path S).

[0049] This means, viewed along the synchronization path S, that the first subscriber 11 transmits a network time deviation td10[1] of its first port 11[1] to the second subscriber 12 with the data packet D1[2] via the second port 11[2] and the second subscriber 12 transmits a network time deviation td20[1] of its first port 12[1] to the third subscriber 13 with the data packet D2[2] via its second port 12[2].

[0050] In addition, contrary to the synchronization path S, the third subscriber 13 can transmit a network time deviation td30[2] of its second port 13[2] to the second subscriber 12 with the data packet D3[1] via the first port 13[1], and the second subscriber 12 can transmit a network time deviation td20[2] of its second port 12[2] to the first subscriber 11 with the data packet D2[1] via its first port 12[1]. For better illustration, however, only a transmission of the network time deviation in the direction of the synchronization path S is considered below.

[0051] However, in order to obtain the network time deviation td10[2], td20[1], td20[2], td30[1] of a port 11[2], 12[1], 12[2], 13[1], via which a synchronization packet D2[1], D1[2], D3[1], D2[2] is received, this is calculated from the already calculated difference time td1[2], td2[1], td2[2], td3[1] and again a network time deviation td10[2], td20[1], td20[2], td30[1] received in the synchronization packet D2[1], D1[2], D3[1], D2[2].

[0052] To start the calculation of the grid time deviation td10[1], td20[1], td20[2], td30[2], initial values, preferably zero, can be specified for the grid time deviation td10[1], td10[2], td20[1], td20[2], td30[1], td30[2].

[0053] For ports 11[1], 13[2], via which no synchronization packet is received, a network time deviation td10[1], td30[2] of zero can be specified.

[0054] For Fig. 2a A network time deviation td10[1] of zero is specified for the network time deviation td10[1] of the first port 11[1] of the first participant 11. This network time deviation td10[1] of the first port 11[1] is transmitted to the second participant 12 via the other, second port 11[2] of the first participant 11.

[0055] The second subscriber 12 thus receives the network time deviation td10[1] at its first port 12[1] with the first data packet D1[2] and, using the difference time td2[1] of its first port 12[1], calculates the network time deviation td20[1] = td10[1] + td2[1] of the first port 12[1]. This network time deviation td20[1] of the first port 12[1] is transmitted in the data packet D2[2] via the other, second port 12[2] to the third subscriber 13. The third subscriber 13 receives the data packet D2[2] at its first port 13[1] and calculates the network time deviation td30[1] of the first port 13[1] using the difference time td3[1] of the first port 13[1] as td30[1] = td20[1]+td3[1].

[0056] In the step of calculating the local network time tn1, tn2, tn3 of the participants 11, 12, 13, the synchronization path S is taken into account. Thus, the network time tn1, tn2, tn3 of the participants 11, 12, 13 is calculated from the difference between their local time t1, t2, t3 and the network time deviation (in Fig. 2b td10[1], td20[1], td30[1]) from ports arranged opposite to the synchronization path S (in Fig. 2b 11[1], 12[1], 13[1]). Thus, by selecting the synchronization master SM and thus the synchronization path S, the participants 11, 12, 13 are specified from which port they should calculate the local network time tn1[1], tn2[1], tn3[1], whereby the port opposite to the synchronization path S is selected in each case. As mentioned, the synchronization path S can be disregarded when transmitting the network time deviation. Fig. 2b The first station 11 is selected as the synchronization master SM. The local network time tn1 of the first station 11 is calculated from the difference between its local time t1 and the network time deviation td10[1] of the first port 11[1]. The network time deviation td10[1] is specified, preferably with td10[1] = 0, so that with a network time deviation td10[1] of zero, the local time t1 of the first station 11 specifies its local network time tn1: tn1 = t1 - td10[1] = t1. The other participants 12, 13 synchronize their local network time tn2, tn3 with the local network time tn1 of the first participant 11. The first participant 11 transmits its specified network time deviation td10[1] with the data packet D1[2] to the second participant 12 as explained above. The second participant 12 calculates its local network time tn2 using the (preferably already calculated) network time deviation td20[1] of the first port 12[1], since this is opposite the synchronization path S, to tn2 = t2-td20[1].As explained above, the second subscriber 12 transmits its network time deviation td20[1] with the data packet D2[2] to the third subscriber 13, which calculates its local network time tn3 using its (already calculated) network time deviation td30[1] of the first port 13[1], since this port is opposite the synchronization path, to tn3 = t3-td30[1]. This is in . Fig.2b . the local network time tn2, tn3 of the second subscriber 12 and the third subscriber 13 is synchronized to the network time tn1 of the first subscriber 11 as synchronization master SM.

[0057] In Fig. 2c the second participant 12 is designated as the synchronization master SM. Starting from the synchronization master SM, a synchronization path S is specified via the other participants 11, 13 of the real-time network 1. Fig. 2c This means, as already mentioned for Fig. 1c that the synchronization path S, starting from the second subscriber 12 as synchronization master SM, leads via the first port 12[1] to the first subscriber 11 and via the second port 12[2] to the third subscriber 13.

[0058] By selecting the synchronization path S, the participants 11, 12, 13 are told from which port 11[1], 11[2], 12[1], 12[2], 13[1], 13[2] they should calculate the local network time tn1, tn3, whereby the port 11[1], 11[2], 12[1], 12[2], 13[1], 13[2] is selected in each case opposite to the synchronization path S. The second participant 12 is the synchronization master SM, which is why it transmits a predetermined network time deviation td20[1], td20[2] with the synchronization packet D2[1], D2[2] along the synchronization path (S), i.e. via the ports 12[1], 12[2]. This gives the second subscriber 12 the network time deviation td20[1] = td20[2], preferably zero, for the ports 12[1], 12[2].

[0059] Thus, for the second participant 12, the difference times td2[1], td2[2] of the ports 12[1], 12[2] are not taken into account (the network time deviations td20[1] td20[2] are already specified), but rather the local network time tn2 is calculated directly from the difference between the local time t2 and the specified network time deviation td20: tn2 = t2-td20.

[0060] Due to the given synchronization path S, the first participant 11 takes into account the network time deviation td10[2] of the second port 11[2] when calculating its local network time tn1 (since its second port 11[2] is opposite the synchronization path S): tn1 = t1-td10[2]. Similarly, the third participant 13 takes into account the network time deviation td30[1] of the first port 13[1] when calculating its local network time tn3 (since its first port 13[1] is opposite the synchronization path S): tn3 = t3-td30[1].

[0061] Thus, the local network time tn1, tn3 of the first and third participants 11, 13 is synchronized to the local network time tn2 of the second participant 12.

[0062] The (specified) network time deviation td20 of the second participant 12 (synchronization master SM) describes, as mentioned, the difference between its local time t2 and the global network time .

[0063] Preferably, participants 11, 12, 13 correct their network time deviation td10[1], td10[2], td20[1], td20[2], td30[1], td30[2] each by a signal propagation time tt1[2], tt2[1], tt2[2], tt3[1]. This can be done by transmitting in the synchronization packet D1[2], D2[1], D2[2], D3[1] the difference time td1[2], td2[1], td2[2], td3[1] of the port 11[2], 12[1], 12[2], 13[1], via which the synchronization packet D1[2], D2[1], D2[2], D3[1] is sent (not shown in the figures). The participants 11, 12, 13 calculate their signal propagation time tt1[2], tt2[1], tt2[3], tt3[2] at a port 11[2], 12[1], 12[2], 13[1] from the halved difference of the difference time td1[2], td2[1], td2[2], td3[1] received at this port 11[2], 12[1], 12[2], 13[1] in the synchronization packet D1[2], D2[1], D2[2], D3[1] and the difference time td1[2], td2[1], td2[2], td3[1] determined for this port.This is done under the assumption that the transfer time between neighboring participants 11, 12, 13 is identical to each other.

[0064] This means for the real-time network 1 accordingly Fig.2 that the first participant 11 transmits its difference time td1[2] in the data packet D1[2] and receives the difference time td2[1] of the second participant 12 in the data packet D2[1]. The signal propagation time tt1[2] at its port 11[2] is then calculated as tt1[2] = (td1[2] + td2[1]) / 2. The first participant can thus correct the network time deviation td10[2] of port 11[2] by the signal propagation time tt1[2]: td10[2] = td10[2] - tt1[2]. The second participant 12 calculates its signal propagation time tt2[1] at its port 12[1] according to tt2[1] = (td2[1] + td1[2]) / 2, with which it can correct the network time deviation td20[2] of its port 12[1] by the signal propagation time tt2[1]: td20[1] = td20[1]-tt2[1].

[0065] The second participant 12 transmits its time difference td2[2] in the data packet D2[2] and receives the time difference td3[1] from the third participant 13 in the data packet D2[1]. The signal propagation time tt2[2] at its port 12[2] is then calculated as tt2[2] = (td2[2] + td3[1]) / 2. Thus, the second participant can correct the network time deviation td20[2] of its port 12[2] by the signal propagation time tt2[2]: td20[2] = td20[2]-tt2[2]. The third participant 13 calculates its signal propagation time tt3[1] at its port 13[1] according to tt3[1] = (td3[1] + td2[2]) / 2, with which it can correct the network time deviation td30[1] of its port 13[1] by the signal propagation time tt3[1]: td30[1] = td30[1] - tt3[1].

[0066] Preferably, the difference times td1[2], td2[1], td2[2], td3[1] are filtered after their determination to minimize jitter and quantization effects. A filter with an exponential smoothing function is preferably used for this purpose. Differential times td1[2], td2[1], td2[2], td3[1] corrected for signal propagation times tt1[2], tt2[1], tt2[2], tt3[1] can also be filtered.

[0067] The transmission of the synchronization packets D1[2], D2[1], D2[2], D3[1] between the nodes and the associated synchronization of the network times tn1, tn2, tn3 of nodes 11, 12, and 13 each requires a certain amount of time. Since the counters of nodes 11, 12, and 13, which are used to determine the local times t1, t2, and t3, count at different speeds due to oscillator tolerances, the network times tn1, tn2, and tn3 of nodes 11, 12, and 13 (which are derived from the local times t1, t2, and t3 of nodes 11, 12, and 13) can diverge between synchronization times. This is particularly pronounced in a line topology of participants 11, 12, 13 due to a chained forwarding of the synchronization packets D1[2], D2[1], D2[2], D3[1].Preferably, a difference between the current grid time deviation td10[1], td20[1], td20[2], td30[2] in the current cycle n and the grid time deviation td10[1], td20[1], td20[2], td30[2] from a previous cycle (e.g., the immediately preceding cycle n-1) is calculated, resulting in a grid time deviation difference that describes the drift. Since the deviations in the counting speeds of the counters can change over time, multiple measurements of the grid time deviation difference are advantageous. The grid time deviation difference is preferably determined in each synchronization cycle.

[0068] The grid time deviation difference can be filtered, resulting in a filtered grid time deviation difference. Adding this filtered grid time deviation difference to the current grid time deviation in the current cycle n results in a compensated grid time deviation, which can be used instead of the original grid time deviation td10[1], td20[1], td20[2], td30[2] to compensate for deviations in the synchronized grid time due to oscillator tolerances. By filtering the grid time deviation difference, the accuracy of the compensated grid time deviation can even exceed the measurement resolution if the grid time deviation is monotonic and the grid time deviation difference is at least approximately constant.The accuracy can be increased in particular if the inertia of the change in frequency is greater than the filter length, which is still the case even with long filter lengths, since the change in frequency is only caused by temperature change and aging processes and these processes are very slow.

Claims

1. Method for synchronizing the respective local network time (tn1, tn2, tn3) of participants (11, 12, 13) of a real-time network (1), the participants (11, 12, 13) each having a local time (t1, t2, t3) and the respective local network time (tn1, tn2, tn3) of a participant (11, 12, 13) is derived from the respective local time (t1, t2, t3), wherein the participants (11, 12, 13) are connected to one another via ports (11[1], 11[2], 12[1], 12[2], 13[1], 13[2]), wherein the participants (11, 12, 13) each transmit, preferably cyclically, synchronization packets (D1[2], D2[1], D2[2], D3[1]) to connected participants (11, 12, 13), wherein a participant (11, 12, 13) of the real-time network (1) is designated as a synchronization master (SM), wherein the local network time (tn1, tn2, tn3) of the other participants (11, 12, 13) is synchronized with the local network time (tn1, tn2, tn3) of the synchronization master (SM) by using the synchronization packets (D1[2], D2[1], D2[2], D3[1]), wherein using the synchronization packets (D1[2], D2[1], D2[2], D3[1]) starting from the synchronization master (SM) along a synchronization path (S), the local network time (tn1, tn2, tn3) of the participants (11, 12, 13) along the synchronization path (S) is synchronized with the local network time (tn1, tn2, tn3) of the synchronization master (SM), characterized in that, the participants (11, 12, 13) transmit a time stamp of their local time (t1, t2, t3) with the synchronization packet (D1[2], D2[1], D2[2], D3[1]) at the time of sending the respective synchronization packet (D1[2], D2[1], D2[2], D3 [1), in that the participants (11, 12, 13) for a port (11[2], 12[1], 12[2], 13[1]), via which a synchronization packet (D1[2], D2[1], D2[2], D3[1]) is received, calculate a difference time (td1[2], td2[1], td2[2], td3[1]) from a difference between the time stamp received in the synchronization packet (D1[2], D2[1], D2[2], D3[1]) and a time stamp of their local time (t1, t2, t3) on receipt of the relevant synchronization packet (D1[2], D2[1], D2[2], D3[1]), in that the participants (11, 12, 13) each transmit with the respective synchronization packet (D1[2], D2[1], D2[2], D3[1)) a network time deviation (td10[1], td20[1], td20[2], td30[2]) of one of their other ports, wherein the participants (11, 12, 13) calculate the network time deviation (td10[1], td20[1], td20[2], td30[2]) of the ports (11[2], 12[1], 12[2], 13[1]), via which a synchronization packet (D1[2], D2[1], D2[2], D3[1]) is received, in each case as the sum of the calculated difference time (td1[2], td2[1], td2[2], td3[1]) and a network time deviation (td10[1], td20[1], td20[2], td30[2]) received in the synchronization packet (D1[2], D2[1], D2[2], D3[1]), and in that the participants (11, 12, 13) calculate their local network time (tn1, tn2, tn3) from the difference between their local time (t1, t2, t3) and the network time deviation (td10[2], td20[1], td30[1]) of the port (11[2], 12[1], 12[2], 13[1]) arranged opposite the synchronization path (S), in the direction of the synchronization master, wherein the local network time (tn1, tn2, tn3) of the participants is synchronized.

2. Method according to claim 1, characterized in that, starting from the synchronization master (SM), the synchronization path (S) extending via the additional participants (11, 12, 13) is predefined, and that the local network time (tn1, tn2, tn3) of the further participants (11, 12, 13) along the synchronization path (S) is synchronized with the local network time (tn1, tn2, tn3) of the synchronization master (SM).

3. Method according to claim 2, characterized in that the synchronization master (SM) transmits a specified network time deviation [td10[1], td30[2]) with the synchronization packet (D1[2], D3[1)) along the synchronization path (S) in each case, and that for ports 11[1], 13[2]), via which no synchronization packet (D1[2], D2[1], D2[2], D3[1]) is received, a network time deviation [td10[1], td30[2]) of zero is specified.

4. Method according to any of claims 1 to 3, characterized in that the participants (11, 12, 13) correct the network time deviation (td10[1], td20[1], td20[2], td30[2]) of the ports (11[2], 12[1], 12[2], 13[1]), via which a synchronization packet (D1[2], D2[1], D2[2], D3[1]) is received by a signal propagation time (tt1[2], tt2[1], tt2[2], tt3[1]) of the received synchronization packet (D1[2], D2[1], D2[2], D3[1]).

5. Method according to claim 4, characterized in that the participants (11, 12, 13) each transmit the difference time (td1[2], td2[1], td2[2], td3[1]) of the ports, via which the respective synchronization packet (D1[2], D2[1], D2[2], D3[1]) is sent, with the synchronization packet (D1[2], D2[1], D2[2], D3[1]), and that the participants (11, 12, 13) calculate the signal propagation time (tt1[2], tt2[1], tt2[2], tt3[1]) of the received synchronization packet (D1[2], D2[1], D2[2], D3[1]) from the difference time (td1[2], td2[1], td2[2], td3[1]) received with the synchronization packet (D1[2], D2[1], D2[2], D3[1]) and the difference time (td1[2], td2[1], td2[2], td3[1]) of the port, via which the synchronization packet (D1[2], D2[1], D2[2], D3[1]) is received.

6. Method according to claim 5, characterized in that the participants (11, 12, 13) calculate the signal propagation time (tt1[2], tt2[1], tt2[2], tt3[1]) of the received synchronization packet (D1[2], D2[1]), D2[2], D3[1]) from half the difference of the difference time (td1[2], td2[1], td2[2], td3[1]) received with the synchronization packet (D1[2], D2[1], D2[2], D3[1]) and the difference time (td1[2], td2[1], td2[2], td3[1]) of the port, via which the synchronization packet (D1[2], D2[1], D2[2], D3[1]) is received.

7. Method according to any of claims 1 to 6, characterized in that the participants (11, 12, 13) calculate and preferably filter a network time deviation difference, in each case from an instantaneous network time deviation (td10[1], td20[1], td20[2], td30[2]) in an instantaneous cycle and a network time deviation (td10[1], td20[1], td20[2], td30[2]) from a previous cycle, and that the calculated and preferably filtered network time deviation difference is added to the current network time deviation (td10[1], td20[1]), td20[2], td30[2]) in the instantaneous cycle in order to obtain a corrected network time deviation difference, and that the corrected network time deviation difference replaces the original instantaneous network time deviation (td10[1], td20[1], td20[2], td30[2]).

8. Method according to any of claims 1 to 7, characterized in that the difference time (td1[2], td2[1], td2[2], td3[1]) is filtered in each case, wherein a filter with an exponential smoothing function is preferably used for this purpose.

9. Method according to any of claims 1 to 8, characterized in that when the specified synchronization master (SM) ceases, another participant (11, 12, 13) is specified as the new synchronization master (SM).

10. Method according to any of claims 1 to 9, characterized in that the participants (11, 12, 13) of the real-time network (1) are linearly connected to one another.

11. Method according to any of claims 1 to 10, characterized in that the participants (11, 12, 13) each have two ports (11[1], 11[2], 12[1], 12[2], 13[1], 13[2]).

12. Method according to any of claims 1 to 11, characterized in that that the synchronization packets (D1[2], D2[1], D2[2], D3[1]) are transmitted in ISO-OSI layer 2.

13. Method according to any of claims 1 to 12, characterized in that the real-time network (1) represents a serial real-time network, which participants are connected to one another via switches14. Real-time network (1) comprising a number of participants (11, 12, 13), which are connected to one another via ports (11[1], 11[2], 12[1], 12[2], 13[1], 13[2]), wherein the participants (11, 12, 13) are configured to send synchronization packets (D1[2], D2[1], D2[2], D3[1]) to connected participants (11, 12, 13), wherein a participant (11, 12, 13) of the real-time network (1) is designated as the synchronization master (SM), wherein the other participants (11, 12, 13) are configured to derive their local network time (tn1, tn2, tn3) from a respective local time (t1, t2, t3) each of the participants (11, 12, 13) has, and to synchronize their local network time (tn1, tn2, tn3) with the local network time (tn1, tn2, tn3) of the synchronization master (SM), using the synchronization packets (D1[2], D2[1], D2[2], D3[1]), wherein the participants (11, 12, 13) are arranged along a synchronization path (S) to synchronize the local network time (tn1, tn2, tn3) of the participants (11, 12, 13) along the synchronization path (S) with the local network time (tn1, tn2, tn3) of the synchronization master (SM) using the synchronization packets (D1[2], D2[1], D2[2], D3[1]) starting from the synchronization master (SM) along the synchronization path (S) characterized in that the participants (11, 12, 13) are configured to transmit a time stamp of their local time (t1, t2, t3) with the synchronization packet (D1[2], D2[1], D2[2], D3[1]) at the time of sending the respective synchronization packet (D1[2], D2[1], D2[2], D3 [1), and in that the the participants (11, 12, 13) are configured to calculate a difference time (td1[2], td2[1], td2[2], td3[1]) for a port (11[2], 12[1], 12[2], 13[1]), via which a synchronization packet (D1[2], D2[1], D2[2], D3[1]) is received, from a difference between the time stamp received in the synchronization packet (D1[2], D2[1], D2[2], D3[1]) and a time stamp of their local time (t1, t2, t3) on receipt of the relevant synchronization packet (D1[2], D2[1], D2[2], D3[1]), to transmit a respective network time deviation (td10[1], td20[1], td20[2], td30[2]) of one of their other ports with the respective synchronization packet (D1[2], D2[1], D2[2], D3[1)), wherein the network time deviation (td10[1], td20[1], td20[2], td30[2]) of the ports (11[2], 12[1], 12[2], 13[1]), via which a synchronization packet (D1[2], D2[1], D2[2], D3[1]) is received, is in each case calculated as the sum of the calculated difference time (td1[2], td2[1], td2[2], td3[1]) and a network time deviation (td10[1], td20[1], td20[2], td30[2]) received in the synchronization packet (D1[2], D2[1], D2[2], D3[1]), and to calculate their local network time (tn1, tn2, tn3) from the difference between their local time (t1, t2, t3) and the network time deviation (td10[2], td20[1], td30[1]) of the port (11[2], 12[1], 12[2], 13[1]) arranged opposite the synchronization path (S), in the direction of the synchronization master, to synchronize the local network time (tn1, tn2, tn3).