Está en la página 1de 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 ' Set TX (PortC.6) como salida
SPBRG = 25 ' Set baud rate a 9600 baudios
RCSTA = %10010000 'habilita recepcin contnua por USART
TXSTA = %00100100 ' habilita modo asincrono, habilita la
transmisin y BRgh=1(alta velocidad)

ADIN_RES 10 ' Ajusta la resolucin a 10 bits


ADIN_TAD FRC ' Selecciona el oscilador interno RC
ADIN_STIME 100 ' Tiempo de adquisicin de 100us

Dim CONVER as Word 'variable de entrada de la lectura


Dim escala as byte
TRISA.0 = 1 ' Ajustamos el bit 0 de porta como entrada
ADCON1 = %10000010 ' Ajustamos RA0 como entrada analgica y
justificamos a la derecha
LOOP: CONVER = ADIN 0 ' leemos el canal 0
ESCALA = CONVER / 4 'ajustamos por software la resolucin a 8 bits
HRSOUT ESCALA 'envia directamente el dato al puerto
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 'si se levanta la bandera de recepcin hay un
dato disponible
Return 'en el buffer

También podría gustarte