Currently I am trying to generate arbitrary waveform as shown below:
I can generate it successfully using the .csv file and then I uploaded using NI VirtualBench software. The result is shown below:
Then I tried to generate it using labview, but until now I have no luck. Using the waveform graph, I successfully show the desired waveform, but when I try to display it on MSO, the shape makes no sense at all. I am not sure if I use all the components correctly, such as using build waveform function instead of Simulate Arbitrary Signal. I tried with Simulate Arbitrary Signal, but I have no idea how to convert this .csv into .lvm. That is why I find the "Build Waveform" function is easier for me.
Solved! Go to Solution.
Somehow I get closer to my intended waveform (using "Simulate Arbitrary Signal), but I use other MSO instead of VB MSO to visualize it. I do not really understand how the VB works to generate the function. I mean should I run it once and it will generate all the time or should I "run continuosly" to keep generating the function from FGEN? I notice when I "run continuously", the function get reset (turned into DC) for sometime when it passes the FGEN RUN (VI). Attached is my revised VI.
Once your VI configures VB-FGEN to output the arbitrary signal, it will continue outputting that signal until the configuration is changed. This means if you run the VB-FGEN portion of your VI once it will continue to output the signal. You can see this indicated on the soft front panel. You can change gain, offset, and sample rate while it is running, but updating the waveform, even if it's with the same data, will cause a brief interruption in the output.
Thank you for you answer, it really helps me to understand better. However, there is still something that I do not understand.
Below is the correct signal when I connect my VB to external MSO:
But when I am using MSO display on labview, most of the time the displayed signal is not the correct one as below:
However, that is not always the case, when I run it continuously, it will display the correct signal (but not in the first run) once in a while as below:
Please notice between the last 2 figures, the legend (red and blue indicators) changed from "Plot 1" and "mso/2" into "mso/1" only. Do I make some mistake in configuring the VB-MSO RUN or READ?
Glad we've got a good output going now. I can't say for sure, but it looks like VB is having trouble doing auto-setup with this particular signal. I would try choosing the analog range and timing manually using the `Analog` and `Timing` VIs here. It may also be helpful to set up edge triggering. If it were me, I'd use `reset` on the initialize VI and set all of these properties only for the channel I'm looking at.
I hope that helps.
Thank you for your reply. Can you specify more details about this "Analog" and "Timing" VI since I am very new in using LabView, so it is quite difficult for me to find the exact VI. If you have an example, it would be awesome. Otherwise I will just do trial and error 🙂
Of course, I had meant to include a picture of where to find those:
You can get help for those specific VIs with the context help (ctrl+h toggles that help and you hover over the VI once you've placed it on your diagram).