LabView - Problema rellenar array

   
Vista:

Problema rellenar array

Publicado por Diego (1 intervención) el 07/04/2010 09:16:53
Tengo un problema a la hora de rellenar un array. A traves de un puerto tcp recibo una trama que entre otros datos lleva un numero que me indica de donde viene. quiero introducir los datos de la trama en un array utilizando como indice este numero. por ejemplo si me llega un 1 en las posiciones 0, 1, 2 y 3 meto los 4 valores que me lleva asociado. si me llega un 2, los datos irian en las posiciones 4, 5, 6 y 7, si me llega un 3 en las 8, 9, 10 y 11, y asi sucesivamente. si me vuelve a llegar un 2 tendria que refrescar las posiciones del array 4, 5, 6 y 7 con los nuevos datos.

no se como hacerlo. alguna idea???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema rellenar array

Publicado por X (161 intervenciones) el 07/04/2010 18:52:10
Primero.

Ya puedes llenar el array con los primeros valores?

si ya puedes, entonces utiliza variables locales o globales dependiendo si los datos los utilizas en ese o en varios vi's.

Si has creado archivos de configuracion sera facil de compreder lo que debes hacer. Existen datos que algunas veces cambiamos por diversos factores (lugar tiempo, temperatura, presion, etc.), por lo cual un archivo que puedes modificar es necesraio para estos casos.

Regresando a lo anterior. Tienes que inicializar tus arreglos antes de modificarlos, para que no exista ningun problema al tratar de modificarlos despues. Debido a que son valores numericos dentro de un array inicializalos con 0.

Debes tomar en cuenta que necesitaras variables locales, sea como sea para que utilizes el vi.

1.- Para inicializar el valor del arreglo
2.- Para cambiar el valor de cada uno de los componentes del arreglo utiliza un un replace array subset.

por ejemplo

1
0123

2
4567

3
891011

Suponiendo que inicializo los valores de mi arreglo con 0

arreglo de (para este caso 11) 12 valores

1
0000

2
0000

3
0000

4
0000

Si llegan los valores de 1

utilizaremos el replace array subset en la varable global (para este caso TRAMA)

Leemos el numero INDICE (1,2,3,4) y creamos un case con cuatro casos (1,2,3,4,+ default ) y si el cado del numero INDICE es 1 en case en el caso 1
utilizaremos el replace array subset en las posiciones 0,1,2,3,4 o simplemente hacemos que reemplace todas colocando un FOR delimitado hasta 12 ciclos.

0 1
1 1
2 1
3 1
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0

si volviese a llegar el numero 1 con el valor 2

0 2
1 2
2 2
3 2
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0

Ojala seah de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar