Sie sind auf Seite 1von 7

Curso: Simulacin de Sistemas

1


Programacin Avanzada


I. Objetivo

El objetivo de realizar esta aplicacin es utilizar la tecnologa de comunicaciones TCP/IP a fin de
compartir informacin en una red LAN.


II. Desarrollo

Comunicaciones en una RED LAN

El Servidor

Descripcin

Este programa genera datos que son enviados por una red local. Los datos son enviados
cuando se abre una conexin por un puerto especificado desde otro programa (cliente). Los
datos que se envan pueden ser datos de una seal senoidal, cuadrada o aleatoria a peticin del
cliente. Este VI termina su ejecucin si luego de 10 segundos no se detecta ninguna conexin.


a. Panel Frontal

El panel frontal del servidor debe lucir de la siguiente manera:





Asegrese que el control port sea de tipo entero sin signo V16 y que el nmero de puntos sea
entero tipo I32. El control de amplitud modifica las seales senoidal y cuadrada, mientras que la
frecuencia y duty cycle aplican exclusivamente a la seal cuadrada. Adicionalmente se indica el
tipo de seal solicitado y la direccin del cliente.
Curso: Simulacin de Sistemas



2

b. Diagrama de programacin:

Inserte el bloque TCP Listen.vi, el cual crea un escucha para aceptar una conexin TCP
por el puerto que se indica. El port ser determinado desde el panel frontal mediante el
control numrico, y el tiempo de espera (timeout) para la conexin, ser una constante de
10000 ms.



El cableado ser el siguiente:


Cree un Case Structure como se muestra en la figura:



La entrada al case (?) ser provista por el cliente. Tendremos 3 casos (0, 1, 2)
correspondiente a cada una de las seales solicitadas por el cliente. Para el caso 0, se ha
colocado la generacin de seal cuadrada.

Para el caso 1, coloque dentro un Sine Pattern

Curso: Simulacin de Sistemas



3
Para el caso 2, coloque dentro el bloque de seal aleatoria.



Dentro del case se ha considerado el indicador tipo string Signal requested, para indicar la
seal que se est emitiendo en un cierto momento. Para poder escribir el mensaje en cada
instancia del case, se debe crear una variable local en modo de escritura para este indicador
(click derecho sobre el indicador, Create local variable).

Coloque el bloque TCP Read



Este bloque permite recibir datos de una conexin TCP. Los puntos a conectar en este
bloque son la conexin ID que viene del bloque de escucha, el nmero de bytes que se
debe recibir y a la salida se obtiene los datos en formato string. Tras aplicar este bloque de
lectura, se consigue conocer la seal requerida por el cliente.




Curso: Simulacin de Sistemas



4
Coloque el bloque TCP Write



Este bloque enva datos a una conexin TCP. Los puntos a conectar en este bloque son la
conexin ID que viene del bloque de escucha y la data que se desea enviar data in como
una cadena. Notar que se necesita dos de estos bloques para enviar, en primer lugar, el
tamao de la data que se enva y luego, la data propiamente dicha.

Puesto que los datos entregados por el case son de valor numrico, estos deben ser
convertidos en una cadena de caracteres (string) con el bloque Type Cast:



Una vez convertida en string la data a transmitir, se obtiene el tamao de la data con el
bloque String Length:


Esta longitud es transmitida por el bloque TCP Write, para luego comenzar con el envo de
la data convertida en string con una nueva llamada a TCP Write. Las conexiones, hasta
este punto, son como se muestran en la figura:



Notar que se ha agregado un temporizador de 100 milisegundos.


Curso: Simulacin de Sistemas



5
El lazo while se incorpora para poder hacer capturas continuas sin cerrar el canal de
comunicacin. La condicin de parada del lazo se ver afectada por el estado del botn stop
o por la produccin de algn tipo de error de comunicacin (Unbundle By Name). Para
considerar las dos posibles fuentes de error, se emplea un OR lgico para detener el lazo.
A la salida del while loop se debe cerrar la conexin del puerto. Para ello usamos el bloque
Close connection una vez que el dato ha sido enviado.



Finalmente, el diagrama de bloques resulta como sigue:




El Cliente

Descripcin

Este programa se encarga de recibir la data que es enviada por el programa que genera datos
(servidor) usando la red local. Para ello deber abrir una conexin por el puerto especfico,
colocar la direccin del servidor y elegir la seal que desea capturar. Una vez recibida la data,
esta es visualizada en pantalla en una grfica.

a. Panel Frontal

En el panel frontal se debe colocar un numeric control para indicar el port de conexin, un
string para indicar la direccin o nombre del servidor, un Text Ring para seleccionar la seal
que se desea (click derecho, Edit Items) y un Waveform Chart para visualizar la data recibida
(configure Update Mode como Scope Chart cuando ejecute el programa). Tambin coloque un
botn de stop para terminar la ejecucin del VI. El panel frontal debe lucir como sigue:

Curso: Simulacin de Sistemas



6



b. Diagrama de programacin
Lo primero que debemos hacer es abrir una conexin TCP por un puerto especfico. El puerto
ser el canal de comunicacin lgica por donde el servidor enviar datos al cliente. Ello lo
realizamos con el bloque TCP Open Connection.



Colocaremos la direccin del servidor que viene de un control del panel frontal y el nmero de
port que tambin viene de un control del panel frontal como se muestra:


Una vez establecido el canal de comunicacin, el cliente le enva al servidor el cdigo de la
seal que desea obtener. Luego de esto, el cliente recibe la informacin de cantidad de datos
que le va a enviar, para posteriormente recibir la integridad de datos. Esto se muestra en el
diagrama con el bloque de lectura y un tipo array definido en el Type Cast.

El diagrama de bloques del cliente resulta como sigue:

Curso: Simulacin de Sistemas



7



Se debe poder comprobar que el cliente tiene el control de seleccin de seal, usando el control
Text Ring y que la comunicacin se mantiene hasta que el botn de parada se accione. Slo en
el servidor se puede modificar los parmetros de las seales generadas como amplitud o
frecuencia. Este VI puede modificarse para que un servidor enve datos correspondientes a
seales de proceso adquiridas con una tarjeta DAQ a los nodos clientes que comparten su red
local con fines de supervisin y registro de informacin.

Das könnte Ihnen auch gefallen