Discusiones sobre Productos NI

cancel
Showing results for 
Search instead for 
Did you mean: 

Mi programa va lento al ejecutar comunicación serial con un arduino (Visa) y llevar el conteo del tiempo con un cronometro en labview

Hola...

Estoy realizando un programa que se comunique por comunicación serial (VISA) con un arduino Mega y que a su vez en el Vi del labview se ejecute un cronometro que lleve el tiempo, pero el problema es que los dos programas por separado funcionan correctamente, al unirlos en el programa (labview) el conteo del tiempo va lento (al recibir los datos que envía el arduino es que se actualiza el tiempo, es decir el cronometro no corre fluidamente), quisiera su ayuda ya que quiero que todo se ejecute armoniosamente, cabe destacar que soy un poco nuevo en labview ya he probado varios métodos pero no he dado con ninguno todavía... De ante mano muchas gracias...

 

PD: Adjunto programa del cronometro y los capture de pantalla del programa...

0 Kudos
Message 1 of 8
(6,084 Views)

@Leonardo_Azuaje  ha escrito:

Hola...

Estoy realizando un programa que se comunique por comunicación serial (VISA) con un arduino Mega y que a su vez en el Vi del labview se ejecute un cronometro que lleve el tiempo, pero el problema es que los dos programas por separado funcionan correctamente, al unirlos en el programa (labview) el conteo del tiempo va lento (al recibir los datos que envía el arduino es que se actualiza el tiempo, es decir el cronometro no corre fluidamente), quisiera su ayuda ya que quiero que todo se ejecute armoniosamente, cabe destacar que soy un poco nuevo en labview ya he probado varios métodos pero no he dado con ninguno todavía... De ante mano muchas gracias...

 

PD: Adjunto programa del cronometro y los capture de pantalla del programa...


Las comunicaciones series son algo lentas. Te recomiendo que no estés escribiendo y leyendo continuamente, sino que pongas un retardo de 400ms para que des tiempo a que el buffer se vaya llenando con los datos, y no satures la comunicación serie.

_________________________________________
https://aulamoisan.uva.es

0 Kudos
Message 2 of 8
(6,061 Views)

@moisan  ha escrito:

@Leonardo_Azuaje  ha escrito:

Hola...

Estoy realizando un programa que se comunique por comunicación serial (VISA) con un arduino Mega y que a su vez en el Vi del labview se ejecute un cronometro que lleve el tiempo, pero el problema es que los dos programas por separado funcionan correctamente, al unirlos en el programa (labview) el conteo del tiempo va lento (al recibir los datos que envía el arduino es que se actualiza el tiempo, es decir el cronometro no corre fluidamente), quisiera su ayuda ya que quiero que todo se ejecute armoniosamente, cabe destacar que soy un poco nuevo en labview ya he probado varios métodos pero no he dado con ninguno todavía... De ante mano muchas gracias...

 

PD: Adjunto programa del cronometro y los capture de pantalla del programa...


Las comunicaciones series son algo lentas. Te recomiendo que no estés escribiendo y leyendo continuamente, sino que pongas un retardo de 400ms para que des tiempo a que el buffer se vaya llenando con los datos, y no satures la comunicación serie.


Hola amigo muchas gracias por tus consejos pero sigo sin poder sincronizar la programación, quería preguntarte como hago para crear una condición en labview para que solo me lea el buffer cuando haya datos disponibles o solo me lea el buffer con el dato que yo deseo, no se si eso sea posible pero fue una idea que me surgió, cualquier sugerencia o ayuda sera bienvenida... De antemano gracias... 

0 Kudos
Message 3 of 8
(6,053 Views)

@Leonardo_Azuaje  ha escrito:

@moisan  ha escrito:

@Leonardo_Azuaje  ha escrito:

Hola...

Estoy realizando un programa que se comunique por comunicación serial (VISA) con un arduino Mega y que a su vez en el Vi del labview se ejecute un cronometro que lleve el tiempo, pero el problema es que los dos programas por separado funcionan correctamente, al unirlos en el programa (labview) el conteo del tiempo va lento (al recibir los datos que envía el arduino es que se actualiza el tiempo, es decir el cronometro no corre fluidamente), quisiera su ayuda ya que quiero que todo se ejecute armoniosamente, cabe destacar que soy un poco nuevo en labview ya he probado varios métodos pero no he dado con ninguno todavía... De ante mano muchas gracias...

 

PD: Adjunto programa del cronometro y los capture de pantalla del programa...


Las comunicaciones series son algo lentas. Te recomiendo que no estés escribiendo y leyendo continuamente, sino que pongas un retardo de 400ms para que des tiempo a que el buffer se vaya llenando con los datos, y no satures la comunicación serie.


Hola amigo muchas gracias por tus consejos pero sigo sin poder sincronizar la programación, quería preguntarte como hago para crear una condición en labview para que solo me lea el buffer cuando haya datos disponibles o solo me lea el buffer con el dato que yo deseo, no se si eso sea posible pero fue una idea que me surgió, cualquier sugerencia o ayuda sera bienvenida... De antemano gracias... 


Tienes en las comunicaciones serie y VISA un nodo Property que te permite saber el número de bytes que han llegado al puerto serie.

Te adjunto figura:

Property.png

_________________________________________
https://aulamoisan.uva.es

0 Kudos
Message 4 of 8
(6,043 Views)

@moisan  ha escrito:

@Leonardo_Azuaje  ha escrito:

@moisan  ha escrito:

@Leonardo_Azuaje  ha escrito:

Hola...

Estoy realizando un programa que se comunique por comunicación serial (VISA) con un arduino Mega y que a su vez en el Vi del labview se ejecute un cronometro que lleve el tiempo, pero el problema es que los dos programas por separado funcionan correctamente, al unirlos en el programa (labview) el conteo del tiempo va lento (al recibir los datos que envía el arduino es que se actualiza el tiempo, es decir el cronometro no corre fluidamente), quisiera su ayuda ya que quiero que todo se ejecute armoniosamente, cabe destacar que soy un poco nuevo en labview ya he probado varios métodos pero no he dado con ninguno todavía... De ante mano muchas gracias...

 

PD: Adjunto programa del cronometro y los capture de pantalla del programa...


Las comunicaciones series son algo lentas. Te recomiendo que no estés escribiendo y leyendo continuamente, sino que pongas un retardo de 400ms para que des tiempo a que el buffer se vaya llenando con los datos, y no satures la comunicación serie.


Hola amigo muchas gracias por tus consejos pero sigo sin poder sincronizar la programación, quería preguntarte como hago para crear una condición en labview para que solo me lea el buffer cuando haya datos disponibles o solo me lea el buffer con el dato que yo deseo, no se si eso sea posible pero fue una idea que me surgió, cualquier sugerencia o ayuda sera bienvenida... De antemano gracias... 


Tienes en las comunicaciones serie y VISA un nodo Property que te permite saber el número de bytes que han llegado al puerto serie.

Te adjunto figura:

Property.png


Muchísimas gracias amigo, logre solventar la falla que tenia en mi programa, ahora todo fluye armoniosamente... Saludos y Feliz Día...

0 Kudos
Message 5 of 8
(6,038 Views)

Usando el linx como resolveria ese problema ?

0 Kudos
Message 6 of 8
(5,708 Views)

Como logro solucionar el problema, ayuda??

0 Kudos
Message 7 of 8
(5,642 Views)

Hola Compañero, disculpa yo tengo el mismo problema con la comunicación lenta me podrias ayudar por favor, que realizaste para que tu comunicacion sea mas fluida por favor 

0 Kudos
Message 8 of 8
(4,118 Views)