Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

array-string

Buenas tardes,

Mi nombre es Miguel Carvajal.

 

Vereis no soy muy ducho en labview pero ya tengo mis proyectitos hechos de forma autodidacta.

 

La cuestion es que ahora mismo estoy haciendo un proyecto con labview;

 

Leo desde un puerto serie un codigo de barras con un lector apropiado.

El  1er dato lo coloco en la primera linea de un arrya string.

El 2do en la siguiguiente linea...etc.

 

La cuestio que quiero haceros es:

 

Quiero que el arraystring me vaya corriendo el dato, es decir, leo el primer dato colocandolo en la primera linea del array string, cuando leo el segundo dato quiero que este se colocque en la primera linea del array string y el primer dato leido con anterioridad me corra a la segunda linea... y asi sucesivamente.

 

La finalidad es que cuando el primer dato que he leido este en la linea 12, me lo mande por otro puerto serie.

 

Como podria hacerlo??

 

Espero haberme explicado.

SI no es asi os agradeceria me lo indicaseis.

 

Gracias de antemano.

 

Saludos

 

 

0 kudos
Mensaje 1 de 6
4.843 Vistas

Buenos dias Miguel,

 

para hacer que los datos vayan corriendo como deseas, puedes hacerlo de la siguiente manera. En primer lugar utilizar la función Insert Into Array sin ningún índice cableado para crear el array. De esta manera, el array que se crea va aumentando su tamaño dinámicamente y se va introduciendo el nuevo dato el final. Si a medida que vas creando el array utilizas la función rotate array con índice 1, todo el array se desplaza un unidad a la izquierda.

 

La secuencia sería la siguiente:

 

1) Llega el primer dato A, el array rotado 1 vez quedaría A

2) LLega el dato B, el array sin rotar sería A B, y rotado sería B A

3) Llega el dato C, el array sin rotar sería B A C y rotado sería C B A

4) Llega el dato D, el array sin rotar sería C B A D,y rotado sería D C B A

...

 

A continuación te facilito un código que he creado que consta de dos partes. Una primera en la que se crea un array de un número de palabras seleccionado por el usuario de 3 letras (a partir del código ASCCI 65 correspondiente a la A mayúscula) para simular la llegada de datos.

 

La segunda parte sería el código que ordena el array y que devuelve una variable booleana True cuando el tamaño del array es 12.

 

A la espera de tu respuesta, recibe un saludo.

Iker

 

 

Mensaje 2 de 6
4.778 Vistas

Buenos dias IKERSE, 

 

Ante todo gracias por ayudarme.

Voy a probar la solucion que me ofreces en cuanto a la colocacion del dato en el array.

 

No he podido ver el codigo. No esta adjunto.

Te agradeceria me lo adjuntases para poder echar un vistazo.

 

Saludos.

0 kudos
Mensaje 3 de 6
4.753 Vistas

Buenos dias Miguel,

 

te readjunto el código.

 

Un saludo,

Iker

0 kudos
Mensaje 4 de 6
4.751 Vistas

Una cola también podría ser útil porque ya implementa la rotación. Desde otro lugar se puede monitorizar el tamaño para ver si es mayor de 12.

Mensaje 5 de 6
4.741 Vistas

Hola buenos dias.

 

Al final consegui realizar la rotacion y visualmente me aparece como quiero pero tengo otra duda, 

 

Los datos recogidos por uno de los puertos quiero escribirlo y mandarlo por otro puerto.

La cuestion es que no se como decirle al codigo esto.

 

Gracias de antemano.

 

Os adjunto codigo por si os sirve de ayuda echar un vistazo.

 

Saludos

0 kudos
Mensaje 6 de 6
4.700 Vistas