08-15-2010 08:20 AM
This seems to me to be a rather trivial question, but one that I have been
thinking about nonetheless. I have been programming in Labview for some time
now, and am familiar with sequence structures, but I am wondering if simply
connecting the output of one block to the input of another block means that the
first block will execute first, then the second block after that.
The example that I am encountering now is a digital read in DaqMX on two
different digital channels. I know that DaqMX can read a port - thereby reading
channels simultaneously, but can not read two channels simultaneously (at least
not on the hardware that I am using USB-6210). So the question is if I connect the
error out from the first channel read to the error in of the second channel
read, will Labview read the first channel first and the second channel second,
or will it still try to read the two channels simultaneously? I realize that I
can guarantee the sequential order with a sequence structure, but I am
interested in the "philosophical" answer to this question.
Thanks!
08-15-2010 08:29 AM
Yes.
The behaviour you describe is what 'we' mean when we talk about 'data flow'. Because of this, the sequences are not needed in most cases, but artifically limit the execution order when it is already defined by the wires.
It is considered good programing style to use the error wires and not a sequence in the DAQmx example you mentioned.
Felix
08-15-2010 05:18 PM
An elegant, yet simple answer. Thanks Felix!