Sei sulla pagina 1di 15

G.

Comunicacin por Puerto Serial


La comunicacin serial es un medio popular de transferir datos entre un computador
y un dispositivo perifrico tal como un instrumento programable o incluso otro
computador. La comunicacin serial emplea un transmisor para enviar datos, un bit
a la vez, sobre una simple lnea de comunicacin hacia un receptor. Puede emplear
este mtodo cuando las velocidades de transferencia de datos son lentas o usted
debe transferir datos sobre distancias largas. La comunicacin serial es popular
debido a que la mayora de los computadores poseen uno o ms puertos seriales, por
lo que no se requiere hardware adicional a un cable para conectar el instrumento a
un computador o dos computadores juntos.

1 Instrumento RS-232

2 Cable RS-232

3 Puerto Serial

La comunicacin serial requiere que usted especifique los cuatro parmetros


siguientes:

la velocidad en baudios de la transmisin

el nmero de bits de datos codificados a caracter

la sensibilidad del bit opcional de paridad

el nmero de bits de parada

Cada caracter transmitido es empaquetado en un marco de caracter que consiste de


un solo bit de inicio seguido por los bits de datos, el bit opcional de paridad y el bit
o bits de parada. La siguiente ilustracin muestra un marco tpico de caracter
codificando la letra m.

La velocidad en baudios es una medida de cuan rpido los datos son movidos entre
instrumentos que emplean comunicacin serial. RS-232 emplea solo dos estados de
voltaje, denominados MARCA y ESPACIO. En un esquema de codificacin como
el de dos estados, la velocidad en baudios es idntica al mximo nmero de bits de
informacin, incluyendo bits de control, que son transmitidos por segundo.
La MARCA es un voltaje negativo y el ESPACIO es positivo. La ilustracin previa
muestra como una seal idealizada luce en el osciloscopio.
La siguiente es la tabla de verdad para RS-232:
Seal> +3 V=0
Seal < -3 V=1
El nivel de seal de salida usualmente habita entre +12V y -12 V. El rea muerta
entra +3 V y -3 V est designada para absorber ruido de lnea.
Un bit de inicio indica el principio de cada marco de caracter. Esta es una transicin
desde un voltaje negativo (MARCA) hasta uno positivo (ESPACIO). Su duracin en
segundos es un recproco de la velocidad en baudios. Si el instrumento est
transmitiendo a 9,600 baudios, la duracin del bit de inicio y cada subsecuente bit
esta cerca de 0.104 ms. El marco total de caracter de once bits debe ser transmitido
en cerca de 1.146 ms.
Los bits de datos son transmitidos al revs y hacia atrs. Esto es, se emplea lgica
inversa y el orden de la transmisin es desde el bit menos significativo (LSB) hasta
el bit ms significativo (MSB). Para interpretar los bits de datos en un marco de
caracteres, debe leer de derecha a izquierda y leer 1 para voltaje negativo y Opara
voltaje positivo. Esto produce 1101101 (binario) o 6D (hexadecimal). Una tabla de
conversin ASCII muestra que esta es la letra m.
Un bit de paridad opcional sigue los bits de datos en un marco de caracter. El bit de
paridad, si est presente, tambin sigue lgica inversa, 1 para voltaje negativo y 0
para voltaje positivo. Este bit es incluido como un simple medio de control de error.
Usted especifica el perodo de tiempo donde la paridad del instrumento debe ser par
o impar. Si la paridad se elige impar, entonces el transmisor fija el bit de paridad en
forma tal que se realice un nmero par de unos a travs de los bits de datos y el bit
de paridad. Esta transmisin emplea paridad impar. Existen cinco unos a travs de
los bits de datos, ya hay un nmero impar, as el bit de paridad se fija en 0.
2

La ltima parte del marco de caracteres consiste de 1, 1.5 o 2 bits de parada. Estos
bits estn siempre representados por un voltaje negativo. Si no se adelantan ms
transmisiones de caracteres, la lnea permanece en condicin negativa (MARCA).
La transmisin del siguiente marco de caracter, si hay, se anuncia por un bit de
inicio de voltaje positivo (ESPACIO).

