I'm working with a lot of sine waves of differing phases, so I made a quick oscilloscope VI. It has a zero crossing detector to act as a trigger so the display is stable and an input to specify the number of points to sample.
Simple enough, I got the thing working quickly but I ran into trouble making a standalone vi with a generic array output instead of having the display control embedded in the loop where the Output Array is in the diagram below. . Issue was, unless I hook up a strobe signal (circled) which is only true when the display updates and put a waveform graph control update in a little T/F case statement a waveform graph mostly displays a blank, every now and again you can see the display flash briefly. If the waveform graph is strobed the display is as expected.
I thought that if an array was put in a case statement it was updated when the case executed and the value remained (i.e. was latched) until the next update. This one does not act that way, the variable goes invalid or "not executed" most of the time.
If anyone can shed light on what I am not understanding about how LabVIEW updates and holds values I would really appreciate it. My code is working, but I wasted a lot of time on this and it does not seem to make sense.
Thanks in advance,
Bill
The code showing the output array and strobe pins for the output to display case:
Necessary code to get the display to be viewable, the local variable 1GEN... is a Waveform Graph: