Vous êtes sur la page 1sur 7

PRCTICA DE COMUNICACIONES

Iniciacin a las comunicaciones en LabVIEW


Una de las herramientas ms potentes de LabVIEW es la capacidad de comunicacin.
En el presente apartado veremos la comunicacin serie usando el puerto COM1 (puerto
serie) del ordenador. Este puerto nos permitir enviar rdenes a instrumentos (lnea TX)
y recibir su respuesta (lnea RX) al mismo tiempo (suponiendo comunicacin RS-232
full-duplex de punto a punto).
Para la realizacin del primer programa de comunicacin serie mediante LabVIEW
vamos a proponer el envo y recepcin de mensajes en nuestro propio PC. Para ello
uniremos los pines 2 (Receive data - RX) y 3 (Transmit data - TX) del puerto COM1
del mismo ordenador. Con ello conseguiremos recibir los datos que nosotros mismos
enviemos comprobando de una forma rpida y sencilla el correcto funcionamiento de la
aplicacin. Ver figuras 1 y 2 de descripcin de los pines del puerto. Ver figura 3 para la
realizacin de la conexin necesaria.

Figura 1

Figura 2
Figura 3
Para la realizacin del programa objeto del presente apartado, introduciremos una
serie de especificaciones adicionales. Se desea que el programa disponga de un botn de
habilitacin de la comunicacin y de otro de inicio de la transmisin y recepcin. Para
cada mensaje enviado o recibido, se abrir el puerto de comunicaciones, se transmitirn
y recibirn los datos y posteriormente se cerrar.
En el anexo Descripcin de bloques para la comunicacin serie tenemos explicado
cada uno de los bloques utilizados en la aplicacin.
La condicin de inicio de las comunicaciones al tener seleccionado el botn de
habilitacin y al pulsar el botn de transmisin/recepcin, se realiza como podemos ver
1

en la figura 4. Ambas condiciones han de cumplirse al mismo tiempo, por lo que no


podemos asignar un botn de pulsacin a ambos (no se puede pulsar con el ratn en dos
botones al mismo tiempo). Se ha introducido, por lo tanto, un selector para la
habilitacin de la comunicacin y un botn para transmitir/recibir como podemos ver en
la figura 5. (Se ha aadido tambin un led indicador del estado de la habilitacin para
facilitar su manejo).

Figura 4

Figura 5

Figura 6

La condicin citada e implementada por la figura 4, dar paso a una estructura de


bloque case que permitir la realizacin de las acciones slo en el caso en el que el
resultado sea TRUE, es decir, cuando la entrada de la estructura sea FALSE no debe
hacer nada, lo que se traduce en que ste caso estar en blanco (ver figura 6 / figura 7
estructura completa del programa) .
En el interior de la estructura case, tendremos una estructura sequence de 5 pasos que
realizar las siguientes tareas:
Inicializacin del puerto de comunicaciones con las caractersticas deseadas
(ver figura 8):
- Puerto de comunicaciones 0 COM1
- Velocidad de transmisin 9600 bps
- Transmisin de 8 bits de datos
- Un bit y medio de parada
- Sin paridad
Ver anexo Descripcin de bloques para la comunicacin serie.
- Envo por el puerto de los datos contenidos en un string control, en este caso
llamado Trama a enviar (ver figura 13). Se ha de especificar el uso del mismo
puerto abierto en el paso anterior.
Realizar una espera de tiempo (ver figura 10).
Leer los datos provenientes del puerto. Para ello usaremos el bloque Serial
Port Read, al cual hemos de especificar el nmero de caracteres a recibir. Para
ello se recomienda el uso de Bytes at Serial Port si deseamos leerlos todos (ver
figura 11).
Cerrar el puerto de comunicaciones. Hemos de cerrar el mismo puerto que
hemos abierto para realizar la transmisin/recepcin, en este caso puerto 0
COM1 (ver figura 12).
El aspecto del Front Panel que obtenemos en la aplicacin es el que podemos ver en la
figura 13.

Figura 7

Figura 8

Figura 9

