Comunicación Serial Utilizando LabVIEW con un Microcontrolador 24 calificación(es) | 3.75 de 5 Imprimir Visión General
En este documento se describen los pasos para comunicar un microcontrolador desde el puerto serial de la computadora (COMX) utilizando los drivers de NI VISA para LabView. El microcontrolador debe contener un programa que ejecute alguna acción de acuerdo a la información enviada a t ravés de su entrada serial. Hardware necesario
•
Una computadora con al menos un puerto s erial tipo RS232.
•
Un cable de conexión serial (terminales tipo hembra).
•
Un microcontrolador previamente programado programado para leer y escribir a puerto serial.
Conecte el cable de conexión serial a cualquiera de los puertos tipo serial. La configuración de los pines del cable de conexión serial se muestra adelante en la figura ###. Conecte la terminal de t ransmisión serial del microcontrolador al pin de recepción del cable (pin 2). Conecte la ter minal de recepción serial del microcontrolador al pin de transmisión del cable (pin 3). Dependiendo del microcontrolador microcontrolador que se use, esta terminal se puede identifcar con e tiquetas como SERIN y SEROUT, RXD y TXD, Serial In y serial out.
Figura 1.- Configuración de un conector serial hembra.
Un ejemplo se describe utilizando un microcontrolador PICAXE PICAXE - 18X, en cuyo caso se utiliza la terminal de entrada 6 y terminal de salida 7.
Figura 2.- Conexión al Puerto serial utilizando un microcontrolador PICAXE 18X
Programación en LabView LECTURA DEL PUERTO SERIAL
Para tener acceso al puerto serial usando labview se debe inciar una sesión VISA. La configuración del tipo de c omunicación serial se hace con “VISA configure serial port”, que se puede encontrar en Functions >> Instrument I/O >> Serial >> VISA configure serial port.
Figura 3.- Paleta de Funciones de VISA
Figura 4.- VISA Configure Serial Port
Una vez inicializada la sesión VISA, se procede a configurar la lectura. Para lo cual se utiliza “VISA Read”
Figura 5.- VISA Read El nodo de “byte count” recibe el tamaño de buffer que se escribió en el puerto. Para identificarlo, se coloca un Property Node ubicado en Functions >>
Programming >> Property Node. Su nodo de referencia se conecta a la sesión VISA creada y luego, en property node se da un click para seleccionar Serial Settings >> Number of bytes at serial port.
Figura 6.- Configurando el Propery Node para contar el número de bytes recibidos
Por último se debe cerrar la sesión VISA para liberar el puerto y poderle dar otra f unción. Esto se logra con “VISA close” en Functions >> Instrument I/O >> Serial >> Visa Close, y, como buena costumbre de programación se coloca un controlador de errores.
Figura 7.- Simple Error Handler
El VI para leer puede ser el siguiente:
[+] Ampliar Imagen Figura 8.- leyendo el Puerto serial con una sesión VISA de LabView
Notas sobre la lectura en puerto serial. Es importante sincronizar la velocidad de transferencia de datos del microcontrolador en la terminal de “Baud rate” del Visa Configure serial port, de tal manera que sea la misma para ambos (en este caso 2500 baudios. La estructura “stacked sequence” con la función wait es tan sólo una espera programada para la lectura. Lo único presente en el Panel de control es el indicador “read buffer” donde se escriben los datos adquiridos. También es importante seleccionar el puerto
COM adecuado. Con LabView se puede comprobar si el puerto COMX seleccionado es el adecuado. El ejemplo Basic Serial Write and Read.VI
ESCRITURA EN EL PUERTO SERIAL
Escribir en el puerto serial usando LabView es más sencillo, y los pasos se enuncian a continuación. Primero, se inicializa una sesión VISA de la misma manera que se hizo al leer el puerto, con un “VISA Configure Serial Port”. Luego, se coloca un “VISA Write” que
se puede encontrar en Functions >> Programming >> Instrument I/O >> VISA Write.
Figura 9.- VISA Write
Por último se cierra la sesión VISA con un “VISA close” y un “Simple Error Handler. El VI de escritura en puerto serial puede
[+] Ampliar Imagen
quedar como se muestra a continuación.
Figura 10.- Escribiendo al Puerto serial con una sesión VISA en LabView
Al igual que en la lectura del puerto serial, la velocidad de transferencia es primordial. En ambos casos, es importante sincronizar las tareas de escritura y lectura respectivamente, de tal manera que el microcontrolador o la computadora estén listos para enviar o recibir un dato en el puerto serial. Para ello se puede programar un loop que no permita que el programa avance hasta que no se reciba cierto texto. Se recomienda la revisión de los VIs anexos en el documento.
Determinando si la conexión COM seleccionada es la correcta
En la pantalla de inicio de LabView abre el buscador de ejemplos “Find examples”. Luego busca la carpeta “Hardware and Input and Output” y posteriormente selecciona la de “serial”. Abre el VI “Basic Serial Write and Read.vi”. Ahora conecta los pines 2 y 3 del cable de conexión s erial y escribe texto en la pantalla
de write del VI (la superior). Cuando corras el VI, el mismo texto debe aparecer escrito en la ventana Read . Si no es así, debes seleccionar otro puerto COM. Para el Picaxe 18x, utilizando el Picaxe Programming editor, carga las siguientes instrucciones. START: SERIN 6, N2400, ("HOLA COMO ESTAS?") HIGH 3 SEROUT 7, N2400, ("BIEN Y TU") GOTO START END
Ahora abre el Vi de esta sección, y en la ventana de Write, escribe “HOLA COMO ESTAS?”. Cuando corras el VI, el micro deberá contestar “BIEN Y TU”, si
las conexiones están hechas como se indica en la figura 2. Esto indica que la comunicación entre el microcontrolador y la computadora es exitosa.
Conclusión
Escribir o leer en puerto serial utilizando LabView se logra con una sesión VISA. Se configuran las características de la comunicación con un “VISA Serial Port Configuration” para que concuerden el microcontrolador y la computadora. La lectura se hace con “VISA Read” y un “Property Node” para leer la cantidad de datos recibidos. La escritura se hace con “VISA Write” únicamente. En ambos casos se cierra la sesión con “VISA Close” y “Simple Er ror Handler.
Downloads
serial_write.vi serial_read.vi 24 calificación(es) | 3.75 de 5 Imprimir Legal
Este tutorial (este "tutorial") fue desarrollado por National Instruments (“ NI” ). Aunque el soporte técnico para este tutorial sea proporcionado por National instruments, el contenido de este tutorial puede no estar completamente verificado y probado y NI no garantiza su calidad, ni que NI continuará proporcionando soporte a este contenido en cada nueva revisión de productos y c ontroladores relacionados. ESTE TUTORIAL ES PROPORCIONADO "COMO ES" SIN GARANTÍA DE NINGUN TIPO Y SUJETO A CIERTAS RESTRICCIONES QUE SE EXPONEN EN LOS TÉRMINOS DE USO EN NI.COM (http://ni.com/legal/termsofuse/unitedstates/us/ ).
'#### This is a VB-Script File ####
'registrieren: regsvr32 "Pfad\ReadComm.ocx"
public readcomm1 dim DataP set ReadComm1 = createobject("Readport.readcomm") Readcomm1.Inicomm 'MSComm settings Readcomm1.readdata 'daten stehen in
ReadComm.DataP
msgbox "scr " & Readcomm1.datap Readcomm1.readdata msgbox "scr " & Readcomm1.datap Readcomm1.readdata msgbox "scr " & Readcomm1.datap Readcomm1.readdata msgbox "scr " & Readcomm1.datap