A CPU unit of a PLC controlling an object of control, comprising: a microprocessor; storage means (104, 106); and a communication circuit (120, 140); said CPU unit of a PLC is configured to control the object of control by repeating transmission of output data, reception of input data and execution of a control program (230, 230-1, 230-2) producing said output data using said input data; wherein said communication circuit (120, 140) transmits said output data and receives said input data in a control cycle period; said storage means (104, 106) is used for storing a system program and said control program (230, 230-1, 230-2); said microprocessor executes said system program and said control program (230, 230-1, 230-2); said control program (230, 230-1, 230-2) includes first and second control programs (230-1, 230-2); 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 (230-1, 230-2) includes a user program (236, 236-1, 236-2) created in accordance with an object of control of a user and including an instruction to provide said first and second motion operation programs (234-1, 234-2) 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 integer 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. a microprocessor; storage means (104, 106); and a communication circuit (120, 140); said CPU unit of a PLC is configured to control the object of control by repeating transmission of output data, reception of input data and execution of a control program (230, 230-1, 230-2) producing said output data using said input data; wherein said communication circuit (120, 140) transmits said output data and receives said input data in a control cycle period; said storage means (104, 106) is used for storing a system program and said control program (230, 230-1, 230-2); said microprocessor executes said system program and said control program (230, 230-1, 230-2); said control program (230, 230-1, 230-2) includes first and second control programs (230-1, 230-2); 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 (230-1, 230-2) includes a user program (236, 236-1, 236-2) created in accordance with an object of control of a user and including an instruction to provide said first and second motion operation programs (234-1, 234-2) 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 integer 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.