Patent ID: 7213168

Claim:
A safety controller comprising: a primary processing unit having a first processor communicating with a first memory holding a safety program requiring a first reliability of operation and a standard program requiring a second reliability of operation less than the first reliability of operation; a second processing unit having a second processor independent from the primary processing unit and communicating with a second memory independent from the first memory and holding the safety program and not the standard program; and a synchronization program executable by the primary and partner processing units to execute the standard program in the primary processing unit only and to execute the safety program in the primary and second processing units and to compare execution of the safety programs to enter a safety state when this execution differs; wherein the safety program and the standard program execute to generate outputs to be used to control an external device and wherein the synchronization program compares execution of the safety program by comparing outputs generated by the primary and second processing units' execution of the safety program; and wherein the safety program is executed repeatedly and wherein the synchronization program compares execution of the safety program at each repeated execution prior to outputting of the output values generated by the safety program to the external device.