Que tan Rpido Puedo Transmitir?


Sabiendo como se aplican a la comunicacin serial una estructura de un marco de
caracteres y el significado de velocidad en baudios, usted puede calcular la mxima
velocidad de transmisin, en caracteres por segundo, para una configuracin de
comunicacin dada. Esta velocidad es justo la velocidad en baudios dividida entre
los bits por marco. En el ejemplo previo, existe un total de once bits por marco de
caracter. Si la velocidad de transmisin se fija a 9,600 baudios, usted obtiene
9,600/11 = 872 caracteres por segundo. Observe que esta es la mxima velocidad de
transmisin de caracteres. El hardware en un extremo o el otro del enlace serial
pueden no estar capacitados para alcanzar estas velocidades, por varias razones.

Descripcin de Hardware
Existen muchos diferentes estndares recomendados para comunicacin por puerto
serial, incluyendo los tipos ms comunes siguientes.

RS-232
El RS-232 es un estndar desarrollado por Electronic Industries Association (EIA) y
otros colegas, especificando la interfaz serial entre el Equipo Terminal de Dato
(DTE) y el Equipo de Comunicaciones de Dato (DCE). El estndar RS-232 incluye
caractersticas de seal elctrica (niveles de voltaje), caractersticas mecnicas de la
interfaz (conectores), descripcin de funcionalidad de los circuitos de intercambio
(la funcin de cada seal elctrica) y algunas recomendaciones para clases comunes
de conexiones terminal a modem. La revisin ms frecuentemente encontrada de
este estndar es la denominada RS-232C. Parte de este estndar ha sido adoptado
(con varios grados de fidelidad) para uso en comunicacin serial entre
computadores e impresoras, modems y otros equipos. Los puertos seriales en un
estndar de computadora personal compatible IBM siguen RS-232.
RS-449, RS-422, RS-423
Los RS-449, RS-422 y RS-423 son estndares de comunicacin serial adicionales
de EIA relacionados al RS-232. RS-449 fue publicado en 1975 y se supona que
reemplazaba al RS-232, pero pocos manufacturadores han adoptado el nuevo
estndar. RS-449 contiene dos subespecificaciones denominadas RS-422 y RS-423.
Mientras RS-232 modula una seal con respecto al comn de tierra, o realiza una
transmisin de un solo fin, RS-422 modula dos seales contra cada una o realiza
transmisin diferencial. El receptor RS-232C sensa si la seal recibida es

suficientemente negativa con respecto a la tierra para ser un 1 lgico, donde el


receptor RS-422 sensa que lnea es ms negativa que otra. Esto hace a RS-422 ms
inmune al ruido e interferencia y ms verstil sobre distancias largas. El puerto
serial Macintosh sigue RS-422, el cual puede ser convertido a RS-423 mediante el
cable externo adecuado. RS-423 puede entonces comunicarse con ms dispositivos
RS-232 sobre distancias de 15 m o similares.

Cableado RS-232
Los dispositivos que emplean cables seriales para sus comunicaciones se dividen en
dos categoras. Estas son DCE y DTE. Los DCE son dispositivos tales como un
modem, un adaptador TA, plotters y similares, mientras que DTE es un computador
a terminal. El puerto serial RS-232 viene en dos tamaos, el conector de 25 pines
Tipo D y el conector de 9 pines Tipo D. Ambos conectores son machos en la parte
trasera del PC. As, usted requiere un conector hembra en el dispositivo. La
siguiente tabla muestra las conexiones de pines para los conectores de 9 y 25 pines
Tipo D.

Funcin

Seal

PIN

DTE

DCE

Dato

TxD
RxD
RTS
CTS
DSR
DCD
DTR
Com
RI

3
2
7
8
6
1
4
5
9

Salida
Entrada
Salida
Entrada
Entrada
Entrada
Salida
Entrada

Entrada
Salida
Entrada
Salida
Salida
Salida
Entrada
Salida

Handshake

Comn
Otro

El conector DB-9 es ocasionalmente encontrado en equipos pequeos de laboratorio


