System and method for transmitting time-synchronized data from a controller of an automation system comprising a local time to at least one subscriber of the automation system

10873519 · 2020-12-22

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for transmitting time-synchronized data from a controller of an automation system comprising a local time to at least one subscriber of the automation system, wherein the automation system comprises a server having a reference time.

Claims

1. A method for transmitting time-synchronized data from a controller of an automation system having a local time to at least one subscriber of the automation system, wherein the automation system comprises a server having a reference time, the method comprising the following steps: sending a reference time request to the server by means of the controller, receiving a response from the server by means of the controller, wherein the response comprises a first receiving time of the request which indicates when the request was received by means of the server according to the reference time, determining, by means of the controller, a time difference between the reference time of the server and the local time of the controller based on a sending time that indicates when the request according to the local time was sent by means of the controller based on the first receiving time and based on a second receiving time which indicates when the response according to the local time was received by means of the controller, adding a time stamp to the data by means of the controller wherein the time stamp is determined based on the local time and the time difference in order to receive time-synchronized data, wherein the data comprise measurement data and/or are based on measurement data, transmitting the time-synchronized data by means of the controller to the at least one subscriber of the automation system.

2. The method of claim 1, wherein the transmission time is sent to the server together with the request by means of the controller.

3. The method of claim 2, wherein the response comprises the sending time.

4. The method of claim 1, wherein the steps a), b) and c) are repeated several times in a cyclic manner by means of the controller in order to determine a plurality of time differences, wherein a mean value of the plurality of time differences is determined which is used as a time difference for determining the time stamp by means of the controller.

5. The method of claim 1, wherein the steps a), b) and c) are repeated several times in a cyclic manner by means of the controller in order to determine a plurality of time differences wherein a filtering function is applied to the plurality of time differences by means of the controller in order to obtain a filtered time difference which is used as a time difference for determining the time stamp by means of the controller.

6. The method of claim 1, wherein the time stamp is determined according to the following equation:
t.sub.measurement data=t.sub.local+t.sub.server, wherein t.sub.measurement data indicates the time stamp, t.sub.local indicates the local time and wherein t.sub.server indicates the time difference.

7. The method of claim 6, wherein t.sub.server=t.sub.Ut.sub.1, wherein t.sub.U indicates a corrected reference time, wherein t.sub.1 indicates the second receiving time, and wherein t U = t R + ( t 1 - t 0 ) 2 , wherein t.sub.R indicates the first receiving time and wherein t.sub.0 indicates the transmission time.

8. The method of claim 7, wherein the steps a), b) and c) are repeated several times in a cyclic manner by means of the controller in order to determine a first corrected reference time t.sub.U0 in a first cycle and in order to subsequently determine a second corrected reference time t.sub.U1 in a later second cycle, wherein a correction value .sub.A is determined by means of a controller using A = ( t U 1 - t U 0 ) ( t L 1 - t L 0 ) T C , wherein t.sub.L0 refers to the second receiving time corresponding to the first cycle, wherein t.sub.L1 indicates the second receiving time corresponding to the second cycle, wherein T.sub.C indicates the cycle time, and wherein the time difference t1.sub.server corresponding to the second cycle is corrected with the correction value .sub.A according to the following equation:
t1.sub.server=t0.sub.server+.sub.A, wherein t0.sub.server refers to the time difference corresponding to the first cycle.

9. The method of claim 8, wherein a correction value is determined for each of a plurality of cycles, wherein a mean value of the respective correction value is determined by means of the controller, said mean value being used as a correction value for correcting a time difference corresponding to a cycle following one of the plurality of cycles by means of the controller.

10. The method of claim 8, wherein a correction value is determined for each of a plurality of cycles, wherein a filtering function is applied to the plurality of correction values by means of the controller in order to obtain a filtered correction value which is used as a correction value for correcting the time difference by means of the controller.

11. The method of claim 1, further comprising receiving a command sent from the server by means of the controller, wherein the command simulates that the controller is to send a request for the reference time to the server so that the request for the reference time is sent to the server only in response to the receipt of the command by means of the controller.

12. The method of claim 1, wherein the at least one subscriber comprises the server including a reference time and/or a data-storage server for storing the time-synchronized data.

