Discusiones sobre Productos NI

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

Ejemplos de capturas en el puerto serie

Hola a todos.

 

Tal vez alguno pueda ayudarme, no tengo mucha experiencia con el Labview y he estado trabajando en la captura desde el puerto serial de una serie de caracteres ASCII que poseen codificado el diagnóstico de operación de unos equipos, pero tengo problemas para comparar lo que capturo del puerto serial con lo que tengo almacenado en una variable. La idea es que cuando reciba una determinada secuencia de caracteres se genere un mensaje que alerte al usuario de la falla de un equipo. Estuve revisando los ejemplos del Labview pero no he podido hacer que funcione del todo, alguien me puede ayudar, tal vez alguno tenga un ejemplo similar o bien sepa cuales de los Ejemplos del Labview como el Read and Write.vi o el Set Break.vi puedo utilizar. Les agradeceria enormemente su ayuda.

 

Gracias.

0 kudos
Mensaje 1 de 5
4.548 Vistas

Buen día manigordo,

Quisiera que me diera más detalles sobre el problema que está teniendo con el puerto serial.

¿Ha podido leer del puerto de forma correcta?  ¿O el problema es al momento de hacer comparaciones entre la entrada del puerto con la variable? ¿Qué tipos de datos se están manejando?

Si me pudiera dar más detalles sobre qué es el problema exactamente, para comprender en dónde está el problema y buscar los ejemplos que menciona.

¡Saludos!

Tania Lozoya | National Instruments | México

0 kudos
Mensaje 2 de 5
4.539 Vistas
Estimada Tania:

Gracias por su respuesta, en realidad he estado revisando el funcionamiento del ejemplo de Advanced Serial Write and Read.vi me parece que puede funcionar a mis propositos, solo queria preguntar si es posible poner a recibir el puerto serial continuamente a la espera de capturar una secuancia de caracteres que indican por ejemplo el fallo de un equipo, una vez capturado estos caracteres desplegar una pantalla con la indicación para el usuario de la falla, pero no se si existe alguna restriccion con el Labview para el tamaño del buffer de entrada porque la aplicación debera estar recibiendo en forma continua.

Aparte del menú de funciones, aparecen vi que se pueden cargar, como se hace para identificarlos por su nombre, es que no siempre son nombres claros.

Gracias de antemano por su ayuda
0 kudos
Mensaje 3 de 5
4.528 Vistas
No me es claro si la comunicación serial sólo te sirve para detectar estos mensajes o si dentro de un coloquio constante con los equipos debes detectar un mensaje particular y generar una alarma para el usuario. De todos modos, normalmente no hay problemas con el tamaño del buffer de entrada, puesto que siempre que se detectan caracteres en el puerto se van a leer y así se vacía el buffer. Por darte un ejemplo, yo estoy comunicando por serial con 20 equipos que cada medio segundo me envían de 10 a 15 caracteres cada uno: el tamaño de mi buffer es el estándard de 512 bytes y es redundante puesto que constantemente estoy leyndo el canal y vaciando el buffer.
De todas manera, creo que se puede leer de la serial con timeout= 0 (esto es sin límite: el vi termina sólo cuando haya un mensaje en el puerto) pero no te lo recomiendo: mejor sería tener un loop que periodicamente lee el puerto (pongamos 2-3 veces por segundo) con un timeout corto: al terminar el vi de lectura debes detectar si ha habido un timeout y si no interpretar el mensaje recibido.
 


Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 4 de 5
4.521 Vistas

Concuerdo con Roberto Bozzolo, solo quisiera agregar un comentario que puede ser de utilidad.

En los ejemplos de lecturas para el puerto serial, tiene un “property node” que indica el número de bytes que se encuentran en el puerto. En caso de que no haya bytes en el puerto, el VI de VISA Read, no se ejecuta, y no marca error, por lo que se puede tener eso en un ciclo para que este verificando el estado del puerto. Además ayuda cuando los mensajes que reciben son de diferentes tamaños.

¡Saludos!

Tania Lozoya | National Instruments | México

 

0 kudos
Mensaje 5 de 5
4.505 Vistas