RS-232. Es compacto, an posee pines suficientes para un conjunto principal de
pines serial (con un pin extra).
Nota Los nmeros de pin DB-9 para transmitir y recibir (3 y 2) son opuestos a aquellos en
el conector DB-25 (2 Y3). Sea cuidadoso de esta diferencia cuando usted este determinando
si un dispositivo es DTE o DCE.
El conectar DB-25 es el conectar estndar RS-232, con suficientes pines para cubrir
todas las seales especificadas en el estndar. La siguiente tabla muestra solo el

conjunto principal de pines que son empleados en la mayora de las interfaces RS232.

Funcin
Dato
Handshake

Comn

Seal
TxD
RxD
RTS
CTS
DSR
DCD
DTR
Com

PIN
2
3
4
5
6
8
20
7

DTE
Salida
Entrada
Salida
Entrada
Entrada
Entrada
Salida
-

DCE
Entrada
Salida
Entrada
Salida
Salida
Salida
Entrada
-

Descripcin de Software
Emplee los VIs y funciones localizados en la paleta FunctionsAll
FunctionsInstrument I/OSerial para comunicacin por puerto serial.
Usted emple algunas de las funciones VISA de esta paleta para la comunicacin
GPIB. Las funciones VISA Write y VISA Read trabajan con cualquier tipo de
comunicacin de instrumentos y son las mismas independiente que realice
comunicacin GPIB o serial. Sin embargo, debido a que la comunicacin serial
requiere que configure parmetros extras, debe iniciar comunicacin de puerto serial
con el VI VISA Configure Serial Port.
El VI VISA Configure Serial Port inicializa el puerto identificado por VISA
resource name con las configuraciones especificadas. timeout fija el valor de
tiempo fuera para la comunicacin serial. baud rate, data bits, parity y flow
control determinan los parmetros especficos de puerto serial. Los c1ustersde
error in y error out den las condiciones de error para este VI.
El siguiente ejemplo muestra como enviar el comando de solicitud de identificacin
*IDN? al instrumento conectado al puerto serial COM2. El VI VISA Configure
Serial Port abre la comunicacin con COM2 y lo fija a 9,600 baudios, 8 bits de
datos, paridad impar, un bit de parada y software handshaking XON/XOFF.
Entonces la funcin VISA Write enva el comando. La funcin VISA Read lee el
retorno hasta 200 bytes en el buffer de lectura y el VI Simple Error Handler verifica
la condicin de error.

Nota Los VIs y funciones localizadas en la paleta FunctionsAll FunctionsInstrument


I/OSerial tambin son empleadas para comunicacin por puerto paralelo. Usted especifica
el nombre de recurso VISA para que sea uno de los puertos LPT. Por ejemplo, puede
emplear MAX para determinar que LPT 1 tiene un nombre de recurso VISA de ASRLl0: :
INSTR.

Ejercicio10-5 El VI Serial Write & Read


Objetivo:

Construir un VI que se comunique con un dispositivo RS-232.

Realice los siguientes pasos para emplear el Asistente de E/S de Instrumentos y


construir un VI que se comunique con el Simulador de Instrumentos de NI.

Simulador de Instrumentos de NI
1. Apague el Simulador de Instrumentos de NI y configrelo para comunicarse a
travs del puerto serial estableciendo los siguientes interruptores en el lado de la
caja.

Estos interruptores determinan la configuracin del instrumento como un


dispositivo serial con las siguientes caractersticas:

Velocidad en baudios = 9,600


Bits de datos = 8
Paridad = no paridad
Bits de parada = 1
Parmetros de control de flujo = hardware handshaking

Handshaking es un medio de control de flujo de datos. El software handshaking


involucra caracteres de control embebido en los datos transmitidos. Por ejemplo,
6

el control de flujo XON/XOFF trabaja encerrando un mensaje transmitido entre


los dos caracteres de control XON y XOFF. El hardware handshaking emplea
voltajes en cables fsicos para controlar el flujo de datos. Las lneas RTS y CTS
del dispositivo RS-232 son empleadas frecuentemente en este propsito.
Muchos equipos de laboratorio emplean hardware handshaking.
2. Asegrese que el Simulador de Instrumentos de NI est conectado a un puerto
serial en el computador con un cable serial. Tome nota de este nmero de puerto.
3. Encienda el Simulador de Instrumentos de NI. Los LEDs Power, Ready y Listen
se iluminan para indicar que el dispositivo est en modo de comunicacin serial.

Diagrama de Bloques
4. Abra un VI en blanco y construya el siguiente diagrama de bloques.

a.

Coloque el VI Instrument I/O Express, localizado en la paleta


FunctionsInput, en el diagrama de bloques. Realice los siguientes pasos
en la caja de dilogo Instrument I/O Assistant que aparece para configurar
el VI Express.
(1) Seleccione COMl (o COM2 dependiendo del puerto de conexin para el
Simulador de Instrumentos de NI) desde el men desplegable Select an
instrument.
(2) Haga clic en el botn Add Step y luego en Write. En el campo
comando, digite *IDN? y seleccione \n como Termination character.
(3) Haga clic en el botn Add Step y luego en Read and Parse.
(4) Haga clic en el botn Add Step y luego en Read and Parse
nuevamente.

Nota El Simulador de Instrumentos retorna el tamao de byte de respuesta, el carcter de


terminacin, la respuesta, luego otro caracter de terminacin. Por tanto, luego que *IDN? se
enva al instrumento, la respuesta debe ser leda dos veces.

(5) Haga clic en el botn Run (no el botn Run this step). El botn Run
corre toda la secuencia.
(6) Retorne al primer paso Read and Parse.
(7) Haga clic en el botn Auto parse. El valor retornado es el tamao en
bytes de la respuesta solicitada.
(8) Renombre Token como String Length en la caja de texto Token name.
(9) Seleccione el segundo paso Read and Parse.
(10)
Haga clic en el botn Auto parse. El valor retornado es la
cadena de identificacin del Simulador de Instrumentos de NI.
(11)
Renombre Token como String en la caja de texto Token name.
La ventana de configuracin debe ser similar a la siguiente figura.

(12)

Seleccione OK para regresar al diagrama de bloques.

b. Haga clic derecho en la salida String y seleccione Create Indicator desde


el men rpido.

c. Haga clic derecho en la salida String


CreateIndicator desde el men rpido.

Length

seleccione

Consejo Ya que LabVIEW est configurado para manipular errores automticamente, no


es necesario conectar un VI Simple Error Handler a error out.
13. Muestre el panel frontal y corra el VI.
14. Guarde el VI como Serial communication. vi en el directorio C: \Exercises
\LabVIEW Basics I.
15. Cierre el VI cuando termine.

Fin del ejercicio10-5

H. Transferencia de Formas de Onda (Opcional)


Muchos instrumentos retornan una forma de onda como una cadena ASCII o una
binaria. Asumiendo la misma forma de onda. la transferencia de una cadena binaria
es ms rpida y requiere menos memoria que transferir una cadena ASCII. La
codificacin binaria requiere menos bytes que la codificacin ASCII.

Forma de Onda ASCII


Como un ejemplo, considere una forma de onda compuesta de 1,024 puntos, cada
uno con un valor entre 0 y 255. Empleando la codificacin ASCII, usted requerira
un mximo de 4 bytes para representar cada punto (un mximo de 3 bytes para el
valor del punto y 1 byte para el separador. Tal como una coma). Usted necesitara un
mximo de 4,096 (4 x 1.024) bytes ms bytes de encabezado y de remolque para
representar la forma de onda como una cadena ASCII. El siguiente ejemplo es una
cadena de forma de onda ASCII.

Puede emplear el VI Extraet Numbers localizado en el directorio C:\Exercises\


LabVIEW Basics1 para convertir una forma de onda ASCII en un arreglo numrico.
como sigue. Este VI entrega la forma de onda como un arreglo de doble precisin.

Formas de Onda Binarias Codificadas como Enteros de 1-Byte


9

