Patent ID: 8504176
Filing Date: 2013-08-06
Classification: G05B

Abstract:
1. A central processing unit (CPU) of a programmable logic controller (PLC) for controlling an object, comprising: a microprocessor; a storage; and a communication circuit; said CPU unit of said PLC being configured to control the object by repeating transmission of output data, reception of input data and execution of a control program producing said output data using said input data; wherein said communication circuit transmits said output data and receives said input data in a control cycle period; said storage is used for storing a system program and said control program; said microprocessor executes said system program and said control program; said control program includes first and second control programs; said first control program includes a first motion operation program producing first motion command value data for controlling motor movement; said second control program includes a second motion operation program producing second motion command value data for controlling motor movement; at least one of said first and second control programs includes a user program created in accordance with an object of a user and including an instruction to provide said first and second motion operation programs with a command necessary for execution; said system program includes a first execution control instruction causing said microprocessor to start execution of said first control program at every first execution cycle of the same period as said control cycle period, and a second execution control instruction causing said microprocessor to start execution of said second control program at every second execution cycle whose period is an integral multiple of at least twice said control cycle period; and said second execution control instruction includes an instruction causing said microprocessor to start, in said control cycle in which said second execution cycle starts, execution of said second control program after the end of execution of said first control program, and if said second control program is not completed before the end of said control cycle, to start execution of an unexecuted part of said second control program after the end of execution of said first control program in the next control cycle.