Está en la página 1de 4

CONEXIN TCP/IP ENTRE DOS

ESTACIONES USANDO LABVIEW 7


EXPRESS
Autor: Carlos Fernando Jimnez
Ingeniero electrnico Universidad
Industrial de Santander UIS
carlosfjimenezp@yahoo.com.mx
Febrero el 2005
Establecer una comunicacin de red utilizando los
protocolos TCP/IP usando el labview 7 espress se
logra gracias a los vis para comunicacin en red
que nos ofrece este ambiente de desarrollo de
programacin
grfica
orientado
a
la
instrumentacin.
Una comunicacin de red que use TCP/IP el cual
es un protocolo orientado a conexin y con
control de errores que garantiza la integridad de la
informacin es
ideal para aplicaciones de
automatizacin y control, esto unido al entorno de
desarrollo ofrecido por el LabView 7 nos da una
poderosa herramienta para el diseo de sistema de
control y monitoreo remoto tales como las redes
SCADA.
Para comenzar, en primera estancia para realizar
una comunicacin TCP/IP deben existir al menos
dos estaciones que van a realizar la comunicacin,
una estacin pasiva la cual espera por una
conexin entrante y una estacin activa la cual
inicia la comunicacin realizando una llamada al
numero IP y puerto de la estacin pasiva, veamos
a continuacin como se logra esta comunicacin
con LabView 7.
Estacin pasiva
El bloque encargado de esperar por una conexin
TCP/IP se puede encontrar en All functions ->
Comunicacin -> TCP y su nombre es
TCPlisten.vi y cuyo icono se presenta a
continuacin

La entrada port por medio de la cual se establece


el puerto a travs del cual se realizara la
comunicacin con la otra estacin o dispositivo,
no se debe olvidar que ambas estaciones deben
tener configurado el mismo numero de puerto, la
salida conecction ID nos suministra un
identificador para hacer accesos a esta conexin
una vez establecida, esta salida debe estar
cableada a todos los bloques TCP involucrados en
la comunicacin con el fin de garantizar claridad
respecto a cual canal de comunicacin usar,
continuamos con la salida remote address la cual
reporta la direccin IP de la estacin activa que
inicio la conexin una ves esta a sido establecida,
la salida error out informa de errores surgidos en
el proceso de conexin TCP, finalmente tenemos
la entrada timeout ms por medio de la cual se
establece el lapso de tiempo durante el cual se
esperar por una conexin TCP entrante, si
transcurrido el tiempo programado no se a
realizado una llamada de otra estacin este
conector generar un error.
Estacin activa
Como se dijo anteriormente la diferencia entre la
estacin activa y la pasiva es que la pasiva espera
por una conexin entrante mientras la activa inicia
una comunicacin llamando a una estacin pasiva
usando el numero IP y puerto de la estacin con la
cual se quiere realizar la comunicacin , el bloque
principal que hace a una estacin activa es TCP
Open Conection el cual se puede encontrar en All
functions -> Comunicacin -> TCP y cuyo icono
se muestra a continuacin.

Figura 2.TCP Open Connection


Por medio de la entrada address se configura la
direccin IP de la estacin o dispositivo al cual se
esta llamando y la entrada remote port establece el
puerto por el cual se realizara la conexin, la
entrada time out mide el tiempo limite para que
una estacin pasiva conteste, finalmente tenemos
las salidas error out y connection ID que tienen
las mismas funciones que para el bloque TCP
Listen.vi

Figura 1. TCP Listen


Los principales conectores de este bloque son:
Figura 3 TCP Write

Bloques para leer y escribir


Una vez establecida la conexin los datos pueden
fluir de la estacin pasiva a la activa o al revs
este flujo de informacin se controla con los
bloques TCP Read y TCP Write para recibir y
enviar datos, especficamente por medio del
bloque TCP Write se envan datos de una estacin
a otra.
Los conectores principales de TCP Write son:
Connection ID el cual debe ir cableado a la salida
con el mismo nombre del bloque TCP Listen o
TCP Open Connection con el cual se inicio la
comunicacin para que se indique cual conexin
se deben utilizar para enviar los datos, por la
entrada data in se ingresa la cadena de caracteres
que se desee enviar, timeout ms vigila que no se
exceda el tiempo mximo que puede transcurrir
mientras la otra estacin recibe los datos, en caso
de que este tiempo se exceda la salida error out
generar un mensaje de error, la salida bytes
written indica cuantos bytes se han enviado
satisfactoriamente.

Figura 4. TCP Read


TCP Read tiene como funcin recibir datos
enviados desde otra estacin, sus principales
conectores son: Connection ID el cual al igual que
en TCP Write debe ir cableado a la salida del
mismo nombre del bloque TCP Listen o TCP
Open Connection con el cual se inicio la
comunicacin para que se indique cual conexin
se debe usar para recibir los datos, en la entrada
bytes to read se programa el numero de bytes que
se esta esperando en esta recepcin, timeout ms al
igual que en los vi anteriormente explicados tiene
como funcin permitir establecer el tiempo
mximo que se esperar para que se realice la
operacin de recepcin de datos, error out reporta
los errores ocurridos durante esta operacin, la
salida data out retorna los bytes recibidos
dependiendo del valor de la entrada mode la cual
establece uno de cuatro modos de operacin.
Modos de operacin de TCP Read
Utilizando la entrada mode se especifica el modo
de recepcin de datos, el cual puede tomar uno de

