A common question for beginning labview programming is: but is LabVIEW execution order determined? can it flow left to right? prime to bottom? the answer is that it follows a dataflow execution model. throughout this episode, we have a tendency to tend to look at what that is.
For lots of on learning LabVIEW, check up on the Sixclear Lucid LabVIEW Fundamentals employment (formerly Sixclear LabVIEW Fundamentals) course offered by Sixclear: sixclear.com.
In the video, we have a tendency to tend to say that there ar many ways that of determinant execution order. we'll scrutinize victimization the error cluster next time around, that's typically the most effective means that. simply connecting the error cluster of VIs in AN extremely chain will force them to execute among the proper order.
Experience Level: Basic
“I initial saw a LabVIEW diagram whereas in operation in AN extremely biomass combustion science laboratory at school. I tested the diagram and asked my senior analysis partner: but do i apprehend what executes first? can it go left to right? prime to bottom? He explained it as a combination of science, magic, and love and told Maine to induce back to work building the reactor chamber. Let’s clarify, clarify, and understand dataflow and execution order.
Data in fifty five flows through nodes. Nodes ar objects on the diagram that have inputs and/or outputs and perform operations once a VI runs. therefore on calculate execution order, LabVIEW follows a try of dataflow rules:
1. associate object executes once all info at its input terminals is on the market, and
2. associate object outputs info from its output terminals once it's finished execution
For instance, this diagram includes a try of nodes: this add operate and this multiply operate. but am i able to make sure that of these will execute first? Intuitively you may say that it’s the add operate as a results of it comes “first”, or it’s over to the left. but the vital reason is that it meets the requirement for execution to keep with rule one that we have a tendency to tend to easily looked at: it's all the information out there at every input terminals as a results of every of these controls can instantly supply information to the terminals. watching the multiply operate, we have a tendency to tend to check the lower input can instantly receive its info from this constant, but the upper input is waiting on info from the output of the add operate. which we have a tendency to apprehend that the Add operate won’t output its info until it's finished punishment, to keep with rule a try of. therefore we have got associate inherent execution order: the add operate ought to execute before the multiply operate. And if we have a tendency to tend to look at in highlight execution, we have a tendency to tend to check that’s specifically what happens.
Now let’s scrutinize this diagram. we have got the chain of VIs we have a tendency to tend to easily examined, so another am keen on it. once I hit the run button, that of these functions will execute first? clearly of the Add and Multiply functions, we have a tendency to all grasp that the Add will execute initial. And of the figure and Divide operate, the figure will execute initial. but that of the Add or figure functions will execute first? this will be somewhat lots of adverse as there does not exist a dataflow dependency between these a try of functions, in different words they don’t share inputs and outputs. throughout this case, LabVIEW will simply prefer whichever it is a heap of economical for it to run initial. this may well be either, looking on a variety of things.
Now we have a tendency to tend to don’t want to grant the impression that fifty five is erratic or unpredictable, as a results of if we have a tendency to really needed to dictate that one in all these functions would go initial we are going to do that really merely. However, throughout this case, by programming the diagram throughout this fashion, we have a tendency to tend to’ve primarily told fifty five that we have a tendency to don’t care that of these will go initial, then fifty five merely chooses one. There ar many ways that of dictating execution order, and we’ll take a look at that next time.