INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 51 En el control del flujo de información, el orden secuencial de los elementos del programa determina el orden de ejecución del programa. Un nodo en el diagrama a bloques se ejecuta cuanto recibe todas las entradas requeridas y luego produce el dato de salida. En el ejemplo 1.10 a) primero se ejecuta la división ya que sus entradas son constantes y éstas inmediatamente son proporcionadas a las entradas de la función; la función multiplicación se ejecuta hasta que la función división le proporcione el resultado de su operación. En el ejemplo 1.10 no se sabe cual operación se ejecuta primero; si la división en a) o la multiplicación en b). Esto se debe a que Labview puede trabajar de manera paralela y como los programas 1.10 a) y b) no tienen un conexión entre sí ambas partes del programa se ejecutan paralelamente. 1.8 Decoración del programa La decoración del programa no influye en la ejecución del mismo pero sí juega un papel muy importante ya que será quien estará en contacto visual con el operador del programa. Tenemos que cuidar las formas, colores y los comentarios que se presenten en el panel frontal. Uno pueda pensar que no es tan importante, pero tenemos que pensar que pude que un operador esté frente al programa varias horas del día todos los días. El programa tiene que ser amigable visualmente y procurar que el operador no se canse los ojos con colores muy fuertes o muy tenues así como con el tamaño de la información presentada en texto. El párrafo anterior hace referencia al panel frontal pero el diagrama a bloques también puede tener decoraciones, aunque éstas son más sencillas y tienen otro objetivo. La decoración del panel frontal es hacer amigable el área visual de trabajo del operador. La decoración del diagrama de bloques es hacer más entendible la estructuración del programa.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 52 Paleta de figura para decoración Ejemplos de formas y figuras para decoración
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 53 Comentarios Los comentarios son muy útiles y puedes estar tanto en el panel frontal como el diagrama de bloques. Los comentarios en el panel frontal van dirigidos al operador del programa y pueden indicar una nota, comentario, advertencia, etc. Los comentarios en el diagrama de bloque nos ayudan a entender la lógica de un programa. En ciertas ocasiones hacemos un programa y con el paso del tiempo queremos ver cómo fue que lo programamos y resulta que ya no nos acordamos. Para evitar esto es importante documentar en lo posible nuestros programas. Ejemplo 1.11 Uso del Tab Control El Tab Control es una herramienta que nos permite manejar de una manera más ordenada la información a desplegar en pantalla. El ordenamiento de la información se da a través de espacios controlados por pestañas. Es muy útil para programas en donde se esté manejando múltiples tipos de información y no es necesaria tener presente toda la información al mismo tiempo. El presente ejemplo nos muestra un programa que hace uso de Tab Control para separar cuatro temas diferentes. Aritmética, trigonometría, Formas básicas y Mi foto. Control Tab Control en la paleta de controles
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 54 a) b) Tab Control. a) Forma original b) cómo agregar pestañas Una vez colocado el Tab Control se agregan las pestañas faltantes (dos más) y se les cambia al nombre correspondiente a cada encabezado simplemente haciendo doble clic para habilitar la edición. Después se expanden sus dimensiones para tener más área de trabajo. Nombre de las pestañas del Tab Control del ejemplo 1.11 En el diagrama de bloques podemos ver en color azul el Tab Control. Le conectamos a éste la estructura “EN CASO DE” ó “CASE” .
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 55 Tab Control y Case Estructure Cuando conectamos un CASE en un Lab Control el número de casos que se generan es igual al número de pestañas. El nombre de cada caso es el mismo de cada pestaña. Pestaña “Aritmética”. Se crean dos controles y cuatro indicadores numéricos. Las operaciones a realizar son: suma, resta, multiplicación y división. Panel frontal para la pestaña “Aritmética”. Ejemplo 1.11. En el diagrama de bloques realizamos cada una de las operaciones aritméticas dentro del caso correspondiente. Diagrama de bloques para el caso Aritmética
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 56 Pestaña “Trigonometría”. Se crea un control y tres indicadores. Las operaciones a realizar son: seno, coseno y tangente. Panel frontal para la pestaña “Trigonometría”. Ejemplo 1.11 En el diagrama de bloques realizamos cada una de las operaciones aritméticas dentro del caso correspondiente. Diagrama de bloques para el caso Trigonometría
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 57 Las funciones trigonométricas se encuentran en la paleta de funciones en: Mathematics>> Elementary & special Functions>>Trigonometric Functions. Paleta de funciones trigonométricas
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 58 ARREGLOS Y CLUSTERS
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 59
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 60 CICLOS Y ESTRUCTURAS
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 61 Introducción En los lenguajes de programación a menudo es necesario hacer iteraciones, conteos, secuencias, selección, etc. Por ejemplo: hacer que se ejecute una parte del programa repetidamente hasta que una condición se cumpla; Seleccionar un caso de varios posibles de acuerdo a una condición; hacer ejecuciones de un número determinado de ciclos… Labview cuenta con varios elementos para hacer lo antes mencionado: • Case structure • Flat sequence structure • Stacked sequence structure • For loop • While loop • Formula node • CASE STRUCTURE “En caso de”, como su nombre lo indica ejecuta un conjunto de instrucciones o diagramas de acuerdo a un caso seleccionado. En la parte superior de la estructura se muestra el caso seleccionado en ese momento, el cual nos indica el conjunto de instrucciones a ejecutar. En la parte lateral izquierda se encuentra la entrada de la condición, la cual puede ser booleano, numérico o alfanumérico. Las partes principales son: • Selector. Indica el tipo de selector el cual puede ser booleano, numérico o alfanumérico. • Identificador. Indica los casos de la estructura. El Identificador es del mismo tipo que el selector. Si el Selector es Booleano se tendrán dos casos posibles: True y False; si el selector es numérico o alfanumérico podrá tener 214 casos. • Decremento e incremento. Nos permiten desplazarnos entre caso y caso. • Área de trabajo del case. Es donde colocamos las instrucciones a ejecutar en cada caso.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 62 Partes principales de la estructura Case Esta estructura nos permite también ejecutar acciones cuando el selector es numérico y el caso está dentro de un rango de valores. También nos permite tener Casos anidados; estos son cuando necesitamos ejecutar casos dentro de un caso. Cada estructura Case deberá tener un caso por default para en caso de que no se cumpla ninguno se ejecute éste. Cuando nuestra estructura CASE necesita más de dos casos será necesario agregarlo de forma manual haciendo clic derecho sobre el identificador y seleccionar Add Case After, Add Case Before o Duplicate Case de acuerdo a nuestras necesidades. En caso de que queramos eliminar un caso seleccionamos Delete this Case una vez posicionado en el caso que se desea eliminar. Menú rápido de la estructura CASE.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 63 Ejemplo 3.1 Condición booleana Hacer un contador de incremento o decremento. La entrada será un control booleano que cuando sea verdadero se incremente en uno en intervalos de 1 segundo; si es falso que se decremento en uno en intervalos de medio segundo. Diagrama de bloques del ejemplo 3.1 Panel frontal del ejemplo 3.1 Ejemplo 3.2 Condición booleana Hacer un programa que indique si un número es par o impar. Diagrama de bloques del ejemplo 3.2 Panel frontal del ejemplo 3.2
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 64 Ejemplo 3.3 Condición numérica Hacer un programa que cambie de color un control Color Box de acuerdo a un control numérico. El caso cero es el Default por lo tanto cuando sea cero o mayor que cuatro el Color Box será negro. Panel frontal
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 65 Ejemplo 3.4 Condición numérica mediante un Control Ring. Hacer un programa que muestre la imagen de equipos médicos y su descripción. En la plataforma encontrará un programa no terminado para darse una idea de cómo hacerlo. Cada uno de los alumnos investigará un equipo y al final cada quien entregará una recopilación de todos los equipos con su toque personal. Diagrama de bloque y panel frontal del ejemplo 3.4
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 66 Ejemplo 3.5 Conversión entre sistemas de numéricos Este ejemplo realiza conversiones entre sistemas numéricos.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 67 Ejemplo 3.6 Case y uso de rangos. Hacer un programa que indique, de acuerdo la edad de una persona, si es un bebe, niño, adolecente, joven, adulto, anciano.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 68 Ejemplo 3.7 Más de un valor por Case
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 69 Ejemplo 3.8 Case usando String Tenemos que crear un control y un indicador tipo String. En este ejemplo no importa el orden de cómo se establezcan los nombres. Puede agregar los que quiera sin afectar mucho la estructura.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 70 FLAT SEQUENCE STRUCTURE Nos permite ejecutar un conjunto de instrucciones en forma de secuencia. Es muy útil para cuando queremos que se ejecute una instrucción o conjunto de instrucciones hasta que se ejecute otro grupo de instrucciones. Ejemplo 3.9 Despliegue de texto temporizado. STACKED SEQUENCE STRUCTURE Hace lo mismo que FLAT SEQUENCE STRUCTURE sólo que en vez de mostrar toda la secuencia la muestra una a la vez. Para cambiar de FLAT SEQUENCE STRUCTURE y STACKED SEQUENCE STRUCTURE damos clic derecho y seleccionamos tal como el siguiente diagrama.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 71 Para cambiar de STACKED SEQUENCE STRUCTURE a FLAT SEQUENCE STRUCTURE damos clic derecho y seleccionamos tal como el siguiente diagrama. Ejemplo 3.10 Despliegue de texto temporizado 2. Hacer el mismo ejemplo del 3.9 pero con el Stacked Sequences Structure. FOR LOOP Nos permite realizar un ciclo con un número definido de iteraciones. Ejemplo 3.11 Conociendo el For Loop
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 72 La constante 5 en la “N” (Número de iteraciones) indica el número de iteraciones que realizará el ciclo For. La “ i ” (contador de iteraciones) lleva el conteo de iteraciones y empieza en Cero, por lo que en este caso llegará hasta cuatro ya que son cinco iteraciones del cero al cuatro. Como se puede observar hay dos tipos de túnel. El relleno de azul indica que sólo almacenará un número que será el último genera. El blanco con corchetes indica que almacenará un vector de valores lo que indica que puede almacenar más de un valor. El indicador Numeric almacenará un 5 ya que “N” solo entrega, en este caso, puro cincos en cada iteración. El indicador Array almacenara un vector con 5 cantidades y cada uno será 5. El indicador Numeric 2 almacenará un cuatro ya que es la última iteración. El indicador Array 2 almacenará un vector con 5 cantidades las cuales serán: 0,1,2,3,4.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 73 Ejemplo 3.12 Vector de número aleatorios La presente práctica genera un vector de valores aleatorios. El control Tamaño de la muestra indica el número de datos a generar, el control Valor máximo indica el valor máximo posible de la muestra y el control Valor mínimo indica el valor mínimo posible de la muestra.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 74 Ejemplo 3.13 Obtener x elevada a la n potencia Ejemplo 3.14 Obtener x elevada a la n potencia (2) Ejemplo 3.15 Obtener el factorial de un número Para todo número natural n, se llama n factorial o factorial de n al producto de todos los naturales desde 1 hasta n:
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 75 Ejemplo 3.16 Función seno usando serie de taylor.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 76 WHILE LOOP Nos permite realizar un ciclo con un número de iteraciones determinado por una comparación. Ejemplo 3.17 Números aleatorios Hacer un programa que genere números aleatorio entre 0 y 100 hasta que el número generado sea el indicado por el control “Número”. Indicar cuántos números se generaron antes de encontrar dicho número.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 77 Ejemplo 3.18 Probabilidad 1 Demostrar la probabilidad de que caiga un número determinado en un dado de seis lados. 1. Generar números aleatorios. 2. Contar cuántas iteraciones fueron necesarias para encontrar un número determinado. 3. Repetir los pasos anteriores sacar el número promedio de iteraciones necesarios para encontrar el número que buscamos.
INTRODUCCIÓN A LA PROGRAMACIÓN EN LABVIEW 78 CONTROL Y MONITOREO DE PROCESOS