A control device (10, 10A, 10B, 11) configured to control control-target equipment by concurrently repeating a plurality of tasks (Tp, Ts) each over a corresponding cycle, the control device (10, 10A, 10B, 11) comprising: an accepting section configured to accept from an outside device a request (SubX) to collectively query about respective values that a plurality of variables (A, B, C) have while the plurality of tasks (Tp, Ts) are being carried out, the plurality of variables (A, B, C) each having a value that becomes updated for at least one of the plurality of tasks (Tp, Ts); a reading section configured to, in a case where the accepting section has accepted the request (SubX), read the respective values of the plurality of variables (A, B, C), the respective values each having been updated for the at least one of the plurality of tasks (Tp, Ts), in such a manner that the reading section completes reading all the respective values of the plurality of variables (A, B, C) during a time period from (i) a time point of a start of a single instance of a cycle of a task (Tp, Ts) which cycle is shortest among respective cycles of the plurality of tasks (Tp, Ts) to (ii) a time point of an end of the single instance of the cycle; and an output section configured to output, to the outside device, the respective values of the plurality of variables (A, B, C), the respective values having been read by the reading section, characterised in that the reading section is configured to start reading the respective values of the plurality of variables (A, B, C) by a time point obtained by subtracting an expected reading period from a time point at which the respective cycles of the plurality of tasks (Tp, Ts) start together, the expected reading period being a time period expected to be necessary to read all the respective values of the plurality of variables (A, B, C). the control device (10, 10A, 10B, 11) comprising: an accepting section configured to accept from an outside device a request (SubX) to collectively query about respective values that a plurality of variables (A, B, C) have while the plurality of tasks (Tp, Ts) are being carried out, the plurality of variables (A, B, C) each having a value that becomes updated for at least one of the plurality of tasks (Tp, Ts); a reading section configured to, in a case where the accepting section has accepted the request (SubX), read the respective values of the plurality of variables (A, B, C), the respective values each having been updated for the at least one of the plurality of tasks (Tp, Ts), in such a manner that the reading section completes reading all the respective values of the plurality of variables (A, B, C) during a time period from (i) a time point of a start of a single instance of a cycle of a task (Tp, Ts) which cycle is shortest among respective cycles of the plurality of tasks (Tp, Ts) to (ii) a time point of an end of the single instance of the cycle; and an output section configured to output, to the outside device, the respective values of the plurality of variables (A, B, C), the respective values having been read by the reading section, an accepting section configured to accept from an outside device a request (SubX) to collectively query about respective values that a plurality of variables (A, B, C) have while the plurality of tasks (Tp, Ts) are being carried out, the plurality of variables (A, B, C) each having a value that becomes updated for at least one of the plurality of tasks (Tp, Ts); a reading section configured to, in a case where the accepting section has accepted the request (SubX), read the respective values of the plurality of variables (A, B, C), the respective values each having been updated for the at least one of the plurality of tasks (Tp, Ts), in such a manner that the reading section completes reading all the respective values of the plurality of variables (A, B, C) during a time period from (i) a time point of a start of a single instance of a cycle of a task (Tp, Ts) which cycle is shortest among respective cycles of the plurality of tasks (Tp, Ts) to (ii) a time point of an end of the single instance of the cycle; and an output section configured to output, to the outside device, the respective values of the plurality of variables (A, B, C), the respective values having been read by the reading section, characterised in that the reading section is configured to start reading the respective values of the plurality of variables (A, B, C) by a time point obtained by subtracting an expected reading period from a time point at which the respective cycles of the plurality of tasks (Tp, Ts) start together, the expected reading period being a time period expected to be necessary to read all the respective values of the plurality of variables (A, B, C).