LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

GENERAR ARRAY 6X6

Hola a todos, 

 

estoy tratando de solventar un problema. Necesito generar una matriz o array de 6x6 y no consigo hacerlo. Cada 10 minutos obtengo de mi bucle consumidor un array1D (vector) de 6 datos. Mi intencion es almacenar el vector V0 en un array y luego (a los 10 minutos siguientes) añadirle V1, despues V2 hasta V5. Una vez que disponga de mis 6 vectores (60minutos), tendré todos los datos necesarios para poder determinar los valores estadisticos de una hora. Necesito almacenar estos vectores generando una matriz de 6 vectores de la que luego obtendré los datos necesarios. 

Luego tendré que configurarlo para un dia y para una semana. 

El problema radica en que siempre he realizado los arrays generando los datos dentro del bucle for. Ahora al recibir el vector desde fuera del bucle for tengos serios problemas para confeccionar el array como lo necesito. Genero una matriz pero siempre machaco la fila 0. 

 

¿me he explicado o montado un follón? Si alguien puede indicarme como monta un array sin generar los datos dentro de un bucle FOR se lo agradecería. He intentado hacerlo con INSERT INTO ARRAY pero tampoco lo consigo. 

 

Un saludo.

0 Kudos
Message 1 of 7
(3,358 Views)

Hola, Santherberg,

 

la forma más cómoda de "montar" y "desmontar" vectores de una dimensión, matrices, etc. es a través de bucles for anidados tal y como te muestro en los siguientes documentos:

 

http://zone.ni.com/devzone/cda/tut/p/id/7571

http://zone.ni.com/devzone/cda/tut/p/id/7508

 

Si quieres acceder a filas o columnas individuales de la matriz, en lugar de for anidados puedes usar la paleta de herramientas para arrays sita en Diagrama de Bloques >> Paleta de funciones >> Array. Para insertar una nueva fila o columna, la función que tienes que utilizar es Insert Into Array, tal y como te muestro en la captura adjunta. Utiliza la ayuda detallada para aprender cómo funcionan las funciones de esta subpaleta.

 

Saludos.

Jesús.

 

 

0 Kudos
Message 2 of 7
(3,324 Views)

Te he programado un ejemplo para dejarlo más claro. Lo he grabado en la 8.0 porque no sé qué versión de LabVIEW tienes. Espero que te ayude.

 

Un saludo.

 

Jesús.

0 Kudos
Message 3 of 7
(3,323 Views)

Gracias JesusG por tu respuesta.

 

Aun no he podido ver tu ejemplo porque estoy en otro PC pero esta misma tarde le estaré echando un vistazo.

De todas formas te comento mi problema. Estoy haciendo como PFC una estacion meteorológica. Hasta ahora muestreo los datos en una matriz de 6x60 (3600 datos que me equivalen a 10min). Convienrto sus magnitudes de medidas a Magnitudes "oficiales" y saco valores estadisticos de esos 10 minutos de muestreo.

 

Ahora necesito poder mostrar un pequeño historico de valores respecto a la ultima hora, dia y mes por ejemplo.

Para ello he pensado sacar el vector de los datos estadisticos (1 vector cada 10 minutos) y almacenar 6 vectores en un array (6x10min= 1hora) El valor maximo, minimo y medio de esos vectores serán los correspondientes a una hora.

Si ahora almaceno 24 vectores tendré el de un dia y así sucesivamente ( no se si existen metodos mejores pero este es el que se me ocurre)

 

El problema está en que los datos que debo introducir en el array se generan desde fuera del bucle FOR por lo que no se como debo introducirlos en la matriz. He probado a introducirlos desde un bucle for con INSERT INTO ARRAY pero siempre machaca el vector 0, por lo que solo puedo obtener una matriz de 1x6.

 

Veré el ejemplo que me has enviado. Espero que me sea de mucha ayuda. Muchas gracias en cualquier caso.

 

Un saludo.

0 Kudos
Message 4 of 7
(3,310 Views)

Buenas noches JesusG, 

 

Esta configuracion ya la he probado y continuo teniendo el mismo problema, siempre machaca la primera fila. 

 

 

¿porqué?

 

 

gracias

Download All
0 Kudos
Message 5 of 7
(3,301 Views)

Si miras tu código es más que evidente. Has cableado una constante, 0, al índice de la columna donde tienes que escribir en el insert into array. Si ves mi ejemplo, cableo un control. Tú tendrás que cablear algo que se modifique con cada iteración, como el terminal de cuenta (la i) del bucle while.

 

Saludos.

 

Jesús

0 Kudos
Message 6 of 7
(3,284 Views)

Te copio una captura para que veas de lo que hablo.

0 Kudos
Message 7 of 7
(3,283 Views)