Sesion_6_labview

  • Uploaded by: Anderson Gomez Castro
  • 0
  • 0
  • March 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sesion_6_labview as PDF for free.

More details

  • Words: 2,455
  • Pages: 22
Loading documents preview...
Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW PROGRAMA 01 Coloque un Array Booleano y un Menú Ring.

En el diagrama adicione los elementos que se observa.

Initialize Array; Crea un Array de n-dimensiones en el cual cada elemento es inicializado para el valor del elemento. Replace Array Subset; Reemplaza el elemento o sub-array en un array en el punto que especifica el índice. Ing. Vlademir Asencios Cerna

1

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW PROGRAMA 02 Anote todos los pasos para la personalización de objetos.

Ing. Vlademir Asencios Cerna

2

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW

PROGRAMA 03 En este programa se puede simular animaciones, como un spinner que va rotando cada cierto tiempo el cual puede indicar el funcionamiento de una bomba. Para nuestro caso cada vez que se presiona el botón booleano, el spinner visto en la parte derecha empezara a rotar a una velocidad determinada.

En el diagrama podremos observar que cada estructura case envía un valor de V o F el cual servirá para activar y desactivar el booleano 2, el cual es un control personalizado con dos spinner en diferentes posiciones, de tal manera que al cambiar de estado dicho spinner aparenta que este girando.

Ing. Vlademir Asencios Cerna

3

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW PROGRAMA 04 VARIABLES GLOBALES PROGRAMA 4.1 Trabajaremos con variables globales como medio de intercambio de información entre VI. En el panel frontal en la categoría Numeric elija un Knob, y en la categoría chart un Waveform Chart.

Para crear una variable global hacemos clic derecho en el diagrama de programación, aparecerá el submenu Funciones, elegimos la categoría Structures/Global Variable. y lo colocamos en el panel de programación. Hacemos doble clic sobre este icono y aparecerá un panel frontal.

Ing. Vlademir Asencios Cerna

4

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW Luego en este panel haga clic derecho y del submenu de controles, elija Numeric/Numeric Control y coloque control en este panel. Guarde este panel y cierrelo. Luego en el diagrama de programación haga clic sobre el icono de variable global, y elija a la variable global creada. El icono cambiará al nombre de la variable global creada, complete el diagrama de programación como se muestra:

PROGRAMA 4.2 En el panel frontal muestre como sigue.

Ing. Vlademir Asencios Cerna

5

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW El diagrama de Programación es como sigue y se utiliza la variable global del programa anterior:

Ejecute los dos programas a la vez y observe el comportamiento de la variable global.

Ing. Vlademir Asencios Cerna

6

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW

Comunicaciones en una RED LAN A. El Servidor 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 aleatoria. Este VI termina su ejecución si después de 5 segundos no se detecta alguna conexión. a. Panel Frontal Coloque en el panel frontal: Un Digital control para indicar el port de conexión. Un text ring para seleccionar la data a enviar por la red. Otro Digital control para determinar la cantidad de datos a enviar. También coloque un botón de stop para terminar la ejecución del VI. El panel frontal quedara como sigue

Para evitar algún problema el control para indicar el port, debe ser tipo entero sin signo, por ello modifique si aun no esta haciendo clic derecho con el cursor ubicado en el objeto. Haga lo mismo para el control que determina el número de puntos Ingrese en el text ring las tres opciones: Random, Sine, Chrip. b. Diagrama de programación:  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) por una conexión, será una constante de 5000 ms

Ing. Vlademir Asencios Cerna

7

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW

El cableado será el siguiente:

 Cree un While Loop y dentro de ella una Structure Case como se muestra:

Conecte el control Función en el signo -?- . Tendremos 3 casos (0,1,2) y esto se configura al cablear con el text ring (Función) . Para el caso 0 coloque dentro de un For Loop un Generador de numero aleatorio(Random Number )

Para el caso 1 coloque dentro un Sine Pattern

Para el caso 2 coloque dentro un Chirp Pattern

Los cases serán los productores de la data que se envía al port especificado cuando una conexión ha sido detectada.

Ing. Vlademir Asencios Cerna

8

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW  Coloque el bloque