13. An automation system comprising a controller, wherein time-synchronized data from the controller of the automation system having a local time are transmitted to at least one subscriber of the automation system, wherein the automation system further comprises a server having a reference time, wherein the controller sends a reference time request to the server, wherein the controller receives a response from the server, wherein the response comprises a first receiving time of the request which indicates when the request was received by means of the server according to the reference time, wherein the controller determines a time difference between the reference time of the server and the local time of the controller based on a sending time that indicates when the request according to the local time was sent by means of the controller based on the first receiving time and based on a second receiving time which indicates when the response according to the local time was received by means of the controller, wherein the controller adds a time stamp to the data, wherein the time stamp is determined based on the local time and the time difference in order to receive time-synchronized data, wherein the data comprise measurement data and/or are based on measurement data, and wherein the controller transmits the time-synchronized data to the at least one subscriber of the automation system.

14. The automation system of claim 13, wherein the transmission time is sent to the server together with the request by means of the controller.

15. The automation system of claim 14, wherein the response comprises the sending time.

16. The automation system of claim 13, wherein the time stamp is determined according to the following equation:
t.sub.measurement data=t.sub.local+t.sub.server, wherein t.sub.measurement data indicates the time stamp, t.sub.local indicates the local time and wherein t.sub.server indicates the time difference.

17. The automation system of claim 16, wherein t.sub.server=t.sub.Ut.sub.1, wherein t.sub.U indicates a corrected reference time, wherein t.sub.1 indicates the second receiving time, wherein t U = t R + ( t 1 - t 0 ) 2 , wherein t.sub.R indicates the first receiving time and wherein t.sub.0 indicates the transmission time.

18. The automation system of claim 13, further comprising receiving a command sent from the server by means of the controller, wherein the command simulates that the controller is to send a request for the reference time to the server so that the request for the reference time is sent to the server only in response to the receipt of the command by means of the controller.

19. The automation system of claim 13, wherein the at least one subscriber comprises the server including a reference time and/or a data-storage server for storing the time-synchronized data.

20. An automation system comprising one or a plurality of spatially distributed facilities for generating regenerative energy that are each controlled by an associated controller, wherein time-synchronized data from the controller having a local time are transmitted to at least one subscriber of the automation system, wherein the automation system further comprises a server having a reference time, wherein the controller sends a reference time request to the server, wherein the controller receives a response from the server, wherein the response comprises a first receiving time of the request which indicates when the request was received by means of the server according to the reference time, wherein the controller determines a time difference between the reference time of the server and the local time of the controller based on a sending time that indicates when the request according to the local time was sent by means of the controller based on the first receiving time and based on a second receiving time which indicates when the response according to the local time was received by means of the controller, wherein the controller adds a time stamp to the data, wherein the time stamp is determined based on the local time and the time difference in order to receive time-synchronized data, wherein the data comprise measurement data and/or are based on measurement data, wherein the controller transmits the time-synchronized data to the at least one subscriber of the automation system; and wherein each of the facilities comprises one or a plurality of sensors, respectively, wherein a time stamp is added to each of the respective measurement data or, respectively, to respective processed measurement data of the sensors of each individual facility in order to obtain time-synchronized data, wherein the time-synchronized data are provided from a controller of one of the facilities to other controllers of other such facilities so that the other controllers each control their associated facility based on the time-synchronized data.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The present invention is in the following explained in more detail in conjunction with preferred embodiments in which:

(2) FIG. 1 shows a flow chart of a method for transmitting time-synchronized data;

(3) FIG. 2 depicts an automation system;

(4) FIG. 3 shows two time-lines; and

(5) FIG. 4 shows two further time-lines.

(6) The same reference symbols can be used for the same features below. Furthermore, for the sake of clarity, provision is made for not all features to always be depicted in all drawings. A placeholder in the form of a geometric object is sometimes used for a group of features, for example.

DETAILED DESCRIPTION

(7) FIG. 1 shows a flow chart of a method for transmitting time-synchronized data according to an embodiment.

(8) The method comprises sending 101 of a request for the reference time to the server by means of the controller.

(9) In response to the receipt of said request by means of the server, said server will determine a response comprising a first receiving time that indicates when the request according to the reference time was received by the server.

(10) The server will then send its response to the controller. The server e.g. additionally transmits its processing time which indicates how much time the server has needed for determining the response.

