MLchartDataset catalogue

Patent · US6535926B1 · B1 · US

Time synchronization system for industrial control network using global reference pulses

(11) Publication number
US6535926B1
(21) Application number
US-40995899-A
(22) Filing date
1999-09-30
(30) Priority date
1999-09-30
(43) Publication date
2003-03-18
(45) Date of grant
2003-03-18
(52) CPC
  • H04J Multiplex communication: 3/0638, 3/0644, 3/0655
  • H04L Transmission of digital information, e.g. telegraphic communication: 67/12, 69/329, 9/40
(73) Assignee
ROCKWELL AUTOMATION TECH INC
(54) Title
Time synchronization system for industrial control network using global reference pulses
(57) Abstract

Local clocks used for coordinating events in an industrial control system may be synchronized using time messages transmitted on standard communication networks. A master industrial controller incorporates a time values in a time messages transmitted to the other controllers, the time value indicating the tie of occurrence of an independent global synchronizing pulse. All controllers also capture the local time of the global synchronizing pulse and these times may be compared to the time message from the master industrial controller to deduce a time error value independent of network messaging delays. The error value is used to correct the local clocks.

Full text
View on Google Patents

Claims (14)

  1. A method of synchronizing local clocks among industrial control devices communicating on a network, the synchronizable being to a time value of a master clock in a first industrial control device, the method comprising the steps of: (a) detecting at the first industrial control device a global reference pulse; (b) storing at the first industrial control device, a first time value of the master clock at the time of detection of the global reference pulse by the first industrial control device; (c) transmitting from the first industrial control device a time message on the network containing the stored first time value of the master clock; (d) detecting at a second industrial control device the global reference pulse; (e) storing at the second industrial control device, a second time value of a local clock in the second industrial control device at a time of detection of the global reference pulse at the second industrial control device; (f) receiving at the second industrial control device the time message and comparing the first time value to the second time value to produce an error value; and (g) correcting the local clock of the second industrial control device according to the error value.
  2. The method of claim 1 wherein the global reference pulse is a periodic reference signal from a global positioning satellite.
  3. The method of claim 1 wherein the global reference pulse is a periodic signal intrinsic to a communications protocol of the network.
  4. The method of claim 3 wherein the communications protocol is selected from the group consisting of EtherNet, DeviceNet, ControlNet, FireWire, Sercos, ATM and FieldBus.
  5. The method of claim 1 wherein steps (a) and (b) are performed by dedicated circuitry in the first industrial control device including a snapshot register communicating with the master clock and triggered by the detection of the global reference pulse at step (a) and to store the time value of the master clock.
  6. The method of claim 1 wherein steps (a) and (b) are performed by a software interrupt routine reading the master clock and triggered by the detection of the global reference pulse at step (a) and to store the time value of the master clock.
  7. The method of claim 1 wherein step (d) and (e) are performed by dedicated circuitry in the second industrial control device including a snapshot register communicating with the local clock and triggered by the detection of the global reference pulse at step (d) and to store the time value of the local clock.
  8. The method of claim 1 wherein step (f) of computing the error value is performed by a computer processor executing a stored program.
  9. The method of claim 1 wherein step (f) of computing the error value is performed by hardware.
  10. The method of claim 1 wherein the global reference pulse occurs regularly at a first period and wherein step (c) is performed an arbitrary time after step (a) within a first period after the global reference pulse.
  11. The method of claim 1 wherein the global reference pulse occurs at a first rate and wherein steps (a) (b) and (c) are limited to a second rate less than the first rate.
  12. The method of claim 1 wherein the error value is a function of the difference between the first and second time values.
  13. The method of claim 1 wherein the error value is a function of the rate of change of the difference between the first and second time values to anticipate difference is oscillator speeds underlying the master and local clocks.
  14. The method of claim 1 wherein the error value is a function of the second derivative with time of the difference between the first and second time values to anticipate drift in oscillator speeds underlying the master and local clock.

Citations (7)

  • US5896524A
  • US5991280A
  • US6157957A
  • US6308280B1
  • US6324586B1
  • US6351821B1
  • US6389547B1
