Step Execution Groups
In a project, steps that send signals to and receive signals from each other execute together as an execution group. The timing of the execution of individual steps in an execution group depends on factors such as signal inheritance and hardware configuration. For example, a step that analyzes a signal cannot execute until it receives the signal from a previous step or an instrument. Steps in an execution group appear enclosed in a blue execution loop in the Project View.
You can create projects where two or more groups of steps execute independently of each other. Steps in one execution group do not receive signals from steps in other execution groups. For example, if you add two Create Analog Signal steps to the Project View, the steps appear in separate execution loops, as shown in the following image, because the second Create Analog Signal step does not receive a signal from the first Create Analog Signal step.
When you run the project, both Create Analog Signal steps execute concurrently because one step does not need to wait on the other step.
LabVIEW SignalExpress determines whether steps can execute in the same group automatically. For example, if you modify the previous example to add an Arithmetic step after the second Create Analog Signal step, all three steps appear in one loop, as shown in the following illustration, because the Arithmetic step receives data from both Create Analog Signal steps.
When you run the project, both Create Analog Signal steps execute, then the Arithmetic step executes.
If you add two more Create Analog Signal steps and another Arithmetic step after the first Arithmetic step, the new steps appear in a separate execution loop because the second group does not receive data from the first group. The two groups execute independently when you run the project. Common uses for multiple execution groups in the same project include creating multi-rate applications and simultaneously sending two different signals to two different hardware devices running at two different speeds.
You also can create projects where some steps run independently of others in the same execution group. For example, if you add a Create Analog Signal step, a Filter step, and a Scaling and Conversion step to the Project View and configure both the Filter step and the Scaling and Conversion step to use the output signal of the Create Analog Signal step as an input, the Filter step and the Scaling and Conversion step execute concurrently. The Scaling and Conversion step does not have to wait for the Filter step to finish executing. Both steps execute immediately after the Create Analog Signal step executes.
If you configure an independently executing step incorrectly, an error occurs at that step, and the step stops executing and does not return a signal. However, other steps that are not dependent on that step for a signal continue to execute.