Discusiones sobre Productos NI

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

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...

Descargar todos
0 kudos
Mensaje 1 de 8
4.244 Vistas

@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
Mensaje 2 de 8
4.221 Vistas

@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
Mensaje 3 de 8
4.213 Vistas

@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
Mensaje 4 de 8
4.203 Vistas

@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
Mensaje 5 de 8
4.198 Vistas

Usando el linx como resolveria ese problema ?

0 kudos
Mensaje 6 de 8
3.868 Vistas

Como logro solucionar el problema, ayuda??

0 kudos
Mensaje 7 de 8
3.802 Vistas

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
Mensaje 8 de 8
2.278 Vistas