Sei sulla pagina 1di 24

ELECTRÓNICA Y AUTOMATIZACIÓN

INDUSTRIAL
PROGRAMACIÓN APLICADA A LA INDUSTRIA

Laboratorio N°09

Comunicación TCP/IP con LabVIEW

Autores:
Alvarez Cajigas, Ruthner Adalberto

La Rosa Huamán, Harrold Jamil

Docente:
Camacho, Francisco

C5 – 5A

Fecha de realización: 17 de octubre

Fecha de entrega: 19 de octubre

2018 - 2

1
ÍNDICE
I. OBJETIVO ............................................................................................................................ 3

II. GUÍA DEL LABORATORIO ............................................................................................... 4

3.1. El servidor ...................................................................................................................... 4

3.1.1. Descripción ............................................................................................................. 4

3.1.2. Panel frontal ............................................................................................................ 4

3.1.3. Block Diagram ........................................................................................................ 5

3.2. El servidor ...................................................................................................................... 9

3.2.1. Descripción ............................................................................................................. 9

3.2.2. Panel frontal ............................................................................................................ 9

3.2.3. Diagrama de bloques (Programación) .................................................................... 9

III. OBSERVACIONES ............................................................................................................ 11

IV. CONCLUSIONES ............................................................................................................... 24

V. RECOMENDACIONES ...................................................................................................... 24

3.3. El servidor .................................................................... Error! Bookmark not defined.

2
I. OBJETIVO

 El objetivo de realizar esta aplicación es utilizar la tecnología de comunicaciones TCP/IP a


fin de compartir información en una red LAN.

3
II. GUÍA DEL LABORATORIO

3.1. El servidor

3.1.1. Descripción

Este programa genera datos que son enviados por una red local. Los datos son enviados cuando se
abre una conexión por un puerto especificado desde otro programa (cliente). Los datos que se
envían pueden ser datos de una señal senoidal, cuadrada o aleatoria a petición del cliente. Este VI
termina su ejecución si luego de 10 segundos no se detecta ninguna conexión.

3.1.2. Panel frontal

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

Figura 1.- Servidor - Panel frontal

Asegúrese que el control port sea de tipo entero sin signo V16 y que el número de puntos sea
entero tipo I32. El control de amplitud modifica las señales senoidal y cuadrada, mientras que la
frecuencia y duty cycle aplican exclusivamente a la señal cuadrada. Adicionalmente se indica el
tipo de señal solicitado y la dirección del cliente.
4
3.1.3. Block Diagram

Inserte el bloque TCP Listen.vi, el cual crea un “escucha” para aceptar una conexión TCP por el
puerto que se indica. El port será determinado desde el panel frontal mediante el control numérico,
y el tiempo de espera (timeout) para la conexión, será una constante de 10000 ms.

Figura 2.- Servidor - TCP Listen.vi

El cableado será el siguiente

Figura 3.- Servidor - TCP Listen.vi – Cableado

Cree un Case Structure como se muestra en la figura:

Figura 4.- Servidor - Case Structure – Caso 0

La entrada al case (?) Será provista por el cliente. Tendremos 3 casos (0, 1, 2) correspondiente a
cada una de las señales solicitadas por el cliente. Para el caso 0, se ha colocado la generación de
señal cuadrada

5
Para el caso 1, coloque dentro un Sine Pattern

Figura 5.- Servidor - Sine Pattern – Caso 1

Para el caso 2, coloque dentro el bloque de señal aleatoria

Figura 6.- Servidor - Señal aleatoria - Caso 2

Dentro del case se ha considerado el indicador tipo string “Signal requested”, para indicar la señal
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

6
Figura 7.- Servidor - TCP Read

Este bloque permite recibir datos de una conexión TCP. Los puntos para conectar en este bloque
son la conexión ID que viene del bloque de escucha, el número 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 señal requerida por el cliente.

Figura 8.- Servidor - Conexión con el TCP Read

Coloque el bloque TCP Write

Figura 9.- Servidor - TCP Write

Este bloque envía datos a una conexión TCP. Los puntos para conectar en este bloque son la
conexión 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 tamaño de la
data que se envía y luego, la data propiamente dicha.

Puesto que los datos entregados por el case son de valor numérico, estos deben ser convertidos en
una cadena de caracteres (string) con el bloque Type Cast:
7
Figura 10.- Servidor – Type Cast

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

Figura 11.-Servidor – String Lengb

Esta longitud es transmitida por el bloque TCP Write, para luego comenzar con el envío 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.

A la salida del while loop se debe cerrar la conexión del puerto. Para ello usamos el bloque Close
connection una vez que el dato ha sido enviado

Figura 12.- Servidor - TCP Close Conection

Finalmente, el diagrama de bloques resulta como sigue:

