High speed synchronization in dual-processor safety controller
First Claim
Patent Images
1. A safety controller comprising:
- a first and second processing unit communicating on a communication bus, each including a processor and memory, the memory of each of the first and second processing units loadable with a common safety program and input/output variables, wherein the safety program is repeatably executable to read input variables representing inputs from external controlled devices and write output variables representing outputs to external controlled devices at least one processor including a buffer receiving a plurality of input variables asynchronously from I/O circuits connected to sensors;
a coordinator program providing each of the first and second processing units with identical copies of the input variables from the buffer at a predetermined point in the repeated execution of the common safety programs;
a synchronization program executable by the first and second processing units to execute the common safety programs based on the identical copies and to compare execution of the common safety programs and to enter a safety state when this execution differs.
1 Assignment
0 Petitions
Accused Products
Abstract
A safety controller executes a control program in two processing units to detect processor failure by comparison of the execution in each unit. This comparison is made rapid by synchronizing the input variables at the beginning of the task and comparing output variables at a conclusion of the task, avoiding line-by-line comparison of input and output variables. Intermediate variables, that are neither input nor output values, are compared at a less frequent interval.
41 Citations
24 Claims
-
1. A safety controller comprising:
-
a first and second processing unit communicating on a communication bus, each including a processor and memory, the memory of each of the first and second processing units loadable with a common safety program and input/output variables, wherein the safety program is repeatably executable to read input variables representing inputs from external controlled devices and write output variables representing outputs to external controlled devices at least one processor including a buffer receiving a plurality of input variables asynchronously from I/O circuits connected to sensors; a coordinator program providing each of the first and second processing units with identical copies of the input variables from the buffer at a predetermined point in the repeated execution of the common safety programs; a synchronization program executable by the first and second processing units to execute the common safety programs based on the identical copies and to compare execution of the common safety programs and to enter a safety state when this execution differs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of operating a safety controller having a first and second processing unit, each including a processor and memory, the memory of each of the first and second processing units loadable with a common safety program and input/output variables, the safety program being repeatably executable to read input variables representing inputs from external controlled devices and write output variables representing outputs to external controlled devices, the method comprising the steps of:
-
(a) accumulating asynchronous input variables in a buffer; (a) providing each of the first and second processing units with identical copies of the accumulated input variables from the buffer at a first time at a predetermined point in the repeated execution of the common safety programs; and (b) executing by the first and second processing units the common safety programs and comparing execution of the common safety programs to enter a safety state when this execution differs. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification