Sie sind auf Seite 1von 8

COMUNICACIN SERIAL CON LABVIEW ING. ESP.

JOSE ANTONIO ARAQUE GALLARDO

La comunicacin serial es uno de los mtodos de comunicacin ms empleados a la hora de adquirir datos desde un PC. Normalmente la adquisicin se realiza utilizando un microcontrolador que soporte comunicacin serial (UART). Los detalles tcnicos del protocolo serial no se discuten en este documento ya que se asume que el estudiante los domina correctamente.

A nivel de hardware la comunicacin se establece mediante un cable adaptado para tal fin, usando adems un adaptador de niveles:

Normalmente se utiliza comunicacin serie asncrona, por la facilidad de implementacin y su versatilidad. Labview brinda mucha facilidad a la hora de implementar comunicaciones seriales, haciendo bastante transparente la capa fsica y lgica del protocolo permitiendo desarrollar aplicaciones en menos tiempo. Para realizar una comunicacin serial efectiva con labview hay que realizar unas tareas o pasos que en trminos generales siempre son los mismos: -Configuracin del puerto -acceso al puerto -cierre del puerto. La gestin del puerto serial se hace a travs de VISA (Arquitectura de Software para Instrumentos Virtuales). VISA es una librera de interfaz simple para controlar protocolos como RS232, GPIB, USB entre otros, esto implica que habr que instalar VISA para poder acceder al puerto serie. El acceso a las mltiples funciones VISA para el puerto serie se pueden ubicar como se muestra en la figura (en el diagrama de bloques):

CONFIGURACIN:

Visa resource name: Indica el nombre del puerto, generalmente se coloca aqu un control Baud rate: tasa de baudios Data bits: longitud del dato Parity: paridad

ACCESO: El acceso al puerto serie puede ser de escritura del puerto o de lectura

Escritura:

Escribe un dato desde el buffer de escritura al dispositivo especificado por Visa resource name. Write buffer: contiene el dato a ser escrito en el dispositivo Return count: contiene el nmero actualizado de los bytes escritos.

Lectura:

Lee el nmero de bytes especificados y lo entrega en read buffer. Byte count: es el nmero de bytes a ser leidos Read buffer: contiene el dato ledo del dispositivo Return count: contiene el nmero actual de bytes ledo

CIERRE DEL PUERTO:

En algunas aplicaciones puede ser de utilidad la funcin set buffer size:

SET BUFFER SIZE

Ajusta el tamao del buffer de entrada-salida. Mask: Se utiliza para seleccionar cual buffer (de Tx o de Rx) se va a ajustar el tamao. Para el buffer de transmisin se utiliza un mask de 16 y para el de recepcin un mask de 32. Si desea ajustar los dos buffers al tiempo, sume estos valores antes de cablearlos a esta terminal. Size: especifica el tamao del buffer I/O. por defecto es 4096. Indica la cantidad de bytes que se desea recibir o transmitir.

EJEMPLO PRCTICO: Para entender de forma bsica la comunicacin serial en labview vamos a desarrollar un ejemplo de LECTURA-ESCRITURA del puerto. Usted debe tener el hardware requerido (microcontrolador con una entrada anloga y 8 salidas digitales, programado con el firmware proporcionado en la carpeta). Nuestro sistema DAQ leer el dato analgico a travs del puerto serial (en formato de 8 bits) y lo visualizar en una grfica. Adems desde el panel frontal se enviar un nmero que ser visualizado en los 8 leds a la salida. Realicemos un diagrama de bloques como el que se muestra en la figura de las siguientes pginas (se muestran las conexiones para ambos casos en las estructuras case), observe la forma como se hacen las operaciones sobre el puerto y el tratamiento realizado a los datos a enviar y a los datos ledos. Esto es necesario ya que labview as como cualquier otro software que trabaje puerto serie solo puede transmitir y recibir caracteres ASCII.

Si el PC en el que est trabajando presenta fallas en el puerto serie instale el emulador de puerto serial y cree un nuevo COM e inicie la emulacin. Para comprobar la comunicacin utilice el ejecutable del monitor de puerto serial suministrado. Escriba y lea datos del puerto serie usando el emulador y verificando los datos en el monitor de puerto serial.

Se anexa el cdigo del microcontrolador hecho en PICBASIC:


device=16f877 xtal=4 DIM B1 AS BYTE trisb = 0 TRISC = %10111111 SPBRG = 25 RCSTA = %10010000 TXSTA = %00100100 transmisin y BRgh=1(alta velocidad) ADIN_RES ADIN_TAD ADIN_STIME 10 FRC 100

' Set TX (PortC.6) como salida ' Set baud rate a 9600 baudios 'habilita recepcin contnua por USART ' habilita modo asincrono, habilita la

' Ajusta la resolucin a 10 bits ' Selecciona el oscilador interno RC ' Tiempo de adquisicin de 100us 'variable de entrada de la lectura ' Ajustamos el bit 0 de porta como entrada ' Ajustamos RA0 como entrada analgica y ' leemos el canal 0 'ajustamos por software la resolucin a 8 bits 'envia directamente el dato al puerto

Dim CONVER as Word Dim escala as byte TRISA.0 = 1 ADCON1 = %10000010 justificamos a la derecha LOOP: CONVER = ADIN 0 ESCALA = CONVER / 4 HRSOUT ESCALA gosub esperar if b1=0 then goto loop else portb=b1 end if;

delayms 50 GOTO LOOP esperar: B1 = 0 If PIR1.5 = 1 Then B1 = hrsin dato disponible Return

'si se levanta la bandera de recepcin hay un 'en el buffer

Das könnte Ihnen auch gefallen