A control device, wherein the control device is configured to control a control target, and the control device comprises: a data update part (50, 162), configured to update input data and output data in each control cycle; a first program execution part (54, 140), configured to scan an entire first program (62, 30) in each control cycle to update a first command value; a second program execution part (56, 150), configured to update a second command value in each control cycle according to a sequentially interpreted second program (64, 32); and a shared memory (52, 160), configured to store the first and second command values (72, 74) respectively updated by the first and the second program execution parts (54, 140, 56, 150), wherein the second program execution part (56, 150) comprises: an interpreter (58, 152), configured to interpret at least part of the second program to generate an intermediate code; and a command value operation part (60, 158), configured to calculate the second command value in each control cycle according to the intermediate code generated by the interpreter (58, 152), characterized in that the command value operation part (60, 158) configured to output the second command value in each control cycle in a manner in which the command value can be used in other processes, wherein through the shared memory (52, 160), the first program execution part is configured to use the second command value calculated by the command value operation part (60, 158) in each control cycle, and the second program execution part (56, 150) is configured to use the first command value updated in each control cycle by the first program execution part (54, 140), wherein some or all of processing results of the first program execution part (54, 140) are stored in the shared memory (52, 160), and the second program execution part (56, 150) is configured to use data stored in the shared memory (52, 160), and some or all of processing results of the second program execution part (56, 150) are stored in the shared memory (52, 160), and the first program execution part (54, 140) is configured to use data stored in the shared memory (52, 160). a data update part (50, 162), configured to update input data and output data in each control cycle; a first program execution part (54, 140), configured to scan an entire first program (62, 30) in each control cycle to update a first command value; a second program execution part (56, 150), configured to update a second command value in each control cycle according to a sequentially interpreted second program (64, 32); and a shared memory (52, 160), configured to store the first and second command values (72, 74) respectively updated by the first and the second program execution parts (54, 140, 56, 150), wherein the second program execution part (56, 150) comprises: an interpreter (58, 152), configured to interpret at least part of the second program to generate an intermediate code; and a command value operation part (60, 158), configured to calculate the second command value in each control cycle according to the intermediate code generated by the interpreter (58, 152), characterized in that the command value operation part (60, 158) configured to output the second command value in each control cycle in a manner in which the command value can be used in other processes, wherein through the shared memory (52, 160), the first program execution part is configured to use the second command value calculated by the command value operation part (60, 158) in each control cycle, and the second program execution part (56, 150) is configured to use the first command value updated in each control cycle by the first program execution part (54, 140), wherein some or all of processing results of the first program execution part (54, 140) are stored in the shared memory (52, 160), and the second program execution part (56, 150) is configured to use data stored in the shared memory (52, 160), and some or all of processing results of the second program execution part (56, 150) are stored in the shared memory (52, 160), and the first program execution part (54, 140) is configured to use data stored in the shared memory (52, 160). an interpreter (58, 152), configured to interpret at least part of the second program to generate an intermediate code; and a command value operation part (60, 158), configured to calculate the second command value in each control cycle according to the intermediate code generated by the interpreter (58, 152), characterized in that the command value operation part (60, 158) configured to output the second command value in each control cycle in a manner in which the command value can be used in other processes, wherein through the shared memory (52, 160), the first program execution part is configured to use the second command value calculated by the command value operation part (60, 158) in each control cycle, and the second program execution part (56, 150) is configured to use the first command value updated in each control cycle by the first program execution part (54, 140), wherein some or all of processing results of the first program execution part (54, 140) are stored in the shared memory (52, 160), and the second program execution part (56, 150) is configured to use data stored in the shared memory (52, 160), and some or all of processing results of the second program execution part (56, 150) are stored in the shared memory (52, 160), and the first program execution part (54, 140) is configured to use data stored in the shared memory (52, 160).