La misma onda empleada para codificacin binaria requiere solo 1,024 bytes (1 x
1,024) ms bytes de encabezado y de remolque para ser representada como una
cadena binaria. Empleando codificacin binaria, usted solo requiere 1 byte para
representar el punto, asumiendo que cada nmero es un entero sin signo de 8-bits.
El siguiente ejemplo es una cadena de forma de onda binaria.

Convertir la cadena binaria a un arreglo numrico es un poco ms complejo. Usted


debe convertir la cadena a un arreglo de enteros. Puede hacer esto empleando la
funcin String To Byte Array localizada en la paleta FunctionsAll
FunctionsStringString/ Array/Path Conversion. Puede remover toda la
informacin de encabezado y remolque de la cadena antes de convertida a arreglo.
Por otro lado, esta informacin tambin es convertida.

Formas de Onda Binarias Codificadas como Enteros de 2-Bytes


Si cada punto en la cadena de forma de onda binaria es codificado como un entero
de 2 bytes, es ms fcil y rpido emplear la funcin Type Cast localizada en la
paleta FunctionsAll FunctionsAdvancedData Manipulation.
Por ejemplo, considere un osciloscopio GPIB que transfiere datos de forma de onda
en notacin binaria. La forma de onda est compuesta de 1,024 puntos de datos.
Cada punto de dato es un entero con signo de 2 bytes. Por consiguiente, la forma de
onda completa est constituida de 2,048 bytes. En el siguiente ejemplo,la forma de
onda posee el encabezado DATA de 4 bytes y un remolque de 2 bytes--como un
retorno de carro seguido por una alimentacin de lnea.

10

El siguiente diagrama de bloques muestra como usted puede emplear la funcin


Type Cast para cambiar la cadena de forma de onda binaria a un arreglo de enteros
de 16 bits.

Puede necesitar emplear la funcin Swap Bytes localizada en la paleta Functions


All Functions Advanced Data Manipulation para intercambiar los 8 bits ms
significativos con los 8 bits menos significativos para cada elemento. Recuerde,
GPIB es un bus a 8 bits. Este puede solo transferir un byte a la vez. Si el
instrumento primero enva el byte bajo y luego el byte alto, no necesita emplear la
funcin Swap Bytes.
En el ejemplo anterior, usted necesit emplear la funcin SwapBytes ya que el
instrumento envo primero el byte ms significativo. Ya que el byte ms
significativo fue recibido de primero, este es colocado en una posicin ms baja de
memoria que el ltimo byte significativo enviado luego del byte ms significativo.

Ejercicio10-6 El VI Waveform Example (Opcional)


Objetivo:

Graficar una forma de onda que un instrumento como un


osciloscopio retorna como una cadena ASCII o binaria.

Para una cadena de forma de onda ASCII, la forma de onda consiste de 128 puntos.
Hasta cuatro caracteres ASCII separados por coma representan cada punto. El
siguiente encabezado antecede los puntos de datos:
CURVE {12,28,63,...128pointsintotal...,}CR LF

Para la cadena de forma de onda binaria, la forma de onda consiste de 128 puntos.
Cada punto es representado como un entero sin signo de 1-byte. El siguiente
encabezado antecede los puntos de datos:
CURVE % {Bin Count MSB} {Bin Count LSB}{n...128 bytes in
total...}{Checksum}CR LF

11

Realice los siguientes pasos para examinar un VI que convierte la forma de onda en
un arreglo de nmeros. El VI grafica el arreglo y lee la cadena de forma de onda
desde el Simulador de Instrumentos de NI o desde un arreglo almacenado
previamente.

Simulador de Instrumentos de NI
1. Apague el Simulador de Instrumentos de NI y configrelo para comunicarse a
travs de GPIB configurando los siguientes interruptores en el lado de la caja.

Estos interruptores establecen la configuracin del instrumento como un


dispositivo GPIB con una direccin de 2.
2. Encienda el Simulador de Instrumentos de NI. Solo los LEDs Power y Ready
estn encendidos para indicar que el Simulador de Instrumentos de NI est en el
modo de comunicacin GPIB.

Panel Frontal
3. Abra el VI Waveform Example localizado en el directorio
C:\Exercises\LabVIEW Basics 1. El siguiente panel frontal ya se
encuentra listo.

