Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LabVIEW Core 1
n
tri nts
Ejercicios
ció
dis me
bu
su tru
Versión del software actual 2012
Edición de Agosto 2012
da Ins
Número de parte 325291D-0154
LabVIEW Core 1 Ejercicios
Copyright
© 1993–2012 National Instruments. Todos los derechos reservados.
ibi al
En virtud de las leyes de copyright y de protección de los derechos de autor, esta publicación no puede reproducirse ni transmitirse en ninguna forma, electrónica o mecánica, incluidas las fotocopias,
grabación, almacenamiento en un sistema de recuperación de información, o traducción, en su totalidad o en parte, sin el consentimiento previo por escrito de National Instruments Corporation.
National Instruments respeta los derechos de propiedad intelectual de otros, y solicitamos a nuestros usuarios que hagan lo mismo. El software de NI está protegido por el derecho de autor y las normas
n
de la propiedad intelectual. Aunque el software de NI puede utilizarse para reproducir software u otro material perteneciente a otros, el software de NI sólo podrá utilizarse para reproducir material que
pueda reproducir conforme a los términos de cualquier licencia aplicable u otra restricción legal.
Pr atio
Marcas comerciales
LabVIEW, National Instruments, NI, ni.com, el logotipo corporativo de National Instruments, y el logotipo del aguila son marcas propiedad de National Instruments Corporation. Por favor, consulte
Trademark Information en la página ni.com/trademarks para información sobre otras marcas de National Instruments.
Otros nombres de productos y de empresas mencionados aquí son marcas o nombres comerciales de sus respectivas empresas.
Patentes
Para obtener información sobre las patentes que protegen los productos o la tecnología de National Instruments, consulte el apartado: Help»Patents en su software, el archivo patents.txt en el
soporte del mismo, o el Aviso sobre las Patentes de National Instruments (National Instruments Patent Notice) en ni.com/patents.
N
Pr atio
oh n
ibi al
da Ins
su tru
dis me
tri nts
bu
ció
n
n
tri nts
ció
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
ni.com
oh
Oficinas internacionales
Visite ni.com/niglobal para acceder a las páginas web de las oficinas internacionales, las cuales incluyen información actualizada de contacto, teléfonos de soporte técnico, direcciones de email y
eventos actuales.
Para realizar comentarios a National Instruments sobre la documentación, consulte la página web de National Instruments Web ni.com/info e introduzca el código de información feedback.
N
Pr atio
oh n
ibi al
da Ins
su tru
dis me
tri nts
bu
ció
n
Contenido
n
tri nts
A. Certificación de NI....................................................................................................................................................................................vii
ció
B. Descripción del curso................................................................................................................................................................................viii
C. Lo que necesita para empezar ...................................................................................................................................................................ix
D. Instalación del software del curso.............................................................................................................................................................x
dis me
E. Objetivos del curso ...................................................................................................................................................................................xi
bu
F. Convenciones del curso ............................................................................................................................................................................xii
Lección 1
su tru
Explorando LabVIEW
Ejercicio 1-1 Concepto: Explorando un VI .....................................................................................................................................1-2
Ejercicio 1-2 Concepto: Localizando controles, funciones y VIs ...................................................................................................1-7
da Ins
Ejercicio 1-3 Concepto: Usando la herramienta de selección. ........................................................................................................1-10
Ejercicio 1-4 Concepto: Flujo de datos ...........................................................................................................................................1-18
Ejercicio 1-5 VI AAP Simple ..........................................................................................................................................................1-23
Lección 2
Resolución de problemas y depuración de VIs
ibi al
n
Ejercicio 2-1 Concepto: Depuración ...............................................................................................................................................2-2
Pr atio
Lección 3
Implementación de un VI
Ejercicio 3-1 VI Temperature Warnings .........................................................................................................................................3-2
Ejercicio 3-2 VI Auto Match ...........................................................................................................................................................3-10
Ejercicio 3-3 Concepto: Bucles While frente a bucles For .............................................................................................................3-20
N
Lección 4
Desarrollo de aplicaciones modulares
Ejercicio 4-1 VI Temperature Warnings—Como subVI.................................................................................................................4-2
n
tri nts
Lección 5
ció
Creando y aprovechando estructuras
Ejercicio 5-1 Concepto: Manipulando Arrays.................................................................................................................................5-2
dis me
Ejercicio 5-2 Concepto: Clusters .....................................................................................................................................................5-13
bu
Ejercicio 5-3 Concepto: Definiciones tipo ......................................................................................................................................5-21
Lección 6
su tru
Administrando archivos y recursos hardware
Ejercicio 6-1 Concepto: VI Spreadsheet Example ..........................................................................................................................6-2
Ejercicio 6-2 VI Temperature Monitor—Registro de datos ............................................................................................................6-6
da Ins
Ejercicio 6-3 Concepto: NI Measurement & Automation Explorer (MAX)...................................................................................6-11
Ejercicio 6-4 Uso de DAQmx .........................................................................................................................................................6-17
Ejercicio 6-5 Concepto: Configuración GPIB con MAX................................................................................................................6-21
Ejercicio 6-6 Concepto: VI NI Devsim ...........................................................................................................................................6-25
Lección 7
ibi al
Usando algoritmos de máquinas de estado y secuenciales
n
Ejercicio 7-1 VI State Machine .......................................................................................................................................................7-2
Pr atio
Lección 8
Resolviendo desafíos de flujo de datos usando variables
Ejercicio 8-1 VI Weather Station UI con variables locales.............................................................................................................8-2
N
oh
Guía del estudiante
Gracias por comprar el paquete de curso LabVIEW Core 1. Puede empezar a desarrollar una aplicación poco después de completar los ejercicios de este manual. El
n
tri nts
manual de ejercicios y el manual del curso y software adjunto se utilizan en el curso práctico de tres días LabVIEW Core 1.
ció
Puede aplicar la adquisición completa de este paquete de curso a la cuota de registro correspondiente del curso si se inscribe antes de 90 días desde la compra del
paquete. Visite ni.com/training para consultar en línea la programación, el contenido, los centros de formación y la inscripción en la clase del curso.
dis me
A. Certificación de NI
bu
El curso LabVIEW Core 1 forma parte de una serie de cursos diseñados para dominar LabVIEW y ayudarle a prepararse para los exámenes de Desarrollador Asociado
su tru
Certificado de LabVIEW de NI. La siguiente ilustración muestra los cursos que forman parte de la serie de formación de LabVIEW. Consulte ni.com/training
para obtener información adicional acerca de la certificación de NI.
Figura 1-1. Cursos de formación de LabVIEW
da Ins
New User Experienced User Advanced User
Courses
Object-Oriented Design
Advanced Architectures
in LabVIEW
and Programming
n
in LabVIEW
LabVIEW Performance
Pr atio
Certifications
Other Courses
N
LabVIEW FPGA LabVIEW DAQ and Signal Conditioning Modular Instruments Series
*Core courses are strongly recommended to realize maximum productivity gains when using LabVIEW.
n
tri nts
familiarizado con Windows y que tiene experiencia en escribir algoritmos en forma de diagramas de flujo o diagramas de bloque. Los manuales de ejercicios y del
ció
curso están divididos en lecciones, descritas de este modo.
dis me
• Una introducción que describe el objetivo de la lección y lo que aprenderá
bu
• Una descripción de los temas de la lección
su tru
• Un cuestionario de resumen que prueba y esboza conceptos y conocimientos importantes enseñados en la lección
da Ins
• Un conjunto de ejercicios para reforzar esos temas
• Algunas lecciones incluyen secciones de ejercicios opcionales y de retos o un conjunto de ejercicios adicionales para realizar si el tiempo lo permite.
Nota Para ver actualizaciones y correcciones del manual de ejercicios y del curso, consulte ni.com/info y escriba el Código de Información core1.
ibi al
Varios ejercicios usan uno de los siguientes productos hardware de National Instruments:
n
• Un dispositivo multifunción de adquisición de datos (DAQ, data acquisition) conectado a un BNC-2120 que contiene un sensor de temperatura, un generador de
Pr atio
funciones y LEDs
Aunque no disponga de este hardware, puede realizar los ejercicios. Se proporcionan instrucciones alternativas para completar los ejercicios sin hardware. También
puede sustituir el hardware mencionado anteriormente por otro diferente. Por ejemplo, puede utilizar un instrumento GPIB en lugar del Simulador de instrumentos
N
de NI u otro dispositivo DAQ de National Instruments conectado a un origen de señal, como un generador de funciones.
oh
C. Lo que necesita para empezar
Lecturas Recomendadas
n
tri nts
El material de lectura recomendada garantiza que todos los alumnos tengan un conocimiento mínimo de las teorías y conceptos clave relacionados con el curso
ció
LabVIEW Core 1. Para obtener el máximo rendimiento de este curso, complete todo el material de lectura recomendado antes del primer día de clase
Para acceder a cada uno del material de lectura recomendado, consulte ni.com/info y escriba el Código de Información que corresponda a cada tema:
dis me
LabVIEW Core 1 - El método de desarrollo de software (Código de Información: SoftDev)
bu
Introducción a la adquisición de datos (Código de Información: DAQ)
su tru
Tutorial de control de instrumentos GPIB (Código de Información: GPIB)
da Ins
Material del curso
Antes de empezar este curso, asegúrese de tener todos estos elementos:
Interfaz GPIB
Un cable serie
n
tri nts
Un cable GPIB
ció
CD del curso LabVIEW Core 1, que se instala en las siguientes carpetas:
dis me
Directorio Descripción
bu
Exercises Carpeta para guardar VI creados durante el curso y para completar ciertos ejercicios de éste; también incluye subVI necesarios
para algunos ejercicios y un archivo comprimido (NI Instrument Simulator.zip) que contiene el controlador de
instrumentos de LabVIEW para el Simulador de instrumentos de NI
su tru
Solutions Contiene las soluciones para todos los ejercicios del curso
da Ins
D. Instalación del software del curso
Complete estos pasos para instalar el software del curso.
1. Inserte el CD del curso en el ordenador. Aparecerán los cuadros de diálogo de LabVIEW Core 1 Course Setup.
ibi al
2. Haga clic en Install the course materials.
n
3. Siga las instrucciones en la pantalla para completar la instalación y configuración.
Pr atio
Nota Los nombres de carpetas entre corchetes angulares, como <Exercises>, hacen referencia a carpetas del directorio raíz de su ordenador.
N
oh
E. Objetivos del curso
Este curso le prepara para hacer lo siguiente:
n
tri nts
• Comprender los paneles frontales, los diagramas funcionales, los iconos y los paneles conectores
ció
• Usar las estructuras de programación y los tipos de datos existentes en LabVIEW
dis me
• Usar varias técnicas de edición y de depuración
bu
• Crear y guardar VIs para poder utilizarlos como subVI
su tru
• Crear aplicaciones que utilicen dispositivos DAQ
da Ins
Este curso no describe lo siguiente:
• Cada VI, función u objeto integrado; consulte la Ayuda de LabVIEW para obtener información adicional acerca de las funciones de LabVIEW no descritas en
este curso. ibi al
• Teoría analógica a digital (A/D)
n
• Funcionamiento del puerto de serie
Pr atio
• Desarrollar una aplicación completa para cualquier estudiante de la clase; consulte el NI Example Finder seleccionando Help»Find Examples, para ver ejemplos
N
n
tri nts
» El símbolo » le guía por elementos de menú anidados y opciones de cuadros de diálogo a una acción final. La secuencia
ció
Tools»Instrumentation»Find Instrument Drivers le guia a desplegar el menú Tools, seleccionar Instrumentation, y
finalmente seleccionar la opción Find Instrument Drivers.
dis me
Este icono indica un consejo, que le alerta de recomendaciones.
bu
Este icono indica una nota, que le alerta de información importante.
negrita El texto en negrita indica que debe seleccionar el software o hacer clic en él, como elementos de menú y opciones de cuadro
su tru
de diálogo. El texto en negrita denota también las secciones de los cuadros de diálogo y etiquetas de hardware.
cursiva El texto en cursiva indica variables, énfasis, una remisión o una introducción a un concepto clave. El texto en cursiva también
indica texto que es un parámetro de sustitución para una palabra o un valor que debe proporcionar.
da Ins
monospace El texto con esta fuente indica texto o caracteres que debe escribir con el teclado, secciones de código, ejemplos de
programación y ejemplos de sintaxis. Esta fuente también se utiliza para los nombres propios de unidades de disco, rutas,
directorios, programas, subprogramas, subrutinas, nombres de dispositivos, funciones, operaciones, variables, nombres de
archivos y extensiones.
ibi al
monospace bold El texto en negrita con esta fuente indica los mensajes y las respuestas que el ordenador imprime automáticamente en la
pantalla. Esta fuente también enfatiza líneas de código distintas de los otros ejemplos.
n
Pr atio
N
oh
Explorando LabVIEW
1
n
tri nts
ció
Complete los ejercicios en esta lección para reforzar los conceptos que aprendió en la lección 1 de LabVIEW Core 1.
dis me
Ejercicio
bu
Ejercicio 1-1 Concepto: Explorando un VI
su tru
Ejercicio 1-2 Concepto: Localizando controles, funciones y VIs
Ejercicio 1-3 Concepto: Usando la herramienta de selección.
Ejercicio 1-4 Concepto: Flujo de datos
da Ins
Ejercicio 1-5 VI AAP Simple
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
En grupo, identificar las partes de un VI existente.
ció
Descripción
dis me
Ha recibido un VI de un empleado que registra los segundos que tarda un avión en llegar a un aeropuerto y convierte el tiempo en una combinación de
bu
horas/minutos/segundos. Debe evaluar este VI para ver si funciona como se esperaba y poder mostrar el tiempo restante hasta que llegue el avión.
su tru
2. Abra Seconds Breakdown.vi de la ventana Project Explorer.
3. En el panel frontal, identifique estos elementos: ¿Cuántos de cada ítem puede encontrar?
da Ins
Controles
Indicadores
Panel de conectores
4. Para mostrar el panel frontal y el diagrama de bloques a la vez presione <Ctrl-T> o seleccione Window»Tile Up and Down o Window»Tile Left and Right.
Para cambiar entre la ventana del panel frontal y el diagrama de bloques sin cerrar las ventanas, presione <Ctrl-E>.
N
Consejo
oh
5. En el diagrama de bloques, identifique estos elementos. ¿Cuántos de cada ítem puede encontrar?
Controles
n
tri nts
Indicadores
ció
Constantes
Etiquetas libres
dis me
bu
6. Use la ayuda contextual para aprender más sobre los ítems en el diagrama de bloques.
Pulse <Ctrl-H> para abrir la ventana Context Help o seleccione Help»Show Context Help.
su tru
Mueva la ventana Context Help a una zona cómoda que no oculte parte del diagrama de bloques.
Coloque su cursor sobre cada uno de los cables de diferentes colores para ver que tipo de dato representan.
da Ins
El contenido de la ventana Context Help cambia para mostrar información sobre el objeto sobre el que está el ratón.
7. Obtenga ayuda detallada y vea ejercicios para la función Quotient & Remainder.
Coloque su cursor sobre la función Quotient & Remainder. Lea la ventana Context Help y haga clic en la liga Detailed Help para lanzar LabVIEW Help y
ibi al
aprenda más acerca de esta función.
n
Haga clic en la enlace Example en el tema de LabVIEW Help de Quotient & Remainder.
Pr atio
Haga clic en el botón Open Example al final de la ventana de ayuda para abrir un ejemplo que use la función Quotient & Remainder.
8. Refiérase a las figuras 1-1 y 1-2 para verificar que haya configurado todos los ítems correctamente.
Figura 1-1. Elementos del panel frontal
n
tri nts
3 4 5
ció
dis me
bu
su tru
da Ins
2
ibi al
n
Pr atio
N
1
oh
n
tri nts
ció
dis me
bu
1
su tru
3
5
da Ins
ibi al
n
4
Pr atio
n
tri nts
Haga clic en el botón Run.
ció
Compare en cada entrada las salidas dadas con las salidas de la tabla 1-1. Si el VI funciona correctamente, deben coincidir.
dis me
Tabla 1-1. Testing Values for Seconds Breakdown.vi
bu
Entrada Indicador numérico Indicador LED Indicador de cadena de caracteres
su tru
60 segundos 0 hours, 1 minute, 0 seconds Off Delay less than 1 hour
da Ins
3.665 segundos 1 hour, 1 minute, 5 seconds On Delay 1 hour or longer
Objetivo
n
tri nts
Aprenda a usar las paletas y buscar controles, funciones y VIs.
ció
Descripción
dis me
1. Abra un proyecto LabVIEW en blanco.
bu
Haga clic en el botón Create Project en la ventana de LabVIEW Getting Started y luego haga clic en Blank Project.
su tru
Haga clic en Finish.
da Ins
Haga clic con el botón derecho en My Computer en la ventana Project Explorer y seleccione New»VI en el menú contextual.
3. Seleccione View»Controls Palette del menú de la ventana del panel frontal del VI.
– Silver
– Signal Processing
N
Note que las tres paletas que seleccionó ahora aparecen en la ventana Controls.
oh
n
tri nts
Haga clic en el botón Search.
ció
Teclee string control en el cuadro de búsqueda.
Haga clic en el resultado de búsqueda String Control (Silver) y arrástrelo a la ventana del panel frontal para colocar el objeto.
dis me
6. Abra el diagrama de bloques y haga clic con el botón derecho en cualquier lugar en el diagrama de bloques para mostrar la paleta Functions.
bu
Haga clic en el pin en la esquina superior izquierda para mantener la paleta abierta.
su tru
Consejo Puede personalizar la paleta Functions igual como personaliza la paleta Controls.
da Ins
Ubique funciones trigonométricas.
– Haga clic en el botón Search.
– Busque el término cosine.
–
ibi al
En los resultados de la búsqueda, haga doble clic en Cosine <<Trigonometric Functions>> para mostrar la función en la paleta.
Ubique funciones E/S de archivos
n
– Busque el término file i/o.
Pr atio
– Haga doble clic en File I/O en los resultados de la búsqueda para mostrar la paleta File I/O.
– Arrastre la función Write to Text File de la paleta al diagrama de bloques.
8. Practique usando la función Quick Drop.
N
Use la función Quick Drop cuando sabe el nombre de la función o VI que quiere utilizar.
oh
n
tri nts
Busque la función Wait Until Next ms Multiple.
ció
Haga doble clic en la función en los resultados de la búsqueda y coloque la función en el diagrama de bloques.
dis me
bu
Escriba Random en la barra de búsqueda situada en la esquina superior derecha del diagrama de bloques.
Nota Mientras está escribiendo, la búsqueda global automáticamente busca coincidencias en la Ayuda de LabVIEW y en las paletas de LabVIEW.
su tru
También busca material en línea relacionado con su búsqueda.
Mueva el ratón sobre el primer resultado en la sección Palette, Random Number (0-1). Usted ahora ve las siguientes tres opciones:
da Ins
– Drop—le permite introducir inmediatamente esta función en el diagrama de bloques
Haga clic con el botón derecho en la función Add y observe que dispone de una paleta Numeric del menú contextual.
Objetivo
n
tri nts
Familiarizarse con la herramienta de selección automática y la paleta Tools en LabVIEW.
ció
Descripción
dis me
Durante este ejercicio completará tareas en un panel frontal y en un diagrama de bloques parcialmente creado. Estas tareas aportan experiencia para usar la selección
bu
automática de herramientas.
su tru
2. Abra el Using Temperature.vi desde la ventana Project Explorer.
da Ins
Consejo Presione <Shift> y haga clic con el botón derecho en el panel frontal para abrir la paleta Tools temporalmente.
Por defecto, LabVIEW selecciona herramientas por usted basado en el contexto de su cursor. Usted puede deshabilitar la herramienta de selección automática
haciendo clic en el botón Automatic Tool Selection en la ventana Tools.
ibi al
n
Pr atio
N
oh
La figura 1-3 muestra un ejemplo del panel frontal tras las modificaciones a realizar. En los pasos 4–8 puede incrementar el tamaño de un gráfico tipo “waveform
chart”, renombrar el control numérico, cambiar el valor del control numérico y mover la perilla.
Figura 1-3. Panel frontal del VI Using Temperature
n
tri nts
ció
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
Mueva el cursor al borde derecho del gráfico tipo “waveform chart” hasta que vea los nodos de cambio de tamaño alrededor del gráfico.
n
tri nts
Mueva el cursor al nodo de cambio de tamaño de la parte central izquierda hasta que el cursor cambie a una doble flecha, como se ve en la figura 1-4.
ció
Figura 1-4. Cambiar el tamaño del gráfico Waveform Chart
dis me
bu
su tru
da Ins
ibi al
Arrastre el punto de reposicionamiento hasta que el gráfico Waveform Chart tenga el tamaño deseado.
Haga doble clic en la palabra Chart. LabVIEW resalta la palabra y automáticamente selecciona la herramienta de etiquetado en la ventana Tools.
Complete la entrada haciendo clic en el botón Enter Text de la barra de herramientas o haciendo clic fuera del control.
N
oh
Note que LabVIEW automáticamente retorna a la herramienta de posicionamiento en la ventana Tools. La herramienta de posicionamiento es la herramienta
predeterminada. Si LabVIEW no cambia de nuevo a la herramienta de posicionamiento, haga clic en el botón Automatic Tool Selection en la ventana Tools
para habilitar la herramienta de selección automática.
6. Cambie el control Numeric a Number of Measurements usando la herramienta de etiquetado.
n
tri nts
Escriba el texto Number of Measurements.
ció
Complete la entrada haciendo clic en el botón Enter Text de la barra de herramientas o haciendo clic fuera del control.
7. Cambie el valor del control Number of Measurements a 100 usando la herramienta de etiquetado.
dis me
bu
Mueva el cursor al interior del control Number of Measurements.
Cuando el cursor cambie al icono de la herramienta de etiquetado, haga clic con el botón del ratón.
su tru
Escriba el texto 100.
Complete la entrada pulsando la tecla <Intro> en el teclado numérico, haciendo clic en el botón Enter Text de la barra de herramientas o haciendo clic fuera
da Ins
del control.
Configure el valor en 1.
Haga clic en el botón Automatic Tool Selection de nuevo para encender la herramienta de selección automática.
10. Intente cambiar el valor, el tamaño y el nombre de objetos hasta que se familiarice con estas herramientas.
n
tri nts
11. Abra el diagrama de bloques del VI.
ció
La figura 1-5 muestra un ejemplo del diagrama de bloques tras las modificaciones a realizar. Los pasos 12–13 le muestran como actualizar el diagrama de bloques
para mover el terminal Number of Measurements y cablear el terminal al terminal de contaje del bucle For.
dis me
Figura 1-5. Diagrama de bloques de Using Temperature VI
bu
su tru
da Ins
ibi al
12. Mueva el terminal Number of Measurements con la herramienta de posicionamiento.
n
Mueva el cursor al terminal Number of Measurements.
Pr atio
Mueva el cursor sobre el terminal hasta que el cursor cambie a una flecha.
N
Haga clic y arrastre el terminal a la nueva ubicación como se muestra en la figura 1-5.
oh
13. Cablee el terminal Number of Measurements al terminal de contaje para el bucle For utilizando la herramienta de cableado.
n
tri nts
Haga clic para iniciar el cable.
ció
Mueva el cursor al terminal de contaje (N) del bucle For.
dis me
bu
Haga clic en el terminal de contaje para terminar el cable.
su tru
14. Intente mover otros objetos, eliminar cables y volver a cablearlos y cablear objetos y cables hasta que se familiarice con estas herramientas.
da Ins
Haga clic en el botón Clean Up Diagram en la barra de herramientas de LabVIEW.
Nota Los controles e indicadores booleanos tienen etiquetas de texto booleanas además de sus etiquetas de control. Las etiquetas de texto booleanas
N
cambian dependiendo del valor del control o indicador. La etiqueta para el control o indicador no cambia dependiendo del valor del control o indicador.
oh
Haga clic con el botón derecho en el terminal Stop Button y seleccione Properties en el menú contextual. Configure las propiedades como se muestra en la
figura 1-6.
Figura 1-6. Cambiando el texto booleano por el control Stop
n
tri nts
ció
1
dis me
bu
su tru
da Ins
2
1 Etiqueta de control—Este texto identifica la terminal de un control booleano para propósitos de programación. Este texto no aparece en el panel frontal a menos
2
que seleccione Visible. ibi al
Texto booleano—Este texto aparece solo en el panel frontal y por defecto aparece en el centro del control booleano.
n
Haga clic en el botón OK para cerrar el cuadro de diálogo.
Pr atio
Haga clic con el botón derecho en la terminal Stop Button y seleccione Find Control en el menú contextual. Note que la etiqueta del control es Stop Button
y el texto del botón es End.
Consejo También puede hacer doble clic en el terminal Stop Button para encontrar el botón de control en el panel frontal.
N
oh
17. Haga clic en el botón Run para ejecutar el VI.
n
tri nts
El tiempo necesario para ejecutar este VI equivale a Number of Measurements por Delay Multipler. Cuando termine de ejecutarse el VI, los datos aparecerán
ció
en el gráfico Temperature Chart.
dis me
18. Cierre el VI y haga clic en el botón Don’t Save - All. No necesita guardar el VI.
bu
Fin del ejercicio 1-3
su tru
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Comprender cómo el flujo de datos determina el orden de ejecución en un VI.
ció
Discusiones de flujo de datos—Actividad grupal
dis me
En grupo, discutan cómo el flujo de datos determina el orden de ejecución. Puede encontrar las respuestas a las preguntas en la sección Discusiones de flujo de
bu
datos—Respuestas.
Nota Los nodos son objetos del diagrama de bloques que tienen entradas o salidas y realizan operaciones cuando se ejecuta un VI.
su tru
Usando la figura 1-7, responda las preguntas 1 hasta 5.
1. ¿Qué función se ejecuta primero? ¿Hay alguna dependencia entre la función File Dialog y el VI Express Simulate Signal?
da Ins
2. ¿Qué función se ejecuta la última?
3. Debido a que un cable verde conecta la función File Dialog al VI TDMS File Viewer, puede el VI TDMS File Viewer ejecutarse antes que la función TDMS
Close? ibi al
4. ¿Cuántos nodos deben ejecutarse antes que la función TDMS Write pueda ejecutarse?
n
Pr atio
N
oh
5. ¿Un diagrama de bloques bien diseñado debería fluir en una dirección en particular?
Figura 1-7. Ejemplo de diagrama de bloques
n
tri nts
ció
dis me
bu
su tru
6. En la figura 1-8, qué VI Express se ejecuta de último?
da Ins
Figura 1-8. Diagrama de bloques—Ejemplo simple de adquirir, analizar y presentar
ibi al
n
Pr atio
N
oh
7. En la figura 1-9 un cable de error (mostrado en amarillo) conecta los VIs Express. ¿Qué VI Express se ejecuta de último?
Figura 1-9. Diagrama de bloques—Ejemplo simple de AAP con cable de error.
n
tri nts
ció
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
8. En la figura 1-10, ¿Qué VI Express Tone Measurements se ejecuta de último?
Figura 1-10. Diagrama de bloques—Ejemplo de filtro
n
tri nts
ció
dis me
bu
su tru
da Ins
Discusiones de flujo de datos—Respuestas
ibi al
1. Cualquiera de los dos puede ejecutarse primero, ya sea la función File Dialog o el VI Express Simulate Signal. No hay dependencia de datos entre los dos nodos
por lo tanto cualquiera puede ejecutarse primero o se pueden ejecutar simultáneamente.
n
2. El último nodo en ejecutarse es el VI Simple Error Handler.
Pr atio
3. NO. El VI TDMS File Viewer no puede ejecutarse antes que la función TDMS Close por que el cable amarillo de error conectando la función TDMS Close y el
VI TDMS File Viewer fuerza dependencia de datos. Recuerde, los datos para cada una de las entradas deben estar disponibles antes que el nodo pueda ejecutarse.
Por lo tanto, el VI TDMS File Viewer debe recibir datos desde ambos el cable verde booleano y el cable amarillo de error antes que el VI pueda ejecutarse.
N
oh
4. Tres nodos deben ejecutarse antes que la función TDMS Write pueda ejecutarse: File Dialog, TDMS Open y Simulate Signal. La función TDMS Write también
depende de la constante de cadena de caracteres Simulated Signal pero esa entrada es instantánea.
5. Sí. Un diagrama de bloques bien diseñado, típicamente fluye de izquierda a derecha. Esto hace más fácil ver el flujo de los datos en el diagrama de bloques. Sin
embargo, no asuma que la ejecución sea de izquierda a derecha o de arriba a abajo cuando no hay dependencia de datos.
6. Cualquiera de los dos puede ejecutarse el último, ya sea el VI Express Statistics o el VI Express Write to Measurement File. El VI Express DAQ Assistant no
n
tri nts
puede ejecutarse el último porque ambos el VI Express Statistics y el VI Express Write to Measurement File son dependientes de la señal de datos de la salida
del VI Express DAQ Assistant.
ció
Nota En LabVIEW, el orden de ejecución de los mismos no está determinado por el orden secuencial de los comandos sino por el flujo de datos. Por lo
dis me
tanto, es posible tener operaciones simultáneas.
bu
7. El VI Express Write to Measurement File se ejecuta el último. Tiene una dependencia de datos en ambos el VI Express DAQ Assistant y VI Express Statistics.
su tru
8. Cualquiera de los dos VIs Express Tone Measurement puede ejecutarse el último. Aunque el VI Express Tone Measurements 2 tiene una dependencia extra en
el VI Express Filter, el VI Express Filter puede ejecutarse antes que el VI Express Tone Measurements 1 permitiendo que el VI Express Tone Measurements 2
se ejecute antes que el VI Express Tone Measurements 1. A pesar de que parece que el VI Express Tone Measurements 1 podría ejecutarse primero, sin una
dependencia de datos explicita no hay forma de saber definitivamente que se ejecutará primero.
da Ins
Fin del ejercicio 1-4
ibi al
n
Pr atio
N
oh
Ejercicio 1-5 VI AAP Simple
Objetivo
n
tri nts
Cree un VI simple que adquiera, analice y presente datos.
ció
Escenario
dis me
Debe adquirir una onda sinusoidal durante 0,1 segundo, determinar y mostrar el valor medio, registrar los datos y mostrar la onda sinusoidal en un gráfico.
bu
Diseño
su tru
La entrada de este problema es un canal analógico de datos de onda sinusoidal. Las salidas incluyen un gráfico de los datos sinusoidales, un archivo que guarda los
datos y un indicador que muestra el valor promedio de los datos.
da Ins
ibi al
n
Pr atio
N
oh
Diagrama de flujo
El diagrama de flujo en la figura 1-11 ilustra el diseño por flujo de datos.
Figura 1-11. Diagrama de flujo de VI AAP Simple
n
tri nts
ció
ACQUIRE ANALYZE PRESENT
dis me
bu
Acquire Data Display Data
su tru
da Ins
Log Data
ibi al
Determine Display Average
n
Average Value Value
Pr atio
N
oh
Arquitectura del programa: cuestionario
1. Adquirir: Rodee con un círculo el VI Express más indicado para adquirir una onda sinusoidal de un dispositivo de adquisición de datos.
n
tri nts
DAQ Assistant El DAQ Assistant adquiere datos mediante un dispositivo de adquisición de datos.
ció
dis me
Instrument I/O Assistant El Instrument I/O Assistant adquiere datos de control de instrumentos, normalmente desde una interfaz
GPIB o de serie.
bu
Simulate Signal El VI Express Simulate Signal genera datos simulados como una onda sinusoidal.
su tru
da Ins
2. Analizar: Rodee con un círculo el VI Express más indicado para determinar el valor medio de los datos adquiridos.
Medidas de tonos El VI Express Tone Measurements busca la frecuencia y la amplitud de un único tono.
Statistics
ibi al
n
El VI Express Statistics calcula los datos estadísticos de una forma de onda.
Pr atio
Amplitude and Level Measurements El VI Express Amplitude and Level Measurements mide la tensión en una señal.
3. Presentar: Rodee con un círculo los VIs Express o los indicadores que muestren mejor los datos en un gráfico y registren mejor esos datos en un archivo.
DAQ Assistant El DAQ Assistant adquiere datos mediante un dispositivo de adquisición de datos.
n
tri nts
ció
Write to Measurement File El VI Express Write to Measurement File escribe un archivo en formato de archivo LVM o TDM.
dis me
Build Text El VI Express Build Text crea texto, normalmente para mostrar en la ventana del panel frontal o para exportar
bu
a un archivo o instrumento.
su tru
Gráfico Waveform Graph El gráfico tipo “waveform graph” muestra uno o más puntos de mediciones muestreadas uniformemente.
da Ins
ibi al
n
Pr atio
N
oh
Arquitectura del programa: respuestas al cuestionario
1. Adquirir: Use el DAQ Assistant para adquirir la onda sinusoidal desde el dispositivo de adquisición de datos.
2. Analizar: Use el VI Express Statistics para determinar el valor medio de la onda sinusoidal. Como esta señal es cíclica, también podría utilizar la opción Cycle
n
tri nts
Average en el VI Express Amplitude and Level Measurements para determinar el valor medio de la onda sinusoidal.
ció
3. Presentar: Use el VI Express Write to Measurement File para registrar los datos y use un gráfico tipo Waveform Graph para mostrar los datos en la ventana del
panel frontal.
dis me
bu
Implementación
1. Prepare el hardware para generar una onda sinusoidal. Si no está utilizando hardware, salte al paso 2.
su tru
Busque el BNC 2120 y confirme visualmente que esté conectado al dispositivo DAQ de su ordenador.
Con un cable BNC, conecte el Analog In Channel 1 al Sine Function Generator, como se ve en la figura 1-12.
da Ins
Configure el conmutador Frequency Selection y la perilla Frequency Adjust en sus valores mínimos.
ibi al
n
Pr atio
N
oh
n
tri nts
AI 3 PWR
! BNC-2120
1 RES BNC
TIMING I/O
2
ció
3
PFI 0 / P1.0
4
1. RES+
2. AI GND
3. AI SENSE
dis me
4. RES-
bu
PULSES
UP/DN
AI 0 AI 1
su tru
PFI 1 / P1.1
FS GS FS GS
PFI 2 / P1.2
PFI 3 / P1.3
PFI 4 / P1.4
PFI 5 / P1.5
AI 2 AI 3
PFI 6 / P1.6
FS GS FS GS
da Ins
PFI 7 / P1.7
PFI 8 / P2.0
PFI 9 / P2.1
PFI 12 / P2.4
AI 4 AI 5 PFI 13 / P2.5
FS GS FS GS
PFI 14 / P2.6
+5 V
D GND
ibi al
n
FS
AI 6
GS FS
AI 7
GS
USER-DEFINED
SIGNALS*
ANALOG OUTPUTS
USER 1
USER 2
Pr atio
AO
AO 0 AO 1
DIGITAL I/O
P0.6
P0.5
N
P0.4
P0.3
Sine /Triangle TTL Square Wave
oh
P0.2
P0.1
P0.0
D GND
LO HI LO HI
Amplitude Adjust Frequency Adjust
2. Abra LabVIEW.
3. Abra un proyecto en blanco. Guarde el proyecto como Simple AAP.lvproj en el directorio <Exercises>\LabVIEW Core 1\Simple AAP.
n
tri nts
4. Añada un VI nuevo al proyecto desde la ventana Project Explorer y guarde el VI como Simple AAP.vi en el directorio <Exercises>\LabVIEW
Core 1\Simple AAP.
ció
En los pasos 5–6 creará una ventana de panel frontal similar a la de la figura 1-13.
dis me
Figura 1-13. Ventana de panel frontal de adquirir, analizar y presentar
bu
su tru
da Ins
ibi al
5. Añada un gráfico tipo “waveform graph” a la ventana del panel frontal para mostrar los datos adquiridos.
n
Pr atio
Teclee Waveform en el cuadro de texto y haga doble clic en Waveform Graph (Silver) en la lista de resultados de la búsqueda.
6. Añada un indicador numérico a la ventana del panel frontal para mostrar los valores medios.
oh
n
tri nts
En los pasos 7–14 creará un diagrama de bloques similar al de la figura 1-14.
ció
Figura 1-14. Diagrama de bloques de adquirir, analizar y presentar
dis me
bu
su tru
da Ins
7. Abra el diagrama de bloques del VI.
ibi al
n
Seleccione Window»Show Block Diagram.
Pr atio
Nota Las terminales correspondientes a los nuevos objetos de la ventana del panel frontal aparecen en el diagrama de bloques.
8. Adquiera una forma de onda sinusoidal por 0.1 segundos siguiendo las instrucciones en la tabla 1-2. Si tiene hardware instalado, siga las instrucciones de la
columna Hardware instalado para adquirir los datos utilizando el DAQ Assistant. Si no tiene hardware instalado, siga las instrucciones de la columna No hay
N
hardware instalado para simular adquirir los datos utilizando el VI Express Simulate Signal.
oh
Tabla 1-2. Instrucciones para adquirir o simular datos
n
tri nts
1. Presione <Ctrl-Space> para abrir el cuadro de diálogo Quick Drop. 1. Presione <Ctrl-Space> para abrir el cuadro de diálogo Quick Drop.
ció
2. Teclee DAQ Assistant en el cuadro de texto y haga doble clic en DAQ 2. Teclee Simulate Signal en el cuadro de texto y haga doble clic en
Assistant en los resultados de la búsqueda. Simulate Signal en la lista de resultados de la búsqueda.
dis me
3. Coloque el DAQ Assistant en el diagrama de bloques. 3. Coloque el VI Express Simulate Signal en el diagrama de bloques.
bu
4. Espere a que se abra el cuadro de diálogo DAQ Assistant. 4. Espere a que se abra el cuadro de diálogo Simulate Signal.
5. Seleccione Acquire Signals»Analog Input»Voltage para el tipo de 5. Seleccione Sine para el tipo de señal.
su tru
medición.
6. Seleccione ai1 (canal de entrada analógica 1) para el canal físico. 6. Configure la frecuencia de señal en 100.
da Ins
7. Haga clic en el botón Finish. 7. En la sección Timing, ajuste Samples per second (Hz) en 1000.
8. En la sección Timing Settings, seleccione N Samples como Acquisition 8. En la sección Timing, deseleccione Automatic para el Number of
Mode. samples.
9. En la sección Timing Settings, escriba 100 en Samples To Read.
ibi al 9. En la sección Timing, ajuste Number of samples en 100.
10. Introduzca 1000 en Rate (Hz). 10. En la sección Timing, seleccione la opción Simulate acquisition timing.
n
11. Haga clic en el botón OK. 11. Haga clic en el botón OK.
Pr atio
Consejo Si lee 100 muestras a 1.000 Hz, recuperará el valor de datos de 0,1 segundo.
9. Use el VI Express Statistics para determinar el valor medio de los datos adquiridos.
Teclee statistics en el cuadro de texto y haga doble clic en Statistics [NI_ExpressFull.lvlib] en la lista de resultados de la búsqueda.
Coloque el VI Express Statistics en el diagrama de bloques a la derecha del DAQ Assistant (o VI Express Simulate Signal).
n
tri nts
Haga clic en el botón OK.
ció
10. Registre los datos sinusoidales generados en un archivo de medición de LabVIEW.
dis me
bu
Teclee write to measurement en el cuadro de texto y haga doble clic en Write to Measurement File en la lista de resultados de la búsqueda.
Añada el VI Express Write to Measurement File al diagrama de bloques bajo el VI Express Statistics.
su tru
Espere a que se abra el cuadro de diálogo del VI Express Write to Measurement File.
Deje todas las opciones de configuración en el cuadro de diálogo Write to Measurement File sin cambios.
da Ins
Haga clic en el botón OK.
Nota Los próximos ejercicios no detallan las indicaciones para encontrar funciones concretas o controles en las paletas. Use la función Quick Drop o la
búsqueda global para encontrar funciones y controles.
ibi al
11. Cablee los datos del DAQ Assistant (o VI Express Simulate Signal) al VI Express Statistics.
n
Coloque el cursor del ratón sobre la salida data del DAQ Assistant (o la salida Sine del VI Express Simulate Signal) donde el cursor cambie a la herramienta
de cableado.
Pr atio
Coloque el cursor del ratón sobre la entrada Signals del VI Express Statistics y haga clic en el botón del ratón para terminar el cable.
N
Coloque el cursor del ratón sobre el cable de salida data del DAQ Assistant (o la salida Sine del VI Express Simulate Signal) donde el cursor cambie a la
herramienta de cableado.
13. Cablee la salida Arithmetic Mean del VI Express Statistics al indicador numérico Average Value.
n
tri nts
Coloque el cursor del ratón sobre la salida Arithmetic Mean del VI Express Statistics donde el cursor cambia a la herramienta de cableado.
ció
Haga clic en el botón del ratón para iniciar el cable.
Coloque el cursor del ratón sobre el indicador numérico Average Value y haga clic en el botón del ratón para terminar el cable.
dis me
bu
14. Cablee la salida data a la entrada Signals del VI Express Write Measurement File.
Coloque el cursor del ratón sobre el cable de salida data del DAQ Assistant (o la salida Sine del VI Express Simulate Signal) donde el cursor cambie a la
su tru
herramienta de cableado.
da Ins
Coloque el cursor del ratón sobre la entrada Signals del VI Express Write Measurement File y haga clic en el botón del ratón para terminar el cable.
Nota Los siguientes ejercicios no ofrecerán indicaciones para cablear entre objetos.
2. Configure las propiedades del gráfico para poder ver la onda sinusoidal.
Haga clic con el botón derecho en el gráfico tipo “waveform graph” y seleccione X Scale»Autoscale X para desactivar la escala automática.
Haga clic con el botón derecho en el gráfico tipo “waveform graph” y seleccione Visible Items»X Scrollbar para activar la escala X.
N
Use la herramienta de etiquetado para cambiar el último número de la escala Time del gráfico tipo “waveform graph” a .1.
oh
3. Guarde el VI.
4. Ejecute el VI.
n
tri nts
El indicador del gráfico debe mostrar una onda sinusoidal y el indicador Average Value debe mostrar un número alrededor de cero. Si el VI no se ejecuta según lo
esperado, revise los pasos de implementación.
ció
5. Cierre el VI.
dis me
Fin del ejercicio 1-5
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
Resolución de problemas y depuración de VIs
2
n
tri nts
ció
Complete el ejercicio en esta lección para reforzar los conceptos que aprendió en la lección 2 de LabVIEW Core 1.
dis me
Ejercicio
bu
Ejercicio 2-1 Concepto: Depuración
su tru
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Use las herramientas de depuración de LabVIEW.
ció
Descripción
dis me
Los VIs en este ejercicio verifican la validez de un triángulo y luego calculan el área. Para que un triángulo sea válido, los tres lados deben tener un tamaño mayor a
bu
cero. El subVI en este ejercicio usa la fórmula de Heron para calcular el área de un triángulo. Usted puede usar este método cuando conoce los tamaños de los tres
lados del triángulo.
su tru
Fórmula de Heron
A = s( s – a)( s – b)( s – c )
da Ins
donde
a+b+c
s = ---------------------
2
ibi al
Los valores predeterminados que usará para depurar y probar este VI son Side A = 6, Side B = 8, Side C = 10. Por lo tanto los valores correctos son los siguientes:
6 + 8 + 10
n
s = ------------------------ = 12
2
Pr atio
A = 12 × 6 × 4 × 2 = 24
Complete las siguientes secciones para identificar y solucionar problemas en modo de edición y en modo de ejecución. Use la ejecución paso a paso y el resaltado de
N
la ejecución para revisar el VI. Use puntos de interrupción y sondas para determinar si los cálculos son correctos y descubrir dónde se origina un error.
oh
Errores en modo de edición
Ubique y corrija errores que no permiten que el VI se ejecute.
n
tri nts
ció
Abra Debug.lvproj en el directorio <Exercises>\LabVIEW Core 1\Debugging.
dis me
Figura 2-1. Panel frontal del VI Area and Validity of Triangle
bu
su tru
da Ins
ibi al
n
Pr atio
N
Note que el botón Run de la barra de herramientas aparece roto, indicando que el VI está roto y no puede ejecutarse.
oh
2. Examine el diagrama de bloques del VI Area and Validity of Triangle mostrado en la figura 2-2.
Este VI toma valores de entrada para cada uno de los tres lados del triángulo, pasa los valores a un subVI que determina el área y revisa que los valores ingresados
son válidos para un triángulo.
Figura 2-2. Diagrama de bloques del VI Area and Validity of Triangle
n
tri nts
ció
dis me
bu
su tru
da Ins
3. Busque y solucione cada error.
Haga clic en el botón Run roto para ver la ventana Error list, que enumera todos los errores.
ibi al
Seleccione una descripción de error en la ventana Error list. La sección Details describe el error y en algunos casos recomienda cómo corregirlo.
n
Haga clic en el botón Help para ver un tema de LabVIEW Help que describa el error en detalle e incluya instrucciones paso a paso para corregirlo.
Pr atio
Haga clic en el botón Show Error o haga doble clic en la descripción del error para resaltar la zona del diagrama de bloques o del panel frontal que contenga
el error.
Nota Haga doble clic en el subVI Area of a Triangle para abrirlo. En el VI Area of a Triangle, note que la fórmula para calcular el área de un triángulo
oh
requiere la suma de los lados dividido entre 2. Haga clic con el botón derecho en la entrada y de la función de división y seleccione Create»Constant e
ingrese un valor de 2.
1. Pruebe el VI.
n
tri nts
ció
Abra el panel frontal haciendo clic en él o seleccionando Window»Show Front Panel.
Use los valores predeterminados para cada lado. Estos valores son medidas válidas para un triángulo.
dis me
Ejecute el VI.
bu
Note que a pesar los números que ingrese son válidos, el LED no está iluminado y el indicador Area of a Triangle muestra NaN.
su tru
2. Anime el flujo de datos a través del diagrama de bloques.
da Ins
Haga clic en el botón Highlight Execution en la barra de herramientas para habilitar el resaltado de la ejecución.
ibi al
Haga clic en el botón Retain Wire Values en la barra de herramientas para que pueda ver el último valor que pasó por el cable.
n
Pr atio
Ejecute el VI.
Note como los datos fluyen por los cables. A la salida de cada nodo, puede ver que el valor de los datos se muestra momentáneamente. Debido a que el botón
Retain Wire Values está habilitado, puede ver el último valor en el cable.
N
oh
Haga clic con el botón derecho en cada una de las entradas de la función Compound Arithmetic y seleccione Probe. Esto muestra la ventana de visualización
de sondas.
n
tri nts
Note que uno de los valores de un cable es False como se muestra en la figura 2-3.
ció
Figura 2-3. Cables de sondas
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
Dado que está comprobando que los valores de los tres lados del triángulo son positivos, el valor de entrada o la lógica son incorrectos. Los valores de entrada
eran todos números positivos, eso significa que la lógica es incorrecta.
Note que el nodo que devuelve un valor de False es una función Less than Zero? pero esta sección del código debería estar revisando si el valor es mayor
n
tri nts
que cero.
ció
Haga clic con el botón derecho en la función Less than Zero? y seleccione Replace»Comparison Palette»Greater than Zero?.
dis me
4. Pruebe el VI.
bu
Ejecute el VI.
su tru
Abra el panel frontal. Note que el Valid Triangle? LED está iluminado pero el indicador Area of Triangle aun devuelve NaN.
El área del triángulo es calculada en el subVI, así que debe continuar depurando en el subVI Area of a Triangle.
da Ins
5. Continúe depurando el subVI.
Haga clic en el botón Step Into para iniciar la ejecución paso a paso del VI. La ejecución resaltada muestra el flujo de datos en el diagrama de bloques de un
ibi al
nodo a otro. Los nodos parpadean para indicar que están listos para ejecutarse.
n
Pr atio
Haga clic en el botón Start Single Stepping después de cada nodo para revisar todo el diagrama de bloques. Cada vez que haga clic en el botón Step Over,
se ejecutará el nodo actual y se pausará en el siguiente nodo.
N
oh
Cuando llegue al subVI, haga clic en el botón Step Into para abrir el diagrama de bloques del subVI Area of Triangle. El subVI está pausado.
Encienda las opciones de resaltado de ejecución y retener los valores de los cables en el subVI.
Haga clic con el botón derecho en la función e Square Root y seleccione Breakpoint»Set Breakpoint como se muestra en la figura 2-4.
Figura 2-4. Establezca puntos de interrupción
n
tri nts
ció
dis me
1
bu
su tru
1 El punto de interrupción detiene el VI luego que el nodo Square Root se ejecuta y antes que el valor sea enviado al indicador Area of Triangle.
6. Haga clic en el botón rojo de pausa para continuar la ejecución del VI.
da Ins
El VI continua ejecutándose hasta el punto de interrupción y luego se pausa de nuevo.
Mueva el cursor sobre el cable de entrada de la función Square Root. Debería ver una etiqueta de ayuda con un valor de –576. No se puede tomar la raíz
ibi al
cuadrada de un número negativo, lo cual es la razón por la que el indicador Area of Triangle devuelve NaN.
n
Consejo Si no puede ver la ayuda, puede hacer clic en el cable para abrir la ventana de visualización de sondas para ver los valores.
Pr atio
Coloque el puntero sobre otros cables o use la ventana de visualización de sondas para examinar otros valores intermedios.
Note que el valor en el cable (S-B) es también un número negativo. Si mira más de cerca, notará que las entradas de la función de resta están invertidas.
Consejo Presione <Ctrl> y haga clic en una de las entradas para intercambiarlas. Cuando presione <Ctrl> y coloca el cursor sobre una entrada, puede
ver como este cambia.
8. Guarde el VI.
n
tri nts
Ejecute de nuevo el VI.
ció
Revise los valores intermedios mientras el VI se ejecuta o coloque el cursor sobre los cables luego de pausarlo en el punto de interrupción y verifique que los
valores devueltos están correctos. La función de raíz cuadrada debe devolver un valor de 24.
dis me
Haga clic con el botón derecho en el punto de interrupción y seleccione Breakpoint»Clear Breakpoint.
bu
Apague el resaltado de la ejecución en los VIs Area of Triangle y Area and Validity of a Triangle.
su tru
Guarde ambos VIs.
Prueba
da Ins
1. Pruebe el VI Area and Validity of a Triangle usando los valores para Side A, Side B y Side C en la tabla 2-1. Para cada grupo de valores, el VI debe devolver el
valor mostrado en la columna Area.
Side A
ibi al Side B Side C Area
24 30 18 216
n
12 12 12 62.35
Pr atio
15 20 25 150
n
tri nts
ció
Complete los ejercicios en esta lección para reforzar los conceptos que aprendió en la lección 3 de LabVIEW Core 1.
dis me
Ejercicio
bu
Ejercicio 3-1 VI Temperature Warnings
su tru
Ejercicio 3-2 VI Auto Match
Ejercicio 3-3 Concepto: Bucles While frente a bucles For
Ejercicio 3-4 VI Temperature MonitorI—Temperatura media
da Ins
Ejercicio 3-5 VI Temperature Monitor—Grafique múltiples temperaturas
Ejercicio 3-6 VI Temperature Warnings—con gestión de errores
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Crear y documentar un VI sencillo.
ció
Escenario
dis me
Debe crear una parte de un proyecto mayor. El desarrollador principal le proporciona las entradas del VI, el algoritmo y las posibles salidas. Su tarea es crear y
bu
documentar un VI en función de un diseño dado.
su tru
Diseño
Use el siguiente diagrama de flujo y la lista de entradas/salidas para crear un VI que muestre advertencias de temperatura. Este VI forma parte del proyecto de la
estación meteorológica de temperatura estudiado durante el curso.
da Ins
ibi al
n
Pr atio
N
oh
Diagrama de flujo
El diagrama de flujo en la figura 3-1 ilustra el diseño por flujo de datos.
Figura 3-1. Diagrama de flujo del VI Temperature Warnings
n
tri nts
ció
dis me
Current Temp
>= Max Temp? No
bu
Yes
su tru
Warning Text =
Warning Text =
Heatstroke
No Warning
Warning
da Ins
Current Temp
No
<= Min Temp?
ibi al
n Yes
Warning
Text = No No
Warning?
Yes
N
oh
Entradas y salidas
La siguiente tabla describe las entradas y salidas para este ejercicio.
n
tri nts
Tabla 3-1. Entradas y salidas del VI Temperature Warnings
ció
Tipo Nombre Propiedades
dis me
Control numérico Temperatura máxima Doble precisión y coma flotante
bu
Control numérico Temperatura mínima Doble precisión y coma flotante
su tru
Indicador de cadena de Warning Text Tres valores potenciales: Heatstroke Warning, No Warning, Freeze Warning
caracteres
Indicador LED redondo Warning? —
da Ins
Implementación
Complete los siguientes pasos para crear un panel frontal similar al de la figura 3-2. El usuario introduce la temperatura actual, la máxima y la mínima. A continuación,
el panel frontal muestra la cadena de caracteres de advertencia y el LED booleano de advertencia.
ibi al
1. Cree un proyecto LabVIEW nuevo y añada un VI nuevo al proyecto.
n
Seleccione File»New del menú de LabVIEW y luego seleccione Project»Empty Project del árbol Create New.
Pr atio
Haga clic con el botón derecho en My Computer en la ventana Project Explorer y seleccione New»VI para abrir un VI nuevo.
n
tri nts
Figura 3-2. Panel frontal del VI Temperature Warnings
ció
dis me
1
bu
4
su tru
2
3
da Ins
1 Control numérico—Haga clic con el botón derecho y seleccione Representation»DBL para confirmar que el control numérico es de doble precisión.
2
3
ibi al
Cree copias del control numérico Current Temperature presionando y sosteniendo la tecla <Ctrl> y arrastrando el control Current Temperature.
Indicador de cadena de caracteres—Cambie el tamaño del indicador para que pueda contener cadenas de caracteres más largas.
n
4 LED redondo
Pr atio
Consejo Este subVI podría utilizarse para Fahrenheit, Kelvin u otra escala de temperatura, siempre que todas las entradas utilicen la misma escala. Por
lo tanto, no es necesario añadir unidades de escala a las etiquetas.
N
oh
n
tri nts
1 4 6
ció
dis me
bu
su tru
2 3 5
da Ins
1 Greater or Equal?—Compara valores de entrada y devuelve un valor TRUE si Current Temperature es mayor o igual a Max Temperature.
2 Less or Equal?—Compara valores de entrada y devuelve un valor TRUE si Current Temperature es menor o igual a Max Temperature.
3 Constante de cadena de caracteres—Cree constantes de cadena de caracteres para Heatstroke Warning, Freeze Warning y No Warning.
4 Select—Devuelve la cadena de caracteres Heatstroke Warning si Current Temperature es mayor o igual a Max Temperature; de otra forma devuelve la
cadena de caracteres No Warning. ibi al
5 Select—Devuelve la cadena de caracteres Freeze Warning si Current Temperature es menor o igual a Min Temperature; de otra forma devuelve la cadena
de caracteres No Warning.
n
6 Not Equal?—Devuelve un valor TRUE al indicador Warning? si el valor Warning Text es diferente a No Warning.
Pr atio
4. Modifique la descripción y consejo asociados con el indicador Warning Text para cambiar el contenido de la ventana Context Help.
Seleccione Window»Show Front Panel para abrir el panel frontal del VI.
N
Escriba Muestra la cadena de caracteres indicando Heatstroke Warning, Freeze Warning o No Warning dependiendo de las
condiciones del clima en el cuadro de texto “Warning Text” Description.
n
tri nts
Nota El texto que ingrese en la caja de texto “Warning Text” Tip es mostrado en una etiqueta de ayuda. Las ayudas son breves descripciones que
ció
aparecen cuando mueve el cursor sobre un control o indicador mientras se ejecuta un VI.
dis me
Haga clic en el botón OK.
bu
Mueva el ratón sobre el indicador Warning Text.
Compruebe que el contenido de la ventana Context Help cambió para coincidir con el texto que escribió en el cuadro de diálogo Description and Tip.
su tru
5. Documente el diagrama de bloques usando etiquetas propietarias y etiquetas libres.
da Ins
Añada etiquetas propietarias y etiquetas libres en el diagrama como se muestra en la figura 3-4.
Las etiquetas propietarias son propiedad de un objeto específico. Usted puede esconder las etiquetas propietarias y moverlas pero no puede copiarlas o
borrarlas independientemente de sus propietarios.
ibi al
n
Pr atio
N
oh
n
tri nts
2
4
ció
dis me
1
bu
su tru
3
1 Etiquetas propietarias—Haga clic con el botón derecho en una función y seleccione Visible Items»Label en el menú contextual para mostrar la etiqueta
propietaria para esa función.
da Ins
2 Mueva la etiqueta—Haga clic en la etiqueta propietaria de la función Greater or Equal? con la herramienta de posicionamiento y muévala abajo de la función.
3 Función de mover—Use la herramienta de posicionamiento para mover la función. Note que la etiqueta propietaria se mueve con la función.
4 Etiqueta propietaria—Haga clic con el botón derecho en el cable y seleccione Visible Items»Label en el menú contextual. Mueva la etiqueta con la herramienta
de posicionamiento.
5
ibi al
Etiqueta libre—Haga doble clic en un área libre del diagrama de bloques y use la herramienta de etiquetado para crear comentarios en el código.
6. Documente las propiedades del VI, ofreciendo una descripción general del VI, una lista de entradas y salidas, su nombre y la fecha en que se creó el VI. Para
n
accesar el cuadro de diálogo VI Properties, seleccione File»VI Properties y seleccione Documentation del menú desplegable Category.
Pr atio
7. Guarde el VI.
N
oh
Prueba
1. Pruebe el VI introduciendo un valor para Current Temperature, Max Temperature y Min Temperature y ejecutando el VI para cada configuración.
n
tri nts
La tabla 3-2 muestra la cadena esperada Warning Text y Warning? Valor booleano de cada configuración de valores de entrada.
ció
Nota El rango de temperatura en la tabla es solo un ejemplo de temperaturas seleccionadas para indicar advertencias de congelamiento o golpe de calor.
dis me
Tabla 3-2. Probar valores para el VI Temperature Warnings
bu
Temperatura Actual Temperatura máxima Temperatura mínima Warning Text Warning?
su tru
30 30 10 Heatstroke Warning Verdadero
25 30 10 No Warning Falso
10 30 10 Verdadero
da Ins
Freeze Warning
¿Qué ocurre si el valor de su entrada de temperatura máxima es menor que la temperatura mínima? ¿Qué podría esperar que ocurriese? Va a aprender a manejar
situaciones como esta en el ejercicio 3-6.
Objetivo
n
tri nts
Usar un bucle While y un terminal de iteración y pasar datos por un túnel.
ció
Escenario
dis me
Cree un VI que genere continuamente números aleatorios entre 0 y 1.000 hasta que genere un número que coincida con el que seleccione el usuario. Determine cuántos
bu
números aleatorios generó el VI antes de que el número coincidiera.
su tru
Diseño
Use el siguiente diagrama de flujo y la lista de entradas/salidas para crear el VI de este ejercicio.
da Ins
ibi al
n
Pr atio
N
oh
Diagrama de flujo
El diagrama de flujo en la figura 3-5 ilustra el diseño por flujo de datos.
Figura 3-5. Diagrama de flujo de Auto Match
n
tri nts
ció
dis me
Generate a
bu
Random Number No
Between 0 and 1
su tru
da Ins
Multiply by 1000
ibi al
Round to Nearest
Integer Value
n
Display Value
to User
= Number
to Match?
Yes
Add 1 to
Iteration
Terminal
Pr atio
Display Number
of Iterations
N
oh
Entradas y salidas
La siguiente tabla describe las entradas y salidas para este ejercicio.
n
tri nts
Tabla 3-3. Entradas y salidas del VI Auto Match
ció
Tipo Nombre Propiedades
Control numérico Number to Match Doble precisión, coma flotante entre 0 y 1000, convertir al número natural más
dis me
cercano, valor predeterminado = 50
bu
Indicador numérico Current Number Doble precisión y coma flotante
su tru
Implementación
1. Cree y guarde un proyecto en blanco como Auto Match.lvproj en el directorio <Exercises>\LabVIEW Core 1\Auto Match.
da Ins
2. Cree un VI nuevo en el proyecto y guárdelo como Auto Match.vi en el mismo directorio del proyecto.
ibi al
n
Pr atio
N
oh
3. Construya el panel frontal de la figura 3-6.
Figura 3-6. Panel frontal del VI Auto Match
n
tri nts
ció
1
dis me
bu
su tru
2
da Ins
1 Configure el valor predeterminado del control Number to Match en 50—Ingrese 50 en el control Number to Match y luego haga clic con el botón derecho en
el control y seleccione Data Operations»Make Current Value Default.
2 Configure el indicador Number of Iterations para que su salida sea un entero largo con signo—Haga clic con el botón derecho en el indicador y seleccione
Representation»I32.
4. Configure las propiedades del control Number to Match para que el tipo de dato sea un número entero sin signo de 32-bits, el intervalo de datos sea de 0 a 1000,
ibi al
el valor de incremento sea 1 y los dígitos de precisión sean 0.
n
Haga clic con el botón derecho en el control Number to Match y seleccione Representation»U32 en el menú contextual.
Pr atio
N
oh
Haga clic con el botón derecho en el control Number to Match y seleccione Data Entry en el menú contextual. Establezca las propiedades en las pestañas
Data Entry y Display Format como se muestra en la figura 3-7.
Figura 3-7. Propiedades numéricas de Number to Match
n
tri nts
ció
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
1 2
Haga clic con el botón derecho en el indicador Current Number y seleccione Representation»U32 en el menú contextual.
n
tri nts
Haga clic con el botón derecho en el indicador Current Number y seleccione Display Format. Configure las propiedades como se muestra en la figura 3-8.
ció
Figura 3-8. Propiedades de formato del indicador Current Number
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
n
tri nts
1 2 9
ció
dis me
bu
su tru
da Ins
3 4 5 6 7 8
6 Bucle While—Repite el algoritmo hasta que la función Equal? devuelve un TRUE por que la función Equal? está cableada a la terminal condicional, la cual
está configurada para detenerse con un valor TRUE.
7 Terminal de iteraciones—Cada vez que se ejecute el bucle, la terminal de iteración aumentará en uno.
8 Incremento—Suma 1 a la cuenta del bucle While por que las iteraciones empiezan en 0.
9 Puntos de coerción—Puntos de coerción rojos aparecen en los nodos del diagrama de bloques cuando conecta un cable de tipo numérico a una terminal de
N
un tipo numérico diferente. En este caso, la salida de Round To Nearest es un coma flotante de doble precisión pero Current Number es un número entero.
oh
Consejo Los puntos de coerción pueden causar que un VI use más memoria durante su ejecución, así que trate de mantener los tipos de datos consistentes
en los VIs que cree.
7. Actualice el VI para eliminar los puntos de coerción.
Haga clic con el botón derecho en el cable la función Round To Nearest y seleccione Insert»Numeric Palette»Conversion»To Unsigned Long Integer
como se muestra en la figura 3-10. Esto inserta la función To Unsigned Long Integer en el cable.
n
tri nts
Figura 3-10. Insertando la función To Unsigned Long Integer en el cable
ció
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
8. Note que convertir la salida de la función Round To Nearest elimina todos los puntos de coerción en el diagrama de bloques, como se muestra en la figura 3-11.
Figura 3-11. VI Auto Match Completo
n
tri nts
ció
dis me
bu
su tru
9. Abra el panel frontal.
da Ins
10. Haga clic con el botón derecho en el indicador Current Number y seleccione Advanced»Synchronous Display.
Nota Si se habilita la visualización sincrónica, cada vez que el diagrama de bloques envíe un valor al indicador Current Number, el diagrama de bloques
deja de ejecutarse hasta que el panel frontal haya actualizado el valor del indicador. En este ejercicio activa la visualización síncrona, de modo que puede
ver el indicador Current Number actualizándose repetidamente en el panel frontal. Normalmente la visualización síncrona se deshabilita para aumentar
ibi al
la velocidad de ejecución, ya que habitualmente no necesita ver cada valor actualizado de un indicador en el panel frontal.
n
11. Guarde el VI.
Pr atio
Prueba
1. Cambie el número en Number to Match a un número que se encuentre en el rango de datos, que es de 0 a 1000 con un incremento de 1.
2. Ejecute el VI.
N
3. Cambie el valor de Number to Match y ejecute el VI de nuevo. Current Number se actualiza en cada iteración del bucle porque se encuentra dentro de él. Number
oh
En el diagrama de bloques, haga clic en el botón Highlight Execution para habilitar el resaltado de ejecución. El resaltado de la ejecución muestra el
movimiento de datos en el diagrama de bloques desde un nodo a otro para que pueda ver cada número según lo genera el VI.
n
tri nts
ció
5. Ejecute el VI y observe el flujo de datos.
dis me
bu
6. Apague el resaltado de la ejecución para terminar la ejecución del VI rápidamente.
7. Intente hacer coincidir un número que se encuentre fuera del rango de datos.
su tru
Cambie el valor Number to Match a un número que se encuentre fuera del rango, 0 – 1000.
Ejecute el VI.
da Ins
Note que LabVIEW coacciona el valor fuera del rango al valor más cercano en el rango de datos que especifique en el paso 4 de la sección Implementación.
8. Cierre el VI.
Objetivo
n
tri nts
Comprender cuándo se usa un bucle While y cuándo uno For.
ció
Descripción
dis me
En los siguientes escenarios, decida si usar un bucle While o For.
bu
Escenario 1
su tru
Adquiere datos de presión en un bucle que se ejecuta una vez cada segundo durante un minuto.
da Ins
2. Si usa un bucle For, ¿cuántas iteraciones necesita ejecutar el bucle?
n
tri nts
ció
2. Si usa un bucle For, ¿cuántas iteraciones necesita ejecutar el bucle?
dis me
3. ¿Resulta más fácil implementar un bucle For o un bucle While?
bu
su tru
Escenario 4
Genera una rampa de tensión que comienza en cero, aumentando incrementalmente en 0,5 V cada segundo, hasta que la tensión de salida es igual a 5 V.
da Ins
1. Si usa un bucle While, ¿qué condición necesita para detener el bucle?
Respuestas
Escenario 1
Adquiere datos de presión cada segundo durante un minuto.
n
tri nts
ció
1. Bucle While: Time = 1 minute
2. Bucle For: 60 iteraciones
3. Ambos son posibles.
dis me
bu
Escenario 2
Adquiere datos de presión hasta que ésta sea 1.400 psi.
su tru
1. Bucle While: Pressure = 1400 psi
2. Bucle For: Desconocido
3. Un bucle While. Aunque puede añadir un terminal condicional a un bucle For, debe cablear un valor al terminal de contaje. Sin más información, no conoce el
valor apropiado para cablear al terminal de contaje.
da Ins
Escenario 3
Adquiere datos de presión y temperatura hasta que ambos valores son estables durante dos minutos.
ibi al
1. Bucle While: Bucle While: [(Última Temperatura = Temperatura Previa) durante 2 minutos o más] y [(Última presión = Presión Previa) durante 2 minutos o más]
2. Bucle For: Desconocido
3. Un bucle While. Aunque puede añadir un terminal condicional a un bucle For, debe cablear un valor al terminal de contaje. Sin más información, no conoce el
n
valor apropiado para cablear al terminal de contaje.
Pr atio
Escenario 4
Genera una rampa de tensión que comienza en cero, aumentando incrementalmente en 0,5 V cada segundo, hasta que la tensión de salida es igual a 5 V.
2. Bucle For: 11 iteraciones (incluyendo los dos puntos finales, cuente los valores para cada valor – 0, 0.5, 1.0, 1.5, ... 4.5, 5.0.)
3. Ambos son posibles.
oh
Objetivo
n
tri nts
Usar un bucle While y registros de desplazamiento para hallar el promedio de datos.
ció
Escenario
dis me
El VI Temperature Monitor adquiere y muestra la temperatura. Modifique el VI para hallar el promedio de las cinco últimas mediciones de temperatura y mostrar el
bu
promedio móvil en el gráfico tipo “waveform chart”.
su tru
Diseño
La figura 3-12 y la figura 3-13 muestran el panel frontal y el diagrama de bloques del VI Temperature Monitor.
Figura 3-12. Panel frontal del VI Temperature Monitor
da Ins
ibi al
n
Pr atio
N
oh
n
tri nts
ció
dis me
bu
su tru
da Ins
Para modificar este VI, debe conservar los valores de temperatura de las cuatro iteraciones anteriores de el bucle While y hallar el promedio de los valores. Para lograr
esto, modifique este VI de esta manera:
• Use un registro de desplazamiento con elementos adicionales para conservar los datos de las cuatro iteraciones anteriores.
•
ibi al
Inicialice el registro de desplazamiento con una lectura desde el sensor de temperatura simulado.
Implementación
1. Pruebe el VI.
n
tri nts
Modifique el diagrama de bloques como en la figura 3-14.
ció
Figura 3-14. Diagrama de bloques del VI Temperature Monitor—Temperatura media
1 3 4
dis me
bu
su tru
da Ins
2
1
ibi al
Registros de desplazamiento—Múltiples registros de desplazamiento recolectan múltiples lecturas de temperatura. Haga clic con el botón derecho en el borde
del bucle While y seleccione Add Shift Register. Arrastre el nodo inferior de cambio de tamaño del registro de desplazamiento para mostrar cuatro registros
n
de desplazamiento.
2 Cree una copia del VI Thermometer (Demo)—Presione <Ctrl> mientras arrastra el subVI afuera del bucle While para crear una copia. El VI Thermometer (Demo)
Pr atio
devuelve una medida de temperatura e inicializa los registros de desplazamiento izquierdos antes de que se inicie el bucle.
3 Compound Arithmetic—Devuelve la suma de la temperatura actual y las cuatro lecturas anteriores de la temperatura. Cambie el tamaño de la función para
tener cinco terminales.
4 Divide—Devuelve el promedio de las cinco últimas lecturas de temperatura.
N
4. Guarde el VI.
oh
Prueba
1. Ejecute el VI.
n
tri nts
Durante cada iteración en el bucle While, el VI Thermometer toma una medida de temperatura. El VI añade este valor a las cuatro últimas mediciones almacenadas
en los terminales izquierdos del registro de desplazamiento. El VI divide el resultado entre cinco para averiguar la media de las cinco mediciones (la medida actual
ció
más las cuatro anteriores). El VI muestra el promedio en el gráfico tipo “waveform chart”. Observe que el VI inicializa el registro de desplazamiento con una
medida de temperatura.
dis me
2. Detenga el VI haciendo clic en el botón Stop en el panel frontal y guarde el VI.
bu
3. Salve y cierre el VI y el proyecto LabVIEW.
su tru
Fin del ejercicio 3-4
da Ins
ibi al
n
Pr atio
N
oh
Ejercicio 3-5 VI Temperature Monitor—Grafique múltiples temperaturas
Objetivo
n
tri nts
Representar varios conjuntos de datos en un solo gráfico tipo “waveform chart” y personalizar su vista.
ció
Escenario
dis me
Modifique el VI del ejercicio 3-4 para representar la temperatura actual y el promedio móvil en el mismo gráfico. Además, el usuario debe poder examinar una parte
bu
de la curva mientras los datos se están adquiriendo.
su tru
Diseño
La figura 3-15 muestra el panel frontal del VI Temperature Monitor existente y la figura 3-16 muestra el diagrama de bloques.
Figura 3-15. Panel frontal del VI Temperature Monitor
da Ins
ibi al
n
Pr atio
N
oh
Para que el usuario pueda examinar una parte de la curva mientras los datos se están adquiriendo, muestre la leyenda escalas y la paleta del gráfico tipo “waveform
chart”. Asimismo, expanda la leyenda para mostrar curvas adicionales.
Para modificar el diagrama de bloques de la figura 3-16, debe modificar el terminal del gráfico para aceptar varios datos. Use una función Bundle para combinar la
temperatura media y la actual en un cluster y cablearlo al terminal del gráfico Temperature History.
Figura 3-16. Diagrama de bloques original del VI Temperature Monitor
n
tri nts
ció
dis me
bu
su tru
da Ins
Implementación ibi al
1. Abra el VI Temperature Monitor creado en el ejercicio 3-4.
n
tri nts
1
ció
dis me
bu
su tru
da Ins
1 Bundle—Pasa la temperatura actual y la media al terminal de gráfico Temperature History.
ibi al
n
Pr atio
N
oh
n
tri nts
ció
1
dis me
bu
2
su tru
da Ins
3
4
ibi al
n
1 Muestra ambas gráficas en la leyenda de las curvas—Use la herramienta de posicionamiento para cambiar el tamaño de la leyenda de curvas para mostrar dos
objetos. Haga doble clic en la etiqueta para editar los nombres. El orden de las curvas que aparecen en la leyenda de curvas es el mismo que el de los elementos
Pr atio
4. Guarde el VI.
Prueba
1. Ejecute el VI. Use las herramientas de la leyenda de escalas y la paleta de gráfico para examinar los datos que genere.
n
tri nts
2. Haga clic en el botón Stop para detener el VI.
ció
3. Cierre el VI y el proyecto tras terminar.
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Modificar un VI para utilizar una estructura Case y tomar una decisión software.
ció
Escenario
dis me
Ha creado un VI en el que el usuario introduce una temperatura, una temperatura máxima y una mínima. Se genera una cadena de caracteres de advertencia en función
bu
de la relación de las entradas. No obstante, una situación podría hacer que el VI funcionara incorrectamente. Por ejemplo, el usuario podría introducir una temperatura
máxima inferior a la temperatura mínima. Modifique el VI para generar otra cadena de caracteres que alerte al usuario del error: Upper Limit < Lower Limit
Configure el indicador Warning? en TRUE para indicar el error.
su tru
Diseño
Modifique el diagrama de flujo creado para el VI Temperature Warnings original como en la figura 3-19.
da Ins
Figura 3-19. Diagrama de flujo de Temperature Warnings modificado
ibi al Output
MinTemp
Min Temp>= No Current
Min TempTemp
>= No Current Temp No No Warning
n
Max Temp MaxTemp
Max Temp Min Temp and
FALSE
Pr atio
Output Output
Heatstroke Freeze Warning
Create Error
Warning and and
TRUE TRUE
N
oh
Output
Upper Limit
< Lower Limit
and TRUE
El diagrama de bloques original del VI Temperature Warnings aparece en la figura 3-20. Debe añadir una estructura Case al VI Temperature Warnings para ejecutar
el código si la temperatura máxima es menos o igual que la temperatura mínima. De otra manera, el VI no ejecuta el código. En su lugar, el VI genera una nueva
cadena de caracteres y el indicador Warning? está establecido como TRUE.
n
tri nts
Figura 3-20. Diagrama de bloques original del VI Temperature Monitor
ció
dis me
bu
su tru
da Ins
Implementación
1. Abra Weather Warnings.lvproj en el directorio <Exercises>\LabVIEW Core 1\Weather Warnings.
ibi al
2. Abra Temperature Warnings.vi de la ventana Project Explorer. Creó el VI Temperature Warnings en el ejercicio 3-1.
n
Pr atio
N
oh
3. Coloque un cluster Error In y Error Out en el panel frontal como se muestra en la figura 3-21.
Figura 3-21. Panel frontal del VI Temperature Warnings con clusters de error
n
tri nts
ció
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
4. Abra el diagrama de bloques y cree espacio para añadir la estructura Case.
Seleccione las terminales de los controles Current Temperature, Max Temperature, Min Temperature y Error In.
n
tri nts
Consejo Para seleccionar más de un elemento, pulse la tecla <Shift> mientras selecciona los elementos.
ció
Mientras los terminales siguen seleccionados, use la tecla de flecha izquierda del teclado para mover los controles a la izquierda.
dis me
Consejo Mantenga pulsada la tecla <Mayús> para mover los objetos en incrementos de cinco píxeles.
bu
Consejo Presione la tecla <Ctrl> y use la herramienta de posicionamiento para arrastrar una región del tamaño que quiera insertar.
su tru
Seleccione las terminales de los indicadores Warning?,Warning Text y Error Out.
Alinee las terminales haciendo clic en el botón Align Objects»Left Edges en la barra de herramientas de LabVIEW.
da Ins
Mientras los terminales siguen seleccionados, use la tecla de flecha derecha del teclado para mover los indicadores a la derecha.
5. Modifique el diagrama de bloques para que sea similar los mostrados en la figura 3-22, figura 3-23 y figura 3-24. Este VI forma parte del proyecto de la estación
meteorológica de temperatura.
ibi al
n
Pr atio
N
oh
Figura 3-22. Diagrama de bloques del VI Temperature Warnings—No error, caso False
n
tri nts
ció
dis me
bu
su tru
1
da Ins
ibi al
n
Pr atio
4 3
1 Less?—Compara el Max Temperature y Min Temperature. Asegúrese que la función Less? este fuera de la estructura Case.
2 Estructura Case—No incluya las terminales Current Temperature, Max Temperature, Min Temperature, Error In, Warning?, Warning Text o Error Out
en la estructura Case debido a que estos controles e indicadores son usados en ambos casos.
N
3 Establezca los casos True y False—Con el caso True visible, haga clic con el botón derecho en el borde de la estructura Case y seleccione Make this Case
oh
False.
4 Etructura Case—Cablee la terminal Error In a el terminal selectora para crear los casos No Error y Error. Por defecto, la estructura Case tiene casos True y
False. Estos casos cambian a Error y No Error solo después de cablear Error In a la terminal selectora.
Figura 3-23. VI Temperature Warnings—No Error, caso True
n
tri nts
ció
dis me
bu
2
su tru
3
da Ins
ibi al
n
Pr atio
1 Caso True—Si Max Temperature es menor que Min Temperature, el caso True se ejecuta. Haga clic en la etiqueta del selector de caso para escoger el caso True.
2 Constante True—Cuando el caso True se ejecuta, el LED Warning? se ilumina.
3 Constante de cadena de caracteres—Si Max Temperature es menor que Min Temperature, la advertencia Upper Limit < Lower Limit se muestra en
el panel frontal. Ingrese el texto en la constante de cadena de caracteres.
N
oh
6. Cree el caso Error en la estructura Case externa para que este VI pueda ser usado como un subVI.
Figura 3-24. VI Temperature Warnings—Caso Error
n
tri nts
ció
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
7. Guarde el VI.
Prueba
1. Cambie al panel frontal del VI.
N
oh
2. Cambie el tamaño del indicador Warning Text para que pueda contener la nueva cadena de caracteres.
3. Pruebe el VI introduciendo un valor de la tabla 3-4 en los controles Current Temperature,Max Temperature y Min Temperature y ejecutando el VI para
cada configuración.
La tabla 3-4 muestra la cadena esperada Warning Text y Warning? Valor booleano de cada configuración de datos.
n
tri nts
Temperatura Actual Temperatura máxima Temperatura mínima Warning Text Warning?
ció
30 30 10 Heatstroke Warning Verdadero
25 30 10 No Warning Falso
dis me
10 30 10 Freeze Warning Verdadero
bu
25 20 30 Upper Limit < Lower Limit Verdadero
su tru
4. Pruebe el caso Error. Para usar este VI como subVI, el VI debe ser capaz de gestionar un error entrando al VI. Prueba el caso Error para asegurarse que este VI
puede emitir la información que recibe.
En el panel frontal, use la herramienta operacional para hacer clic en el indicador booleano status dentro del cluster Error In para que el indicador cambie
da Ins
a rojo e ingrese 7 en el control code.
Ejecute el VI. La información de error que ingresó pasa por caso Error en el VI y es la salida en el cluster Error Out.
Muestre el diagrama de bloques, seleccione el caso No Error, resaltado de ejecución y luego ejecute el VI de nuevo para ver el error pasar por el caso Error.
ibi al
En el panel frontal, haga clic con el botón derecho en el borde de el cluster Error Out y seleccione Explain Error para mostrar información acerca del error
que fue devuelto.
n
5. Guarde y cierre el VI.
Pr atio