02-07-2023 05:45 AM
Hi all, hoping for some advice on this problem if possible:
Essentially, we have a laser that will excite samples many times in a certain acquisition period, and I built a program that converts the voltage values from a Tektronix MDO34 oscilloscope, to those of Delta(absorbance), for transient absorption analysis. However the problem is that at present, it seems to take 10,000 readings, store them in the appropriate arrays, and then overwrite them continuously until the acquisition time is done.
Ideally, I need to find a way to append these values to the array and average them as it goes. I am fairly new to labVIEW so do excuse any glaring errors; I really appreciate any help!
02-07-2023 09:19 AM
Use shift registers to store data between iterations. Using Shift Registers in LabVIEW
OR
Use Waveform Chart instead of Waveform Graph. What Is the Difference between Waveform Graphs and Waveform Charts in LabVIEW?
02-07-2023 10:44 AM
Thank you I tried this, but there is two tunnels entering and one leaving, so that the type of data entering each is a 1d array and the one leaving is 2d. Is there some way to avoid this? Changing to a chart and increasing its chart history did not seem to fix the overwriting problem either.
02-07-2023 11:31 AM
Could you please post your VI so that we can reproduce the issue on our side?
It doesn't matter if I don't have the actual hardware. I can replace the VISA API with some dummy data generation.
02-07-2023 11:39 AM
Here it is: thank you for looking into it!
02-07-2023 02:12 PM
I don't really understand what's going on with the array manipulation.
Anyway, you can use Append Waveform VI. See the attached example.
The support VI is available at C:\Program Files (x86)\National Instruments\LabVIEW 2021\examples\Waveform\Support VIs
You can find more examples on waveform manipulation from that folder as well.