Figura 10

Figura 11

Figura 12

Figura 13

ANEXO: Descripcin de bloques para la comunicacin serie


Serial Port Init:

flow control etc.


Contiene los siguientes parmetros:
input XON/XOFF
input HW Handshake
input alt HW HShk
Output XON/XOFF
Output HW Handshake
output alt HW HShk
XOFF byte
XON byte
parity error byte
buffer size
Dato de tipo U16 que especifica el tamao de los buffers de entrada y salida.
port number
Dato de tipo I32 que especifica el puerto de comunicaciones a utilizar. Para una
plataforma Windows tenemos:
0: COM1
5: COM6
10: LPT1
1: COM2
6: COM7
11: LPT2
2: COM3
7: COM8
12: LPT3
3: COM4
8: COM9
13: LPT4
4: COM5
baud rate
Dato de tipo U32 que especifica la velocidad en baudios de la comunicacin para ese
puerto. Valor por defecto: 9600
data bits
Dato de tipo U16 que especifica la cantidad de bits transmitidos. El rango permitido es
entre 5 y 8. Valor por defecto: 8
stop bits
Dato de tipo U16 que especifica los bits de parada en la transmisin. 0 para un bit de
parada, 1 para un bit y medio de parada y 2 para dos bits de parada. Valor por defecto: 1
parity
Dato de tipo U16 que especifica la cantidad de bits de paridad.
0: no parity
1: odd parity
2: even parity
3: mark parity
4: space parity
Valor por defecto: 0 no paridad.
error code
Dato de tipo I32 que nos indica con un valor 1 un error en la transmisin.
5

Serial Port Write:

port number
Dato de tipo I32 que especifica el puerto de comunicaciones a utilizar. Para una
plataforma Windows tenemos:
0: COM1
5: COM6
10: LPT1
1: COM2
6: COM7
11: LPT2
2: COM3
7: COM8
12: LPT3
3: COM4
8: COM9
13: LPT4
4: COM5
string to write
Cadena de caracteres que determina el dato a enviar por el puerto serie. Si el nmero de
caracteres que se envan es mayor que el buffer especificado para la transmisin, slo se
enviarn los caracteres que quepan en el buffer.
error code
Dato de tipo I32 que nos indica con un valor 1 un error en la transmisin.

Serial Port Read:

port number
Dato de tipo I32 que especifica el puerto de comunicaciones a utilizar. Para una
plataforma Windows tenemos:
0: COM1
5: COM6
10: LPT1
1: COM2
6: COM7
11: LPT2
2: COM3
7: COM8
12: LPT3
3: COM4
8: COM9
13: LPT4
4: COM5
requested byte count
Dato de tipo U32 que especifica el nmero de caracteres a recibir. Si se desea leer todos
los datos que se reciben por el puerto serie en una transmisin, se recomienda el usa de
Bytes at Serial Port para la rececpcin total.
string read
Cadena de caracteres leda del puerto especificado.
error code
Dato de tipo I32 que nos indica con un valor 1 un error en la recepcin.

Bytes at Serial Port

port number
Dato de tipo I32 que especifica el puerto de comunicaciones a utilizar. Para una
plataforma Windows tenemos:
0: COM1
5: COM6
10: LPT1
1: COM2
6: COM7
11: LPT2
2: COM3
7: COM8
12: LPT3
3: COM4
8: COM9
13: LPT4
4: COM5
byte count
Dato de tipo U32 que especifica el nmero de bytes almacenados en el buffer de cola de
la recepcin serie.
error code
Dato de tipo I32 que nos indica con un valor 1 un error.

Close Serial Driver

port number
Dato de tipo I32 que especifica el puerto de comunicaciones a utilizar. Para una
plataforma Windows tenemos:
0: COM1
5: COM6
10: LPT1
1: COM2
6: COM7
11: LPT2
2: COM3
7: COM8
12: LPT3
3: COM4
8: COM9
13: LPT4
4: COM5
error code
Dato de tipo I32 que nos indica con un valor 1 un error.

Vous aimerez peut-être aussi