(11) Insofar, the method comprises a receipt 103 of a response from the server by means of the controller, wherein the response comprises the first receiving time of the response that indicates when the request according to the reference time was received by means of the server.

(12) The method comprises determining 105 a time difference between the reference time of the server and the local time of the controller by means of the controller based on the transmission time that indicates when the request according to the local time was sent by means of the controller, based on the first and on the second receiving time that indicate when the response according to the local time was received by means of the controller.

(13) The method comprises determining 107 of a time stamp based on the local time and the time difference.

(14) The method comprises adding 109 the time stamp to the data by means of the controller in order to obtain time-synchronized data.

(15) The method comprises transmitting 111 the time-synchronized data to the server by means of the controller and/or to a further subscriber of the automation system.

(16) FIG. 2 shows an automation system 201.

(17) The automation system 201 comprises a controller 203 and a server 205. The controller 203 and the server 205 may communicate with each other which is symbolically shown by a double arrow having reference numeral 207.

(18) The controller 203 is configured to carry out the method for transmitting time-synchronized data. The controller 203 is e.g. configured to carry out the method of FIG. 1.

(19) According to an embodiment, the controller 203 is disclosed as a stand-alone configuration, i.e. without the server 205.

(20) The controller 203 has a local time, e.g. a time base, which is based on a real-time capable communications network. In e.g. the real-time capable field-bus network EtherCAT, such a local time may be a Distributed Clock Time.

(21) The server 205 has a reference time that is e.g. Universal Time.

(22) The controller 203 adjusts its local time to the reference time of the server 205 according to an embodiment of a method for transmitting time-synchronized data. This is explained in the following with reference to FIG. 3.

(23) FIG. 3 shows a first time line 301 symbolizing the local time of the controller 203.

(24) FIG. 3 furthermore shows a second time line 303 symbolizing the reference time of the server 205.

(25) In analogy to FIG. 3, FIG. 4 shows the first and the second time line 301, 303. The explanations given in the following and in context with FIG. 3 essentially apply analogously to FIG. 4. The differences between the two figures will be described in more detail in the following.

(26) On the time line 301, a first point in time is characterized with reference numeral 305. At this point in time 305, the controller 203 sends a request for the reference time to the server 205. The first point in time 305 thus corresponds to a transmission time that indicates when the request for the local time was sent to the server 205 by means of the controller 203.

(27) The sending of the request is symbolically shown by means of an arrow having reference numeral 306.

(28) On the second time line 303, a second point in time is marked with reference numeral 307. This point in time 307 indicates when the request of the controller 203 was received by means of the server 205. Thus, the second point in time 307 corresponds to a first receiving time of the request, said first receiving time indicating when the request according to the reference time was received by means of the server 205.

(29) The server 205 sends a reply to the controller 203, the reply indicating a first receiving time 307.

(30) The process of sending the reply from server 205 to the controller 203 is symbolically shown by an arrow with reference numeral 309.

(31) On the first time line 301, a third point in time is marked with reference numeral 311. This point in time 311 indicates when the reply from the server 205 was received by means of the controller 203. This point in time 311 thus corresponds to a second receiving time that indicates when the reply according to local time was received by means of the controller 203.

(32) In a further embodiment according to FIG. 4, a further point in time on the second time line 303 is marked with reference numeral 401. The point in time 401 follows upon the second point in time 307 wherein the time span is characterized by a curly bracket having reference numeral 403. This time span 403 corresponds to the processing time of the server which it requires before sending the reply to the controller. The server does not send its reply to the controller until point in time 401, i.e. after expiry of the processing time.

(33) According to FIG. 4, in its reply the server e.g. sends the processing time 403 and/or the receiving time 307 and/or the point in time 401. The controller may then more precisely calculate the Round Trip Time on the basis of the processing time 403, the receiving time 307 or, respectively, the point in time 401 and the second receiving time 311 e.g. according to the following equation: RTT=second receiving time 311 minus sending time 305 minus processing time 403.

(34) Without any knowledge (FIG. 3) on the processing time 403, the RTT is e.g. calculated by means of the following equation: RTT=second receiving time 311 minus sending time 305.

