Circular Execution Dependency Errors
When you synchronize multiple devices together, LabVIEW SignalExpress starts the devices in a specific order to ensure correct synchronization.
For example, if you configure a device to start on a digital start trigger and select the start trigger signal of another device as the trigger source, LabVIEW SignalExpress starts the device receiving the trigger before starting the device sending the trigger to ensure that the receiver is ready for the trigger before it is sent.
Similarly, if you configure a step to start after another step by placing a checkmark in the Start this step after checkbox and specifying a step in the Step to wait for option located on the Execution Control tab of the DAQmx Acquire and DAQmx Generate steps, LabVIEW SignalExpress starts the steps based on the order you specify in the Step to wait for option.
If you configure your steps to start in the wrong order, you can cause a circular dependency error. The following examples illustrate how you can cause a circular dependency error:
- You configure two steps to start after one another, or you configure two steps to share triggers with each other.
- You configure a step to start on a digital start trigger with the start trigger signal of another step as the trigger source, and you configure the step to start after the step that produces the trigger.
To resolve the circular execution dependency error, modify the order of one or more steps. LabVIEW SignalExpress lists the steps responsible for the error and lists the options you can change to resolve the error.
Note Some steps contain a Sample clock source option used when you configure the device to use an external clock. LabVIEW SignalExpress uses the value in this option to ensure the device generating the clock signal generates the signal before LabVIEW SignalExpress programs the device to receive the signal. The Sample clock source option also can be responsible for circular execution dependency errors. |