Data Format especifica una forma de onda ASCII o binaria. Data Source
especifica si el dato es simulado o ledo desde el Simulador de Instrumentos de
NI a travs de GPIB.

12

Diagrama de Bloques
4. Muestre y examine el siguiente diagrama de bloques.

La funcin String Subset localizada en la paleta FunctionsAll


FunctionsString entrega una subcadena de 128 elementos iniciando desde el
byte quinto de la cadena de forma de onda binaria, excluyendo el encabezado y
bytes de remolque.
La funcin String to Byte Array, localizada en la paleta FunctionsAll
FunctionsStringString/Array/Path Conversion, convierte la cadena binaria
a un arreglo de enteros sin signo.
La funcin String Length, localizada en la paleta FunctionsAll
FunctionsString, retorna el nmero de caracteres en la cadena de forma de
onda.
El VI Extract Numbers, localizado en el directorio Exercises, extrae
nmeros desde una cadena de forma de onda ASCII y los coloca en un arreglo.
Los caracteres no numricos, tal como comas, separan los nmeros en la cadena.
Las funciones VISA Write y VISA Read, localizadas en las paletas
FunctionsAll FunctionsInstrument I/OVISA, solicitan del Simulador de
Instrumentos de NI una onda cuadrada en formato ASCII o binario de 1-byte.

13

El VI Simple Error Handler, localizado en la paleta FunctionsAll


Functions Time & Dialog, reporta cualquier error.
5. Muestre el panel frontal y corra el VI.
El caso TRUE adquiere y convierte la cadena de forma de onda binaria a un
arreglo de valores numricos. El caso FALSE adquiere y convierte la cadena de
forma de onda ASCII a un arreglo de valores numricos.
6. Fije Data Format en ASCII y corra el VI. Se muestra la cadena de forma de
onda ASCII, el VI convierte los valores a un arreglo numrico y muestra la
longitud de cadena y el arreglo numrico.
7. Fije Data Format en Binary y corra el VI nuevamente. Se muestra la cadena de
forma de onda binaria y la longitud de la cadena, el VI convierte la cadena a un
arreglo numrico y lo muestra en la grfica.
Nota La forma de onda binaria es similar a la forma de onda ASCII. Sin embargo, el
nmero de bytes en la cadena es significativamente menor. Es ms eficiente transferir
formas de onda en cadenas binarias que como cadenas ASCII ya que la codificacin binaria
requiere menos bytes para transmitir la misma informacin.
8. Cierre el VI. No guarde cambios.

Fin del ejercicio 10-6

Resumen, Consejos y Trucos

LabVIEW puede comunicarse con un instrumento que conecta a un computador


siempre y cuando usted conozca que clase de interfaz posee y que cable es
requerido.

Emplee MAX para configurar y probar tarjetas de interfaz GPIB, instrumentos


conectados, puertos seriales y puertos paralelos.

Los controladores de instrumentos en LabVIEW eliminan la necesidad de


aprender los comandos de programacin de bajo nivel y complejos para cada
instrumento.

La librera de controladores de instrumentos en LabVIEW est localizada en el


CD LabVIEW. Tambin puede descargar controladores desde el sitio Web de NI
en ni.com.

14

Todos los controladores de instrumentos en la librera poseen la misma jerarqua


bsica de VI.

Emplee el Asistente de E/S de Instrumentos para construir rpida y fcilmente


un VI que se comunique con un instrumento. Puede controlar VXI, GPIB, RS232 y otros tipos de instrumentos.

La comunicacin serial es un medio popular de transmisin de datos entre un


computador y un dispositivo perifrico tal como un instrumento programable o
incluso otro computador.

Ejercicios Adicionales
10-7

Abra el VI Voltage Monitor, el cual construy en el Ejercicio 10-4.


Modifique el diagrama de bloques para que los datos sean escritos a un
archivo de hoja de clculo denominado voltage. txt en el siguiente formato.

Seleccione FileSave As para guardar el VI como Voltaje Data to File. vi en


el directorio C:\Exercises \ LabVIEW Basics I.

15

Potrebbero piacerti anche