All other iterations have a timeout of -1. On the first iteration, the timeout is 0. In the picture, the shift register is just a way to make the first iteration different from all the others. You can verify the above sequence if you are patient and set a really long timeout (~30 seconds) and turn on highlight execution The next iteration starts, the "true" at the stop control is read at the begging of the loop, you wait and execute the timeout event.That true is going to go into your "data array". Lets say you press stop 2 ms into the event structure wait—you have an array of true waiting at the incoming edge of the event structure.Sit at the edge of the event structure for a bit.Your VI is going to read the stop button (False).I know that they are used to pass data along a for loop, and they can store previous iteration values.
#Daq assistant labview 2013 download how to
Can someone explain to me the shift register's role in that? I somewhat understand how shift registers work but I am unable to figure out how to incorporate them into a program. What do I seem to be missing in my thinking?īut, regarding the picture with the conditional event logic. And especially I cannot understands why it would set them to true if I change the timeout constant to 5ms, versus 1ms. I cannot understand why it would set them to true. So when the stop value changes, it will give a false value to the boolean switch array's local variable, which should set them all to false. Next, I send it to the event structure which will execute if the stop value changes. Then use that false value to initialize an array containing all false values with the same size as the number of elements in the switch array. So I send it through a not gate, which will make it false. When the stop button is pressed it returns a value of true. To me, it seems that the logic is correct. But, if I make the timeout at 1ms and I press the stop button it switches all the boolean switches to off (false), which is what I want.Ĭan someone explain to me why it is doing this, and maybe what would be a better way in accomplishing my task? However, for some reason when the timeout is at 5ms and I press the stop button it switches all the boolean switches to on (true). So, in order to do that I made an event structure that contains a local variable for the boolean switches. However, I want to make it so that the when the user presses the stop button, it will reset all the boolean switches to off (false). I also have a stop button that will end the while loop and stop writing. Then I have a boolean array of push buttons which will toggle the write data on/off. In this VI, I have made a task that includes 8 lines. However, I have a problem that I cannot figure out. I believe I have made a much more efficient daq VI. Writing all the lines at the same time should be more efficient that writing them individually. The input being an array goes along with this. That means that the "channel" is 8 lines. Look at the channel input: Dev1/port0/line0:7. No, that example writes to many lines at the same time.