Você está na 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.

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. retorna en que tiempo ningn

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

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

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.

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

NO Todos lo datos llegaron a la estacin receptora sin errores? SI Operacin exitosa NO 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.

Configuracin de la estacin activa

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

NO NO Llegaron los n datos NO de la estacin receptora sin errores y de acuerdo al modo programado? SI Operacin exitosa Expiro el tiempo?

Conexin aceptada? SI Se establece la conexin

NO

Expiro el tiempo? SI Se reporta un error

SI Se reporta un error

Figura 6. Diagrama de flujo del establecimiento de conexin en la estacin activa

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

Você também pode gostar