ESTE BLOQUE ENVÍA DATOS A UNA CONEXIÓN TCP Los punto a conectar en este bloque son la conexión ID dada del bloque de escucha, la data que se desea enviar data in. Notar que se necesita dos (2) de estos bloques para enviar el tamaño de la data que se envía y la data propiamente dicha.  Puesto que la data entregada por el case son valores numéricos, estos deben ser convertidos en una cadena de caracteres con el bloque:

donde se conecta la data (x) y el tipo de dato al que quiero convertir Aquí la data Numérica es cast en una dato string y se envía vía TCP Write.  UNA VEZ CONVERTIDO EN STRING LA DATA A TRANSMITIR, SE OBTIENE EL TAMAÑO DE LA DATA CON EL BLOQUE

el cual nos da la cantidad de data enviar. Esta longitud es transmitida por el bloque TCP write, y luego también se envía la data convertida en string con otro bloque TCP Write. Las conexiones hasta este punto son como se muestra en la figura:

Notar que se ha agregado un temporizador de 100 milisegundos.  Finalmente la condición del while loop se vera afectado por el estado del botón stop o por la producción de algún tipo de error (Unbundle By Name). Por ello utilizamos un OR Ing. Vlademir Asencios Cerna

9

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW  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 a sido enviado.

 Finalmente el diagrama final es el siguiente.

B. EL CLIENTE ENTE Descripción Este programa se encarga de recibir la data que es enviado por la red local por el programa que genera datos (servidor). Para ello deberá abrir una conexión por el puerto específico y colocar la dirección o nombre de la PC servidor. Una vez recibido la data son visualizados en la pantalla. a. Panel Frontal Coloque en el panel frontal: Un numeric control para indicar el port de conexión. Un string para indicar la dirección o nombre de la PC servidor. Un Waveform Chart para visualizar la data recibida. También coloque un botón de stop para terminar la ejecución del VI.

Ing. Vlademir Asencios Cerna

10

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW

b. Diagrama de 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 enviara datos al cliente. Ello lo realizamos con el bloque TCP Open Connection.

colocaremos la dirección del servidor que viene de un control del panel frontal y el numero del port que también viene de un control del panel frontal como se muestra:

Adicione un While Loop y dentro de el coloque los bloques de lectura de datos por una conexión TCP. El bloque de lectura es el siguiente:

Ing. Vlademir Asencios Cerna

11

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW Las conexiones importantes son la de connection ID y el numero de bytes a leer bytes to read y la salida error. En el diagrama se muestra la conexión de los bloques TCP Read. Notar que la condición del While loop esta como en el caso del servidor. Error checking se verifica en el caso de que un error de conexión ocurre y detendrá el loop.

Primero adquiere del TCP Read el tamaño del dato y el segundo TCP Read lee el dato y pasa al chart Complete el diagrama como se muestra en la figura:

Lee el dato en el puerto especificado y convierte el dato en una representación numérica empleando el bloque Type Cast, como en el programa anterior. Notar que el tipo de conversión es una array constante de tipo double (Array Constant)

Ing. Vlademir Asencios Cerna

12

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW 1) PROGRAMA PARA APLICACIÓN INDUSTRIAL Panel Frontal A continuación simularemos la respuesta escalón de una determinada magnitud de un sistema de segundo orden.

Diagrama de Programación: El sistema que simularemos es el siguiente: C(z) = 0.4673z - 0.3393 R(z) z2 – 1.5327z+0.6607 Implementaremos el siguiente sistema pero en ecuaciones de diferencias.

Ing. Vlademir Asencios Cerna

13

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW 2) IMPLEMENTACIÓN DEL ALGORITMO PID Para el algoritmo de control PI que se implementará para la planta Anterior, se tiene que tener las siguientes consideraciones: ck uk ek S.P Ki Kp

= Variable del Proceso = Valor de Salida = Error = Set Point. = Valor Integral = Valor Proporcional

Como notamos la salida actual del controlador depende de valores pasados, por tanto podemos usar shift register (registros de desplazamiento). En la figura se muestra cómo es el algoritmo implementado con registros de desplazamiento. Notar que el valor del proceso deberá ser la información que se mide del sensor y 0.1 es el periodo de muestreo.

Ing. Vlademir Asencios Cerna

14

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW

Ing. Vlademir Asencios Cerna

15

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW Manejo del Puerto Paralelo desde Lab View Si vemos el conector DB25 del puerto paralelo por la parte posterior de la PC podemos observar los 25 pines, dentro de la cual corresponde a las entradas y salidas. Las direcciones del puerto se muestran en la figura:

