1
Introducción A Labview Abst Abstract ract —
En este documento se resolverán preguntas introductorias con relación a Labview y se presentan una descripción de los procedimientos realizados en la práctica, en la que el profesor expuso los conceptos más básicos de la programación estructurada en Labview.
I nde ndex T er ms — Diseño, interface, instrumentacion,
Labview. I.
Preguntas.
1. Lea detenidamente las normas de seguridad en el laboratorio.
Lectura normas de seguridad. 2. Ejercicios de la sección 2.9 (página 117) del texto guía [1]. ●
Ejercicio 4
Resolver la ecuación cuadrática utilizando únicamente el nodo de fórmula. Optimizar el código del nodo a solo 4 instrucciones. Recordar que el nodo de fórmula no puede operar con complejos, por lo que las salidas serán las partes reales e imaginarias de las raíces. Para este ejercicio se realizó el siguiente código: float a, b, c, d; a=-B/(2*A); b=(pow(B,2)-4*A*C)/(4*pow(A,2)); b=(pow(B,2)-4*A*C)/(4*pow(A,2)); if(b<0) {d= sqrt(abs(b));} sqrt(abs(b));} if (b>0) {c= sqrt(b);} Se escogieron diferentes valores para las constantes A, B y C de la ecuación cuadrática, los resultados obtenidos se pueden ver en las figuras 1, 2, 3; entre los cuales hay números complejos y puramente reales.
Fig1. Solución a la ecuación cuadrática 1
2
Fig2. Solución a la ecuación cuadrática 2.
Fig3. Solución a la ecuación cuadrática 3 Las imágenes mostradas anteriormente no son del todo legibles, debido a que son imágenes que fueron tomadas desde la pantalla.
3
●
Ejercicio 5
X = X + 1; end;
Hacer que una estructura While Loop se comporte como un WHILE..DO y no como un DO..WHILE. Esto es, que la condición de ejecución del ciclo sea revisada al inicio de cada iteración y no al final.
La condición X < Condición de parada se evalúa antes de que el bucle comience, de esta manera si X se inicializa en la misma condición de parada o si es mayor a esta, el bucle (While Loop) no se alcanza a ejecutar, lo El comportamiento de una estructura while loop como cual es contrario al funcionamiento por defecto de esta un WHILE..DO se puede observar en el siguiente estructura en la cual el cuerpo del programa se ejecuta para luego revisar la condición. código de programa G en la figura 4 y 5. 3. Respuestas a las preguntas propuestas. a. Para qué sirven las paletas de funciones y controles y en qué se diferencian.
las paletas de control de Labview son una herramienta que se encuentran en el panel frontal y permiten, mediante sus diferentes tipos de herramientas introducir datos de entrada al programa que se está realizando. Entre los tipos de paletas de control más relevante se encuentran: controles e indicadores booleanos, numéricos, string, path y gráficas. [1] Fig4 Diagrama de bloque.
Las paletas de funciones en Labview es aquella herramienta que se utiliza para construir un diagrama de bloques y la cual solo está disponible en dicho diagrama del programa; realizado este a su vez permite editar, crear y enlazar los controles de manera que el programa cumpla su función correctamente. Entre las funciones más relevantes se encuentran: Funciones booleanas, numéricas, de arreglos y estructuras. [1] b. Explique la función de cada uno de los botones que se encuentran en la barra de herramientas del diagrama de bloques.
Fig5 Panel frontal. El pseudocódigo que representa el comportamiento del programa es: X=Iteración + Inicio while (X< Condición de parada) display X; pause 1 second;
La barra del diagrama de bloques de Labview difiere un poco en comparación con la barra del panel frontal, en que esta contiene las herramientas de depuración tal como se muestra en la figura 6.
Fig6. Barra de herramientas del diagrama.
Este botón permite observar el flujo de datos en el diagrama de bloques. [1]
4
Una de las alternativas es en la ventana del diagrama de bloques hacer doble click, entonces el programa Apariencia del botón cuando un vi está en modo de rellenará momentáneamente el archivo relacionado al seleccionado o viceversa. Otra alternativa para efectos depuración. [1] de procedimiento es sobre cualquiera de las dos ventanas hacer click derecho y pulsamos en la opción find terminal y allí aparecerá el bloque correspondiente Este botón permite en modo de depuración, generar un a la ventana adyacente. [1] paro a la entrada de un nodo. [1] 4. Respuestas a las preguntas propuestas.
Este botón permite en modo de depuración saltar un nodo. [1]
A. Explique cómo se adicionan uno o más registros de desplazamiento en las estructuras While y For. ¿Para qué sirven?
Una forma de adicionar un registro de desplazamiento en las estructuras While y For es: Este botón en modo depuración, sirve para salir de un nodo. [1]
●
Dada cualquiera de las estructuras mencionadas, se da click derecho en cualquier parte alrededor de los lados verticales, como se observa en la figura 7.
Este botón indica que existen observaciones al código fuente, pero que no impiden la ejecución. [1]
Este botón permite dar entrada a los datos. [1] c.
Cuáles son los tipos de datos más importantes que puede manejar Labview y cuáles son los rangos máximos y mínimos de los datos que pueden contener.
Fig7. ●
Aparecerá un menú, en donde se selecciona Add Shift Register.
Labview además de poseer diferentes tipos de controles y funciones, también posee varios tipos de datos, entre los cuales cabe destacar: Los números enteros con un rango de 0-7 bits y un rango máximo de 0-63 bits, los números reales de coma flotante con un rango igual al que poseen los números enteros, los booleanos y los caracteres de cadena. d. Cómo se puede encontrar la ruta de navegación de los controles, las funciones o de los VIS que usted no conoce.
Fig8
5
Una vez se ha seleccionado Add Shift Register aparecerán los siguientes símbolos laterales, y de esta manera se habrá agregado esta importante herramienta.
En esta acción mecánica la variable booleana cambia de estado precisamente en el momento en el cual el control es presionado por el usuario.
Fig 10 Con esta acción la variable booleana cambia de estado en el momento en el cual el control booleano es liberado. El registro de desplazamiento se utiliza para pasar datos entre iteraciones de la estructura, de esta manera se puede tener acceso a datos desde iteraciones anteriores, los cuales pueden ser utilizados dada la necesidad del usuario. Fig 11
A. ¿Cuáles son las acciones mecánicas que se pueden aplicar a un control booleano? Explique cada una de ellas.
Con esta acción la variable booleana cambia en el preciso momento que es accionada y cuando se libera Las acciones mecánicas que se pueden aplicar a un retorna al estado inicial, en otras palabras, la variable control booleano son seis, las cuales se dividen en dos cambiará de estado mientras permanezca presionado el control de mando. tipos. ●
●
Tipo Switch
Para las acciones mecánicas tipo switch, la frecuencia con la cual el IV lee el control booleano no afecta su comportamiento. En los esquemas representativos de este tipo de acción mecánica m representa el comportamiento del control (ratón cuando se da clic), v representa el comportamiento de la variable booleana.
fig 9
Tipo Latch
Para las acciones mecánicas tipo latch, la frecuencia con la cual el IV lee el control booleano afecta su comportamiento. Este tipo de acción mecánica es especial para truncar la ejecución de una estructura While loop. En los esquemas representativos de este tipo de acción mecánica m representa el comportamiento del control (ratón cuando se da clic), v representa el comportamiento de la variable booleana n, RD muestra las lecturas que el VI hace a la variable booleana.
Fig 12
6
Cuando el IV lee el elemento de mando y detecta que éste se ha accionado, lo lleva a su posición de reposo (aun cuando este se mantenga presionado) y cambia el estado de la variable booleana, en la próxima lectura del elemento de mando por parte del IV la variable booleana regresa al estado inicial. El accionamiento del elemento de mando se presenta al presionarlo.
ejecución de los subprogramas, para lo cual se utiliza la estructura sequence. En otras palabras, la estructura sequence permite la ejecución de subprogramas de forma ordenada y controlada. B.
¿Cuáles son los tipos de datos que se pueden representar en Labview y cuáles son sus rangos de valores máximos y mínimos?
●
Datos tipo numéricos
Los cuales se subdividen, según el siguiente cuadro dado el tipo de número y el rango o el número de bits que utiliza para almacenar el dato. Fig13.
Se clasifican a través de un color específico.
El funcionamiento de este mecanismo es idéntico al anteriormente presentado, con la diferencia que el control es accionado cuando es liberado. También es muy utilizado para detener ciclos while y para botones de cuadro de diálogo.
Fig14. Cuando el IV lee el elemento de mando y detecta que éste se ha accionado, cambia el estado de la variable booleana, si el elemento se mantiene accionado, la variable booleana permanece en el estado que se encuentra hasta que este sea liberado y se presente la lectura del elemento de mando por parte del IV. A.
¿Para qué sirve la estructura sequence de LabVIEW?
La ejecución de los subprogramas en Labview se realizan de forma paralela por defecto, en algunas ocasiones es oportuno, o se requiere que esto no sea así, teniéndose la necesidad de definir un orden en la
●
Datos tipo string
●
Datos tipo Booleano
●
Datos tipo Dinámico
7
C.
¿Qué función de Labview permite realizar estructuras tipo if?
El equivalente en Labview de la estructura if es la estructura Case, la cual por defecto tiene un formato de True o False. 5. Reporte del desarrollo de los ejercicios propuestos durante la práctica. 5.1. Circuito DC.
En este punto se pide obtener el voltaje en R3 (VR3) para el circuito.
Fig 18. Diagrama de bloques Se demuestra que para el circuito netamente resistivo el voltaje en la resistencia 3 está dado por:
Fig16
Lo cual difiere de la ecuación propuesta en la práctica, la cual es para obtener la corriente por R3.
El esquema del circuito se realiza en el editor gráfico paint, obteniéndose lo siguiente:
5.2. Circuito AC.
En este punto se pide obtener el voltaje en R3 (VR3) para el mismo circuito, en este caso la fuente es alterna y se pueden especificar impedancias.
Fig 17. Panel frontal
Fig 19. Panel frontal
8
Fig20. Diagrama de bloques Al reemplazar los valores de las impedancias y la fuente en la ecuación se obtiene lo siguiente:
Fig22. Panel frontal en proceso de implementación
Resultado que coincide con el obtenido en el instrumento virtual. 5.3. Panel de control.
Para este punto se realiza el siguiente panel frontal.
Fig23. Panel frontal implementado ) 5.4. Evaluación de la expresión.
Se pide desarrollar un programa en Labview que evalúe la función para cualquier valor real de (x, y).
Fig21. Panel frontal por implementar Se observa en la figura el proceso de implementación, en donde los labels aún no se han ubicado.
Ecu 1. Ecuación por implementar. Se procedió a la construcción de una ecuación, se hizo uso de otros operadores matemáticos y se verificó su correcto funcionamiento.
9
la ecuación implementada en Labview con su diagrama de bloques se presenta en la figura y su verificación en las figuras 26, 27, 28.
Fig26. Resultado 2 de la ecuación. 5.5. Codifique en la expresión booleana.
Se pide codificar la ecuación booleana en Labview.
Fig 24. diagrama de bloques ecuación. Ecuación 2. desarrollando la expresión booleana se obtiene la ecuación.
Fig25. resultado 1 ecuación.
Ecuación 3. para la ecuación booleana se obtuvo la tabla.
10
Fig 29.
Fig27. Tabla. tabla de la verdad ecuación. para la evaluación de la ecuación en Labview se obtuvo el diagrama de bloques de la figura y su verificación en las figuras.
Fig30. 5.6. Cálculo de f(x)
Se pide calcular el valor de f(x), para un valor de f0 dado, utilizando estructuras while-loop y/o for-loop.
Ecuación 4. para el montaje de la sumatoria de la ecuación 1, básicamente se procedió a meter una estructura while dentro de una estructura for, tal y como se muestra en la figura 5. Fig 28. Diagrama de bloques ecuación booleana.
11
Fig33. Panel frontal – Temperatura dentro del rango Fig31.
Fig32. Montaje de la sumatoria ecuación 4.
Fig34. Temperatura por encima de la máxima (50ºC)
Dentro de la estructura while que corresponde a la sumatoria interna se aplicó un paso de 0,1 y al correr el programa se vio que los números obtenido eran complejos.
5.7. Implementación de alarma.
Desarrolle un VI en Labview que muestre una alarma cuando la temperatura ingresada sea mayor a valor máximo o menor a un valor mínimo establecido por el usuario, de lo contrario encienda una luz verde donde se indique además la temperatura actual.
Fig35. Temperatura por debajo de la mínima (20ºC En el panel frontal se observa el instrumento de medición de la temperatura, en la etiqueta RANGO se establecen los límites de la temperatura, mientras la temperatura se encuentre en ese rango la etiqueta “Temperatura dentro del rango” permanecerá de color
verde, como es el caso de la figura anterior. Si la temperatura supera el límite superior se enciende el piloto “Alarma por encima” el cual toma un color rojo,
por el contrario, si se supera el límite inferior se
12 encenderá el piloto de “Alarma por debajo” y tendrá un color azul, en ambos casos el piloto “Temperatura dentro del rango” se apagará.
Lo anteriormente dicho se observa en la siguiente figura. II.
Conclusiones.
Después de realizar las investigaciones y procedimientos de la práctica se puede concluir que el software Labview ofrece una gran ventaja de programación gráfica y un amplio contenido de herramientas para facilitar su manejo, esto lo hace más versátil comparándolo con simuladores de códigos de línea, además de que Labview ofrece una manera de programar en forma paralela diversos programas a la vez, donde se logra diseñar más de un programa en el panel sin tener alguno relación directa con el otro. En algunas ocasiones es conveniente realizar la evaluación de la condición de parada en una estructura While Loop antes de que el cuerpo del algoritmo se ejecute, es decir que actúe como un WHILE DO, esto debido a que es posible que la variable a medir se encuentre fuera de los límites normales de operación, y utilizar esta variable en un sistema de adquisición de datos puede causar daños al sistema. III.
Referencias.
[1]. G. A. H. Londoño, S. M. P. Londoño, and Á.Á. O. Gutiérrez, Curso básico de Labview 6i. Universidad Tecnológica de Pereira, Fac. de Ingeniería, 2002. [2]. National instruments 2017. [online]. Available: http://www.ni.com/pdf/labview101/us/datatypes_explan ation.pdf. [Accessed:20-Ago-2017].