From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to append data in array

I use three read waveform nodes to read data from three channels of
oscilloscope. The data of each channel are 1D array, and I use build
array node to change them into 2D array. It can work well now.
When I want to continuously reading data, I put the read waveform nodes
and build array node into a while loop structure(a timer controls the
time when to stop). That means every time, the program calls read
waveform nodes and then changes them into 2D array. The problem is:after
each loop, the data stored in the 2D array are overwrited. So, at last,
I can only get the last loop data.
I want to append the data into the 2D array, but I do not know how to
implement? I have tried put the build array outside the while loop,
unfortunatel
y, it does not work.
Any advice would be appreciated.


Sent via Deja.com http://www.deja.com/
Before you buy.
0 Kudos
Message 1 of 5
(5,124 Views)
Try to transpose the new portion of 2D array before you wired it to the
second Array Input of a Build Array node. I should grow in length each
cycle.

wrote in message news:8br6vi$qq1$1@nnrp1.deja.com...
> I use three read waveform nodes to read data from three channels of
> oscilloscope. The data of each channel are 1D array, and I use build
> array node to change them into 2D array. It can work well now.
> When I want to continuously reading data, I put the read waveform nodes
> and build array node into a while loop structure(a timer controls the
> time when to stop). That means every time, the program calls read
> waveform nodes and then changes them into 2D array. The problem is:after
> each loop, the data stored in the 2D array are over
writed. So, at last,
> I can only get the last loop data.
> I want to append the data into the 2D array, but I do not know how to
> implement? I have tried put the build array outside the while loop,
> unfortunately, it does not work.
> Any advice would be appreciated.
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
0 Kudos
Message 2 of 5
(5,124 Views)
You need to combine the build array function with the shift register. Pop
up on the edge of the loop and Add Shift Register. You can combine the
current reading with the previous reading from the left shift register and
save it back to the right shift register.
--
Michael Munroe Mailto:mmunroe@abcdefirm.com
A Better Complete Development Engineering Firm
San Mateo, CA 94403 http://www.abcdefirm.com

zhljh@my-deja.com wrote:

> I use three read waveform nodes to read data from three channels of
> oscilloscope. The data of each channel are 1D array, and I use build
> array node to change them into 2D array. It can work well now.
> When I want to continuously reading data, I put the read waveform nodes
> and build array node into a while loop structure(a timer c
ontrols the
> time when to stop). That means every time, the program calls read
> waveform nodes and then changes them into 2D array. The problem is:after
> each loop, the data stored in the 2D array are overwrited. So, at last,
> I can only get the last loop data.
> I want to append the data into the 2D array, but I do not know how to
> implement? I have tried put the build array outside the while loop,
> unfortunately, it does not work.
> Any advice would be appreciated.
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
Michael Munroe, CLD, CTD, MCP
Automate 1M+ VI Search, Sort and Edit operations with Property Inspector 5.0, now with a new Interactive Window Manager!
Now supports full project automation using one-click custom macros or CLI.
0 Kudos
Message 3 of 5
(5,124 Views)
Because I am very new to Labview and in fact, English is not my native
language, I can not understand the sentence that "combine the current
reading with the previous reading from the left shift register and save
it back to the right shift register" means.

Now, I want to descript my question in a simple way:
In a while loop, I use a build array node to build three 1D arrays into
one 2D array. For each time when while loop repeats, the value of these
1D arrays change, I want to append the new data to the previous ones.
But in my program, the data in the build array are overrided after the
while loop repeating.
So, How to append the data instead of overriding them in the while loop
structure?

Thanks a lot!

zhljh

