Patent ID: 7428659

Claim:
A programmable controller comprising two CPU units each having a detachably attached special-function module that carries out a calculation process, wherein: each of said two CPU units recognizes conditions of the other of said two CPU units; one of said two CPU units becomes an active unit and the other of said two CPU units becomes a standby unit; when the active unit fails and goes down, the standby unit is switched to become active and resumes operations; the special-function module attached to the active CPU unit becomes an active module and carries out control processes with the active CPU unit; and the other special-function module attached to the standby CPU unit becomes a standby module; wherein said active CPU unit is synchronized with said standby CPU unit by way of executing an I/O refresh, said I/O refresh including updating an I/O memory in said active CPU unit with data received from input units and copying data of said I/O memory in said active CPU to an I/O memory in said standby CPU unit; and wherein the special-function module attached to the respective CPU unit obtains and compares results of said calculation process from both of the special-function modules and if said results do not match, the slower one of the special-function modules that is behind in said calculation process executes a correction process to further advance in said calculation process such that both of the special-function modules are equally advanced in said calculation process.