Pase el mouse sobre el primer resultado en la sección de paleta, Random Number (0-1). Ahora verá las siguientes
tres opciones:
Drop – Le permite colocar esta función inmediatamente en el Block Diagram
Find – Localiza la función en la paleta de funciones
Help – Nos muestra los tópicos de ayuda para esta función
De click en las tres opciones para observar los diferentes comportamientos
10. Practique accediendo a funciones semejantes
Coloque la función Add en el Block Diagram
De click derecho en la función Add y fíjese que la paleta Numeric está disponible para el menú rápido
Practique colocando funciones de la paleta Numeric en el Block Diagram
11. Cierre el VI y el Proyecto LabVIEW. No necesita guardar los archivos
Ejercicio 3
Objetivo: Familiarizarse con la selección automática de herramientas y la paleta de Herramientas en LabVIEW
Descripción: durante este ejercicio, completa las tareas en un panel frontal y un diagrama de bloques parcialmente
construidos. Estas tareas le dan experiencia usando la selección automática de herramientas.
1 Abra Using temperatura.lvproj en el directorio <Escritorio>\Ejercicios\Using Temperature
2 Abre Using Temperature.vi de la ventana Project Explorer
3 Seleccione View>>Tools Pallet del menú para mostrar la ventana de Tools
TIP: Posiciones en el Front Panel y presione la tecla <Shift> y el botón derecho de ratón para abrir la paleta Tools
La figura 2-5 muestra un ejemplo el Front Panel, de cómo aparece después de tus modificaciones. Del paso 4 al 9
incrementas el tamaño del waveform chart, renombras el control numérico, cambias el valor del control numérico y
mueves la perilla.
Sugerencia. Puedes seleccionar objetos específicos y limpiarlos, tal como cables o nodos individuales. <Shift> - clic para seleccionar múltiples
objetos y entonces da clic en el botón Clean Up Diagram. LabVIEW limpia solamente los objetos que seleccionaste y no el Block Diagram
completo. Configura cómo LabVIEW limpia los objetos seleccionando Tools>>Options del menú, dando clic en la categoría del Block Diagram
y cambiando las opciones en la sección de Block Diagram Cleanup.
1 Control label. Este texto identifica la terminal de control Booleano par propósito de programación. Este texto no aparece en el Front Panel
a menos que seleccione Visible.
2 Boolean text Este texto aparece solamente en el Front Panel, y predeterminado, aparece en el centro del control Booleano.
Tip. También puede dar doble clic en la terminal Stop Button para encontrar el botón de control en el Front Panel.
El tiempo requerido para ejecutar este VI es equivalente al Número de Mediciones, las veces del Delay Multiplier. Cuando
este VI termina de ejecutarse, muestra los datos de Temperature Chart.
17. Cierre el VI y de clic en el botón Don’t Save – All. No necesita grabar el VI
Fin del Ejercicio
Ejercicio 4: Depuración
Objetivo: Usar las herramientas de Depuración que se encuentran en LabVIEW
Descripción
Los Vis en este ejercicio checan la validez de un triángulo y después calcular el área. Para que un triángulo sea válido, los
tres lados deben tener una longitud que sea mayor que cero. El SubVI en este ejercicio usa la fórmula de Herón para
calcular el área del triángulo. Puede usar este método cuando conozca las longitudes de los tres lados del triángulo.
Fórmula de Herón
Donde:
Los valores predeterminados que usaremos en la depuración para probar este VI son: Lado A = 6, Lado B = 8, Lado C = 10.
Por lo tanto, los valores correctos son como se muestra a continuación:
Usted se debe referir a estos valores cuando se estén realizando los cálculos y se esté depurando el VI.
Complete las siguientes secciones para identificar y corregir problemas de edición. Utilice la implementación de un solo
paso y ejecución lenta para recorrer el VI. Use puntos de paro y puntas de prueba para determinar si los cálculos son
correctos y descubrir dónde se origina un error.
Edite los Errores de Tiempo
Localice y corrija los errores que impiden que el VI se ejecute.
1. Abra y examine el área y la validez del VI para un triángulo
Abra Debug.lvproj en el directorio <Escritorio>\<Ejercicios> \Debugging
Abra el VI Area and Vlidity of a Trinagle.vi de la ventana del Project Explorer
De clic en el botón Retain Wire Values de la barra de herramientas para que usted pueda ver los valores que están
pasando por los cables.
Ejecute el VI
Observe que puede ver como fluyen los datos a través de los cables. A la salida de cada nodo, usted puede ver que los
valores de los datos se muestran momentáneamente. Debido a que tiene habilitado el botón Retain Wire Values, puede
sondear el último valor en el cable.
3. Pruebe los valores de los cables
Haga clic con el botón derecho en cada uno de los cables de entrada a la Función Compound Arithmetic y seleccione la
sonda de prueba. Esto muestra la ventana de inspección de la sonda.
Observe que uno de los valores del cable es False como se muestra en la figura 3-3
Debido a que usted está comprobando que los tres lados del triángulo tienen longitudes positivas, el valor de
entrada no es válido o la lógica es incorrecta.
Observe que el nodo que devuelve un valor de False es una función menor que cero, pero esta sección de código debería
verificar para ver si el valor es mayor que cero.
Haga clic con el botón derecho en la función Less tan Zero? y seleccione Replace >>Comparison Palette>> Greater
than Zero?.
4. Pruebe el VI.
Ejecute el VI
Observe que todos los valores de las Sondas de Prueba sean True.
Desplegue el panel frontal. Observe que el LED Valid Triangle? Está encendido, pero el indicador Area of Triangle
todavía da un valor NaN.
El área del triángulo se calcula en el SubVI, por lo que debe seguir depurando el SubVI Area of a Triangle.
5. Continúe depurando el SubVI.
Muestre el diagrama de bloques del VI Area and Validity of a Triangle.
De clic en el botón Step Into para iniciar el single stepping a través del VI. La ejecución resaltada muestra el flujo
de datos en el diagrama de bloques de un nodo a otro. Los nodos parpadean para indicar que están listos para
ejecutarse.
Haga clic en el botón Step Over para iniciar cada nodo y recorrer todo el diagrama de bloques hasta llegar al SubVI.
Cada vez que haga clic en el botón Step Over, el nodo actual se ejecutará y pausará en el siguiente nodo.
Cuando llegue al SubVI, haga clic en el botón Step Into para abrir el diagrama de bloques del Área de triángulo
SubVI. El SubVI está en pausa.
Encienda Execution Highlighting y Retain Wire Values en el SubVI.
De clic derecho a la salida de la función Square Root y seleccione Breakpoint>>Set Breakpoin como se muestra en la figura
3-4.
1 El punto de paro detiene el VI después de que se ejecuta del nodo raíz cuadrada y antes de que el valor de salida llegue al indicador Area of
Triangle.
Sugerencia: Si no puede ver la tira de puntas, puede hacer clic en el cable para abrir la ventana de Probe Watch y ver el valor.
Mueva el cursor que pase sobre otros cables o use la ventana Probe Watch para examinar otros valores
intermedios
Observe que el valor en el cable (S – B) también es un número negativo. Si observa más detenidamente, notará
que las entradas para la función de resta están invertidas.
De clic en el botón Abort para detener el VI.
Cambie las entradas para la función de resta de (S – B).
Sugerencia: Presiones <CTRL> y de clic en una de las entradas para cambiarlas. Cuando presiona <CTRL> y pasa el puntero sobre una
entrada, verá que el cursor cambia.
8. Guarde el VI
9. Pruebe el VI Area of Triangle.
Ejecute el VI nuevamente
Cheque los valores intermedios cuando el VI se está ejecutando pasando el puntero sobre los cables después de que el punto
de paro lo detiene y verifique que los valores obtenidos sean correctos.
De clic derecho en el Breakpoint y seleccione Breakpoint>>Clear Breakpoint.
Apague la ejecución resaltada en el VI Area of Triangle y en el VI Area and Validity of a Triangle.
Guarde ambos Vis
Prueba
1. Pruebe el VI Area and Validity of a Triangle usando los valores para los lados A, B y C de la Tabla 3-1. Para cada conjunto de valores
registre el área que obtuvo el ejecutar el VI.
Tabla 3-1: Valores de prueba para Area and Validity of a Triangle
Lado A Lado B Lado C Área
24 30 18
12 12 12
15 20 25
2. Guarde y cierre el VI cuando haya terminado de probar con los valores anteriores.
Fin del Ejercicio
Ejercicio 5: Pasar datos a través de los Túneles
Objetivo
Usar un bucle While, una terminal de iteraciones y pasar datos a través de un túnel
Escenario
Cree un VI que genere continuamente números aleatorios entre 0 y 1000 hasta que genere un número que coincida con
un número seleccionado por el usuario. Determine cuántos números aleatorios generó el VI antes de generar el número
coincidente.
Diseño
Use el diagrama de flujo y la lista de entrada / salida para crear el VI para este ejercicio. El diagrama de flujo en la figura
ilustra el flujo de datos a este diseño.
Genere
números
aleatorios ente
0y1 NO
Multiplique
por 1000
Muestre el
número de
iteraciones
Implementación
1. Cree un proyecto nuevo (blank Project) y guárdelo como Auto Match.lvproj en el directorio
<Escritorio\Ejercicios\Auto Match
2. Cree un VI nuevo en el proyecto y guárdelo en el mismo directorio del proyecto como Auto Match.vi
3. Construya el Front Panel como se muestra en la figura 2
i
a b
c d e
f g
8. Fíjese que al convertir la salida de la función Round to Nearest, se eliminan todos los puntos de coerción en el
Diagrama de bloques.
Nota: Si la visualización síncrona está habilitada, cada vez que el diagrama de bloques envía un valor al indicador numérico actual, el diagrama
de bloques deja de ejecutarse hasta que el panel frontal haya actualizado el valor del indicador. En este ejercicio, habilita la pantalla síncrona,
por lo que puede ver que el indicador de número actual se actualiza repetidamente en el panel frontal. Por lo general, la visualización síncrona
se desactiva para aumentar la velocidad de ejecución, ya que generalmente no necesita ver todos los valores actualizados de un indicador en
el panel frontal.
11. Guarde el VI
Prueba
1. Cambie el número en el control Number to Match a un número en el rango de 1 a 1000, con incrementos de 1
2. Ejecute el VI
3. Cambie nuevamente el Number to Match y vuelva a ejecutar el VI. El Current Number se actualiza en cada
iteración del bucle debido a que está dentro del bucle.
4. Para ver cómo se actualizan los indicadores del VI, habilite la ejecución resaltada con la lampara.
En el Block Diagram, de clic en el botón Highlight Execution, para habilitar este tipo de ejecución.
5. Ejecute el VI y observe como fluyen los datos
6. Deshabilite el botón Highlight Execution
7. Intente hacer coincidir un número que esté fuera del rango de 0 a 1000
Cambie el valor de Number to Match a un valor que esté fuera del rango 0 – 1000
Ejecute el VI
Observe que LabVIEW fuerza el valor fuera de rango al valor más cercano en el rango de datos que especificó
en el paso 4 de la sección de implementación.
8. Cierre el VI
Ejercicio 6: Calculando la Temperatura Promedio
Objetivo:
Usar un While Loop y Shift Register para promediar datos
Escenario:
El monitor de temperatura de un VI, adquiere y muestra datos de temperatura. Modifique el VI para promediar las últimas
cinco mediciones y muestre los promedios móviles en la Waveform Chart.
Diseño
La figura siguiente muestra el Front Panel y el Block Diagram del VI Temperature Monitor
Para modificar este VI, se necesita guardar los valores de temperatura previos de cuatro iteraciones del While Loop y
promediarlos. Para lograr esto, modifique el VI como sigue:
Use los Shift Register con elementos adicionales para retener los datos de las cuatro iteraciones previas
Inicialice el registro de desplazamiento con una lectura del termómetro simulado
Calcule y grafique solo la temperatura promedio
Implementación
1. Verifique que funcione el VI
Abra el proyecto Temperature Monitor. Lvproj en el directorio <Escritorio>\<Ejercicios>\Temperature Monitor
Abra el VI Temperature Monitor.vi de la ventana del Project Explorer
Ejecute el VI. Observe las variaciones de las lecturas de temperatura simulada
2. Pare el VI dando un clic en el botón STOP del Front Panel
3. Modifique el VI para reducir el número de picos de la temperatura
Muestre el Block Diagram
Modifique el Block Diagram como se muestra en la figura siguiente
a c d
a. Shift Register – Los registros de desplazamiento apilados capturan lecturas de temperatura múltiples. Clic derecho
en el borde del While Loop y seleccione Add Shift Register. Arrastre el botón del Shift Register que apunta hacia
abajo hasta que aparezcan cuatro triángulos
b. Haga una copia del termómetro presionando la tecla Ctrl mientras arrastra el SubVI afuera del While Loop para
crear la copia. El VI del termómetro nos da una medición de temperatura e inicializa el registro de desplazamiento
izquierdo antes de que inicie el bucle.
c. Compound Aritmetic – Nos regresa la suma de la temperatura actual y las cuatro lecturas de temperatura previas.
Redimensione la función para tener cinco terminales
d. Divide – Nos regresa el promedio de las últimas cinco lecturas de temperatura
Nota: Puede crear terminales de registro de desplazamiento apilados en el lado izquierdo de un bucle para recordar múltiples iteraciones
previas y llevar esos valores a las siguientes iteraciones. Esta técnica es útil para promediar puntos de datos. El registro de desplazamiento
apilado solo puede ocurrir en el lado izquierdo del bucle porque el terminal derecho transfiere los datos generados solo desde la iteración
actual a la siguiente iteración.
4. Guarde el VI
Prueba
1. Ejecute el VI
Durante cada iteración de While Loop, el termómetro (demo) VI toma una medición de temperatura. El VI agrega
este valor a las últimas cuatro medidas almacenadas en los terminales izquierdos del registro de desplazamiento.
El VI divide el resultado por cinco para encontrar el promedio de las cinco medidas: la medición actual más las
cuatro anteriores. El VI muestra el promedio en la tabla de formas de onda. Observe que el VI inicializa el registro
de desplazamiento con una medición de temperatura.
2. Detenga el VI dando un clic en el botón de STOP del Front Panel
3. Guarde y cierre el VI y el Proyecto.
Ejercicio 7: VI Monitor de Temperatura – Gráfica Múltiple de
Temperatura
Objetivo
Trazar múltiples conjuntos de datos en una sola tabla de formas de onda y personalizar esa vista de gráficos.
Escenario
Modificar el VI del ejercicio 6 para trazar la temperatura actual y la media móvil en el mismo gráfico. Además, permitir
que el usuario examine una parte de la gráfica mientras se adquieren los datos.
Diseño
La Figura 4-10 muestra el panel frontal para el VI Temperature Monitor existente y la figura 4-11 muestra el diagrama
de bloques
Figura 4-12: Diagrama de Bloques del VI Temperature Monitor – Graficando temperaturas múltiples
1) Bundle – Pasa la temperatura actual y la temperatura promedio a la tabla Temperature History
3. Modifique el panel frontal para que se asemeje a la figura 4-13
Figura 4-13
1) Muestre ambas gráficas en la leyenda de la gráfica – Use la herramienta de posicionamiento para cambiar el tamaño de la leyenda de la
gráfica y mostrar dos objetos. Haga doble clic en la etiqueta para editar los nombres de la gráfica. El orden de los gráficos enumerados en la
leyenda del diagrama es el mismo que el orden de los elementos conectados a la función del paquete en el diagrama de bloques.
2) Cambie el tipo de gráfica de Current Temperature – Use la herramienta de operación para seleccionar la leyenda del trazado. Haga clic en
el icono de trazado, seleccione Common Plots en el menú y elija el trazado que desee.
3) Mostrar Graph Palette – Haga clic con el botón derecho en la tabla Temperature History y seleccione Visible Items << Graph Palette.
4) Mostrar Scale Legend – Haga clic con el botón derecho en el cuadro de Temperature History y seleccione Visible Items <<Scale Legend.
4. Ejecute el VI
Prueba
1. Ejecute el VI. Use las herramientas de Escale Legend y la paleta del gráfico para examinar los datos tal como se
generan.
2. Cierre el VI y proyecte cuando haya terminado
Ejercicios 8: Manejando Arreglos de Datos
Objetivo: Manejar arreglos de datos usando varias funciones de LabVIEW
Descripción
Le dan un VI y le piden que lo mejore para una variedad de propósitos. El panel frontal de este VI está construido. Complete
los arreglos usando diferentes técnicas.
Implementación
1. Abra Manipulating Arrays.Lvproj que está en el directorio <Escritorio\Ejercicios\Manipulating Arrays>
2. Abra el VI Array Manipulation que se encuentra en la ventana del Project Explorer. El front panel se muestra en la
figura 5-1, el cual fue hecho previamente para usted.
Figura 5-1
3. Abra el block diagram y complete cada uno de los casos que corresponden a cada pestaña del front panel, como se
muestra en las figuras 5-2 a 5-8.
Figura 5-2
1) Build Array – Agrande este nodo para aceptar dos entradas, y luego de clic derecho y seleccione Concatenate Inputs del menú emergente
2) Cablee las salidas de la curva seno y la curva cuadrada a la función Build Array, para crear un arreglo 1D con ambas formas de onda
Figura 5-3
1) Subtract ? – cablee este al caso selector terminal de tal forma que se ejecute el caso correcto cuando de clic en el botón Subtract? Del front
panel.
2) Case Structure – Coloque una función de resta en el Caso True de tal forma que el VI reste el elemento del arreglo cuando se presione el
botón Subtract ? En el front panel
Figura 5-4
1) Cuando el valor del control Booleano Subtract? Es FALSO, se agregan elementos al arreglo
Nota: Este caso demuestra la funcionalidad polimórfica para la suma y resta en los elementos de los arreglos
Figura 5-6
1) Add – Use los valores del control Offset para modificar el valor de la forma de onda en la Waveform Datatype. Observe que el valor del
control Offset debe tener un punto de coerción por el uso del Waveform Datatype.
Nota: Polimorfismo es la habilidad de VI y las funciones para adaptarse automáticamente y aceptar datos de entrada de diferentes tipos,
incluyendo arreglos, escalares y formas de onda. El VI y las funciones son polimórficas para variar los grados.
Figura 5-7
1) Add – Modifique los mismos datos en un arreglo agregando el valor del canal 1. Desplace cada elemento del arreglo.
2) For Loop – Extraiga cada elemento del arreglo usando indexación automática para que la función Add en For Loop puedan agregar el valor
escalar.
3) Build Array – Tome los dos arreglos 1D y construya un arreglo 2D. Cada arreglo 1D se convierte en una fila en el arreglo 2D.
4) Array Size – Da salida a una matriz 1D donde cada elemento muestre el tamaño de cada dimensión. En este ejercicio, tiene 2 elementos de
datos para la cantidad de filas y columnas.
5) Los indicadores All Data Channel y Data Channel Array muestran los mismos datos.
Nota: La funcionalidad polimórfica de las funciones de LabVIEW le permite realizar la misma operación en cada elemento sin extraer los
elementos de la matriz, como lo hace con las dos funciones Add en el caso de All Data Channel.
1) Array Subset – Extraiga un subconjunto de una matriz existente. En este ejercicio, utiliza esta función para entrar en un subconjunto de la
forma de onda que ha generado.
2) Numeric Constant – estas constantes especifican que la función extrae primero dos renglones empezando en el elemento 0
3) Start Value – Establece el índice de inicio. El valor predeterminado está configurado para comenzar en el elemento 0
4) Length – Establece el número de elementos para extraer. El valor predeterminado está configurado para dar salida a 1000 elementos.
Figura 5-9
Crear un clúster que contenga los datos utilizados por el VI Temperature Warnings. Modificar el VI de Temperature
Warnings para recibir y devolver datos en la forma del mismo clúster que se muestra en la figura 5-10. El VI modificado
funciona de manera más modular con otros SubVI en la aplicación general.
Figura 5-10
Implementación
1. Abra el proyecto Weather Warnings. lvproj que se encuentra en el directorio <Escritorio>\Ejercicios\Weather
Warnings.
2. Abra el VI Temperature Warnings de la ventana del Project Explorer.
3. Coloque los controles e indicadores existentes en un clúster llamado Weather Data como se muestra en la figura 5-11
Figura 5-11
1) Cluster – Use el control Clúster de la paleta Silver y cambie la etiqueta a Weather Data.
2) Seleccione los controles e indicadores para incluirlos en el clúster. De <Shift> clic para selecciones múltiples objetos.
3) Arrastre los controles e indicadores dentro del clúster Weather Data.
4. Redimensione el clúster de tal forma que todos los elementos sean visibles y re arréglelo verticalmente como se muestra
en la figura 5-12.
Figura 5-12
1) Autosize cluster – LabVIEW re arreglar y redimensionar el clúster por ti. Da clic derecho en la línea exterior del clúster Weather Data y
selecciona Autosizing>>Arrange Vertically.
1) Weather Data – De <Ctrl> clic en el clúster Weather Data y arrástrelo para crear una copia. Renombre la copia a Weather Data In.
2) Weather Data – De clic derecho en el clúster original y seleccione Change to Indicator. Renombre el indicador a Weather Data Out.
7. Modifique el diagrama de bloques como se muestra en la figura 5-15 para extraer los datos del clúster de entrada.
Figura 5-15
1) Unbundle By Name – Conecte el control Weather Data In y expanda la función Unbundle By Name para mostrar tres elementos. Conecte
las salidas de la función Unbundle By Name a los cables rotos en el orden que se muestra. Debido a que movió los controles e indicadores
individuales al único clúster, debe usar la función Unbundle By Name para conectar los controles e indicadores internos de forma
independiente.
2) Bundle By Name – Conecte el clúster Weather Data In en el clúster alrededor del código de análisis al clúster de entrada de la función
Bundle By Name. Muestre dos elementos y use la herramienta de operación para seleccionar Warning? y Warning Text Elements. Conecte
los cables rotos a las entradas Unbundle By Name como se muestra.
Nota: Si el orden de los elementos en las funciones Unbundle By Name y Bundle By Name es diferente que el que necesitas, puedes usar la
herramienta Operating para cambiar el orden.
1) El tipo de control es Type Def, que mantiene el enlace entre este archivo y las copias de control personalizadas utilizadas en VIs.
Nota: Ya no puede agregar ni quitar elementos al clúster control o indicador en el panel frontal. Debe abrir la definición de tipo y agregar o
eliminar el elemento de la ventana del Control Editor.
1) Enum (Silver) – Coloque un enum en el clúster y renómbrelo como Units. De clic derecho en el enum y seleccione Edit items. Crea un
elemento para Celsius y Fahrenheit.
6. Modifique el diagrama de bloques del VI Windspeed Warnings para usar la nueva definición de tipo en lugar de los
controles e indicadores individuales, como se muestra en la figura 5-20
Figura 5-20
7. Abra el VI Temperature Warnings y observe que el control Weather Data In y el indicador Weather Data Out se han
actualizado para incluir el Windspeed Data.
8. Guarde y cierre el VI y el proyecto.
Fin del Ejercicio 10