Download - LABVIEW comunicación por puerto serial USART
Comunicación por puerto serialComunicación por puerto serial
33
Comunicación por puerto serial
Comunicación por puerto serialComunicación por puerto serial
Requiere de la especificación de:
- baud rate de transmisión- número de bits de datos (data bits)- bit de paridad (parity bit) Existen diferentes tipos (estándares recomendados)
de comunicación por puerto serial. Uno de las
- bits de paro (stop bits)p p
comunes es el RS-232.
Cada carácter es empaquetado en un trama consistente en un bit de inicio seguido de los bitsde datos, el bit de paridad opcional y el o los bits de paro.
34
Comunicación por puerto serial
VISAVISA
VISA (Virtual Instrument Software Architecture Arquitectura de Software de InstrumentoVISA (Virtual Instrument Software Architecture, Arquitectura de Software de InstrumentoVirtual), es una norma que permite la operación entre instrumentos GPIB, serie yVXI.
Un recurso VISA permite al controlador ineteractuar con el dispositivo asociado a dichorecurso.recurso.
Para hacer uso de recursos VISA se requiereinstalar el softwareVISA correspondiente.
National Instrument distribuye el
35
ycomponente llamado NI-VISA.
Comunicación por puerto serial
Configuración del puerto serialConfiguración del puerto serial
P l i l d b i i i ió VISAPara tener acceso al puerto serial se debe iniciar una sesiónVISA.
La configuración se realiza mediante el VI VISA Configure Serial Port localizado enla paleta All Functions » Instrument I/O » Serial.
Por defecto el VI VISA Configure Serial Port habilita lafinalización del proceso de lectura (Enable Termination),basado en un carácter de terminación (termination char).
VI VISA Configure Serial Port
VISA resource nameASRL1::INSTR ↔ COM1ASRL2::INSTR ↔ COM2ASRL10::INSTR ↔ LPT1
36
Comunicación por puerto serial
Lectura del puerto serialLectura del puerto serial
l d l ó d f l l d l f óUna vez inicializada la sesión VISA, se procede a configurar la lectura mediante la funciónVISA Read.
• VISA resource name nombre del recursoVISA.
• byte count número de bytes a leer.
• dup VISA resource name copia del nombre del recursoVISA.
• read buffer b ff d l t• read buffer buffer de lectura.
• return count número actual de bytes leídos.
Visa Read
37
Comunicación por puerto serial
Lectura del puerto serial (cerrar sesión)Lectura del puerto serial (cerrar sesión)
La sesión VISA (VISA Close) debe ser cerrada para liberar el puerto y poderle dar otrafunción.
Es recomendable colocar un controlador de errores al cerrar el puerto (All Functions »Time&Dialog » Simple Error Handled).
La función VISA Read regresa cuando termina la transferencia.
38
Comunicación por puerto serial
Escritura del puerto serialEscritura del puerto serial
Un vez inicializa una sesiónVISA se coloca la función VISA WriteUn vez inicializa una sesiónVISA, se coloca la función VISA Write.
• VISA resource name nombre del recursoVISA.
• white buffer datos a escribir.
• dup VISA resource name copia del nombre del recursoVISA.
• return count número actual de bytes escritos.
Visa Wirite
La sesiónVISA deberá ser cerrada para liberar el puerto.
39
Comunicación por puerto serial
Ejemplo 1Ejemplo 1
Envió de cadenas entre puertos de la misma computadora
∩ La configuración de losVI VISA Configure Serial Port difieren solo en el nombre del recurso
40
∩ La configuración de losVI VISA Configure Serial Port difieren solo en el nombre del recurso.
Comunicación por puerto serial
Ejemplo 2Ejemplo 2
Escritura y lectura de cadenas de caracteres en un puerto
◊ El número de bytes de escritos y leídos es el mismo debido al nodo de propiedad Bytes at Port, el cual obtiene el tamaño de bufferque se escribió en el puerto
41
que se escribió en el puerto.
Comunicación por puerto serial
Sobre el puerto paralelo…Sobre el puerto paralelo…
L VI f i t id l l t Instrument I/O » Serial t bié dLos VIs y funciones contenidos en la paleta Instrument I/O » Serial son también usadaspara la comunicación con el puerto paralelo.
Para ello se deberá especificar el nombre del recurso VISA asignado al puerto LPT (ej.ASRL10::INSTR)ASRL10::INSTR).
42