08-22-2019 02:03 PM
I am using the NI 6251 and BNC 2090 to acquire the analog waveform from a function generator. However, there is a glitch in the waveform. What happens? How do I reduce the glitch? I use the on-board 0.1MHz clock source with 10k samples for both analog and the digital signal from OUTPUT and SYNC terminal of the waveform generator.
Solved! Go to Solution.
08-26-2019 10:15 AM
Does this happen every time you run the program?
Also, do you have an oscilloscope or something to determine whether the "glitch" is happening on the DAQ side or the waveform generator itself? If the oscilloscope shows this same glitch, it's going to be an issue with the function generator. If it's not there and on the DAQ display, then it may be an issue with the code (though I don't know what would be wrong since it's a DAQ Assistant).
08-26-2019 10:27 AM
This happens every time. The interesting thing is: It works fine at 1000Hz waveform but not at 20Hz. There is no glitch at the waveform generator since the oscilloscope works just fine. I am sure that must be the sample rate does not match the rate that LabView read the data from the buffer. So each time LabView does a buffer read, there are both old data and the new data reside within the buffer. That's why I got a glitch. But how do I resolve that?
08-29-2019 10:45 AM
But why it always happens at 0.0275 second?
08-29-2019 08:00 PM
Problem fixed: The DAQ Assistant has some loop within it or some magic that is causing the glitch. Manually set up, open, close, configure the buffer, etc.
08-30-2019 01:53 PM
Update on the solution: The Agilent serial communication slows down the DAQ progress. By removing the Agilent code from the loop, no glitch appears in the waveform.
P.S. If I put Agilent code to a separate loop within the same vi, LabView force both loop to have the same iteration rate, also slowing down the DAQ process and result in a glitch. The solution to acquire the data using DAQ and to adjust the waveform generator concurrently is to put them in two separate VIs and run two VIs concurrently. OS will treat two VIs as two different tasks and might create two different thread for that. In that case, two loops will have a different iteration rate.