A simulation device that includes a control module for executing a simulation of a control program (10, 15) run in a controller that controls the operation of a machine, the simulation device comprising: the control module including: a first computing module that computes a command value for operating a virtual machine in a virtual space corresponding to the machine in accordance with the control program (10, 15); a second computing module that computes the behavior of the virtual machine in accordance with the command value computed by the first computing module; and a detector that determines whether or not the state of the virtual machine satisfies a simulated detection condition corresponding to a detection condition for a sensor (610, 611A, 611B, 611C, 621A, 633, 634, 651A, 651B, 663) in the machine on the basis of the behavior of the virtual machine computed by the second computing module; wherein the first computing module computes the command value in accordance with the simulated detection condition determined by the detector to be satisfied; wherein the control module is configured for simulating the operations of the controller running the control program (10, 15), the control module being further configured for simulating conditions resulting from the arrival of external signals that affect the operation of the control program (10, 15), or the conditions resulting from changes in the internal state of the controller. the control module including: a first computing module that computes a command value for operating a virtual machine in a virtual space corresponding to the machine in accordance with the control program (10, 15); a second computing module that computes the behavior of the virtual machine in accordance with the command value computed by the first computing module; and a detector that determines whether or not the state of the virtual machine satisfies a simulated detection condition corresponding to a detection condition for a sensor (610, 611A, 611B, 611C, 621A, 633, 634, 651A, 651B, 663) in the machine on the basis of the behavior of the virtual machine computed by the second computing module; wherein the first computing module computes the command value in accordance with the simulated detection condition determined by the detector to be satisfied; wherein a first computing module that computes a command value for operating a virtual machine in a virtual space corresponding to the machine in accordance with the control program (10, 15); a second computing module that computes the behavior of the virtual machine in accordance with the command value computed by the first computing module; and a detector that determines whether or not the state of the virtual machine satisfies a simulated detection condition corresponding to a detection condition for a sensor (610, 611A, 611B, 611C, 621A, 633, 634, 651A, 651B, 663) in the machine on the basis of the behavior of the virtual machine computed by the second computing module; wherein the first computing module computes the command value in accordance with the simulated detection condition determined by the detector to be satisfied; wherein the control module is configured for simulating the operations of the controller running the control program (10, 15), the control module being further configured for simulating conditions resulting from the arrival of external signals that affect the operation of the control program (10, 15), or the conditions resulting from changes in the internal state of the controller.