A CPU unit of a PLC controlling a control target, comprising: a microprocessor; a memory (104, 106); and a communication circuit, wherein the CPU unit of the PLC is configured to control the control target by repeating transmission of output data, reception of input data, and execution of a plurality of control programs that use the input data to generate the output data, the memory (104, 106) stores the plurality of control programs, a system program that controls the execution of the plurality of control programs, and attribute data of a variable that is used by the plurality of control programs, the microprocessor is configured to execute the system program and the plurality of control programs that are stored in the memory (104, 106), the communication circuit is configured to transmit the output data and to receive the input data, the attribute data include, when the variable is a global variable that is referenced by the plurality of the control programs, information specifying one owner-side control program that rewrites the variable and information specifying at least one referrer-side control program that only references the variable, the system program is configured to cause the microprocessor to execute, as an execution preparation process of the plurality of control programs, a process in which a global variable area storing the global variable is generated in the memory (104, 106); and a process in which, with respect to each referrer-side control program and for each global variable that is referenced by the referrer-side control program, a synchronous buffer is generated in the memory (104, 106) as a reference destination in place of the global variable area when the referrer-side control program references the global variable, the system program is configured to cause the microprocessor to execute, as an execution control process of the plurality of control programs, an owner-side start process that starts execution of the owner-side control program; a copy process in which, when execution of the owner-side control program ends, the global variable that is rewritten by the owner-side control program is copied from the global variable area to the synchronous buffer corresponding to the global variable; and a referrer-side start process that starts execution of the referrer-side control program. a microprocessor; a memory (104, 106); and a communication circuit, wherein the CPU unit of the PLC is configured to control the control target by repeating transmission of output data, reception of input data, and execution of a plurality of control programs that use the input data to generate the output data, the memory (104, 106) stores the plurality of control programs, a system program that controls the execution of the plurality of control programs, and attribute data of a variable that is used by the plurality of control programs, the microprocessor is configured to execute the system program and the plurality of control programs that are stored in the memory (104, 106), the communication circuit is configured to transmit the output data and to receive the input data, the attribute data include, when the variable is a global variable that is referenced by the plurality of the control programs, information specifying one owner-side control program that rewrites the variable and information specifying at least one referrer-side control program that only references the variable, the system program is configured to cause the microprocessor to execute, as an execution preparation process of the plurality of control programs, a process in which a global variable area storing the global variable is generated in the memory (104, 106); and a process in which, with respect to each referrer-side control program and for each global variable that is referenced by the referrer-side control program, a synchronous buffer is generated in the memory (104, 106) as a reference destination in place of the global variable area when the referrer-side control program references the global variable, the system program is configured to cause the microprocessor to execute, as an execution control process of the plurality of control programs, an owner-side start process that starts execution of the owner-side control program; a copy process in which, when execution of the owner-side control program ends, the global variable that is rewritten by the owner-side control program is copied from the global variable area to the synchronous buffer corresponding to the global variable; and a referrer-side start process that starts execution of the referrer-side control program.