LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

1D array of Waveform to Waveform

Dear All,

I have the following problem, if anybody can help I will be grateful.

I am acquiring data in waveform format. When I wire the waveform
output from the Read vi to "Get waveform time array.vi" or "Waveform to
XY pairs" it is giving me a "YOu have connected an array to its element
type" error. I am guessing the Analog Read vi thinks that there are
several waveforms, but I am not sure. Is there a way to solve this?

Thank you...

ilter

0 Kudos
Message 1 of 6
(7,128 Views)

DAQmx read is a polymorphic vi

Right click on that function, in the drop down menu, select type>>analog>> single channel>> multipe samples>> waveform

As shown in the attached VI

hope this helps

regards

Dev

 

0 Kudos
Message 2 of 6
(7,116 Views)
Hello Dev,

Thank you for the example and the explanation. Now I understand what is
wrong but I still have the problem, because I was using the classical
Analog In Read. vi. I do not know much about Daqmx and today I tried to
run a vi using that but could not. So I was wondering if you could tell
me how to set the classical Read.vi like the Daqmx.

Thank you very much...

Best wishes,

ilter

0 Kudos
Message 3 of 6
(7,112 Views)
You answered your question in the asking.  You have a 1-D array of waveforms.  The functions you are using are designed to operate on only one waveform at a time.  You have a couple options:  If you are only sampling one channel (i.e. only have one waveform in the array), you can just index the array and use that.  If you have mulitple channels (and hense, mulptiple waveforms in the array), you can use a for loop to operate on each waveform.


Message Edited by jasonhill on 03-01-2006 03:16 PM

0 Kudos
Message 4 of 6
(7,109 Views)
By the way, I found another topic discussed before. Using index
array.vi helps fix broken wire between read.vi and get time array.vi
but it does not allow getting true data from get time array.vi. I mean
all the time array is filled with 3.224 E+9. Here is the old
discussion:

**************
http://groups.google.com/group/comp.lang.labview/browse_thread/thread/dde9f1dffac44533

The array contains waveforms for different channels. You can select
one channel using the index array function and then wire the output
from that into the get componants function. If you want more than one
channel expand the index array function to have multiple channels
(just use the mouse to scale the function icon, if you scale it
downwards new terminals will show up), or if you need the number of
channels to be flexible do it in a loop where you change the index(es)
input on each iteration.


****************

0 Kudos
Message 5 of 6
(7,100 Views)
Sounds about right to me.  Time stamps are the number of seconds since seconds since 12:00 a.m., Friday, January 1, 1904.  And, 3.224E9 is a bit over 102 years.  You can use the functions on the Timing palette to get these numbers into something a little more meaningful.
0 Kudos
Message 6 of 6
(7,098 Views)