In article <38E4418F.41848606@abcdefirm.com>,
Michael Munroe wrote:
> You need to combine the build array function with the shift register.
Pop
> up on the edge of the loop and Add Shift Register. You can combine the
> current reading with the previous reading from the left shift register
and
> save it back to the right shift register.
> --
> Michael Munroe Mailto:mmunroe@abcdefirm.com
> A Better Complete Development Engineering Firm
> San Mateo, CA 94403 http://www.abcdefirm.com
>
> zhljh@my-deja.com wrote:
>
> > I use three read waveform nodes to read data from three channels of
> > oscilloscope. The data of each channel are 1D array, and I use build
> > array node to change them into 2D array. It can work well now.
> > When I want to continuously reading data, I put the read waveform
nodes
> > and build array node into a while loop structure(a timer controls
the
> > time when to stop). That means every time, the program calls read
> > waveform nodes and then changes them into 2D array. The problem
is:after
> > each loop, the data stored in the 2D array are overwrited. So, at
last,
> > I can only get the last loop data.
> > I want to append the data into the 2D array, but I do not know how
to
> > implement? I have tried put the build array outside the while loop,
> > unfortunately, it does not work.
> > Any advice would be appreciated.
> >
> > Sent via Deja.com http://www.deja.com/
> > Before you buy.
>
>


Sent via Deja.com http://www.deja.com/
Before you buy.
0 Kudos
Message 4 of 5
(5,124 Views)
The shift register is a built in way to carry data forward from one
iteration of a loop to the next iteration.. Anything that you feed into the
right shift register appears a data at the beginning of the next loop. You
already have Build Array to combine three 1D array Elements into a single 2D
array. Use another Build Array function to combine the current 2D array
with the previous 2D array to create a combined array. To do this, you must
change the input mode of the Build Array function to Array (not Element).
This will concatenate the arrays and make the continuous data that you are
after.

The only other hidden step is that you must use Initialize Array to feed a
blank, 2D array into the left shift register to clear any leftover data.
--
Michael Munroe Mailto:mmunroe@abcdefirm.com
A Better Complete Development Engineering Firm
San Mateo, CA 94403 http://www.abcdefirm.com


zhljh@my-deja.com wrote:

> Because I am very new to Labview and in fact, English is not my native
> language, I can not understand the sentence that "combine the current
> reading with the previous reading from the left shift register and save
> it back to the right shift register" means.
>
> Now, I want to descript my question in a simple way:
> In a while loop, I use a build array node to build three 1D arrays into
> one 2D array. For each time when while loop repeats, the value of these
> 1D arrays change, I want to append the new data to the previous ones.
> But in my program, the data in the build array are overrided after the
> while loop repeating.
> So, How to append the data instead of overriding them in the while loop
> structure?
>
> Thanks a lot!
>
> zhljh
>
> In article <38E4418F.41848606@abcdefirm.com>,
> Michael Munroe wrote:
> > You need to combine the build array function with the shift register.
> Pop
> > up on the edge of the loop and Add Shift Register. You can combine the
> > current reading with the previous reading from the left shift register
> and
> > save it back to the right shift register.
> > --
> > Michael Munroe Mailto:mmunroe@abcdefirm.com
> > A Better Complete Development Engineering Firm
> > San Mateo, CA 94403 http://www.abcdefirm.com
> >
> > zhljh@my-deja.com wrote:
> >
> > > I use three read waveform nodes to read data from three channels of
> > > oscilloscope. The data of each channel are 1D array, and I use build
> > > array node to change them into 2D array. It can work well now.
> > > When I want to continuously reading data, I put the read waveform
> nodes
> > > and build array node into a while loop structure(a timer controls
> the
> > > time when to stop). That means every time, the program calls read
> > > waveform nodes and then changes them into 2D array. The problem
> is:after
> > > each loop, the data stored in the 2D array are overwrited. So, at
> last,
> > > I can only get the last loop data.
> > > I want to append the data into the 2D array, but I do not know how
> to
> > > implement? I have tried put the build array outside the while loop,
> > > unfortunately, it does not work.
> > > Any advice would be appreciated.
> > >
> > > Sent via Deja.com http://www.deja.com/
> > > Before you buy.
> >
> >
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
Michael Munroe, CLD, CTD, MCP
Automate 1M+ VI Search, Sort and Edit operations with Property Inspector 5.0, now with a new Interactive Window Manager!
Now supports full project automation using one-click custom macros or CLI.
0 Kudos
Message 5 of 5
(5,124 Views)