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.

Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

arduino y labview comunicacion serial

hola que tal soy nuevo en este mundo de arduino y labview y espero puedan ayudarme, estoy haciendo una interfaz para que según el diámetro de los troncos medidos por 3  sensores sharp me envié esos troncos a un lugar donde son separados el problema es que cuando empiezo a leer y escribir los datos en labview y arduino me empieza a mostrar datos erróneos o los valores de una casilla me los visualiza en otra y no se como acomodar esto, otra cosa es q cuando las variables pasan de 255 me reinicia los valores como podrían hacer para que no suceda esto? espero puedan ayudarme lo mas pronto posible, les anexo el archivo vi y el código del arduino

Download All
0 Kudos
Message 1 of 6
(3,015 Views)

Hola Nemrodmc:

 

     Lo que menciona de que los valores se reinician al pasar 255 tiene una explicacion muy sencilla, sucede que la representacion de los valores numericos que tiene para muchas variables es U8 (lo que se puede ver en el diagrama de bloques con el icono azul que dice U8) lo que significa que es de 8 bits y por lo tanto el numero mas alto que puede representar es 255. Eso se puede arreglar muy facilmente al darle click derecho a esos iconos, ir a representation y cambiar a otra representacion de mas bits. 

 

     Lo de los valores en casillas distintas puede tener que ver con las conexiones a la salida del bloque Index Array (en el while loop superior) que no estan hechas como corresponde. 

 

Ojala esto le sirva, saludos!

Carlos Diaz National Instruments

0 Kudos
Message 2 of 6
(2,983 Views)

hola, gracias tu respuesta me ha servido un poco pero lo del index array no he entendido, si esta mal asi como lo tengo, como podria cambiarlo para que los valores no me cambien como lo hacen? espero puedas ayudarme, gracias nuevamente

0 Kudos
Message 3 of 6
(2,978 Views)

Claro, me referia a que si los valores de casillas estan saliendo en otras que no deberian puede ser que los cables que van del index array a los indicadores estan mal conectados (es decir que la salida que va con cierta variable en realidad esta conectada a otra)

 

Pienso que lo mas facil si no tiene tanto conocimiento de lo que se esta mandando por VISA y en que orden seria cambiar por prueba y error esas conexiones en LabVIEW, dejando igual las que estan bien.

0 Kudos
Message 4 of 6
(2,966 Views)

hola he revisado las lineas de conexiones y están bien organizadas, ya logre solucionar lo de los valores cuando pasan de 255 para que me los muestre el labview, lo hice partiendo mi variable en arduino en 2 bytes y luego uniéndola en labview con join numbers, lo otro es que el empieza a mostrar los valores bien en cada casilla pero luego del 10mo muestreo de los valores solo me manda 8 bytes de los 32 que envió por puerto serial y luego vuelve a mandar el resto en el próximo muestreo, sabes a que se puede deber esto y como puedo solucionarlo? te anexo los códigos de arduino y el vi de labview para que puedas visualizarlo. gracias de antemano

0 Kudos
Message 5 of 6
(2,953 Views)

Lo unico que se me ocurre que puede explicar ese comportamiento es que el tiempo entre iteraciones del loop no sea suficiente para leer lo datos que se obtienen. 

 

Yo probaria aumentar el tiempo del wait del loop que lee datos (por aumentar ese tiempo me refiero a cambiar el 200 que entra al icono de reloj, el icono que esta marcado en la imagen que adjunto)

0 Kudos
Message 6 of 6
(2,930 Views)