Running the VI in highlighted execution reveals that the local variable is not updated with the boolean value coming from the stop button case of the event structure. The event structure while loop stops, but the data acquisition loop never stops, continually updating a false value to the conditional terminal despite the source of the local variable obviously being true. I don't understand this.
I have tried semaphores and queues, and they solve this problem. However, most of the time, the event structure loop is in timeout, and therefore the semaphores and queues are not updated. This means I do not achieve iteration of the data acquisition loop unless a programmed event happens. I want this loop to iterate all of the time, regardless of the event loop, and only to stop simultaneously with the event loop.
I am going to try to write to a functional global variable from the stop button, but I have a feeling that this will produce the same results as semaphores and data queues. (If I understood the problem a little more, maybe I'd have something more concrete than a feeling).