A safety controller provides for reliable mixed execution of standard and
safety control programs held in a common memory by providing a hardware
lock that is locked at times when the safety program is not executing to
minimize potential corruption of the safety program by the standard
program.