11-02-2012 10:28 PM - edited 11-02-2012 10:29 PM
Hi, I am pretty new to Labview and would like some help. I have a Tektronic DPO 3054 oscilloscope which has a IR detector connected to it. When I collect the signal from the oscilloscope using Labview, I can plot out the waveform, with time as the x-axis and the signal amplitude as the y-axis.
Since I am scanning a 5nm wavelength range, the time given by the oscilloscope should correspond to the wavelength of the signal being detected. However I have tried many ways to convert the time data to wavelength but I cannot seem to figure this out! The algorithm is quite simple: Start wavelength (nm, which I have) + (5nm per scan / 10 msec scan time) * (Time elapsed since start of scan in msec).
My main problem is not being able to get the Time elapsed, perform a multiplication, and use it as the X-values for a Waveform graph.
Attached is the .vi, any suggestions greatly appreciated!
11-03-2012 11:12 AM
For a waveform the elapsed time from the beginning of the waveform is dt*i, where dt is obtained by using the Get Waveform Components primitive on the Waveform palette and i is the index in the Y array of the element you want. To get an X array simply use Ramp Pattern.vi with appropriate inputs or a for loop with the Waveform Y array as an autoindexing input and dt*i as the output.
Also, you do not need the Express VI for simple graphs, a Bundle from the Cluster, Class and Variant palette will do, using much less BD space and leaving no doubt about how the graph data is formed.
Lynn