A control system comprising: a storage in which a teaching program is stored, operations performed by a robot and a peripheral device being described in the teaching program; a determination unit configured to discriminate an operation of the peripheral device in the teaching program stored in the storage is in an asynchronous interval where the operation of the peripheral device is not synchronized with an operation of the robot or in a synchronous interval where the operation of the peripheral device is synchronized with the operation of the robot , and configured to determine whether a movement-related command in a command of the teaching program is a command in the asynchronous interval or a command in the synchronous interval, the movement-related command being a command related to movement of at least one of the robot and the peripheral device ; a separator that is configured to separate an asynchronous command determined to be the command in the asynchronous interval by the determination unit into commands of the robot and the peripheral device ; a first controller that is configured to synchronously control the operations of the robot and the peripheral device based on a synchronous command determined to be the command in the synchronous interval by the determination unit , and configured to control the operation of the robot based on a command related to the robot in the asynchronous command separated by the separator ; and a second controller that is configured to control the operation of the peripheral device without synchronizing with the operation of the robot based on a command related to the peripheral device in the asynchronous command separated by the separator . a storage in which a teaching program is stored, operations performed by a robot and a peripheral device being described in the teaching program; a determination unit configured to discriminate an operation of the peripheral device in the teaching program stored in the storage is in an asynchronous interval where the operation of the peripheral device is not synchronized with an operation of the robot or in a synchronous interval where the operation of the peripheral device is synchronized with the operation of the robot , and configured to determine whether a movement-related command in a command of the teaching program is a command in the asynchronous interval or a command in the synchronous interval, the movement-related command being a command related to movement of at least one of the robot and the peripheral device ; a separator that is configured to separate an asynchronous command determined to be the command in the asynchronous interval by the determination unit into commands of the robot and the peripheral device ; a first controller that is configured to synchronously control the operations of the robot and the peripheral device based on a synchronous command determined to be the command in the synchronous interval by the determination unit , and configured to control the operation of the robot based on a command related to the robot in the asynchronous command separated by the separator ; and a second controller that is configured to control the operation of the peripheral device without synchronizing with the operation of the robot based on a command related to the peripheral device in the asynchronous command separated by the separator . <EOS>