Donde: Puerto de Datos PORT 888, desde Data 0 hasta Data 7 (salidas) Puerto de Estado PORT 889, 10,11,12,13 y 15 (entradas) Puerto de Control PORT 890, 1,14,16,17 Como podemos observar en la siguiente tabla cada dirección tiene bits que sirven para un determinado propósito y pueden ser de entrada o salida: DB25

Señal

Registro

Tipo

Activo

Sentido

1

Control 0

C0-

Salida

Bajo

Invertido

2

Dato 0

D0

Salida

Alto

directo

3

Dato 1

D1

Salida

Alto

directo

4

Dato 2

D2

Salida

Alto

directo

5

Dato 3

D3

Salida

Alto

directo

6

Dato 4

D4

Salida

Alto

directo

7

Dato 5

D5

Salida

Alto

directo

8

Dato 6

D6

Salida

Alto

directo

9

Dato 7

D7

Salida

Alto

directo

10

Estado 6

S6+

Entrada

Alto

directo

11

Estado 7

S7-

Entrada

Bajo

Invertido

12

Estado 5

S5+

Entrada

Alto

directo

13

Estado 4

S4+

Entrada

Alto

directo

14

Control 1

C1-

Salida

Bajo

Invertido

15

Estado 3

S3+

Entrada

Alto

directo

16

Control 2

C2+

Salida

Alto

directo

17

Control 3

C3-

Salida

Bajo

Invertido

18-25

Tierra

Ing. Vlademir Asencios Cerna

16

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW Notas: Un dato en alto es un 1, un dato en bajo es un 0. La entrada y salida son desde el punto de vista del PC. I.- ESCRITURA DEL PUERTO PARALELO a. Panel Frontal Obtenga los siguientes elementos para el panel frontal: Numeric Control para determinar la dirección del puerto acceder (0x378 en caso del puerto paralelo). Un Numeric Control para fijar el valor entero a enviar por el puerto paralelo. Y un botón stop para detener la ejecución del vi. Coloque un numeric control

Hacer clic derecho y cambiar la representación del tipo de dato, y escoger la representación entera de 16 bits.

Luego vuelva hacer clic derecho y escoja en format precisión para que el control se encuentre en representación hexadecimal.

Ing. Vlademir Asencios Cerna

17

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW

De la misma manera coloque el otro numeric control y escoja la representación entera de 16 bits. El panel frontal quedara como sigue:

Ing. Vlademir Asencios Cerna

18

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW b. Diagrama de Programación Obtenga un While Loop y coloque dentro de los controles creados desde el panel frontal. Además inserte el bloque Out Port.vi el cual nos permite enviar sobre el puerto paralelo.

El bloque Out Port.vi se encuentra desde la librería Advanced/Port I/O:

El diagrama quedara como sigue:

Ing. Vlademir Asencios Cerna

19

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW Ejemplo de aplicación: Modifique el panel frontal de manera que pueda activar o desactivar un bit de salida del puerto paralelo. Para ello coloque en el panel frontal un array booleano:

En el diagrama de programación deberá modificar algunas cosas. Se sugiere utilizar el siguiente bloque :

Finalmente el Programa queda como se muestra:

Ing. Vlademir Asencios Cerna

20

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW I.- LECTURA DEL PUERTO PARALELO a. Panel Frontal Coloque los siguientes elementos que observa en el panel frontal: Un numeric Control, un Numeric Indicador y un Botón stop.

b. Diagrama de Programación Coloque un While loop y dentro de el inserte el bloque In Port .vi el cual nos permite leer la información que está ingresando por el puerto paralelo.

El diagrama quedara como sigue:

Ing. Vlademir Asencios Cerna

21

Universidad Nacional Mayor de San Marcos – CEMA CURSO DE PROGRAMACIÓN GRAFICA – LABVIEW Ejemplo de aplicación: Modifique el panel frontal de manera que pueda ver la activación de un bit de entrada del puerto paralelo. Para ello coloque en el panel frontal un array booleano como indicador:

Se sugiere hacer uso del siguiente elemento en el diagrama de programación

Finalmente el Programa queda como se muestra:

Ing. Vlademir Asencios Cerna

22

More Documents from "Anderson Gomez Castro"