Record as JSON
{
  "publication_number": "US6535926B1",
  "country": "US",
  "kind": "B1",
  "title": "Time synchronization system for industrial control network using global reference pulses",
  "abstract": "Local clocks used for coordinating events in an industrial control system may be synchronized using time messages transmitted on standard communication networks. A master industrial controller incorporates a time values in a time messages transmitted to the other controllers, the time value indicating the tie of occurrence of an independent global synchronizing pulse. All controllers also capture the local time of the global synchronizing pulse and these times may be compared to the time message from the master industrial controller to deduce a time error value independent of network messaging delays. The error value is used to correct the local clocks.",
  "claims": [
    "1. A method of synchronizing local clocks among industrial control devices communicating on a network, the synchronizable being to a time value of a master clock in a first industrial control device, the method comprising the steps of: (a) detecting at the first industrial control device a global reference pulse; (b) storing at the first industrial control device, a first time value of the master clock at the time of detection of the global reference pulse by the first industrial control device; (c) transmitting from the first industrial control device a time message on the network containing the stored first time value of the master clock; (d) detecting at a second industrial control device the global reference pulse; (e) storing at the second industrial control device, a second time value of a local clock in the second industrial control device at a time of detection of the global reference pulse at the second industrial control device; (f) receiving at the second industrial control device the time message and comparing the first time value to the second time value to produce an error value; and (g) correcting the local clock of the second industrial control device according to the error value.",
    "2. The method of claim 1 wherein the global reference pulse is a periodic reference signal from a global positioning satellite.",
    "3. The method of claim 1 wherein the global reference pulse is a periodic signal intrinsic to a communications protocol of the network.",
    "4. The method of claim 3 wherein the communications protocol is selected from the group consisting of EtherNet, DeviceNet, ControlNet, FireWire, Sercos, ATM and FieldBus.",
    "5. The method of claim 1 wherein steps (a) and (b) are performed by dedicated circuitry in the first industrial control device including a snapshot register communicating with the master clock and triggered by the detection of the global reference pulse at step (a) and to store the time value of the master clock.",
    "6. The method of claim 1 wherein steps (a) and (b) are performed by a software interrupt routine reading the master clock and triggered by the detection of the global reference pulse at step (a) and to store the time value of the master clock.",
    "7. The method of claim 1 wherein step (d) and (e) are performed by dedicated circuitry in the second industrial control device including a snapshot register communicating with the local clock and triggered by the detection of the global reference pulse at step (d) and to store the time value of the local clock.",
    "8. The method of claim 1 wherein step (f) of computing the error value is performed by a computer processor executing a stored program.",
    "9. The method of claim 1 wherein step (f) of computing the error value is performed by hardware.",
    "10. The method of claim 1 wherein the global reference pulse occurs regularly at a first period and wherein step (c) is performed an arbitrary time after step (a) within a first period after the global reference pulse.",
    "11. The method of claim 1 wherein the global reference pulse occurs at a first rate and wherein steps (a) (b) and (c) are limited to a second rate less than the first rate.",
    "12. The method of claim 1 wherein the error value is a function of the difference between the first and second time values.",
    "13. The method of claim 1 wherein the error value is a function of the rate of change of the difference between the first and second time values to anticipate difference is oscillator speeds underlying the master and local clocks.",
    "14. The method of claim 1 wherein the error value is a function of the second derivative with time of the difference between the first and second time values to anticipate drift in oscillator speeds underlying the master and local clock."
  ],
  "cpc": [
    "H04J 3/0638",
    "H04J 3/0644",
    "H04J 3/0655",
    "H04L 67/12",
    "H04L 69/329",
    "H04L 9/40"
  ],
  "assignees": [
    "ROCKWELL AUTOMATION TECH INC"
  ],
  "filing_date": "1999-09-30",
  "publication_date": "2003-03-18",
  "grant_date": "2003-03-18",
  "priority_date": "1999-09-30",
  "application_number": "US-40995899-A",
  "family_id": "23622648",
  "citations": [
    "US5896524A",
    "US5991280A",
    "US6157957A",
    "US6308280B1",
    "US6324586B1",
    "US6351821B1",
    "US6389547B1"
  ]
}

Record 3,069 of 5,000 in Patents full text (MLC-0201). Request the full dataset.