(35) In an embodiment it is provided that the controller 203 sends the transmission time 305 to the server 205 together with the request. According to this embodiment, it is provided according to a further embodiment that the reply of the server 205 comprises the sending time 305.

(36) In the following, the sending time 305 is referred to as t.sub.0.

(37) The first receiving time 307 is in the following referred to as t.sub.R.

(38) In the following, the second receiving time 311 is referred to as t.sub.1.

(39) When knowing the processing time 403, the term t.sub.1t.sub.0 may in the following or above-mentioned equations be replaced by the term t.sub.1t.sub.0V, wherein V refers to the processing time 403 of the server.

(40) According to an embodiment, it is provided that the received reference time, i.e. the first receiving time t.sub.R is corrected as follows:

(41) t U = t R + ( t 1 - t 0 ) 2 .
In this context, t.sub.U indicates the corrected reference time.

(42) The time difference between the local time and the reference time thus results from the following equation:
t.sub.server=t.sub.Ut.sub.1,
with t.sub.server referring to the time difference.

(43) According to an embodiment, said time difference is upheld after an initial transient response and after reaching a stability, and no longer erratically changed in order to avoid skips after the time-caused transient response.

(44) According to an embodiment, with regard to the running time a flowing adaption of the time difference is cyclically carried out by means of a corrective value .sub.A.

(45) For example, it is provided according to an embodiment that the steps 101, 103, 105 according to the flow chart of FIG. 1 be cyclically carried out several times one after the other by means of the controller 203 in order to at first determine a first corrected reference time t.sub.U0 in a first cycle and to subsequently determine a second corrected reference time t.sub.U1 in a later second cycle, wherein a corrective value .sub.A is determined by means of the controller, with

(46) A = ( t U 1 - t U 0 ) ( t L 1 - t L 0 ) T C ,
wherein t.sub.L0 is the receiving time corresponding to the first cycle, wherein t.sub.L1 is the second receiving time corresponding to the second cycle, wherein T.sub.C is the cycle time, wherein the time difference t1.sub.server corresponding to the second cycle is corrected by means of the corrective value .sub.A according to the following equation:
t1.sub.server=t0.sub.server+.sub.A,
wherein t0.sub.server is the time difference corresponding to the first cycle.

(47) The local reference time thus advantageously results from the local time and the time difference corrected by the corrective value.

(48) In this respect, in one embodiment the time stamp is calculated according to the following equation:
t.sub.measurement data=t.sub.local+t.sub.server,
wherein t.sub.measurement data refers to the time stamp, t.sub.local refers to the local time and t.sub.server refers to the time difference.

(49) Said time difference t.sub.server is thus, according to an embodiment, corrected by means of the corrective value .sub.A.

(50) The controller 203 thus adds the determined time stamp to the measurement data in order to obtain time-synchronized measurement data. The controller 203 then transmits the time-synchronized measurement data to the server 205.

(51) It is e.g. intended to cyclically transmit the time-synchronized measurement data to the server 205.

(52) It is e.g. provided that the time-synchronized measurement data are buffered in a data buffer of the controller 203 for several cycles before the time-synchronized measurement data are subsequently transmitted to the server 205.

(53) In summary, the present invention may particularly be based on the adaption of properties such as the Network Time Protocol to the demands of automation as well as on the transmission of the corresponding properties to e.g. protocols such as Automation Device Specification, a transmission protocol developed and sold by the applicant, and/or MQTT (Message Queue Telemetry Transport).

(54) The inventive concept may in particular be very inexpensive.

(55) In particular, the inventive concept allows for efficiently supporting individual network hardware as well as wireless network connections.

(56) The inventive concept further allows for efficient support of inhomogeneous networks such as Internet/cloud applications.

(57) Furthermore, the inventive concept advantageously allows for efficient support of any desired and thus e.g. proprietary protocols, infrastructures and/or media.

(58) The inventive concept particularly and advantageously allows for optimized evaluation and optimized algorithms in real-time systems with cyclic processing.

(59) The inventive concept may advantageously be implemented in an already existing infrastructure in an efficient manner, i.e. in particular in an already existing automation system.

(60) The inventive concept advantageously does not require an exclusive utilization of network components.

(61) The inventive concept advantageously allows for a high synchronization frequency.

