A control device having one or more processors, the control device comprising: a storage part configured to store a first program and a plurality of second programs; a program execution part configured to execute the first program at every first cycle to output a first control command; a parsing part configured to execute parsing of the plurality of second programs at every second cycle respectively which is an integral multiple of the first control cycle, to sequentially generate respective internal commands; a command calculation part configured to output a second control command at every first cycle according to the plurality of the internal commands; a scheduler configured to allocate a processor resource to one or more tasks based on a preset priority, wherein the scheduler is configured to set at least a first task that has a first priority comprising processing performed by the program execution part and the command calculation part, to set a plurality of second tasks that have a second priority, lower than the first priority, comprising processing performed by the parsing part, and to set a third task that has a third priority comprising processing content different from the first task and the second task; and characterized in that: a priority changing part is configured to monitor an information indicating a load of the parsing part, and when the processing state of the parsing part meets a predetermined condition, to change the second priority that has been set to the plurality of second tasks according to the information indicating the load, wherein the information that indicates the load comprises a time (602; 603; 604) required for processing of the plurality of second programs performed by the parsing part, wherein the priority changing part is configured to change priorities of the plurality of second tasks associated with the processing of the plurality of second programs by determining the processing state of the parsing part based on information that indicates a load related to the generation process of the internal commands generated by the parsing part. a storage part configured to store a first program and a plurality of second programs; a program execution part configured to execute the first program at every first cycle to output a first control command; a parsing part configured to execute parsing of the plurality of second programs at every second cycle respectively which is an integral multiple of the first control cycle, to sequentially generate respective internal commands; a command calculation part configured to output a second control command at every first cycle according to the plurality of the internal commands; a scheduler configured to allocate a processor resource to one or more tasks based on a preset priority, wherein the scheduler is configured to set at least a first task that has a first priority comprising processing performed by the program execution part and the command calculation part, to set a plurality of second tasks that have a second priority, lower than the first priority, comprising processing performed by the parsing part, and to set a third task that has a third priority comprising processing content different from the first task and the second task; and characterized in that: a priority changing part is configured to monitor an information indicating a load of the parsing part, and when the processing state of the parsing part meets a predetermined condition, to change the second priority that has been set to the plurality of second tasks according to the information indicating the load, wherein the information that indicates the load comprises a time (602; 603; 604) required for processing of the plurality of second programs performed by the parsing part, wherein the priority changing part is configured to change priorities of the plurality of second tasks associated with the processing of the plurality of second programs by determining the processing state of the parsing part based on information that indicates a load related to the generation process of the internal commands generated by the parsing part. a priority changing part is configured to monitor an information indicating a load of the parsing part, and when the processing state of the parsing part meets a predetermined condition, to change the second priority that has been set to the plurality of second tasks according to the information indicating the load, wherein the information that indicates the load comprises a time (602; 603; 604) required for processing of the plurality of second programs performed by the parsing part, wherein the priority changing part is configured to change priorities of the plurality of second tasks associated with the processing of the plurality of second programs by determining the processing state of the parsing part based on information that indicates a load related to the generation process of the internal commands generated by the parsing part.