Figura 13.- Servidor – Diagrama de bloques - Final

8
3.2. El servidor

3.2.1. Descripción

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 conexión por el puerto específico, colocar
la dirección del servidor y elegir la señal que desea capturar. Una vez recibida la data, esta es
visualizada en pantalla en una gráfica.

3.2.2. Panel frontal

En el panel frontal se debe colocar un numeric control para indicar el port de conexión, un string
para indicar la dirección o nombre del servidor, un Text Ring para seleccionar la señal 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). También coloque un
botón de stop para terminar la ejecución del VI. El panel frontal debe lucir como sigue:

Figura 14.- Servidor - Panel frontal

3.2.3. Diagrama de bloques (Programación)

Lo primero que debemos hacer es abrir una conexión TCP por un puerto específico. El puerto será
el canal de comunicación lógica por donde el servidor enviará datos al cliente. Ello lo realizamos
con el bloque TCP Open Connection

Figura 15.- TCP Open Connection


9
Colocaremos la dirección del servidor que viene de un control del panel frontal y el número de
port. Que también viene de un control del panel frontal como se muestra:

Figura 16.- Cliente – Conexión del TCP Open Connection

Una vez establecido el canal de comunicación, el cliente le envía al servidor el código de la señal
que desea obtener. Luego de esto, el cliente recibe la información 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:

Figura 17.- Cliente - Diagrama de bloques - Final

10
III. DESARROLLO DEL LABORATORIO

3.1 El servidor

3.1.1 Panel frontal

En este panel frontal de nuestro servidor nos da el señal y loenvia al cliente, esta señal es senoidal
y l a frecuencia lo usamos para la señal cuadrada.

Figura 18.- Desarrollo – Servidor - Panel frontal

3.1.2 Diagrama de bloques (Programación)

En el diagrama de bloques las conexiones se hacen al TCP Close Conennection mediante el ID,
también se le agrego un temporizador de 100 milisegundos, el puerto se cierra a la salida del while
loop una vez que el dato ha sido enviado.

11
Figura 19.- Desarrollo - Servidor - Diagrama de bloques - Caso 1

Figura 20.- Desarrollo - Servidor - Diagrama de bloques - Caso 0

En este caso se inserto el bloque TCP Listen, lo cual nos servirá para escuchar y el Port será
ejecutado desde el panel frontal con un control numérico.

12
Figura 21.- Desarrollo - Servidor - Diagrama de bloques - Caso 2

En este caso ponemos un indicador String que nos dirá la señal que esta dando cada cierto
momento, por eso se le llama señal aleatoria.

13
3.2 El cliente

3.2.1 Panel frontal

Colocamos un control numérico para saber si el port esta conectado, un String para la dirección
del servidor y para la señal colocamos un Text Ring para escoger la señal que queramos y lo más
importante el Waveform Chart para observar la data recibida.

Figura 22.- Desarrollo - Cliente - Panel frontal

3.2.2 Diagrama de bloques (Programación)

Se creo un TCP Open Connection para el puerto lo cual será conectado al canal de comunicación
por donde el servidor enviará datos al cliente. También se conectó la dirección de nuestro servidor
y un port. Con todo esto el cliente recibe la información de los datos y esto lo mostramos en el
diagrama con el bloque de lectura usando el Type Cast.

14
Figura 23.- Desarrollo - Cliente - Diagrama de bloques

15
3.3 Conexión TCP/IP

3.3.1 Desactivación del Firewall Defender

3.3.2 Conocer el número de IP de la laptop

1. De servidor

2. Del cliente

16
3.3.3 Cambio del IP

Propiedades de IP del cliente

17
Se cambió el IP del Servidor

18
3.3.4 Verificación de la comunicación

Desde el cliente

19
20
3.3.5 Solución de problemas

21
3.4 Resultados

22
23
IV. OBSERVACIONES

 Se tuvo dificultad a la hora de crear los reemplazos de los botones del stop y reset en el
modo personalizado porque se tenía que cortar volver.

V. CONCLUSIONES

 Se uso correctamente el Datalogging and Supervisory Control (DSC) nos ayudó para hacer
el monitoreo de contar nuestra caja con un sensor.
 Usamos el navegador de imágenes para la personalización de botones rojo y verdes (stop
y reset respectivamente), también para la animación de controles como la caja y la faja
transportadora.
 Para el ejercicio aplicativo usamos los comandos comparativos, timer y el select, este
último es importante porque nos devuelve el número de cajas que pasa por la faja.

VI. RECOMENDACIONES

 Se recomienda seguir los pasos a la guía para así no obtener dificultades en la


personalización y animación de controles.
 Se recomienda conocer bien los comandos ya usados para no dificultarnos en los ejercicios
del laboratorio.

24

Potrebbero piacerti anche