Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Instrumentación Virtual con LabVIEW
ESTRUCTURAS
2
Estructuras For Loop: se ejecuta un subdiagrama un número determinado de veces While Loop: se ejecuta un subdiagrama hasta que se cumpla una condición determinada. Flat Sequence Structure: Uno o más subdiagramas se ejecutan en una secuencia determinada. Case Structure: se ejecuta un subdiagrama dependiendo del valor de entrada. Formula Node: Realiza operaciones matemáticas basadas en entradas. Stacked Sequence Structure (Similar a Flat Sequence) Event Structure: Uno o más subdiagramas se ejecutan según el usuario interactúe con el VI
3
Do While Loop Terminal de Condición Terminal de Iteración
Do While condition is true Execute Sub diagram Loop Ejecuta una rutina hasta que se cumpla una condición determinada. While Loop revisa la condición al final del ciclo. El ciclo se ejecuta al menos una vez. El terminal de iteración contiene el número de veces que el ciclo se ha ejecutado.
4
Contador de Ciclos: indica cuantas veces se repite el subdiagrama
For Loop Contador de Ciclos: indica cuantas veces se repite el subdiagrama Dos atributos: N – Terminal de conteo i - Terminal de Iteración Haciendo click sobre “WHILE loop” en el diagrama de bloques puede cambiarse por “FOR loop” EJECUTA UN SUBDIAGRAMA UN DETERMINADO NÚMERO DE VECES Si N es cero o negativo el ciclo no se ejecuta Terminal de iteración Contiene el número de iteraciones completas For I=0 to N-1 Ejecuta Código Next I NOTA: El CERO es indexado y aparece en la primera iteración Blank.vi Ejercicio
5
CASE Blank Ejemplo
6
Sentencias de secuenciación
La herramienta de desarrollo de aplicaciones LabVIEW ofrece dos sentencias de secuenciación. Flat Sequence y Stacked Sequence Structure y se encuentran en Functions/Programming/Structures. Cuando es insertada en el diagrama de nuestra aplicación, aparece con una única ventana o Frame: es la unidad o elemento donde irá un módulo dado del código de nuestra aplicación. Para añadir más ventanas, se pulsa sobre la ventana con el botón derecho del ratón y se ejecuta Add Frame Before o Add Frame After, para añadir la ventana antes o después de la actual, respectivamente. Simulan como fotogramas de una película Ejercicio
7
Presentación del Problema
Código a procesar cada vez que se pulse un botón Supongamos que a voluntad del operador queremos encender y detener los motores 1, 2 y 3. Con las estructuras vistas esto lo podíamos hacer con Flat Sequence o Stacked Sequence, pero en forma ordenada y no a criterio del operador. Hay una estructura que cumple con este cometido, es la llamada Structure Event.
8
Solución Case-While ejemplo
Supongamos que a voluntad del operador queremos encender y detener los motores 1, 2 y 3. Con las estructuras vistas esto lo podíamos hacer con Flat Sequence o Stacked Sequence, pero en forma ordenada y no a criterio del operador. Hay una estructura que cumple con este cometido, es la llamada Structure Event. ejemplo
9
Solución Case-While Ejemplo
10
Solución Case-While
11
Structure Event Ejemplo
15
a)Agregue el evento al mover el mouse sobre el control booleano de Proceso 1.
17
Structure Event
18
Structure Event TimeOut
21
c) Incorpore presionando la tecla F10 la opción de grabar pantalla simulada por un diálogo de confirmación del operador.
22
Structure Event
23
Al presionar la tecla “a”:
24
Al presionar la tecla “F10”:
27
Presionando la tecla F10:
28
Structure Event
30
Recomendaciones de NI sobre el uso de Event
No usar un Event dentro de otro Si en un Event se inserta dentro de un While y éste finaliza con un botón de stop, se debe incorporar dentro del subdiagrama asociado al cambio de valor de dicho control.
31
FORMULA NODE Planteo del problema:
Evaluar si un número es positivo o negativo. Obtener como resultado un 1 si es positivo y -1 si es negativo.
32
FORMULA NODE Planteo del problema:
Evaluar si un número es positivo o negativo. Obtener como resultado un 1 si es positivo y -1 si es negativo. Ejercicio
33
FORMULA NODE Ejercicio
34
FORMULA NODE Ejercicio
35
Ejercicio 3.- Ingrese dos variables de entrada x e y en una estructura FORMULA NODE. Si el producto de ambas es positivo obtener el resultado Si el producto es negativo realice la operación: Ejercicio
37
Ejercicio 4. Ingresando los valores de resistencia y reactancia inductiva de una carga monofásica y la tensión de alimentación a través de controles numéricos, calcule con el uso de FORMULA NODE, la corriente, potencia activa y reactiva que deberán leerse a través de los siguientes indicadores Ejercicio
38
Ejercicio 4. Ingresando los valores de resistencia y reactancia inductiva de una carga monofásica y la tensión de alimentación a través de controles numéricos, calcule con el uso de FORMULA NODE, la corriente, potencia activa y reactiva que deberán leerse a través de los siguientes indicadores Ejercicio
39
CREACIÓN DE VARIABLES
40
Trabajando con Variables
Muchas veces dentro de la programación es necesario almacenar el valor de una variable para poder usarla posteriormente. En LabVIEW también puede realizarse estas sentencias, almacenando una variable para luego usarla dentro de otro bloque del VI o bien en otro VI. LabVIEW dispone de dos tipos de variables locales y globales.
41
Creación de una Variable Local
A continuación hay dos pasos fundamentales a realizar: Primero: determinar a que objeto del programa va a estar enlazado Segundo: elegir si va a ser de lectura (read) o escritura (write). Para el caso del ejemplo hacer click derecho sobre la variable local y seleccionar Select Item/Boolean y luego Change to Read
42
Ejercicio 5 Desarrolle un VI, en el que se obtienen mediante simulación valores eficaces de corriente y tensión. Sabiendo que el factor de potencia siempre es constante e igual a 0.95, obtenga a partir de variables locales el valor de la potencia activa en intervalos de 100ms.
43
Ejercicio 5 ejemplo Ejercicio 5
44
Ejercicio 6. Construir un VI que cumpla con las siguientes secuencias de tareas:
Capturar 20 lecturas de tensión con intervalos de 250ms provenientes de una DAQ simulada. Mostrar un aviso al operador de esta tarea finalizada. Capturar 50 lecturas de corriente cada 100ms, también desde una DAQ simulada. Mostrar el aviso de tarea concluida. Las lecturas de tensión y corriente deben ser mostradas en un mismo gráfico (Waveform Chart). Ejercicio
45
Ejercicio 6.
46
Ejercicio 7. Un ciclo While recibe lecturas de tensión en intervalos de 250ms. En paralelo otro ciclo While recibe lecturas de corriente cada 100ms. Encontrar la forma de detener ambos ciclos en forma simultánea. Analice si es válida esta opción: Ejercicio 7a
47
Ejercicio 7a
48
Solución con uso de variable local para el control booleano “Stop”
Ejercicio 7b
49
Ejercicio 7
50
Creación de una Variable Global
Las variables locales solo tienen vida dentro de un mismo VI y no pueden ser llamadas desde otro VI. Esto si ocurre con las variables globales. En el ejercicio siguiente se va a utilizar una variable global para almacenar un número generado en un VI para ser llevado a otro VI. Para esto primero desde el DB creamos desde Structures la variable global Ejercicio Blank
51
Variable Global Blank Ejemplo
52
Creación de una Variable Global
1.- Colocar una variable global en el diagrama de bloques: Diagrama de bloques >> Botón derecho ratón >> Paleta de funciones >> Programming >> Structures >> Global Variable. 2.- Hacer doble click en la variable global sita en el diagrama de bloques. Esto abrirá el panel frontal de la misma. Colocar los controles o indicadores en este panel frontal. 3.- Cerrar el panel frontal de la variable global y grabar cambios. 4.- Seleccionar la variable global, en el diagrama de bloques, con el botón derecho del ratón y selecciona Select Item. Asocia la variable al control o indicador que se quiera y definido en pasos anteriores. 5.- Si se desea usar esta variable global en otro VI, simplemente ir al diagrama de bloques de ese nuevo VI y botón derecho ratón >> Select VI y buscar la variable donde previamente fue guardada.
54
PERSONALIZAR CONTROLES
55
I. Navigator
58
Ejemplo
60
Personalizar controles
61
Personalizar controles
62
Personalizar Controles
63
Personalizar Controles
65
A partir del agregado de un botón OK, haciendo clic derecho con el mouse seleccionamos Advanced, y luego customize.
68
EJEMPLO DE APERTURA Y CIERRE DE UNA VÁLVULA
69
Simulación llenado y vaciado de un tanque
Válvula abierta – Llenado del tanque Válvula cerrada – Vaciado del tanque Ejercicio 8
70
Ejercicio 8
71
Ejercicio 10.- Resolver el ejercicio anterior utilizando la estructura “stacked sequence”.
73
Ejercicio 9
74
Ejercicio 9
75
Ejercicio 9
76
Creación de una Variable Local (Control de la Válvula apertura-cierre de entrada de líquido)
Haciendo con el mouse clic derecho sobre el control Válvula vamos a Create y luego Local Variable Seteado en Write Ahora lo movemos al segundo cuadro de la estructura sequence y le anexamos una constante booleana (falso).
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.