INSTRUMENTACIN AVANZADA INSTRUMENTACIN AVANZADA Instrumentacin Virtual con Lab
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA Instrumentación Virtual con Lab. VIEW ESTRUCTURAS
INSTRUMENTACIÓN AVANZADA ESTRUCTURAS üWHILE üFOR. . üCASE üSEQUENCE
INSTRUMENTACIÓN AVANZADA Estructuras Son representaciones gráficas de ciclos y selección de casos similar a la programación de lenguajes clásicos. Usamos estructuras para repetir un bloque de código, o ejecutarlo condicionalmente o bien en un orden específico.
INSTRUMENTACIÓN AVANZADA Estructuras Lab. VIEW tiene las siguientes estructuras de programación: • Do While • For. . loop • Case (If/Then/Else) • Sequence Structure
INSTRUMENTACIÓN AVANZADA While Loop Dim numero As Integer numero = 0 Do While numero<= 10 numero = numero + 1 Print numero Loop ……. Blank
INSTRUMENTACIÓN AVANZADA Do While Loop Terminal de Iteración Do While condition is true Execute Sub diagram Loop Terminal de Condición 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.
INSTRUMENTACIÓN AVANZADA Do While Loop La primera iteración inicia en cero Con Click derecho podemos cambiar la condición Ejemplo
INSTRUMENTACIÓN AVANZADA Do While Loop Ejemplo
INSTRUMENTACIÓN AVANZADA Ejercicio 1. Armar un vi que cuente la cantidad de iteraciones para alcanzar la igualdad con un número ingresado por el operador.
INSTRUMENTACIÓN AVANZADA Ejercicio 2. Controlar una variable de entrada proveniente de la placa USB, con la condición que al superar un valor predeterminado (600), la rutina que contiene al loop finalice, iluminando un LED de la placa.
INSTRUMENTACIÓN AVANZADA Ejercicio
INSTRUMENTACIÓN AVANZADA Ejercicio
INSTRUMENTACIÓN AVANZADA FOR Dim x As Integer For x = 1 To 10 Print x Next …… Blank
INSTRUMENTACIÓN AVANZADA Blank
For Loop Contador de Ciclos: indica cuantas veces se repite el subdiagrama Dos atributos: N – Terminal de conteo INSTRUMENTACIÓN AVANZADA Haciendo click sobre “WHILE loop” en el diagrama de bloques puede cambiarse por “FOR loop” i - Terminal de Iteración Si N es cero o negativo el ciclo no se ejecuta For I=0 to N-1 Ejecuta Código Next I Terminal de iteración Contiene el número de iteraciones completas Blank. vi Ejercicio EJECUTA UN SUBDIAGRAMA UN DETERMINADO NÚMERO DE VECES NOTA: El CERO es indexado y aparece en la primera iteración
INSTRUMENTACIÓN AVANZADA Ejercicio 3. - Obtener una muestra de diez lecturas de la señal analógica (canal 1) de la placa USB y multiplicarlas por una constante k=25, utilizando el ciclo FOR Blank. vi
INSTRUMENTACIÓN AVANZADA FOR condicional (Exit For) For I=0 to N-1 Ejecuta Código stop (exit for) Next I Blank. vi
INSTRUMENTACIÓN AVANZADA Autoindexado Se puede usar FOR ó WHILE LOOP para generar un array. Esto es llamado autoindexado. Túnel Habilitar Inhabilitar Ejercicio
INSTRUMENTACIÓN AVANZADA Ejercicio
INSTRUMENTACIÓN AVANZADA Ejercicio 4. Tomar una muestra de 10 lecturas en intervalos de 1 segundo de una variable de unas de las entradas analógicas proveniente de la placa USB y almacenar la muestra en un array mostrando una gráfica de las mediciones. Ejemplo
INSTRUMENTACIÓN AVANZADA Ejemplo
INSTRUMENTACIÓN AVANZADA Ejemplo
INSTRUMENTACIÓN AVANZADA Case Structures Pasar de un subdiagrama a otro Subdiagrama Selector If selector true then Subdiagrama True Else Subdiagrama False End La estructura CASE tiene al menos dos subdiagramas True y False.
INSTRUMENTACIÓN AVANZADA Sentencias de Selección: Case Structures Esta estructura es equivalente a IF/ THEN/ ELSE If condition=TRUE THEN Execute code ELSE Execute Code End If CASE SELECT structures CASE SELECT var=1, do code 1 var=2, do code 2 var=3, do code 3 otherwise, do code
INSTRUMENTACIÓN AVANZADA Ejercicio Determinar si un número ingresado por operador es par o impar.
INSTRUMENTACIÓN AVANZADA Ejercicio
INSTRUMENTACIÓN AVANZADA Ejercicio 5: Ingresar tres variables tensión, corriente y ángulo de fase en una estructura case. Si el selector es True calcular la Potencia Activa, si es False obtener la Potencia Reactiva. Blank Ejemplo
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA Ejercicio 6. - Agregar un nuevo caso al ejercicio anterior, obteniendo la potencia aparente. Ejemplo
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA Shift Registers “Shift registers” se utiliza tanto en los WHILE LOOP como en FOR LOOP. Se usan para transferir datos desde una iteración a la siguiente. Un “Shift register” se crea haciendo click sobre el borde derecho o izquierdo del loop y seleccionando “Add Shift registers” desde el menú emergente. Los datos a cablear en los terminales de cada SR deben ser del mismo tipo.
INSTRUMENTACIÓN AVANZADA Cómo trabaja “Shift Registers” Antes de empezar el Loop Primera iteración Valor Inicial Siguiente iteración Valor Previo Nuevo Valor Ultima iteración Valor Ultimo
INSTRUMENTACIÓN AVANZADA “Shift Registers” Ejemplo
INSTRUMENTACIÓN AVANZADA Ejemplo 1 Ejemplo 2 Blank
INSTRUMENTACIÓN AVANZADA Ejemplo
INSTRUMENTACIÓN AVANZADA Uso de Shift Registers para obtener valores instantáneos Ejercicio 7 - Desarrollar una aplicación que adquiera una muestra de diez mediciones generadas en la placa USB y los devuelva en un array antecedido por otro que muestre el número de medición. Ejemplo
INSTRUMENTACIÓN AVANZADA Registrar mediciones de valores instantáneos en un vector Ejemplo
INSTRUMENTACIÓN AVANZADA Sentencias de secuenciación • Se trata de un tipo de sentencia que garantiza la ejecución secuencial (uno detrás de otro) de varios módulos de código. • Cuando en el diagrama de Lab. VIEW son definidos varios módulos de código, en realidad no se sabe en qué orden van a ser ejecutados, es decir, no se sabe cuál de ellos se ejecutará en primer lugar y cuál en el último lugar. Hay aplicaciones en las que este orden de ejecución no es relevante, pero en otras es de vital importancia. Por ello, en las aplicaciones donde el orden de ejecución de los distintos módulos es crítico, resulta imprescindible utilizar las sentencias de secuenciación para garantizar esa secuencia de ejecución de los módulos.
INSTRUMENTACIÓN AVANZADA Sentencias de secuenciación La herramienta de desarrollo de aplicaciones Lab. VIEW 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
INSTRUMENTACIÓN AVANZADA Estructuras Sequence Stacked Sequence Ejercicio
INSTRUMENTACIÓN AVANZADA Ejercicio 8 Simular en una estructura “sequence” el siguiente proceso: Etapa 1: llenado de un tanque a un nivel predeterminado. Etapa 2: Incrementar la temperatura a un valor predeterminado. Diálogo de “Proceso Finalizado” Ejercicio
INSTRUMENTACIÓN AVANZADA Ejercicio
- Slides: 45