Right now we capture 32 analog signals in single point mode at the loop rate of 1kHz, this works perfectly.
Now I need to analyze the AC ripple on some of the signals, the max ripple frequency is 3kHz.
The solution I see is to change the sample mode from single point to waveform and make a task to sample at 10kHz.
I've made an asynchronous custom device that will read the waveform data every 100ms and sends the last value of every analog input to a corresponding output channel. This is needed because there is another model that expects all the analog inputs as a single value. (and I can't break the system).
My custom device shows the value of the first analog input, and outputs this to all output channels.
After some debugging I see that the 'Get Waveform Data Reference.vi' outputs five times the reference to the first waveform.
The debug01 item in the 'initialization VI.vi' example shows '9'.
Get all wfms outputs an array of 5 waveforms (this is correct, I've configured 5 analog inputs).
What am I doing wrong, and/or are there other solutions so mix single point measurements and waveform analysis?
At the RT side I've been experimenting with multiple read sessions and one read session with multiple waveforms, this did not make any difference so far.
I'm using labview 2016/veristand 2016 on a PXIe-1078 with a PXIe-6355 DAQ card.
Thank you for posting this question. I would like to check up on this post since no one in the community has gotten back to you yet. I found an article on this here that I think answers your question?
I don't necessarily need to concatenate samples from different loops.
All I want is every 100ms gather enough samples, do a calculation on them, and add the result in an output channel. Gaps between two loops are allowed in my case, since the calculation only applies to the samples taken in the last 100ms.
Despite the fact that I have a 1MS/s DAQ card, Veristand limits me to 1kS/s since my PCL is 1000Hz and I see no way to improve this.