Por: Omar Gurrola
LabVIEW Sesi贸n #2 (02/09/13)
www.proprojects.wordpress.com
Programacion Grafica con LabVIEW Sesion #2 (02/09/13) Contenido Introducci贸n: ................................................................................................................................................. 2 Tipos de T煤neles y Registros ......................................................................................................................... 2 Estructura FOR .............................................................................................................................................. 2 Estructura WHILE .......................................................................................................................................... 3 Tiempo o Retardos ........................................................................................................................................ 3 Estructura CASE............................................................................................................................................. 3 Estructura SEQUENCE ................................................................................................................................... 4 Estructura EVENT .......................................................................................................................................... 5 Nodo de Formulas y Ecuaciones ................................................................................................................... 6 Notas ............................................................................................................................................................. 6 Ejercicios ....................................................................................................................................................... 7 Tarea ........................................................................................................................................................... 12
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
Introducción: El enfoque de esta sección serán las estructuras básicas, eventos, secuencias y formulas.
Tipos de Túneles y Registros Las estructuras pueden introducir datos para ser utilizados en cada ciclo y al igual pueden sacar datos (resultados) utilizando los siguientes túneles y registros. No todos esto modos están disponibles en todas las estructuras.
Tunel - Last value: Regresa el último valor contenido al terminar la estructura. Tunnel - Indexing: Almacena y entrega un arreglo con todos los valores obtenidos de cada ciclo. Shift Register: Se usa para utilizar un dato del ciclo anterior en el ciclo actual y al terminar regresa el último valor contenido.
Estructura FOR Se utiliza para ejecutar un código un número determinado de veces.
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
Estructura WHILE Se utiliza cuando la cantidad de ciclos está determinada por alguna condición (no se conoce el número de veces que se ejecutara).
Tiempo o Retardos Las estructuras se ejecutan en tiempo real y el inconveniente que se puede presentar es que se consuma todo el CPU en un proceso que a lo mejor no lo requiere, para esto se utilizan tiempos o retardos. Existen dos tipos básicos de tiempos que son los siguientes:
1.
2.
Wait Until Next ms Multiple: El programa se ejecuta y luego se espera el tiempo requerido en múltiplos de ms definidos. Ej. si se definió múltiplos de 100 y la ejecución del código tomo 150ms, wait se esperada 50ms mas para completar 200ms. Wait (ms): El programa espera los ms definidos y luego ejecuta el código.
Estructura CASE Esta estructura a diferencia del FOR y WHILE cuenta con más de un diagrama y ejecutara solamente el diagrama definido a la entrada. Se utiliza para casos específicos como: verdadero o falso, enumeraciones, cadenas de texto, etc. Actúa como un switch-case de C.
Por: Omar Gurrola
LabVIEW Sesi贸n #2 (02/09/13)
www.proprojects.wordpress.com
Estructura SEQUENCE Estas estructuras se utilizan para ejecutar diagramas en orden, cada diagrama es colocado en un fotograma (frames) y se ejecuta uno y luego el siguiente. Existen dos tipos de esta estructura que son: 1. FLAT SEQUENCE: Cada fotograma es mostrado uno enseguida del otro. La ventaja es que se pueden visualizar cada fotograma en la secuencia que se ejecutaran.
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
2. STACKED SEQUENCE: Todos los fotogramas están contenidos en uno solo mostrando solamente uno a la vez. La ventaja es el ahorro de espacio en pantalla.
Se puede cambiar de un tipo a otro para realizar ajustes, etc.
Estructura EVENT Este tipo de estructura se utiliza para programar por eventos, esto quiere decir que se ejecute un código en específico cuando ocurra algo en la interface o en algún otro lado específicamente. Es muy similar a CASE, pero tiene la diferencia de que EVENT hace que el programa se quede parado hasta que ocurra el evento especificado.
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
Nodo de Formulas y Ecuaciones Para realizar ecuaciones o formulas se pueden utilizar dos tipos de nodos: 1. Formula Node: La sintaxis es muy similar al lenguaje C.
2. MathScript: Se puede introducir código de MathLAB con este nodo.
Notas Los programas se pueden diseñar con máquinas de estado o por eventos. Siempre se debe revisar que los tipos de datos sean correctos (controles e indicadores) para evitar truncar información. Todo el código del programa debe caber siempre en una ventana (utilizar subVI, stacked, etc.) Cuando se utiliza un WHILE con botón de stop se debe colocar un retardo para evitar consumir todos los recursos del CPU. Nunca meter un EVENT dentro de otro EVENT. Si se utiliza un EVENT con WHILE se debe sacar del EVENT un STOP al WHILE. Si se utilizan EVENTs los botones no se deben conectar. El certificado más básico de LabVIEW es Certified LabVIEW Associate Developer.
Por: Omar Gurrola
LabVIEW Sesi贸n #2 (02/09/13)
www.proprojects.wordpress.com
Ejercicios 1. Realice un programa que cuente de 10 hasta 100 con incrementos de 10 utilizando un FOR.
2. Realice un programa que cuente de 1 hasta 10 con incrementos de 1, utilizando un WHILE.
2.1. Realice un programa que inicie con los siguientes valores 1, 0, 0, vaya sumando los tres valores y vaya recorriendo los valores mientras sea menor que 15 utilizando un WHILE.
Por: Omar Gurrola
LabVIEW Sesi贸n #2 (02/09/13)
www.proprojects.wordpress.com
2.2. Realizar un programa que calcule X(t)=2t en m煤ltiplos de 100ms, donde t inicie en 5 hasta que se presione un bot贸n de stop, mostrar X(t-1), X(t-2), X(t-3).
2.3. Realizar un programa que calcule el factorial de un numero N dado por el usuario.
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
2.4. Realizar un programa que genere números aleatorios entre 20 y 40.
2.5. Calcular el promedio de 10 números aleatorios entre 20 y 40 al momento que se generan.
2.6. Realizar un programa utilizando el TabControl donde se obtenga el máximo y minimo de A y B, el primero será numérico, después cadena y luego path.
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
2.7. Realizar un programa utilizando FLAT SEQUENCE que genere 10 números entre 20 y 40 en un fotograma, en el siguiente que obtenga la sumatoria y en el último obtenga el promedio.
Por: Omar Gurrola
LabVIEW Sesi贸n #2 (02/09/13)
www.proprojects.wordpress.com
2.8. Realizar el programa anterior utilizando eventos de dos botones, uno para realizar el c谩lculo y el otro para salir del ciclo WHILE.
2.9. Realizar un programa utilizando el nodo de formula y que grafique las siguientes ecuaciones:
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
Tarea 1. Ejercicio 15 (71): Implementar un panel frontal con controles para recibir 10 datos numéricos que corresponden a las dimensiones de longitud de una pieza (10.24, 11.04, 10.95, 10.83, 10.97, 11.05, 10.76, 10.67, 11.00, 10.98) y calcular su desviación estándar. ̅) ∑ (
2. Ejercicio 15 (91): Realizar un programa utilizando eventos, en donde se generen N datos de temperatura y se puedan guardar y leer de un archivo de LabVIEW.
3. Ejercicio 16 (99): Calcular el sueldo de cada empleado y el total de sueldos por semana a pagar en una fábrica en base a las horas trabajadas por semana. Si el empleado trabaja más de 40 horas a la semana calcular las horas de tiempo extra como 1.5 del sueldo base por hora. PENDIENTE!!!!
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
4. Ejercicio 17 (100): Una frutería le solicita realizar un programa para la venta de las frutas, el dueño del local quiere llevar un registro de las ventas diarias. Registre las ventas por cliente en un archivo de texto. Realice el análisis del caso (análisis de requerimientos), dibuje las pantallas necesarias, elabore un diagrama de flujo, elabore el diagrama. PENDIENTE!!!! 5. Ejercicio Propuesto 1: Construya un VI que genere números aleatorios entre 0 y 10, uno cada segundo y agregue un control para darle la oportunidad al usuario de modificar el tiempo en que se genere cada número. Calcule y despliegue el promedio de los cuatro últimos números generados. Cada vez que el numero generado sea mayor que 5 el programa lo indique con un led, o utilice la función beep.vi.
6. Ejercicio Propuesto 2: Utilice un ciclo FOR para generar un arreglo de 100 número aleatorios entre 0 y 50, determine el número máximo y el mínimo del arreglo generado; despliegue los datos en el panel frontal. Agregue un botón para indicarle al programa cada vez que quiera generar un nuevo arreglo.
Por: Omar Gurrola
LabVIEW Sesión #2 (02/09/13)
www.proprojects.wordpress.com
7. Ejercicio Propuesto 3: Construya un VI que tenga 3 leds. Cuando el VI se ejecute, el primer led se debe encender por un segundo, después el segundo led se debe encender por 2 segundos, y después el tercer led se debe encender por 3 segundos.
8. Ejercicio Propuesto 4: Construya un VI que genere números aleatorios entre 0 y 10, uno cada segundo, los vaya mostrando en una gráfica de punto (WaveForm Chart), agregue un control para darle la oportunidad al usuario de modificar el tiempo en que se genere cada número. Calcule y despliegue el promedio de los números generados. El programa debe terminar cuando el número generado sea mayor a 8.
9. Ejercicio Propuesto 5: Utilice la función Digital Thermometer.vi para simular lecturas de un termómetro. El instrumento creado debe permitirle al usuario: especificar el número de muestras, establecer un valor máximo de temperatura, cuando dicho valor se sobre pase el instrumento debe de indicarlo con un led. El instrumento deberá graficar cada lectura del termómetro, e ir desplegando en un indicador el promedio de la temperatura adquirida en cada muestra.