cuatro valores, Standard, Buffered, CRLF o


Immediate:
En el modo Standard el cual es el modo por
defecto, este bloque espera a que todos los bytes
programados en la entrada bytes to read arriben o
a que expire el tiempo establecido con timeout ms
antes de retornar cualquier valor, en caso de que
expire el tiempo establecido se retornarn los
bytes que se alcanzaron a recibir por la salida
data out y se reportara un error.
Cuando se usa el modo Buffered este vi funciona
casi igual que en el modo Standard con la nica
diferencia de que en caso de que expire el tiempo
programado y solo se han recibido una parte de
los bytes programados no se retorna ningn byte y
se reporta un error.
En el modo CRLF este vi espera por la cantidad
de bytes programados seguidos por un carcter de
return CR seguido de una alimentacin de lnea
LF o a que expire el tiempo establecido para la
recepcin antes de retornar cualquier valor, en
caso de que se reciban dados sin el carcter return
seguido de la alimentacin de lnea no se retorna
ningn dato y se reporta un error.
Finalmente en modo Immediate este vi
todos los bytes recibidos en el momento
estos arriban, y solo espera que el
programado expire si no se a recibido
dato.

Configuracin de
la estacin pasiva

NO
Peticin de
conexin.
Nro de puerto?
?
SI
Se establece la
conexin

NO

Expiro el tiempo?
SI
Se reporta un
error

Figura 5. Diagrama de flujo del


establecimiento de conexin en la
estacin pasiva

retorna
en que
tiempo
ningn

Flujo bsico de las rutinas para comunicacin


TCP/IP en LabView
Se puede decir que hay dos flujos bsicos para la
realizacin de una rutina que soporte
comunicacin
TCP/IP
en
labview,
el
establecimiento de la comunicacin y el
intercambio de datos, a continuacin se presenta
un diagrama y una breve explicacin.
Establecimiento de la comunicacin.
La estacin pasiva espera el tiempo establecido a
que otra estacin inicie una comunicacin por el
puerto programado, la estacin activa llama a la
estacin pasiva y solicita la conexin por un
puerto especifico, si la estacin pasiva detecta que
una conexin se esta solicitando a travs del
puerto establecido se establece la comunicacin y
tanto la estacin activa como pasiva queda en
capacidad para enviar y recibir datos, en la figuras
5 y 6 su pueden apreciar los diagramas de flujo
correspondientes a estas operaciones.
Envi de datos o escritura
Cualquiera de las dos estaciones enva un nmero
de datos determinado, si la estacin receptora no
recibe todos los datos y sin errores se reporta un
error en la estacin emisora, en la figura 7 se
muestra el diagrama de flujo correspondiente.

Configuracin de
la estacin activa

SI
Se establece la
conexin

NO
Todos lo datos
llegaron a la
estacin
receptora sin
errores?

NO

SI
Operacin
exitosa

Expiro el tiempo?
SI
Se reporta un
error

Figura 7. Diagrama de flujo de una


operacin de escritura o envo de datos
TCP/IP
Recepcin de datos o lectura
Durante una operacin de lectura cualquiera de las
dos estaciones que han establecido una conexin
espera por datos, y dependiendo del modo
programado puede actuar de cuatro maneras
diferentes como fue explicado anteriormente, en
la figura 8 se puede apreciar el diagrama de flujo
correspondiente a esta accin.
Cualquiera de las
dos estaciones
conectadas espera
n datos de la otra
estacin.

Peticin de
conexin a la
estacin pasiva
Nmero IP y
Nmero de
puerto

Conexin
aceptada?

Cualquiera de las
dos estaciones
conectadas enva
n datos a la otra
estacin.

NO
NO

NO

Expiro el tiempo?
SI
Se reporta un
error

Figura 6. Diagrama de flujo del


establecimiento de conexin en la
estacin activa

Llegaron los n datos NO


de la estacin receptora
sin errores y de
acuerdo al modo
programado?
SI
Operacin
exitosa

Expiro el tiempo?

SI
Se reporta un
error

Figura 8. Diagrama de flujo de una


operacin de lectura o recepcin de
datos TCP/IP

Se pueden encontrar dos programas de ejemplo en


la librera TCP.llb del directorio /examples/com
de LabView 7 express con los nombres TCP
Communicator
Passive.vi
y
TCP
Communicator - Active.vi donde se ilustran
claramente los tpicos tratados en este artculo.
Referencias.
Ayuda de Labview 7 express.
JESS
GARCIA
TOMS
SANTIAGO
FERNANDO MARIO PIATTINI. Redes para
proceso distribuido 2 Edicin ALFA OMEGA
RA-MA

También podría gustarte