(62) The inventive concept may according to an embodiment advantageously be implemented or used in distributed measuring systems. For example, the inventive concept may be used via vibration measurements in wind-energy plants and in general for general measurements in wind-energy plants.

(63) This e.g. means that the automation system according to an embodiment comprises a wind-energy plant. The controller is e.g. a controller of the wind-energy plant.

(64) In an embodiment, a wind-energy plant comprises a plurality of controllers wherein an individual controller of the wind-energy plant is e.g. programmed for a predetermined task. For example, a first controller of the wind-energy plant only takes measurement data of sensors and processes the measurement data. A second controller of the wind-energy plant e.g. controls a position of the rotor blades of the wind-energy plant.

(65) For example, a vibration sensor is provided for measuring a vibration of the wind-energy plant. The measurement data of the vibration sensor are then, as described above, synchronized with regard to time and transmitted to a server of the automation system.

(66) The inventive method described herein is particularly efficient in connection with wind-energy plants. Usually, individual wind-energy plants are spatially distributed. This is e.g. the case in a so-called offshore wind park. The wind-energy plants are e.g. each controlled by an associated controller. The spatial distribution of the individual wind-energy plants is known to a server and/or the controllers of the wind-energy plants.

(67) If e.g. a change of wind intensity is determined in one of the plurality of wind-energy plants, the one measured change of wind intensity may be made available to the other wind-energy plants using a highly precise time stamp. By using the highly precise time stamp and the measured wind intensity, it is possible to calculate at which points in time the changed wind intensity is to be expected in the other wind-energy plants.

(68) Calculating the points in time may e.g. take place locally in a server and/or peripherally in the controllers. The other wind-energy plants may be adjusted with regard to the change of wind intensity so that the behavior of the other wind-energy plants is optimized with regard to this meteorological condition. For example, the position of the rotor blades of a wind-energy plant may be adjusted.

(69) In particular in connection with photovoltaic systems, the inventive method described herein is efficient. Photovoltaic systems are usually spatially distributed. Photovoltaic systems are e.g. each controlled by means of an associated controller. The spatial distribution of the individual photovoltaic system is known to a server and/or to the inventive controllers of the photovoltaic systems. If e.g. a change in irradiation intensity is measured in one of the plurality of photovoltaic systems, the measured one change of irradiation intensity may be made available to the other photovoltaic systems by using a highly precise time stamp. A change in irradiation intensity may e.g. have clouding as a cause. By using the highly precise time stamp and the measured irradiation intensity, it is possible to calculate at which points in time the changed irradiation intensity is to be expected in the other photovoltaic systems.

(70) The points in time may be calculated locally in a server and/or peripherally in the controllers. An adjustment of the other photovoltaic systems with regard to a change of irradiation intensity may then be carried out. Such an adjustment may e.g. be a change of the parameters of the technical components. An optimized behavior of the other photovoltaic systems may be achieved by an inventive method.

(71) For example, the inventive concept may be used even if a plurality of controllers are provided that are in a spatially distributed arrangement. This e.g. advantageously allows for a time synchronization of the local times of the plurality of controllers of wind-energy plants in a wind-energy park.

(72) The inventive concept may advantageously be implemented into an already existing wind-energy-plant infrastructure, which is intended according to an embodiment.

(73) A further possibility of application is, according to an embodiment, an implementation in an electron-accelerator system. This e.g. means that the automation system comprises an electron accelerator.

(74) In this context, it is provided according to an embodiment that the local times of the controllers of the electron accelerator synchronize according to the inventive concept so that time-synchronized measurement data may correspondingly be transmitted from the plurality of controllers to a local unit, i.e. the server.

(75) The inventive concept may e.g. be efficiently used (and e.g. be intended as such) if a plurality of measurement data are processed or, respectively, analyzed by peripheral controllers, in particular if those are spatially distributed. Such structures are e.g. employed in so-called wind parks, i.e. an arrangement of a plurality of wind-energy plants, or arrangements of photovoltaic systems.

(76) This invention has been described with respect to exemplary embodiments. It is understood that changes can be made and equivalents can be substituted to adapt these disclosures to different materials and situations, while remaining with the scope of the invention. The invention is thus not limited to the particular examples that are disclosed, but encompasses all the embodiments that fall within the scope of the claims.