Professional Documents
Culture Documents
LabVIEW Core 1
n
tri nts
Ejercicios
ci
dis me
bu
su tru
Versin del software actual 2012
Edicin de Agosto 2012
da Ins
Nmero de parte 325291D-0154
LabVIEW Core 1 Ejercicios
Copyright
19932012 National Instruments. Todos los derechos reservados.
ibi al
En virtud de las leyes de copyright y de proteccin de los derechos de autor, esta publicacin no puede reproducirse ni transmitirse en ninguna forma, electrnica o mecnica, incluidas las fotocopias,
grabacin, almacenamiento en un sistema de recuperacin de informacin, o traduccin, 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 slo podr utilizarse para reproducir material que
pueda reproducir conforme a los trminos de cualquier licencia aplicable u otra restriccin 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 pgina ni.com/trademarks para informacin 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 informacin sobre las patentes que protegen los productos o la tecnologa de National Instruments, consulte el apartado: HelpPatents 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 pginas web de las oficinas internacionales, las cuales incluyen informacin actualizada de contacto, telfonos de soporte tcnico, direcciones de email y
eventos actuales.
Para realizar comentarios a National Instruments sobre la documentacin, consulte la pgina web de National Instruments Web ni.com/info e introduzca el cdigo de informacin feedback.
N
Pr atio
oh n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n
Contenido
n
tri nts
A. Certificacin de NI....................................................................................................................................................................................vii
ci
B. Descripcin del curso................................................................................................................................................................................viii
C. Lo que necesita para empezar ...................................................................................................................................................................ix
D. Instalacin del software del curso.............................................................................................................................................................x
dis me
E. Objetivos del curso ...................................................................................................................................................................................xi
bu
F. Convenciones del curso ............................................................................................................................................................................xii
Leccin 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 seleccin. ........................................................................................................1-10
Ejercicio 1-4 Concepto: Flujo de datos ...........................................................................................................................................1-18
Ejercicio 1-5 VI AAP Simple ..........................................................................................................................................................1-23
Leccin 2
Resolucin de problemas y depuracin de VIs
ibi al
n
Ejercicio 2-1 Concepto: Depuracin ...............................................................................................................................................2-2
Pr atio
Leccin 3
Implementacin 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
Leccin 4
Desarrollo de aplicaciones modulares
Ejercicio 4-1 VI Temperature WarningsComo subVI.................................................................................................................4-2
n
tri nts
Leccin 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
Leccin 6
su tru
Administrando archivos y recursos hardware
Ejercicio 6-1 Concepto: VI Spreadsheet Example ..........................................................................................................................6-2
Ejercicio 6-2 VI Temperature MonitorRegistro 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: Configuracin GPIB con MAX................................................................................................................6-21
Ejercicio 6-6 Concepto: VI NI Devsim ...........................................................................................................................................6-25
Leccin 7
ibi al
Usando algoritmos de mquinas de estado y secuenciales
n
Ejercicio 7-1 VI State Machine .......................................................................................................................................................7-2
Pr atio
Leccin 8
Resolviendo desafos de flujo de datos usando variables
Ejercicio 8-1 VI Weather Station UI con variables locales.............................................................................................................8-2
N
oh
Gua del estudiante
Gracias por comprar el paquete de curso LabVIEW Core 1. Puede empezar a desarrollar una aplicacin poco despus 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 prctico de tres das LabVIEW Core 1.
ci
Puede aplicar la adquisicin completa de este paquete de curso a la cuota de registro correspondiente del curso si se inscribe antes de 90 das desde la compra del
paquete. Visite ni.com/training para consultar en lnea la programacin, el contenido, los centros de formacin y la inscripcin en la clase del curso.
dis me
A. Certificacin de NI
bu
El curso LabVIEW Core 1 forma parte de una serie de cursos diseados para dominar LabVIEW y ayudarle a prepararse para los exmenes de Desarrollador Asociado
su tru
Certificado de LabVIEW de NI. La siguiente ilustracin muestra los cursos que forman parte de la serie de formacin de LabVIEW. Consulte ni.com/training
para obtener informacin adicional acerca de la certificacin de NI.
Figura 1-1. Cursos de formacin 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 estn divididos en lecciones, descritas de este modo.
dis me
Una introduccin que describe el objetivo de la leccin y lo que aprender
bu
Una descripcin de los temas de la leccin
su tru
Un cuestionario de resumen que prueba y esboza conceptos y conocimientos importantes enseados en la leccin
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 Cdigo de Informacin core1.
ibi al
Varios ejercicios usan uno de los siguientes productos hardware de National Instruments:
n
Un dispositivo multifuncin de adquisicin 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. Tambin
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 seal, 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 mnimo de las teoras y conceptos clave relacionados con el curso
ci
LabVIEW Core 1. Para obtener el mximo rendimiento de este curso, complete todo el material de lectura recomendado antes del primer da de clase
Para acceder a cada uno del material de lectura recomendado, consulte ni.com/info y escriba el Cdigo de Informacin que corresponda a cada tema:
dis me
LabVIEW Core 1 - El mtodo de desarrollo de software (Cdigo de Informacin: SoftDev)
bu
Introduccin a la adquisicin de datos (Cdigo de Informacin: DAQ)
su tru
Tutorial de control de instrumentos GPIB (Cdigo de Informacin: GPIB)
da Ins
Material del curso
Antes de empezar este curso, asegrese 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 Descripcin
bu
Exercises Carpeta para guardar VI creados durante el curso y para completar ciertos ejercicios de ste; tambin 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. Instalacin del software del curso
Complete estos pasos para instalar el software del curso.
1. Inserte el CD del curso en el ordenador. Aparecern los cuadros de dilogo 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 instalacin y configuracin.
Pr atio
Nota Los nombres de carpetas entre corchetes angulares, como <Exercises>, hacen referencia a carpetas del directorio raz 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 programacin y los tipos de datos existentes en LabVIEW
dis me
Usar varias tcnicas de edicin y de depuracin
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, funcin u objeto integrado; consulte la Ayuda de LabVIEW para obtener informacin adicional acerca de las funciones de LabVIEW no descritas en
este curso. ibi al
Teora analgica a digital (A/D)
n
Funcionamiento del puerto de serie
Pr atio
Desarrollar una aplicacin completa para cualquier estudiante de la clase; consulte el NI Example Finder seleccionando HelpFind Examples, para ver ejemplos
N
n
tri nts
El smbolo le gua por elementos de men anidados y opciones de cuadros de dilogo a una accin final. La secuencia
ci
ToolsInstrumentationFind Instrument Drivers le guia a desplegar el men Tools, seleccionar Instrumentation, y
finalmente seleccionar la opcin 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 informacin 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 dilogo. El texto en negrita denota tambin las secciones de los cuadros de dilogo y etiquetas de hardware.
cursiva El texto en cursiva indica variables, nfasis, una remisin o una introduccin a un concepto clave. El texto en cursiva tambin
indica texto que es un parmetro de sustitucin 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 cdigo, ejemplos de
programacin y ejemplos de sintaxis. Esta fuente tambin 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 automticamente en la
pantalla. Esta fuente tambin enfatiza lneas de cdigo distintas de los otros ejemplos.
n
Pr atio
N
oh
Explorando LabVIEW
1
n
tri nts
ci
Complete los ejercicios en esta leccin para reforzar los conceptos que aprendi en la leccin 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 seleccin.
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
Descripcin
dis me
Ha recibido un VI de un empleado que registra los segundos que tarda un avin en llegar a un aeropuerto y convierte el tiempo en una combinacin 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 avin.
su tru
2. Abra Seconds Breakdown.vi de la ventana Project Explorer.
3. En el panel frontal, identifique estos elementos: Cuntos 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 WindowTile Up and Down o WindowTile 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. Cuntos de cada tem puede encontrar?
Controles
n
tri nts
Indicadores
ci
Constantes
Etiquetas libres
dis me
bu
6. Use la ayuda contextual para aprender ms sobre los tems en el diagrama de bloques.
Pulse <Ctrl-H> para abrir la ventana Context Help o seleccione HelpShow Context Help.
su tru
Mueva la ventana Context Help a una zona cmoda 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 informacin sobre el objeto sobre el que est el ratn.
7. Obtenga ayuda detallada y vea ejercicios para la funcin Quotient & Remainder.
Coloque su cursor sobre la funcin Quotient & Remainder. Lea la ventana Context Help y haga clic en la liga Detailed Help para lanzar LabVIEW Help y
ibi al
aprenda ms acerca de esta funcin.
n
Haga clic en la enlace Example en el tema de LabVIEW Help de Quotient & Remainder.
Pr atio
Haga clic en el botn Open Example al final de la ventana de ayuda para abrir un ejemplo que use la funcin Quotient & Remainder.
8. Refirase 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 botn 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 numrico 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
Descripcin
dis me
1. Abra un proyecto LabVIEW en blanco.
bu
Haga clic en el botn 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 botn derecho en My Computer en la ventana Project Explorer y seleccione NewVI en el men contextual.
3. Seleccione ViewControls 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 botn Search.
ci
Teclee string control en el cuadro de bsqueda.
Haga clic en el resultado de bsqueda String Control (Silver) y arrstrelo a la ventana del panel frontal para colocar el objeto.
dis me
6. Abra el diagrama de bloques y haga clic con el botn 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 trigonomtricas.
Haga clic en el botn Search.
Busque el trmino cosine.
ibi al
En los resultados de la bsqueda, haga doble clic en Cosine <<Trigonometric Functions>> para mostrar la funcin en la paleta.
Ubique funciones E/S de archivos
n
Busque el trmino file i/o.
Pr atio
Haga doble clic en File I/O en los resultados de la bsqueda para mostrar la paleta File I/O.
Arrastre la funcin Write to Text File de la paleta al diagrama de bloques.
8. Practique usando la funcin Quick Drop.
N
Use la funcin Quick Drop cuando sabe el nombre de la funcin o VI que quiere utilizar.
oh
n
tri nts
Busque la funcin Wait Until Next ms Multiple.
ci
Haga doble clic en la funcin en los resultados de la bsqueda y coloque la funcin en el diagrama de bloques.
dis me
bu
Escriba Random en la barra de bsqueda situada en la esquina superior derecha del diagrama de bloques.
Nota Mientras est escribiendo, la bsqueda global automticamente busca coincidencias en la Ayuda de LabVIEW y en las paletas de LabVIEW.
su tru
Tambin busca material en lnea relacionado con su bsqueda.
Mueva el ratn sobre el primer resultado en la seccin Palette, Random Number (0-1). Usted ahora ve las siguientes tres opciones:
da Ins
Drople permite introducir inmediatamente esta funcin en el diagrama de bloques
Haga clic con el botn derecho en la funcin Add y observe que dispone de una paleta Numeric del men contextual.
Objetivo
n
tri nts
Familiarizarse con la herramienta de seleccin automtica y la paleta Tools en LabVIEW.
ci
Descripcin
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 seleccin
bu
automtica 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 botn 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 seleccin automtica
haciendo clic en el botn 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 48 puede incrementar el tamao de un grfico tipo waveform
chart, renombrar el control numrico, cambiar el valor del control numrico 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 grfico tipo waveform chart hasta que vea los nodos de cambio de tamao alrededor del grfico.
n
tri nts
Mueva el cursor al nodo de cambio de tamao 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 tamao del grfico Waveform Chart
dis me
bu
su tru
da Ins
ibi al
Arrastre el punto de reposicionamiento hasta que el grfico Waveform Chart tenga el tamao deseado.
Haga doble clic en la palabra Chart. LabVIEW resalta la palabra y automticamente selecciona la herramienta de etiquetado en la ventana Tools.
Complete la entrada haciendo clic en el botn Enter Text de la barra de herramientas o haciendo clic fuera del control.
N
oh
Note que LabVIEW automticamente 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 botn Automatic Tool Selection en la ventana Tools
para habilitar la herramienta de seleccin automtica.
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 botn 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 botn del ratn.
su tru
Escriba el texto 100.
Complete la entrada pulsando la tecla <Intro> en el teclado numrico, haciendo clic en el botn Enter Text de la barra de herramientas o haciendo clic fuera
da Ins
del control.
Configure el valor en 1.
Haga clic en el botn Automatic Tool Selection de nuevo para encender la herramienta de seleccin automtica.
10. Intente cambiar el valor, el tamao 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 1213 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 ubicacin 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 botn Clean Up Diagram en la barra de herramientas de LabVIEW.
Nota Los controles e indicadores booleanos tienen etiquetas de texto booleanas adems 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 botn 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 controlEste texto identifica la terminal de un control booleano para propsitos de programacin. Este texto no aparece en el panel frontal a menos
2
que seleccione Visible. ibi al
Texto booleanoEste texto aparece solo en el panel frontal y por defecto aparece en el centro del control booleano.
n
Haga clic en el botn OK para cerrar el cuadro de dilogo.
Pr atio
Haga clic con el botn 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 botn es End.
Consejo Tambin puede hacer doble clic en el terminal Stop Button para encontrar el botn de control en el panel frontal.
N
oh
17. Haga clic en el botn 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 aparecern
ci
en el grfico Temperature Chart.
dis me
18. Cierre el VI y haga clic en el botn Dont 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 cmo el flujo de datos determina el orden de ejecucin en un VI.
ci
Discusiones de flujo de datosActividad grupal
dis me
En grupo, discutan cmo el flujo de datos determina el orden de ejecucin. Puede encontrar las respuestas a las preguntas en la seccin Discusiones de flujo de
bu
datosRespuestas.
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 funcin se ejecuta primero? Hay alguna dependencia entre la funcin File Dialog y el VI Express Simulate Signal?
da Ins
2. Qu funcin se ejecuta la ltima?
3. Debido a que un cable verde conecta la funcin File Dialog al VI TDMS File Viewer, puede el VI TDMS File Viewer ejecutarse antes que la funcin TDMS
Close? ibi al
4. Cuntos nodos deben ejecutarse antes que la funcin TDMS Write pueda ejecutarse?
n
Pr atio
N
oh
5. Un diagrama de bloques bien diseado debera fluir en una direccin 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 bloquesEjemplo 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 bloquesEjemplo 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 bloquesEjemplo de filtro
n
tri nts
ci
dis me
bu
su tru
da Ins
Discusiones de flujo de datosRespuestas
ibi al
1. Cualquiera de los dos puede ejecutarse primero, ya sea la funcin 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 simultneamente.
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 funcin TDMS Close por que el cable amarillo de error conectando la funcin 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 funcin TDMS Write pueda ejecutarse: File Dialog, TDMS Open y Simulate Signal. La funcin TDMS Write tambin
depende de la constante de cadena de caracteres Simulated Signal pero esa entrada es instantnea.
5. S. Un diagrama de bloques bien diseado, tpicamente fluye de izquierda a derecha. Esto hace ms fcil ver el flujo de los datos en el diagrama de bloques. Sin
embargo, no asuma que la ejecucin 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 seal de datos de la salida
del VI Express DAQ Assistant.
ci
Nota En LabVIEW, el orden de ejecucin 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 simultneas.
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 podra 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 grfico.
bu
Diseo
su tru
La entrada de este problema es un canal analgico de datos de onda sinusoidal. Las salidas incluyen un grfico 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 diseo 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 crculo el VI Express ms indicado para adquirir una onda sinusoidal de un dispositivo de adquisicin de datos.
n
tri nts
DAQ Assistant El DAQ Assistant adquiere datos mediante un dispositivo de adquisicin 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 crculo el VI Express ms 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 estadsticos de una forma de onda.
Pr atio
Amplitude and Level Measurements El VI Express Amplitude and Level Measurements mide la tensin en una seal.
3. Presentar: Rodee con un crculo los VIs Express o los indicadores que muestren mejor los datos en un grfico y registren mejor esos datos en un archivo.
DAQ Assistant El DAQ Assistant adquiere datos mediante un dispositivo de adquisicin 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
Grfico Waveform Graph El grfico tipo waveform graph muestra uno o ms 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 adquisicin de datos.
2. Analizar: Use el VI Express Statistics para determinar el valor medio de la onda sinusoidal. Como esta seal es cclica, tambin podra utilizar la opcin 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 grfico tipo Waveform Graph para mostrar los datos en la ventana del
panel frontal.
dis me
bu
Implementacin
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 mnimos.
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. Aada 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 56 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. Aada un grfico 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 bsqueda.
6. Aada un indicador numrico a la ventana del panel frontal para mostrar los valores medios.
oh
n
tri nts
En los pasos 714 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 WindowShow 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 dilogo Quick Drop. 1. Presione <Ctrl-Space> para abrir el cuadro de dilogo 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 bsqueda. Simulate Signal en la lista de resultados de la bsqueda.
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 dilogo DAQ Assistant. 4. Espere a que se abra el cuadro de dilogo Simulate Signal.
5. Seleccione Acquire SignalsAnalog InputVoltage para el tipo de 5. Seleccione Sine para el tipo de seal.
su tru
medicin.
6. Seleccione ai1 (canal de entrada analgica 1) para el canal fsico. 6. Configure la frecuencia de seal en 100.
da Ins
7. Haga clic en el botn Finish. 7. En la seccin Timing, ajuste Samples per second (Hz) en 1000.
8. En la seccin Timing Settings, seleccione N Samples como Acquisition 8. En la seccin Timing, deseleccione Automatic para el Number of
Mode. samples.
9. En la seccin Timing Settings, escriba 100 en Samples To Read.
ibi al 9. En la seccin Timing, ajuste Number of samples en 100.
10. Introduzca 1000 en Rate (Hz). 10. En la seccin Timing, seleccione la opcin Simulate acquisition timing.
n
11. Haga clic en el botn OK. 11. Haga clic en el botn 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 bsqueda.
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 botn OK.
ci
10. Registre los datos sinusoidales generados en un archivo de medicin 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 bsqueda.
Aada 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 dilogo del VI Express Write to Measurement File.
Deje todas las opciones de configuracin en el cuadro de dilogo Write to Measurement File sin cambios.
da Ins
Haga clic en el botn OK.
Nota Los prximos ejercicios no detallan las indicaciones para encontrar funciones concretas o controles en las paletas. Use la funcin Quick Drop o la
bsqueda 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 ratn 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 ratn sobre la entrada Signals del VI Express Statistics y haga clic en el botn del ratn para terminar el cable.
N
Coloque el cursor del ratn 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 numrico Average Value.
n
tri nts
Coloque el cursor del ratn sobre la salida Arithmetic Mean del VI Express Statistics donde el cursor cambia a la herramienta de cableado.
ci
Haga clic en el botn del ratn para iniciar el cable.
Coloque el cursor del ratn sobre el indicador numrico Average Value y haga clic en el botn del ratn 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 ratn 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 ratn sobre la entrada Signals del VI Express Write Measurement File y haga clic en el botn del ratn para terminar el cable.
Nota Los siguientes ejercicios no ofrecern indicaciones para cablear entre objetos.
2. Configure las propiedades del grfico para poder ver la onda sinusoidal.
Haga clic con el botn derecho en el grfico tipo waveform graph y seleccione X ScaleAutoscale X para desactivar la escala automtica.
Haga clic con el botn derecho en el grfico tipo waveform graph y seleccione Visible ItemsX Scrollbar para activar la escala X.
N
Use la herramienta de etiquetado para cambiar el ltimo nmero de la escala Time del grfico tipo waveform graph a .1.
oh
3. Guarde el VI.
4. Ejecute el VI.
n
tri nts
El indicador del grfico debe mostrar una onda sinusoidal y el indicador Average Value debe mostrar un nmero alrededor de cero. Si el VI no se ejecuta segn lo
esperado, revise los pasos de implementacin.
ci
5. Cierre el VI.
dis me
Fin del ejercicio 1-5
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
Resolucin de problemas y depuracin de VIs
2
n
tri nts
ci
Complete el ejercicio en esta leccin para reforzar los conceptos que aprendi en la leccin 2 de LabVIEW Core 1.
dis me
Ejercicio
bu
Ejercicio 2-1 Concepto: Depuracin
su tru
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Use las herramientas de depuracin de LabVIEW.
ci
Descripcin
dis me
Los VIs en este ejercicio verifican la validez de un tringulo y luego calculan el rea. Para que un tringulo sea vlido, los tres lados deben tener un tamao mayor a
bu
cero. El subVI en este ejercicio usa la frmula de Heron para calcular el rea de un tringulo. Usted puede usar este mtodo cuando conoce los tamaos de los tres
lados del tringulo.
su tru
Frmula 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 edicin y en modo de ejecucin. Use la ejecucin paso a paso y el resaltado de
N
la ejecucin para revisar el VI. Use puntos de interrupcin y sondas para determinar si los clculos son correctos y descubrir dnde se origina un error.
oh
Errores en modo de edicin
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 botn 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 tringulo, pasa los valores a un subVI que determina el rea y revisa que los valores ingresados
son vlidos para un tringulo.
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 botn Run roto para ver la ventana Error list, que enumera todos los errores.
ibi al
Seleccione una descripcin de error en la ventana Error list. La seccin Details describe el error y en algunos casos recomienda cmo corregirlo.
n
Haga clic en el botn 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 botn Show Error o haga doble clic en la descripcin 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 frmula para calcular el rea de un tringulo
oh
requiere la suma de los lados dividido entre 2. Haga clic con el botn derecho en la entrada y de la funcin de divisin y seleccione CreateConstant e
ingrese un valor de 2.
1. Pruebe el VI.
n
tri nts
ci
Abra el panel frontal haciendo clic en l o seleccionando WindowShow Front Panel.
Use los valores predeterminados para cada lado. Estos valores son medidas vlidas para un tringulo.
dis me
Ejecute el VI.
bu
Note que a pesar los nmeros que ingrese son vlidos, el LED no est iluminado y el indicador Area of a Triangle muestra NaN.
su tru
2. Anime el flujo de datos a travs del diagrama de bloques.
da Ins
Haga clic en el botn Highlight Execution en la barra de herramientas para habilitar el resaltado de la ejecucin.
ibi al
Haga clic en el botn 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 momentneamente. Debido a que el botn
Retain Wire Values est habilitado, puede ver el ltimo valor en el cable.
N
oh
Haga clic con el botn derecho en cada una de las entradas de la funcin Compound Arithmetic y seleccione Probe. Esto muestra la ventana de visualizacin
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 tringulo son positivos, el valor de entrada o la lgica son incorrectos. Los valores de entrada
eran todos nmeros positivos, eso significa que la lgica es incorrecta.
Note que el nodo que devuelve un valor de False es una funcin Less than Zero? pero esta seccin del cdigo debera estar revisando si el valor es mayor
n
tri nts
que cero.
ci
Haga clic con el botn derecho en la funcin Less than Zero? y seleccione ReplaceComparison PaletteGreater 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 tringulo es calculada en el subVI, as que debe continuar depurando en el subVI Area of a Triangle.
da Ins
5. Contine depurando el subVI.
Haga clic en el botn Step Into para iniciar la ejecucin paso a paso del VI. La ejecucin resaltada muestra el flujo de datos en el diagrama de bloques de un
ibi al
nodo a otro. Los nodos parpadean para indicar que estn listos para ejecutarse.
n
Pr atio
Haga clic en el botn Start Single Stepping despus de cada nodo para revisar todo el diagrama de bloques. Cada vez que haga clic en el botn Step Over,
se ejecutar el nodo actual y se pausar en el siguiente nodo.
N
oh
Cuando llegue al subVI, haga clic en el botn Step Into para abrir el diagrama de bloques del subVI Area of Triangle. El subVI est pausado.
Encienda las opciones de resaltado de ejecucin y retener los valores de los cables en el subVI.
Haga clic con el botn derecho en la funcin e Square Root y seleccione BreakpointSet Breakpoint como se muestra en la figura 2-4.
Figura 2-4. Establezca puntos de interrupcin
n
tri nts
ci
dis me
1
bu
su tru
1 El punto de interrupcin 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 botn rojo de pausa para continuar la ejecucin del VI.
da Ins
El VI continua ejecutndose hasta el punto de interrupcin y luego se pausa de nuevo.
Mueva el cursor sobre el cable de entrada de la funcin Square Root. Debera ver una etiqueta de ayuda con un valor de 576. No se puede tomar la raz
ibi al
cuadrada de un nmero negativo, lo cual es la razn 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 visualizacin de sondas para ver los valores.
Pr atio
Coloque el puntero sobre otros cables o use la ventana de visualizacin de sondas para examinar otros valores intermedios.
Note que el valor en el cable (S-B) es tambin un nmero negativo. Si mira ms de cerca, notar que las entradas de la funcin de resta estn 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 interrupcin y verifique que los
valores devueltos estn correctos. La funcin de raz cuadrada debe devolver un valor de 24.
dis me
Haga clic con el botn derecho en el punto de interrupcin y seleccione BreakpointClear Breakpoint.
bu
Apague el resaltado de la ejecucin 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 leccin para reforzar los conceptos que aprendi en la leccin 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 MonitorITemperatura media
da Ins
Ejercicio 3-5 VI Temperature MonitorGrafique mltiples temperaturas
Ejercicio 3-6 VI Temperature Warningscon gestin 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 funcin de un diseo dado.
su tru
Diseo
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
estacin meteorolgica 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 diseo 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 numrico Temperatura mxima Doble precisin y coma flotante
bu
Control numrico Temperatura mnima Doble precisin 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
Implementacin
Complete los siguientes pasos para crear un panel frontal similar al de la figura 3-2. El usuario introduce la temperatura actual, la mxima y la mnima. A continuacin,
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 aada un VI nuevo al proyecto.
n
Seleccione FileNew del men de LabVIEW y luego seleccione ProjectEmpty Project del rbol Create New.
Pr atio
Haga clic con el botn derecho en My Computer en la ventana Project Explorer y seleccione NewVI 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 numricoHaga clic con el botn derecho y seleccione RepresentationDBL para confirmar que el control numrico es de doble precisin.
2
3
ibi al
Cree copias del control numrico Current Temperature presionando y sosteniendo la tecla <Ctrl> y arrastrando el control Current Temperature.
Indicador de cadena de caracteresCambie el tamao del indicador para que pueda contener cadenas de caracteres ms largas.
n
4 LED redondo
Pr atio
Consejo Este subVI podra utilizarse para Fahrenheit, Kelvin u otra escala de temperatura, siempre que todas las entradas utilicen la misma escala. Por
lo tanto, no es necesario aadir 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 caracteresCree constantes de cadena de caracteres para Heatstroke Warning, Freeze Warning y No Warning.
4 SelectDevuelve 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 SelectDevuelve 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 descripcin y consejo asociados con el indicador Warning Text para cambiar el contenido de la ventana Context Help.
Seleccione WindowShow 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 botn OK.
bu
Mueva el ratn 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 dilogo Description and Tip.
su tru
5. Documente el diagrama de bloques usando etiquetas propietarias y etiquetas libres.
da Ins
Aada etiquetas propietarias y etiquetas libres en el diagrama como se muestra en la figura 3-4.
Las etiquetas propietarias son propiedad de un objeto especfico. 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 propietariasHaga clic con el botn derecho en una funcin y seleccione Visible ItemsLabel en el men contextual para mostrar la etiqueta
propietaria para esa funcin.
da Ins
2 Mueva la etiquetaHaga clic en la etiqueta propietaria de la funcin Greater or Equal? con la herramienta de posicionamiento y muvala abajo de la funcin.
3 Funcin de moverUse la herramienta de posicionamiento para mover la funcin. Note que la etiqueta propietaria se mueve con la funcin.
4 Etiqueta propietariaHaga clic con el botn derecho en el cable y seleccione Visible ItemsLabel en el men contextual. Mueva la etiqueta con la herramienta
de posicionamiento.
5
ibi al
Etiqueta libreHaga doble clic en un rea libre del diagrama de bloques y use la herramienta de etiquetado para crear comentarios en el cdigo.
6. Documente las propiedades del VI, ofreciendo una descripcin 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 dilogo VI Properties, seleccione FileVI 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 configuracin.
n
tri nts
La tabla 3-2 muestra la cadena esperada Warning Text y Warning? Valor booleano de cada configuracin 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 mxima Temperatura mnima 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 mxima es menor que la temperatura mnima? Qu podra 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 iteracin y pasar datos por un tnel.
ci
Escenario
dis me
Cree un VI que genere continuamente nmeros aleatorios entre 0 y 1.000 hasta que genere un nmero que coincida con el que seleccione el usuario. Determine cuntos
bu
nmeros aleatorios gener el VI antes de que el nmero coincidiera.
su tru
Diseo
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 diseo 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 numrico Number to Match Doble precisin, coma flotante entre 0 y 1000, convertir al nmero natural ms
dis me
cercano, valor predeterminado = 50
bu
Indicador numrico Current Number Doble precisin y coma flotante
su tru
Implementacin
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 gurdelo 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 50Ingrese 50 en el control Number to Match y luego haga clic con el botn derecho en
el control y seleccione Data OperationsMake Current Value Default.
2 Configure el indicador Number of Iterations para que su salida sea un entero largo con signoHaga clic con el botn derecho en el indicador y seleccione
RepresentationI32.
4. Configure las propiedades del control Number to Match para que el tipo de dato sea un nmero 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 dgitos de precisin sean 0.
n
Haga clic con el botn derecho en el control Number to Match y seleccione RepresentationU32 en el men contextual.
Pr atio
N
oh
Haga clic con el botn derecho en el control Number to Match y seleccione Data Entry en el men contextual. Establezca las propiedades en las pestaas
Data Entry y Display Format como se muestra en la figura 3-7.
Figura 3-7. Propiedades numricas 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 botn derecho en el indicador Current Number y seleccione RepresentationU32 en el men contextual.
n
tri nts
Haga clic con el botn 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 WhileRepite el algoritmo hasta que la funcin Equal? devuelve un TRUE por que la funcin Equal? est cableada a la terminal condicional, la cual
est configurada para detenerse con un valor TRUE.
7 Terminal de iteracionesCada vez que se ejecute el bucle, la terminal de iteracin aumentar en uno.
8 IncrementoSuma 1 a la cuenta del bucle While por que las iteraciones empiezan en 0.
9 Puntos de coercinPuntos de coercin rojos aparecen en los nodos del diagrama de bloques cuando conecta un cable de tipo numrico a una terminal de
N
un tipo numrico diferente. En este caso, la salida de Round To Nearest es un coma flotante de doble precisin pero Current Number es un nmero entero.
oh
Consejo Los puntos de coercin pueden causar que un VI use ms memoria durante su ejecucin, as que trate de mantener los tipos de datos consistentes
en los VIs que cree.
7. Actualice el VI para eliminar los puntos de coercin.
Haga clic con el botn derecho en el cable la funcin Round To Nearest y seleccione InsertNumeric PaletteConversionTo Unsigned Long Integer
como se muestra en la figura 3-10. Esto inserta la funcin To Unsigned Long Integer en el cable.
n
tri nts
Figura 3-10. Insertando la funcin 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 funcin Round To Nearest elimina todos los puntos de coercin 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 botn derecho en el indicador Current Number y seleccione AdvancedSynchronous Display.
Nota Si se habilita la visualizacin sincrnica, cada vez que el diagrama de bloques enve 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 visualizacin sncrona, de modo que puede
ver el indicador Current Number actualizndose repetidamente en el panel frontal. Normalmente la visualizacin sncrona se deshabilita para aumentar
ibi al
la velocidad de ejecucin, 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 nmero en Number to Match a un nmero 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 iteracin del bucle porque se encuentra dentro de l. Number
oh
En el diagrama de bloques, haga clic en el botn Highlight Execution para habilitar el resaltado de ejecucin. El resaltado de la ejecucin muestra el
movimiento de datos en el diagrama de bloques desde un nodo a otro para que pueda ver cada nmero segn 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 ejecucin para terminar la ejecucin del VI rpidamente.
7. Intente hacer coincidir un nmero que se encuentre fuera del rango de datos.
su tru
Cambie el valor Number to Match a un nmero que se encuentre fuera del rango, 0 1000.
Ejecute el VI.
da Ins
Note que LabVIEW coacciona el valor fuera del rango al valor ms cercano en el rango de datos que especifique en el paso 4 de la seccin Implementacin.
8. Cierre el VI.
Objetivo
n
tri nts
Comprender cundo se usa un bucle While y cundo uno For.
ci
Descripcin
dis me
En los siguientes escenarios, decida si usar un bucle While o For.
bu
Escenario 1
su tru
Adquiere datos de presin en un bucle que se ejecuta una vez cada segundo durante un minuto.
da Ins
2. Si usa un bucle For, cuntas iteraciones necesita ejecutar el bucle?
n
tri nts
ci
2. Si usa un bucle For, cuntas iteraciones necesita ejecutar el bucle?
dis me
3. Resulta ms fcil implementar un bucle For o un bucle While?
bu
su tru
Escenario 4
Genera una rampa de tensin que comienza en cero, aumentando incrementalmente en 0,5 V cada segundo, hasta que la tensin de salida es igual a 5 V.
da Ins
1. Si usa un bucle While, qu condicin necesita para detener el bucle?
Respuestas
Escenario 1
Adquiere datos de presin 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 presin 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 aadir un terminal condicional a un bucle For, debe cablear un valor al terminal de contaje. Sin ms informacin, no conoce el
valor apropiado para cablear al terminal de contaje.
da Ins
Escenario 3
Adquiere datos de presin 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 ms] y [(ltima presin = Presin Previa) durante 2 minutos o ms]
2. Bucle For: Desconocido
3. Un bucle While. Aunque puede aadir un terminal condicional a un bucle For, debe cablear un valor al terminal de contaje. Sin ms informacin, no conoce el
n
valor apropiado para cablear al terminal de contaje.
Pr atio
Escenario 4
Genera una rampa de tensin que comienza en cero, aumentando incrementalmente en 0,5 V cada segundo, hasta que la tensin 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 mvil en el grfico tipo waveform chart.
su tru
Diseo
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.
Implementacin
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 MonitorTemperatura media
1 3 4
dis me
bu
su tru
da Ins
2
1
ibi al
Registros de desplazamientoMltiples registros de desplazamiento recolectan mltiples lecturas de temperatura. Haga clic con el botn derecho en el borde
del bucle While y seleccione Add Shift Register. Arrastre el nodo inferior de cambio de tamao 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 ArithmeticDevuelve la suma de la temperatura actual y las cuatro lecturas anteriores de la temperatura. Cambie el tamao de la funcin para
tener cinco terminales.
4 DivideDevuelve 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 iteracin en el bucle While, el VI Thermometer toma una medida de temperatura. El VI aade 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
ms las cuatro anteriores). El VI muestra el promedio en el grfico 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 botn 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 MonitorGrafique mltiples temperaturas
Objetivo
n
tri nts
Representar varios conjuntos de datos en un solo grfico 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 mvil en el mismo grfico. Adems, el usuario debe poder examinar una parte
bu
de la curva mientras los datos se estn adquiriendo.
su tru
Diseo
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 estn adquiriendo, muestre la leyenda escalas y la paleta del grfico 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 grfico para aceptar varios datos. Use una funcin Bundle para combinar la
temperatura media y la actual en un cluster y cablearlo al terminal del grfico Temperature History.
Figura 3-16. Diagrama de bloques original del VI Temperature Monitor
n
tri nts
ci
dis me
bu
su tru
da Ins
Implementacin 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 BundlePasa la temperatura actual y la media al terminal de grfico 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 grficas en la leyenda de las curvasUse la herramienta de posicionamiento para cambiar el tamao 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 grfico para examinar los datos que genere.
n
tri nts
2. Haga clic en el botn 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 decisin software.
ci
Escenario
dis me
Ha creado un VI en el que el usuario introduce una temperatura, una temperatura mxima y una mnima. Se genera una cadena de caracteres de advertencia en funcin
bu
de la relacin de las entradas. No obstante, una situacin podra hacer que el VI funcionara incorrectamente. Por ejemplo, el usuario podra introducir una temperatura
mxima inferior a la temperatura mnima. 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
Diseo
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 aadir una estructura Case al VI Temperature Warnings para ejecutar
el cdigo si la temperatura mxima es menos o igual que la temperatura mnima. De otra manera, el VI no ejecuta el cdigo. 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
Implementacin
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 aadir la estructura Case.
Seleccione las terminales de los controles Current Temperature, Max Temperature, Min Temperature y Error In.
n
tri nts
Consejo Para seleccionar ms 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 <Mays> para mover los objetos en incrementos de cinco pxeles.
bu
Consejo Presione la tecla <Ctrl> y use la herramienta de posicionamiento para arrastrar una regin del tamao que quiera insertar.
su tru
Seleccione las terminales de los indicadores Warning?,Warning Text y Error Out.
Alinee las terminales haciendo clic en el botn Align ObjectsLeft 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 estacin
meteorolgica de temperatura.
ibi al
n
Pr atio
N
oh
Figura 3-22. Diagrama de bloques del VI Temperature WarningsNo 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. Asegrese que la funcin Less? este fuera de la estructura Case.
2 Estructura CaseNo 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 FalseCon el caso True visible, haga clic con el botn derecho en el borde de la estructura Case y seleccione Make this Case
oh
False.
4 Etructura CaseCablee 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 despus de cablear Error In a la terminal selectora.
Figura 3-23. VI Temperature WarningsNo Error, caso True
n
tri nts
ci
dis me
bu
2
su tru
3
da Ins
ibi al
n
Pr atio
1 Caso TrueSi 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 TrueCuando el caso True se ejecuta, el LED Warning? se ilumina.
3 Constante de cadena de caracteresSi 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 WarningsCaso 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 tamao 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 configuracin.
La tabla 3-4 muestra la cadena esperada Warning Text y Warning? Valor booleano de cada configuracin de datos.
n
tri nts
Temperatura Actual Temperatura mxima Temperatura mnima 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 informacin 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 informacin 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 ejecucin 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 botn derecho en el borde de el cluster Error Out y seleccione Explain Error para mostrar informacin acerca del error
que fue devuelto.
n
5. Guarde y cierre el VI.
Pr atio
n
tri nts
ci
Desarrollo de aplicaciones modulares
dis me
bu
Complete el ejercicio en esta leccin para reforzar los conceptos que aprendi en la leccin 4 de LabVIEW Core 1.
su tru
Ejercicio
Ejercicio 4-1 VI Temperature WarningsComo subVI
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Crear el icono y panel de conectores para un VI de modo que pueda utilizar el VI como un subVI.
ci
Escenario
dis me
Ha creado un VI que determina una cadena de caracteres de advertencia en funcin de las entradas existentes. Cree un icono y panel de conectores de modo que pueda
bu
utilizar el VI como un subVI.
su tru
Diseo
El VI Temperature Warnings contiene las siguientes entradas y salidas:
da Ins
Entradas Salidas
Use el panel de conectores estndar para garantizar espacio para una futura expansin.
Implementacin
1. Abra Weather Warnings.lvproj en el directorio <Exercises>\LabVIEW Core 1\Weather Warnings.
N
oh
2. Abra Temperature Warnings VI desde la ventana Project Explorer. Cre el VI Temperature Warnings en el ejercicio 3-1 y lo modific en el ejercicio 3-6.
3. Conecte las entradas y salidas al conector como en la figura 4-1.
Figura 4-1. Conexiones del panel de conectores para el VI Temperature Warnings
n
tri nts
ci
dis me
1 2
bu
1 Panel de conectoresLocalizado en la esquina superior derecha de la ventana del VI, el panel de conectores muestra terminales potenciales para el VI. El
panel de conectores mostrado aqu muestra el patrn de terminales estndar. Puede hacer clic con el botn derecho en el panel de conectores y seleccionar
Patterns para escoger diferentes diseos de terminales.
su tru
2 ConexionesLa ventana Context Help muestra las conexiones del VI.
Con la herramienta de cableado, haga clic en el terminal superior derecho del panel de conectores.
da Ins
Haga clic en el control del panel frontal correspondiente, Current Temperature.
Observe que el terminal del panel de conectores se rellena con un color para coincidir con el tipo de datos del control conectado a l.
Haga clic en la terminal del panel de conectores abajo de la terminal Current Temperature.
ibi al
Haga clic en el control del panel frontal correspondiente, Max Temperature.
n
Siga cableando el panel de conectores hasta que todos los controles e indicadores estn cableados y la ventana Context Help coincida con la mostrada en la
figura 4-1.
Pr atio
N
oh
4. Cree un icono.
n
tri nts
Use las herramientas en el cuadro de dilogo Icon Editor para crear un cono. Haga el icono tan sencillo o complejo como desee, pero debe ser representativo
de la funcin del VI. La figura 4-2 muestra un ejemplo sencillo de un icono para este VI.
ci
Figura 4-2. Ejemplo de cono de advertencia
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
Consejo Haga doble clic en la herramienta de seleccin para seleccionar el grfico existente. Pulse la tecla <Suprimir> para eliminar el grfico. A
continuacin, haga doble clic en la herramienta de rectngulo para crear automticamente un borde para el icono.
oh
Consejo Haga doble clic en la herramienta de texto para modificar las fuentes. Puede seleccionar Small Fonts si desea fuentes de tamao inferior a 9
puntos.
Consejo Seleccione la ficha Glyphs y filtre los smbolos con la palabra clave warning. Despus arrastre un smbolo de advertencia a su icono.
5. Haga clic en OK cuando haya terminado para cerrar el cuadro de dilogo Icon Editor.
n
tri nts
6. Guarde y cierre el VI.
ci
Prueba
dis me
Pruebe el VI Temperature Warnings como un subVI.
bu
1. Aada archivos al proyecto LabVIEW Weather Warnings como se muestra en la figura 4-3.
Figura 4-3. Proyecto Weather Warnings
su tru
da Ins
ibi al
n
Pr atio
Aada una carpeta de relleno automtico al proyecto LabVIEW Weather Warnings. LabVIEW continuamente monitorea carpetas de relleno automtico y
actualiza la carpeta en la ventana Project Explorer de acuerdo a los cambios hechos en el proyecto y en el disco.
Haga clic con el botn derecho en My Computer en el proyecto Weather Warnings y seleccionar AddFolder (Auto-populating) en el men contextual.
N
Navegue a <Exercises>\LabVIEW Core 1\Shared Files y haga clic en el botn Select Folder.
oh
La carpeta Shared Files contiene archivos compartidos que puede usar en este y otros ejercicios.
Haga clic con el botn derecho en My Computer y seleccione AddFile desde el men contextual.
n
tri nts
Navegue a <Exercises>\LabVIEW Core 1\Weather Warnings\Test VIs\SubVI Tester.vi y haga clic en Add File.
ci
2. Abra el VI SubVI Tester y complete el diagrama de bloques como se muestra en la figura 4-4.
Figura 4-4. Diagrama de bloques del subVI Test
dis me
1 2
bu
su tru
3
da Ins
4
ibi al
1 Thermometer (Demo)Localice este VI en la carpeta Shared Files en la ventana Project Explorer, arrstrelo al diagrama de bloques y cablelo como se
n
muestra. Este VI genera ejemplos de valores de temperatura.
Pr atio
2 Temperature WarningsDebido a las modificaciones hechas al VI Temperature Warnings, puede usarlo como un subVI. Cablee el VI Temperature Warnings
usando la conexiones que cre.
3 Enum ConstantHaga clic con el botn derecho en la entrada Units (0:Celsius) del VI Thermometer (Demo) y seleccione CreateConstant. Crear la
constante enum del VI Thermometer (Demo) automticamente rellena el enum con las opciones apropiadas. Use la herramienta operacional para seleccionar
Celsius.
4 OrUse la funcin Or para detener el VI si el usuario haga clic en el botn Stop o si el VI Temperature Warnings devuelve un error en el cluster Error Out.
N
oh
3. En el panel frontal del VI SubVI Tester, ingrese los valores de prueba para los controles Max Temperature y Min Temperature.
4. Ejecute el VI.
El VI Thermometer (Demo) genera ejemplos de temperatura, las cuales son mostradas por el VI SubVI Tester en el indicador Thermometer.
5. Note como la cadena de caracteres en el indicador Warning Text cambia mientras la temperatura sube o baja.
n
tri nts
Fin del ejercicio 4-1
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
n
tri nts
ci
Complete los ejercicios en esta leccin para reforzar los conceptos que aprendi en la leccin 5 de LabVIEW Core 1.
dis me
Ejercicio
bu
Ejercicio 5-1 Concepto: Manipulando Arrays
su tru
Ejercicio 5-2 Concepto: Clusters
Ejercicio 5-3 Concepto: Definiciones tipo
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Manipular arrays con varias funciones de LabVIEW.
ci
Descripcin
dis me
Recibe un VI y debe mejorarlo para varios fines. El panel frontal de este VI est hecho. Complete el diagrama de bloques para practicar diferentes tcnicas para
bu
manipular arrays.
su tru
da Ins
ibi al
n
Pr atio
N
oh
Implementacin
1. Abra Manipulating Arrays.lvproj en el directorio <Exercises>\LabVIEW Core 1\Manipulating Arrays.
n
tri nts
2. Abra el VI Array Manipulation de la ventana Project Explorer. El panel frontal, mostrado en la figura 5-1, ya est creado para usted.
ci
Figura 5-1. Panel frontal del VI Array Manipulation
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
3. Abra el diagrama de bloques y complete cada uno de los casos que corresponde a las pestaas en el panel frontal como en las figuras 5-2 hasta 5-8.
Figura 5-2. VI Array ManipulationICaso Concatenate Channels
n
tri nts
ci
dis me
bu
su tru
da Ins
2 1
1
ibi al
Build ArrayExpanda este nodo para aceptar dos entradas y luego haga clic con el botn derecho y seleccione Concatenate inputs en el men contextual.
2 Cablee las salidas de las ondas sinusoidal y cuadrada a la funcin Build Array para crear un array de 1D con ambas curvas.
n
4. Cambie al panel frontal y pruebe el caso Concatenate Channels.
Pr atio
Ejecute el VI y note que la onda sinusoidal est concatenada con la onda cuadrada.
5. Detenga el VI.
N
oh
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al 1 2
1 Subtract?Cablee este a la terminal selectora de caso para que el caso correcto se ejecute cuando haga clic en el botn Subtract? en el panel frontal.
n
2 Estructura CaseColoque la funcin Subtract en el caso True, para que el VI reste los elementos del array cuando el botn Subtract? en el panel frontal es
presionado.
Pr atio
1
oh
1 Cuando el valor del control booleano Subtract? es False, el array de elementos es aadido.
Nota Este caso demuestra la funcionalidad polimrfica aadiendo y restando elementos del array.
n
tri nts
En el panel frontal, haga clic en la pestaa Add/Subtract Channels.
ci
Ejecute el VI.
dis me
Haga clic en el botn Subtract? y observe el comportamiento de restar la onda cuadrada de la onda sinusoidal.
bu
9. Detenga el VI.
su tru
da Ins
ibi al
n
Pr atio
N
oh
11. Complete el caso Select a Channel como en la figura 5-5.
Figura 5-5. VIArray ManipulationSelect a Channel
n
tri nts
1 2
ci
dis me
bu
su tru
4
da Ins
3
4 Array SizeDebido a que est usando un array de 1D, esta funcin devuelve un valor escalar.
Nota El caso Select a Channel usa un nodo de propiedad para cambiar el color de la grfica. Aprender sobre nodos de propiedad en LabVIEW Core 2.
Ejecute el VI.
Cambie entre Channel 0 y Channel 1y note los diferentes valores mostrados en el indicador Single Channel of Data Array.
n
tri nts
15. Complete el diagrama de bloques de Waveform Data como en la Figura 5-6.
ci
El tipo de dato de forma de onda es un tipo especial de cluster que contiene informacin adicional del tiempo de forma de onda.
Figura 5-6. VIArray ManipulationWaveform Data
dis me
bu
su tru
da Ins
1
ibi al
n
1 AddUsa el valor del control Offset para modificar el valor de la forma de onda en el tipo de dato de forma de onda. Note que el valor del controlOffset debe
Pr atio
ser coaccionado para ser usado con el tipo de dato de forma de onda.
Nota Polimorfismo es la habilidad de VIs y funciones de adaptarse automticamente para aceptar diferentes tipos de datos, incluyendo arrays, escalares
y formas de onda. VIs y funciones son polimrficos en diferentes grados.
N
n
tri nts
19. Complete el caso All Data Channel como en la figura 5-7.
ci
Figura 5-7. VI Array ManipulationAll Data
dis me
bu
su tru
5
da Ins
ibi al
n
2 3 4
Pr atio
1 AddModifica los mismos datos en un array aadiendo el valor de Channel 1 Offset a cada elemento del array.
2 Bucle ForExtrae cada elemento del array usando auto indexado para que la funcin Add en el bucle For pueda sumar un valor escalar.
3 Build ArrayToma los dos arrays de 1D y construye un array de 2D. Cada array de 1D se convierte en una fila en el array de 2D.
4 Array SizeDevuelve un array de 1D donde cada elemento muestra el tamao de cada dimensin. En este ejercicio, debe tener 2 elementos de datos para
N
5Los indicadores All Data Channel y Data Channel Array muestran la misma informacin.
Nota La funcionalidad polimrfica de las funciones de LabVIEW le permite realizar la misma operacin en cada elemento sin extraer elementos del
array, como lo hace con las dos funciones Add en el caso All Data Channel.
n
tri nts
Ejecute el VI.
ci
Cambie el valor del control Channel 1 Offset y observe el comportamiento.
dis me
bu
22. Cambie al diagrama de bloques y seleccione el caso Waveform Subset.
su tru
da Ins
ibi al
n
Pr atio
N
oh
23. Complete el caso Waveform Subset como en la figura 5-8.
Figura 5-8. VI Array ManipulationWaveform Subset
n
tri nts
2 1
ci
dis me
bu
su tru
3
da Ins
1
2
ibi al
Array SubsetExtrae un subgrupo de un array existente. En este ejercicio, use esta funcin para acercarse a un subgrupo de la forma de onda que gener.
Constante NumricaEstas constantes especifican que la funcin extrae las primeras dos columnas empezando por el elemento 0.
n
3 Start ValueEstablece el ndice de inicio. El valor predeterminado est configurado para empezar en el elemento 0.
4 LengthEstablece el nmero de elementos por extraer. El valor predeterminado est configurado para dar una salida de 1000 elementos.
Pr atio
Cambie el valor de los controles deslizadores Start Value y Length y note que en el grfico tipo waveform Subset Data el eje x empieza en cero y finaliza
oh
en el nmero de elementos del nuevo array. El eje x empieza en cero por que el VI crea un array nuevo y el grfico no sabe donde los datos estaban localizados
en el array original.
n
tri nts
Complete los siguientes pasos para usar el NI Example Finder para localizar VIs de ejemplos para demostrar diferentes formas de usar la funcin Array.
ci
1. Seleccione HelpFind Examples para iniciar NI Example Finder.
dis me
2. Haga clic en la pestaa Search e ingrese la palabra array.
bu
3. Haga clic en el botn Search para encontrar VIs usando el teclado.
su tru
4. Haga clic en uno de los ejemplos en los resultados de la bsqueda y lea la descripcin.
6. Lea los comentarios en el panel frontal y en el diagrama de bloques para aprender ms acerca de los que este ejemplo demuestra.
da Ins
7. Ejecute el ejemplo, examine los diferentes casos y haga clic en el botn Stop para salir.
Objetivo
n
tri nts
Cree un cluster conteniendo los datos que sern pasados a travs de la aplicacin y en el proceso, crea cdigo escalable y legible.
ci
Descripcin
dis me
Cree un cluster que contiene los datos usados por el VI Temperature Warnings que cre en la leccin 3. Modifique el VI Temperature Warnings para recibir y devolver
bu
datos en la forma del mismo cluster como en la figura 5-9. El VI modificado funciona de una manera ms modular con otros subVIs en toda la aplicacin.
Figura 5-9. Panel frontal del VI Temperature Warnings con clusters
su tru
da Ins
ibi al
n
Pr atio
N
oh
n
tri nts
3. Coloque los controles e indicadores existentes en un cluster llamado Weather Data como en la figura 5-10.
ci
Figura 5-10. Cree el cluster
dis me
bu
1 3
su tru
2
da Ins
ibi al
n
Pr atio
n
tri nts
ci
1
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
1 Cambie el tamao del cluster automticamenteLabVIEW puede reordenar y cambiar el tamao del cluster por usted. Haga clic con el botn derecho en el
borde del cluster Weather Data y seleccione AutoSizingArrange Vertically.
N
oh
n
tri nts
ci
3
dis me
bu
1
su tru
2
da Ins
ibi al
n
Pr atio
N
oh
1 Haga clic con el botn derecho en el borde del cluster y seleccione Reorder Controls in Cluster.
2 Haga clic en los nmeros negros para alternar el orden de los objetos en el cluster.
3 Haga clic en el botn Confirm para guardar los cambios.
6. Modifique el VI para recibir y devolver datos de cluster.
Figura 5-13. Temperature WarningsClusters Weather Data In y Weather Data Out
n
tri nts
ci
3
dis me
bu
1
2
su tru
da Ins
ibi al
n
Pr atio
N
1 Weather Data<Ctrl>-haga clic en el cluster Weather Data y arrstrelo para crear una copia. Cambie el nombre de la copia Weather Data In.
oh
2 Weather DataHaga clic con el botn derecho en el cluster original y seleccione Change to Indicator. Cambie el nombre del indicador Weather Data Out.
3 Cablee el panel de conectoresCablee el control Weather Data In a la esquina superior izquierda del conector. Cablee Weather Data Out a la esquina superior
derecha.
7. Modifique el diagrama de bloques como en la figura 5-14 para extraer datos del cluster de entrada.
n
tri nts
Mueva el cluster Weather Data Out a la derecha, afuera de las estructuras Case.
ci
Figura 5-14. Diagrama de bloques de Temperature Warnings con clusters
dis me
1
bu
2
su tru
da Ins
ibi al
n
1 Unbundle By NameCablee el control Weather Data In y expanda la funcin Unbundle by Name para mostrar tres elementos. Cablee las salidas de la funcin
Pr atio
Unbundle by Name a los cables rotos en el orden mostrado. Debido a que usted movi controles e indicadores individuales a un solo cluster, debe usar la funcin
Unbundle by Name para cablear controles e indicadores internos independientemente de cada uno.
2 Bundle By NameCablee el cluster Weather Data In alrededor de la estructura Case al cluster de entrada de la funcin Bundle by Name. Muestre dos
elementos y use la herramienta operacional para seleccionar los elementos Warning? y Warning Text. Conecte los cables rotos a las entradas de la funcin
Unbundle By Name como se muestra.
N
Nota Si el orden de los elementos en las funciones Unbundle by Name y Bundle By Name es diferente que el que usted desea, puede usar la herramienta
oh
n
tri nts
En el diagrama de bloques, borre los indicadores Thermometer, Warning? y Warning Text y cualquier otro cable roto. Presione <Ctrl-B> para limpiar
todos los cables rotos.
ci
Modifique el VI SubVI Tester para trabajar con el VI Temperature Warnings que ahora usa clusters como en la figura 5-15.
dis me
Figura 5-15. Diagrama de bloques del VI SubVI Tester modificado para trabajar con el VI Temperature Warnings modificado.
bu
1
su tru
2
da Ins
ibi al
n
3
Pr atio
1 Weather DataHaga clic con el botn derecho en la salida Weather Data Out del VI Temperature Warnings y seleccione CreateIndicator. Cablee la salida
al borde del bucle While, haga clic con el botn derecho en el tnel y seleccione Replace with Shift Register en el men contextual. El registro de
desplazamiento almacena los datos del cluster de una iteracin a la siguiente.
2 ConstanteHaga clic con el botn derecho en el registro de desplazamiento y seleccione Create constant para inicializar los valores. Cambie el nombre de
la constante Initialize Weather.
N
3 Bundle By NameCablee la constante del registro de desplazamiento Initialize Weather al cluster de entrada de la funcin Bundle by Name. Expanda la
funcin Bundle By Name a tres elementos.
oh
n
tri nts
ci
dis me
bu
su tru
da Ins
Ingrese valores en los controles Max Temperature y Min Temperature.
Ejecute el VI y verifique que el indicador Weather Data muestre los valores correctos.
ibi al
2. Guarde y cierre el VI.
n
Fin del ejercicio 5-2
Pr atio
N
oh
Ejercicio 5-3 Concepto: Definiciones tipo
Objetivo
n
tri nts
Mejorar la escalabilidad de su aplicacin usando definiciones tipo compuestas de clusters de controles personalizados, indicadores y constantes de un tipo de dato
ci
particular.
dis me
Escenario
bu
Como desarrollador de LabVIEW, usted puede encontrar situaciones donde necesite definir sus propios tipos de datos personalizados en la forma de clusters y enums.
Un reto asociado a usar tipos de datos personalizados es que puede que necesite cambiarlos ms tarde en el desarrollo. Adems, puede que los tenga que cambiar tras
haberlos usado en VIs. Por ejemplo, usted crea copias de un tipo de datos personalizado y los usa como controles, indicadores o constantes en uno o en ms VIs.
su tru
Luego se da cuenta de que el tipo de datos personalizado necesita ser cambiado. Necesita aadir, eliminar o cambiar los objetos en el tipo de datos cluster o el enum.
da Ins
Qu pasar a las copias de los tipos de datos personalizados usados en los VIs que ya estn guardados?
Deberan las copias mantenerse sin cambios o deberan actualizarse para reflejar los cambios en el original?
Usualmente, se desea que todas las copias de tipo de datos personalizados se actualicen si cambia el tipo de datos personalizado original. Para lograr esto, se necesita
ibi al
que las copias de los tipos de datos personalizados estn asociadas a una definicin tipo, la cual se define de la siguiente manera:
Definicin tipoUna copia maestra de tipo de datos personalizado que puede ser utilizada por mltiples VIs.
n
Pr atio
Implementacin
En este ejercicio, se modifica el VI Temperature Warnings que fue revisado en el ejercicio 5-2 de manera tal que los cambios hechos en el tipo de datos personalizado
Weather Data se propaguen a travs de la aplicacin.
Una vez completada, la aplicacin Weather Station monitoriza informacin de temperatura y de viento. Este ejercicio modifica el VI Temperature Warnings. En el
N
n
tri nts
Note que el VI Temperature Warnings est roto. Esto es debido a que los clusters Weather Data In y Weather Data Out ya no son del mismo tipo de datos.
ci
Abra el diagrama de bloques y note el cable roto conectado a la terminal Weather Data Out.
dis me
bu
4. Cree una definicin tipo.
Haga clic con el botn derecho en el borde del control Weather Data In y seleccione Make Type Def.
su tru
En el diagrama de bloques la terminal Weather Data In ahora tiene un tringulo negro en la esquina indicando que est conectada a una definicin tipo.
Haga clic con el botn derecho en el borde del control Weather Data In y seleccione Open Type Def para mostrar la ventana Custom Control Editor como
da Ins
en la figura 5-17.
ibi al
n
Pr atio
N
oh
La ventana parece el panel frontal de un VI pero no tiene diagrama de bloques.
Figura 5-17. Ventana Custom Control Editor
n
tri nts
ci
1
dis me
bu
su tru
da Ins
ibi al
n
1 El tipo de control es un Type Def, el cual mantiene el enlace entre el archivo y las copias del control personalizado usados en VIs.
Guarde el control personalizado como Weather Data.ctl en el directorio <Exercises>\LabVIEW Core 1\Weather Warnings y cierre la ventana
Pr atio
editora de controles.
En el diagrama de bloques del VI Temperature Warnings, note el punto de coercin en la terminal del indicador Weather Data Out. Esto indica que el
indicador no est ligado a la definicin tipo.
N
oh
Haga clic con el botn derecho en el borde del indicador Weather Data Out en el panel frontal y seleccione ReplaceSelect a Control en el men contextual.
n
tri nts
Busque y seleccione el archivo Weather Data.ctl que acaba de crear.
ci
Nota Ya no puede aadir o remover elementos del cluster de controles e indicadores en el panel frontal. Debe abrir la definicin tipo y aadir o remover
el elemento de la ventana editora de controles.
dis me
Guarde el VI Temperature Warnings.
bu
6. Edite la definicin tipo Weather Data para incluir informacin de unidad.
su tru
Haga clic con el botn derecho en el borde del control Weather Data In y seleccione Open Type Def.
da Ins
ibi al
n
Pr atio
N
oh
Modifique el panel frontal como en la figura 5-18.
Figura 5-18. Definicin tipo Weather Data con unidades de temperatura
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
1
Pr atio
1 Enum (Silver)Coloque el enum en el cluster y nmbrelo Units. Haga clic con el botn derecho en el enum y seleccione Edit Items. Cree un tem para
Celsius y Fahrenheit.
Note que el control Weather Data In y el indicador Weather Data Out en el VI Temperature Warnings ha sido actualizado con los cambios hechos a la
definicin tipo Weather Data. Organice el panel frontal del VI como en la figura 5-19.
Figura 5-19. VI Temperature Warnings con controles e indicadores Type Def
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
n
tri nts
Abra el VI SubVI Tester desde la ventana Project Explorer.
ci
En el panel frontal, haga clic con el botn derecho en el cluster Weather Data Out y seleccione ReplaceSelect a Control en el men contextual.
dis me
En el diagrama de bloques del VI SubVI Tester, elimine los siguientes tems:
bu
Inicialice la constante Weather cableada al registro de desplazamiento izquierdo
su tru
Cualquier cable roto. Presione <Ctrl-B> para limpiar todos los cables rotos.
da Ins
ibi al
n
Pr atio
N
oh
Modifique el VI SubVI Tester para trabajar con el VI Temperature Warnings que ahora usa definiciones tipo como en la figura 5-20.
Figura 5-20. Diagrama de bloques modificado del VI SubVI Tester para probar el subVI Temperature Warnings
n
tri nts
1 3 2
ci
dis me
bu
su tru
da Ins
1 Inicialice el registro de desplazamientoHaga clic con el botn derecho en el registro de desplazamiento y seleccione CreateConstant para inicializar el
registro de desplazamiento. Haga clic con el botn derecho en el cluster y seleccione View Cluster as Icon.
2 Bundle By NameExpanda el nodo para mostrar cuatro elementos. Use la herramienta operacional para seleccionar Units.
ibi al
3 Cablee la constante Units (0:Celsius) al elemento Units de la funcin Bundle By Name.
n
Pr atio
N
oh
Disponga el panel frontal de la figura 5-21.
Figura 5-21. Panel frontal del VI SubVI Tester modificado con Type Def
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
Ingrese valores en los controles Max Temperature y Min Temperature.
n
2. Ejecute el VI y verifique que los valores mostrados en el indicador Weather Data Out son correctos.
Pr atio
Reto
En este ejercicio reto, se modifica el VI Windspeed Warnings para aumentar la aplicacin Weather Station. Luego se modifica el VI Windspeed Warnings como un
N
subVI.
oh
En ventana Project Explorer, haga clic con el botn derecho en My Computer y seleccione AddFile desde el men contextual.
Navegue al fichero <Exercises>LabVIEW Core 1\Weather Warnings\Support VIs y seleccione Windspeed Warnings.vi.
n
tri nts
3. Copie el cluster Weather Data In del VI Temperature Warnings al VI Windspeed Warnings.
ci
4. Haga clic con el botn derecho en el cluster Weather Data In y seleccione Open Type Def en el men contextual.
5. Modifique la definicin tipo Weather Data con controles de velocidad de viento como en la figura 5-22.
dis me
Figura 5-22. Controles e indicadores de la definicin tipo del VI Windspeed Warnings
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
6. Modifique el diagrama de bloques del VI Windspeed Warnings para usar la nueva definicin tipo Weather Data en lugar de controles e indicadores individuales,
como en la figura 5-23.
Figura 5-23. VI Windspeed Warnings usando definiciones tipo
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
7. Modifique el VI SubVI Tester para trabajar con el VI Windspeed Warnings, como en la figura 5-24.
Figura 5-24. Diagrama de bloques modificado del VI SubVI Tester para probar el subVI TWindspeed Warnings
n
tri nts
ci
dis me
bu
su tru
da Ins
8. Ejecute el VI SubVI Tester y verifique que los valores mostrados en el indicador Weather Data Out son correctos.
n
tri nts
ci
Administrando archivos y recursos hardware
dis me
bu
Complete los ejercicios en esta leccin para reforzar los conceptos que aprendi en la leccin 6 de LabVIEW Core 1.
su tru
Ejercicio
Ejercicio 6-1 Concepto: VI Spreadsheet Example
Ejercicio 6-2 VI Temperature MonitorRegistro de datos
da Ins
Ejercicio 6-3 Concepto: NI Measurement & Automation Explorer (MAX)
Ejercicio 6-4 Uso de DAQmx
Ejercicio 6-5 Concepto: Configuracin GPIB con MAX
Ejercicio 6-6
ibi al
Concepto: VI NI Devsim
n
Pr atio
N
oh
Objetivo
n
tri nts
Guardar un array 2D en un fichero de texto para que una aplicacin de hoja de clculo pueda acceder al fichero y explorar cmo mostrar datos numricos en una tabla.
ci
Descripcin
dis me
Complete los pasos siguientes para examinar un VI que guarda arrays numricos en un fichero con un formato al que puede acceder con una hoja de clculo.
bu
1. Abra Spreadsheet Example.lvproj en el directorio <Exercises>\LabVIEW Core 1\Spreadsheet Example.
su tru
2. Abra el Spreadsheet Example.vi desde la ventana Project Explorer.
El VI Spreadsheet Example genera datos sinusoidales, cosenoidales y ruido para 128 puntos. Luego el VI almacena esta informacin en un array de 2D que es
de 128 filas 3 columnas. El indicador Table en la figura 6-1 muestra los datos de tres columnas (Sine, Noise, and Cosine) para las primeras 14 filas del array.
da Ins
El indicador Waveform Graph muestra las curvas de cada columna. Finalmente, el VI Spreadsheet Example guarda la informacin en un archivo de registro.
Figura 6-1. Panel frontal del VI Spreadsheet Example
ibi al
n
Pr atio
N
oh
3. Ejecute el VI.
4. Guarde el archivo, cuando se le indique, como wave.txt en el directorio <Exercises>\LabVIEW Core 1\Spreadsheet Example y haga clic en el
botn OK. Este archivo se examinar ms tarde.
n
tri nts
5. Abra y examine el diagrama de bloques de este VI.
ci
Figura 6-2. Diagrama de bloques del VI Spreadsheet Example
dis me
bu
su tru
da Ins
VI Sine PatternDevuelve un array numrico de 128 elementos que contienen un patrn sinusoidal. La constante 90.0, en la segunda copia del VI Sine
Pattern, especifica la fase del modelo sinusoidal la cual genera el modelo cosenoidal.
ibi al
VI Uniform White NoiseDevuelve un array numrico de 128 elementos que contienen un patrn de ruido.
La funcin Build ArrayCrea el siguiente array 2D a partir del array sinusoidal, array de ruido y array cosenoidal.
n
Array sinusoidal
Pr atio
Array de ruido
Array cosenoidal
N
oh
La funcin Transpose 2D ArrayReordena los elementos del array 2D para que el elemento [i,j] se convierta en el elemento [j,i], de este modo.
S N C
n
tri nts
ci
dis me
bu
su tru
El VI Write To Spreadsheet FileConvierte el array 2D en una cadena de caracteres de hoja de clculo y escribe la cadena de caracteres en un archivo. La
cadena de caracteres tiene el siguiente formato, donde una flecha () indica una tabulacin y un smbolo de prrafo () indica el final de un carcter de lnea.
da Ins
S N C
ibi al
n
Pr atio
La funcin Number To Fractional StringConvierte un array de valores numricos en un array de cadenas de caracteres que se muestra en la tabla.
Nota Este ejemplo almacena slo tres arrays en el fichero. Para incluir ms arrays, aumente el nmero de entradas en la funcin Build Array.
oh
7. Abra el fichero wave.txt con un procesador de texto, una aplicacin de hoja de clculo o un editor de texto y vea su contenido.
Abra un procesador de texto, una aplicacin de hoja de clculo o un editor de texto, como el Bloc de notas o WordPad.
n
tri nts
Abra wave.txt. Los datos de la forma de onda sinusoidal aparecen en la primera columna, los datos de la forma de onda aleatoria aparecen en la segunda
columna y los datos de la forma de onda cosenoidal aparecen en la tercera columna.
ci
8. Salga del procesador de texto o de la aplicacin de hoja de clculo y vuelva a LabVIEW.
dis me
Fin del ejercicio 6-1
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Modificar un VI para crear un fichero ASCII usando el flujo continuo de datos a disco.
ci
Descripcin
dis me
Ha recibido un VI que representa la temperatura actual y la media de las tres ltimas temperaturas. Modifique el VI para registrar la temperatura actual en un fichero
bu
ASCII.
su tru
Implementacin
1. AbraTemperature Monitor.lvproj en el directorio <Exercises>\LabVIEW Core 1\Temperature Monitor.
2. AbraTemperature Monitor.vi de la ventana Project Explorer. Este VI fue creado en el ejercicio 3-5
da Ins
ibi al
n
Pr atio
N
oh
3. Modifique el diagrama de bloques como en la figura 6-3.
Figura 6-3. Diagrama de bloques del VI Temperature Monitor with Logging
n
tri nts
ci
dis me
bu
su tru
da Ins
1 3 2 4 5 6 7
1
ibi al
Open/Create/Replace FileCrea o reemplaza un archivo existente por el registro de datos. Haga clic con el botn derecho en la entrada operation y
seleccione CreateConstant. Configure la constante en replace or create.
2 Format Into StringCambia el formato de la temperatura a una cadena de caracteres. Expanda el nodo para que acepte dos entradas.
n
3 End of Line ConstantAade una constante de final-de-lnea despus de cada trozo de datos para que los valores sean separados en lneas.
Pr atio
n
tri nts
ci
1
2
dis me
bu
su tru
3
da Ins
4
1 Format Into StringHaga doble clic en la funcin Format Into String para abrir el cuadro de dilogo Edit Format String.
2 Use specified precisionColoque una marca en la casilla de verificacin e ingrese un 3 en el cuadro de texto para especificar que los datos tienen una
precisin coma flotante de tres dgitos.
3
ibi al
Corresponding format stringEste cuadro de texto automticamente se actualiza basado en la configuracin que especifique. Tras hacer clic en el botn OK
en el cuadro de dilogo, el diagrama de bloques se actualiza para mostrar el formato de la cadena de caracteres.
4 Botn HelpHaga clic en el botn Help para ms informacin acerca de elementos ms especficos de formato, como %3f y opciones de configuracin de la
n
funcin Format Into String.
Pr atio
5. Pruebe el VI.
Ejecute el VI.
Haga clic en el botn Stop luego que el VI haya estado ejecutndose por algunas muestras.
oh
n
tri nts
Para mejorar la utilizacin del archivo de registro, se le pide incluir un encabezado al inicio del archivo de registro como en la figura 6-5.
ci
Figura 6-5. Archivo de registro con encabezado del VI Temperature Monitor
dis me
bu
su tru
da Ins
Modifique el VI Temperature Monitor para incluir el encabezado Current Temperature.
Consejo:
Debido a que el encabezado se escribe solo una vez al archivo de texto, se debe escribir al encabezado por fuera del bucle While.
ibi al
Use las funciones en la paleta Strings para manipular y dar formato a una cadena de caracteres para usarla en un procesador de texto o en una aplicacin de
n
hoja de clculo.
Pr atio
N
oh
n
tri nts
Figura 6-6. Archivo de registro con encabezados y dos columnas del VI Temperature Monitor
ci
dis me
bu
su tru
1 2
da Ins
1 Columnas tabuladas en un editor de texto. 2 Columnas tabuladas en una aplicacin de hoja de clculo.
Consejo:
Use una funcin Format Into String expandida para convertir y cambiar el formato de los datos a cadenas de caracteres.
ibi al
Fin del ejercicio 6-2
n
Pr atio
N
oh
Ejercicio 6-3 Concepto: NI Measurement & Automation Explorer (MAX)
Objetivo
n
tri nts
Utilizar MAX para examinar, configurar y probar un dispositivo.
ci
Descripcin
dis me
Complete estos pasos para examinar la configuracin para el dispositivo DAQ en el ordenador usando MAX. Use las rutinas de prueba de MAX para confirmar que
bu
funciona el dispositivo. Si no tiene un dispositivo DAQ, puede simular un dispositivo utilizando las instrucciones del paso 3.
Nota Ciertas partes de este ejercicio solo pueden completarse usando un dispositivo real y un BNC-2120. Algunos de estos pasos tienen instrucciones
su tru
alternativas para simular los dispositivos.
1. Lance MAX seleccionando StartProgramsNational InstrumentsMeasurement & Automation o haciendo doble clic en el icono NI MAX del escritorio.
da Ins
MAX busca en el ordenador hardware instalado de National Instruments y muestra la informacin.
2. Si tiene un dispositivo DAQ instalado, puede saltar el paso 3 e ir a la seccin Examen de la configuracin de dispositivos DAQ.
3. Cree un dispositivo simulado NI-DAQmx para completar los ejercicios sin hardware.
ibi al
Haga click con el botn derecho en Devices and Interfaces y seleccione Create NewSimulated NI-DAQmx Device or Modular Instrument de la lista.
En el cuadro de dilogo Create Simulated NI-DAQmx Device seleccione M Series DAQNI PCI 6225.
2. Seleccione el dispositivo que est conectado a su mquina. Los iconos verdes representan dispositivos reales y los iconos amarillos representan dispositivos
simulados. Quiz tenga otro dispositivo instalado y algunas opciones mostradas sean distintas.
MAX muestra el hardware y software de National Instruments en el ordenador. El nmero del dispositivo aparece entre comillas tras el nombre de tipo de
dispositivo. Los VIs Data Acquisition usan este nmero de dispositivo para determinar qu dispositivo realiza operaciones DAQ. MAX tambin muestra los
atributos del dispositivo como los recursos del sistema que usa el dispositivo. La figura 6-7 muestra el dispositivo PCI-6225.
n
tri nts
Figura 6-7. MAX con el dispositivo y las interfaces expandidas
ci
dis me
bu
1
su tru
da Ins
ibi al
n
Pr atio
1 Asegrese de que el dispositivo que usa este nombrado Dev 1. Para renombrar un dispositivo, haga clic con el botn derecho en el dispositivo y seleccione
Rename en el men contextual. Usar Dev 1 en el ejercicio 6-4.
N
Consejo El botn Show Help/Hide Help en la esquina superior derecha de MAX est disponible para ciertos tems. Haga clic en el botn Show
Help/Hide Help para esconder la ayuda en lnea o para mostrar la informacin del dispositivo DAQ.
oh
3. Seleccione la ficha Device Routes en la parte inferior de MAX para ver informacin detallada de las seales internas que pueden enrutarse a otros destinos del
dispositivo, como en la figura 6-8. ste es un recurso potente que representa visualmente las seales disponibles para temporizarse y sincronizarse con
componentes del dispositivo y de otros dispositivos externos.
n
tri nts
Figura 6-8. Rutas del dispositivo
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
4. Seleccione la ficha Calibration, como se muestra en la figura 6-9, para ver informacin sobre la ltima vez que se calibr el dispositivo interna y externamente.
Figura 6-9. Calibracin
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
5. Si est usando un dispositivo fsico, haga clic en el dispositivo NI-DAQmx en el rbol de configuracin y seleccione Self-Calibrate para actualizar las constantes
de calibracin integradas y calibrar el dispositivo DAQ utilizando una fuente de referencia de tensin de precisin. Complete los pasos del cuadro de dilogo que
aparece. Cuando se haya calibrado el dispositivo, la informacin Self Calibration se actualiza. Omita este paso si est usando un dispositivo simulado.
N
oh
Prueba de componentes de dispositivos DAQ
1. Haga clic en el botn Self-Test en MAX para probar el dispositivo. Las acciones en el cuadro de dilogo Test Panels prueban los recursos del sistema asignados
al dispositivo. El dispositivo debera superar la prueba, porque ya se ha configurado.
n
tri nts
2. Haga clic en el botn Test Panels para probar las funciones individuales del dispositivo DAQ, como la entrada y salida analgicas. Aparecer el cuadro de dilogo
ci
Test Panels.
Use la ficha Analog Input para probar los canales de entrada analgica en el dispositivo DAQ. Haga clic en la pestaa Analog Input. Haga clic en el botn
dis me
Start para adquirir datos de la entrada analgica canal 0 y haga clic en el botn Stop cuando termine de experimentar con los ajustes de la pestaa.
bu
Si est usando un BNC-2120, asegrese de que el interruptor sobre el conector AI 0 est en la posicin Temp. Ref. para conectar el sensor de temperatura
a ai0. Coloque el dedo en el sensor para ver el aumento de tensin.
su tru
Si est utilizando un dispositivo simulado, aparecer una onda sinusoidal en todos los canales de entrada.
Haga clic en la pestaa Analog Output para configurar una tensin u onda sinusoidal en uno de los canales de salida analgica del dispositivo DAQ. Haga
da Ins
clic en la pestaa Analog Output.
Seleccione Sinewave Generation en el men desplegable Mode y haga clic en el botn Start. MAX genera una onda sinusoidal en el canal salida
analgico 0.
Si tiene hardware instalado, puede leer la onda sinusoidal en el canal 0. En el BNC 2120, cablee Analog Out Ch0 a Analog In Ch1. Haga clic en la
ibi al
pestaa Analog Input en el cuadro de dilogo Test Panels y seleccione Dev1/ai1 desde el men desplegable Channel Name. Haga clic en el botn Start
para adquirir datos desde el canal de entrada analgica 1. MAX muestra la onda sinusoidal desde el canal de salida analgica 0.
n
Use la pestaa Digital I/O para probar las lneas digitales en el dispositivo DAQ. Haga clic en la pestaa Digital I/O.
Pr atio
En la seccin Select Direction, configure las lineas del 0 al 3 como salidas tal como se muestra en la Figura 6-10.
Figura 6-10. Direccin de lneas de E/S digital
N
oh
Haga clic en Start para empezar el test de la salida digital, despus cambie los interruptores en la seccin Select State como en la figura 6-11. Si tiene
un BNC-2120, al cambiar los interruptores activar o desactivar los LED. Note que los LED usan lgica negativa.
Figura 6-11. LEDs E/S Digital
n
tri nts
ci
dis me
Haga clic en Stop para detener la prueba de salida digital.
bu
Use la pestaa Counter I/O para determinar si el contador o los temporizadores del dispositivo DAQ funcionan correctamente. Haga clic en la pestaa
Counter I/O.
su tru
Si tiene hardware instalado, haga clic en la pestaa Counter I/O. Para verificar la operacin de contadores o temporizadores seleccione Edge Counting
desde el men desplegable Mode y haga clic en el botn Start. El indicador Counter Value se incrementar rpidamente. Haga clic en Stop para detener
la prueba del contador.
da Ins
Haga clic en el botn Close para cerrar el cuadro de dilogo Test Panel y volver a MAX.
Objetivo
n
tri nts
Explorar un programa ejemplo de DAQmx que adquiere datos continuamente y modificarlo para esperar un trigger digital.
ci
Escenario
dis me
Explore un programa ejemplo de DAQmx que adquiera continuamente una seal de tensin en el canal 1 de la entrada analgica (AI1) de un dispositivo DAQ.
bu
Modifique el VI para que utilice un trigger digital. El VI comienza a medir cuando el usuario enva un trigger digital al dispositivo. En este ejercicio, el usuario envia
un trigger al girar el mando Quadrature Encoder en el BNC 2120. El VI finaliza la medicin cuando el usuario hace clic en el botn Stop en el panel frontal del VI.
su tru
Implementacin
Conexiones externas
da Ins
1. Si est usando un BNC-2120, conecte la salida Sine/Triangle del generador de funciones al canal AI 1 con cable BNC, y asegrese de que el interruptor del
generador de funciones est configurado para onda sinusoidal. Adems, asegure que existe un cable conectando la terminal de tornillo UP/DN con la terminal
PFI1 en la seccin Timing I/0.
Nota El terminal UP/DN del BNC-2120 produce una seal alta o baja indicando el sentido de rotacin del mando Quadrature Encoder. Cuando rote
ibi al
el mando Quadrature Encoder en el sentido horario, el terminal UP/DN generar una seal alta. Cuando rote el mando Quadrature Encoder en el
sentido anti horario, el terminal UP/DN generar una seal baja. En este ejercicio, estas seales le indican al VI que empiece a adquirir datos.
n
Abrir y ejecutar un ejemplo de DAQmx
Pr atio
Nota Si no puede localizar este ejemplo de DAQmx en el NI Example Finder, tambin lo puede abrir del directorio <Exercises>\LabVIEW Core
1\Using DAQmx y saltar este paso 5.
N
4. Haga doble clic en Voltage-Continuous Input.vi para abrir el programa de ejemplo. Este VI demuestra cmo adquirir una cantidad continua de datos desde un
dispositivo DAQ.
5. Seleccione FileSave As para guardar el VI como <Exercises>\LabVIEW Core 1\Triggered Analog Input\Trigger AI Acquisition.vi.
n
tri nts
Cuando se le indique, seleccione Copy - Substitute copy for original.
ci
6. Abra y explore el diagrama de bloques como en la figura 6-12.
Figura 6-12. Diagrama de bloques del VI Original Voltage - Continuous Input
dis me
bu
3
su tru
da Ins
1
ibi al 2
1 DAQmx Create Channel VIHaga clic en el men desplegable y observe que est configurado en Analog InputVoltage.
2 Pulse <Ctrl-H> para abrir la ventana Context Help. Colquese encima de cada funcin DAQmx para saber acerca de cada una.
n
3 Nodo de propiedadObtiene o establece propiedades para una referencia. Aprender sobre nodos de propiedad luego.
Pr atio
Use el interruptor Frequency Selection y el mando Frequency Adjust en el BNC 2120 para cambiar la frecuencia de la seal generada y adquirida.
n
tri nts
9. Haga clic en el botn Stop para detener el VI.
ci
Aadir triggering al programa ejemplo
1. Modifique el diagrama de bloques como en la figura 6-13 para aadir la funcionalidad de trigger. Luego de modificar este VI, el VI espera por un trigger antes
dis me
de adquirir los datos.
bu
Figura 6-13. Diagrama de bloques del VI Trigger AI Acquisition
su tru
3
da Ins
ibi al
n 2 1
1 DAQmx Trigger VIColocado a la derecha del VI DAQmx Configure Logging. Borre la cables task out y error out del VI DAQmx Configure Logging y luego
cablelos a travs del VI DAQmx Trigger al VI DAQmx Start Task.
Pr atio
2 Configure the triggerHaga clic en el men desplegable del VI DAQmx Trigger y seleccione StartDigital Edge.
3 Cree controlesHaga clic con el botn derecho en la entrada source y la entrada edge del VI DAQmx Trigger y seleccione CreateControl.
4 Etiqueta libreCree una etiqueta e ingrese Trigger Settings.
2. Modifique el panel frontal y establezca los valores predeterminados como en la figura 6-14.
N
oh
2 3 4 1
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
1 Mueva el grupo Acquired DataSeleccione todos los tems en el grupo Acquired Data y muevalos a la derecha. <Shift>-haga clic para seleccionar mltiples
n
tems y presione <Shift-arrow key> para moverlos.
2 Cree el grupo Trigger SettingsCopie un contenedor de otro grupo, etiquete la copia como Trigger Settings y coloque los controles edge y source en l.
Pr atio
3. Guarde el VI.
N
4. Ejecute el VI. Gire el mando Quadrature Encoder en el BNC 2120 en sentido anti horario y luego en sentido horario para comenzar la adquisicin.
oh
Objetivo
n
tri nts
Aprender a configurar el Simulador de instrumentos de NI y usar MAX para examinar los ajustes de la interfaz GPIB, detectar instrumentos y comunicarse con ellos.
ci
Descripcin
dis me
1. Configure el simulador de instrumentos de NI.
bu
Apague el simulador de instrumentos de NI.
su tru
Ajuste el interruptor de configuracin del panel posterior en CFG, como en la figura 6-15.
Figura 6-15. Simulador de Instrumentos de NI
da Ins
ibi al
Encienda el Simulador de instrumentos de NI con el interruptor de encendido de la parte frontal de la unidad.
n
Compruebe que el LED PWR est encendido y el LED RDY parpadeando.
Pr atio
Lance el asistente para el Simulador de instrumentos de NI en StartAll ProgramsNational InstrumentsInstrument SimulatorInstrument Simulator
Wizard.
n
tri nts
Configure la GPIB Secondary Address en 0(disabled).
ci
Haga clic en Next.
dis me
bu
Haga clic en OK cuando reciba el mensaje que la actualizacin fue exitosa.
su tru
Ajuste el interruptor de configuracin del panel posterior en NORM.
Encienda el Simulador de instrumentos de NI con el interruptor de encendido de la parte frontal de la unidad.
da Ins
Compruebe que los LEDs PWR y RDY estn iluminados.
2. Lance MAX haciendo doble clic en el icono del escritorio o seleccionando ToolsMeasurement & Automation Explorer en LabVIEW.
Haga clic en el botn Communicate with Instrument en la barra de herramientas. Aparecer una ventana interactiva. Puede usarla para consultar, escribir
n
tri nts
y leer desde ese instrumento.
ci
Escriba *IDN? en el cuadro de texto Send String y haga clic en el botn Query. El instrumento muestra su marca y nmero de modelo en String Received
como se ve en la figura 6-16. Puede usar esta ventana para depurar problemas de instrumentos o para comprobar que los comandos concretos funcionan como
dis me
se describe en la documentacin del instrumento.
bu
Figura 6-16. Comunicacin con el instrumento GPIB
su tru
da Ins
ibi al
n
Pr atio
Escriba MEASURE:VOLTAGE:DC? en Send String y haga clic en el botn Query. El Simulador de instrumentos de NI muestra una medida de tensin
simulada.
5. Configure un alias VISA devsim para el Simulador de instrumentos de NI para poder utilizar el alias en lugar de tener que recordar la direccin primaria.
n
tri nts
Escriba devsim en el campo VISA Alias on My System. Utilizar este alias durante este curso.
ci
Haga clic en Guardar.
dis me
bu
7. Haga clic en Yes cuando se le indique para guardar el instrumento.
su tru
da Ins
ibi al
n
Pr atio
N
oh
Ejercicio 6-6 Concepto: VI NI Devsim
Objetivo
n
tri nts
Instalar un controlador de instrumento y explorar los programas de ejemplo que acompaan al controlador de instrumento.
ci
Descripcin
dis me
Instale el controlador de instrumento para el Simulador de instrumentos de NI. Cuando lo instale, explore los VIs que incluye el controlador de instrumento y los
bu
programas de ejemplo que se aaden al NI Example Finder.
Figura 6-17. Simulador de Instrumentos de NI
su tru
da Ins
Install Instrument Driver and Open ProjectDescarga desde internet
ibi al
Si tiene acceso a internet y tiene, o desea crear, un perfil de usuario en ni.com, complete los siguientes pasos. De otro modo, instale el controlador del CD del curso
siguiendo las instrucciones en la seccin Install Instrument Driver and Open ProjectExtraccin desde disco.
n
1. Seleccione HelpFind Instrument Drivers.
Pr atio
4. Si no tiene un perfil en ni.com, siga las instrucciones en pantalla para crear uno. Asegurese de hacer una nota con su ID de usuario y contrasea.
N
5. Luego que inicia sesin, haga clic en el botn Scan for Instruments. Si tiene un instrumento conectado, hacer clic en este botn detecta el instrumento y encuentra
oh
6. Haga doble clic en Instrument Simulator en la lista y haga clic en el botn Search.
n
tri nts
9. Haga clic en el botn Start using this driver.
ci
10. Haga clic en el botn Open Project.
dis me
bu
12. Cierre la ventana NI Instrument Driver Finder y dirijase a la seccin Exploracin del controlador de instrumento para continuar este ejercicio.
su tru
Si no tiene acceso a internet o no desea crear un perfil de usuario complete los siguientes pasos para instalar el controlador del instrumento.
1. Navegue al directorio <Exercises>\LabVIEW Core 1\Instrument Driver. Esta carpeta contiene los controladores de instrumento plug & play de
da Ins
LabVIEW para el Simulador de instrumentos en una carpeta zip.
2. Haga clic con el botn derecho en la carpeta zip and siga el asistente para extraer todos los archivos del directorio <Program Files>\National
Instruments\LabVIEW 2012\instr.lib.
ibi al
3. Abra National Instruments Instrument Simulator.lvproj en el directorio <Program Files>\National Instruments\LabVIEW
2012\instr.lib\National Instruments Instrument Simulator.
n
4. Expanda la carpeta Examples en la ventana LabVIEW Project.
Pr atio
2. Compruebe que los LEDs PWR y RDY estn iluminados en el Simulador de instrumentos.
3. Seleccione devsim en el control VISA Resource Name en el panel frontal. Especific el alias VISA para este instrumento GPIB como devsim en el paso 5 del
ejercicio 6-5, Concepto: Configuracin GPIB con MAX.
4. Ejecute el VI.
n
tri nts
5. Abra el diagrama de bloques del VI.
ci
6. Abra la paleta Functions y navegue a la paleta Instrument I/OInstrument DriversNational Instruments Instrument Simulator.
dis me
7. Explore la paleta y subpaletas usando la ventana Context Help para familiarizarse con las funciones en la paleta.
bu
8. Guarde y cierre el VI. No guarde los cambios.
su tru
9. Abra National Instruments Instrument Simulator Acquire Waveform(Scope).vi del proyecto. Este VI lee una sola forma de onda desde el Simulador de
instrumentos.
da Ins
11. Ejecute el VI.
Abra el diagrama de bloques del VI Read Waveform. Observe que utiliza funciones VISA para comunicarse con el instrumento.
n
tri nts
ci
Complete el ejercicio en esta leccin para reforzar los conceptos que aprendi en la leccin 7 de LabVIEW Core 1.
dis me
Ejercicio
bu
Ejercicio 7-1 VI State Machine
su tru
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Crear un VI que implemente una mquina de estados usando una definicin de tipo enum.
ci
Escenario
dis me
Debe disear un VI para una mquina de estados de interfaz de usuario. El VI adquiere una temperatura cada medio segundo, analiza cada temperatura para determinar
bu
si es demasiado alta o baja y alerta al usuario si hay peligro de golpe de calor o congelacin. El programa registra los datos si hay una advertencia. Si el usuario no
ha hecho clic en el botn de parada, se repetir todo el proceso. La mquina de estados tambin debe permitir la expansin, ya que pueden aadirse procesos en el
futuro.
su tru
Diseo
Use el siguiente diagrama de flujo y la lista de estados 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 7-1 ilustra el diseo por flujo de datos.
Figura 7-1. Diagrama de flujo del VI Temperature Warnings
n
tri nts
ci
dis me
Initialize
bu
su tru
Acquistion
da Ins
Time Elapsed = TRUE
and
Stop = FALSE
Warning = TRUE
Analysis
ibi al
n
Data log
Stop = FALSE
Time
Check
Warning = FALSE
Stop = TRUE
N
oh
Transiciones de estado
La siguiente tabla describe los estados de esta mquina de estados.
n
tri nts
Estado Descripcin Siguiente estado
ci
Adquisicin Establece el tiempo en cero, adquiera datos del sensor de Anlisis
temperatura
dis me
Anlisis Lee los controles del panel frontal y determina el nivel de alerta Registro de datos si ocurre una alarma, comprobar el
bu
tiempo si no hay alarmas
Registro de datos Registrar los datos en un archivo ASCII delimitado con Comprobar el tiempo
su tru
tabulaciones
Comprobar el tiempo Comprobar si el tiempo es superior o igual a 0,5 segundos Adquisicin si ha transcurrido el tiempo, comprobar el
tiempo si no ha transcurrido el tiempo
da Ins
Implementacin
1. Abra Weather Station.lvproj en el directorio <Exercises>\LabVIEW Core 1\Weather Station.
ibi al
2. Abra Weather Station UI.vi de la ventana Project Explorer.
n
Pr atio
N
oh
La figura 7-2 muestra el panel frontal del VI Weather Station UI que se proporcion. Modifique el diagrama de bloques para crear una mquina de estados para
la aplicacin Weather Station.
Figura 7-2. Ventana del panel frontal del VI Weather Station UI
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
La figura 7-3 muestra el punto de partida del diagrama de bloques para el VI Weather Station UI. Edite el diagrama de bloques para implementar una mquina
de estados para la aplicacin Weather Station.
Figura 7-3. Inicio del diagrama de bloques del VI Weather Station UI
n
tri nts
ci
1
dis me
bu
su tru
da Ins
1 Use estos controles e indicadores para programar diferentes casos.
ibi al
3. Cree una nueva definicin tipo para controlar la aplicacin Weather Station.
n
Abra el diagrama de bloques y cree una constante Enum a la izquierda del bucle While.
Pr atio
Haga clic con el botn derecho en la constante y seleccione Edit Items en el men contextual.
N
oh
Aada los tems mostrados en la figura 7-4 y haga clic en OK.
Figura 7-4. Estados de la definicin tipo Weather Station
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
Haga clic con el botn derecho en la constante enum en el diagrama de bloques y seleccione Make Type Def.
Haga clic con el botn derecho en la constante enum y seleccione Open Type Def.
N
oh
Guarde la definicin tipo como Weather Station States.ctl en el directorio <Exercises>\LabVIEW Core 1\Weather
Station\Supporting Files.
En ventana Project Explorer, note que el Weather Station States.ctl ha sido agregado a su carpeta Supporting Files debido a que esa carpeta es una carpeta
auto-populada.
n
tri nts
5. Controle la mquina de estados con un enum definicin tipo y actualice el marco como en la figura 7-5.
ci
Figura 7-5. Diagrama de bloques del VI Weather Station UI
dis me
5
bu
4
su tru
1 3
da Ins
2
1
ibi al
Registro de desplazamientoHaga clic con el botn derecho en el bucle While y seleccione Add Shift Register.
n
2 Definicin tipo constante enumHaga clic con el botn derecho y seleccione Visible ItemsLabel. Cambie la etiqueta a Beginning State. Cablee la
constante Beginning State al registro de desplazamiento para inicializar el registro de desplazamiento al estado Acquisition. Cablee el registro de
Pr atio
5 Registro de desplazamientoColoque un registro de desplazamiento en el bucle While y cablee la constante Weather Data In a l.
oh
Nota Luego que termina de cablear el caso Acquisition en el paso 6, algunos tneles estn vacios debido a que no todos los casos han sido cableados an.
6. Complete el estado Acquisition como en la figura 7-6.
Figura 7-6. Estado Acquisition VI Weather Station UI
n
tri nts
1 2 3 4
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
1 Thermometer o Thermometer (Demo)Arrastre uno de estos VIs de la carpeta Shared Files en la ventana Project Explorer al diagrama de bloques. Arrastre
el VI Thermometer si tiene hardware y arrastre el VI Thermometer (Demo) si no tiene hardware.
2 Temperature HistoryMueva este indicador al estado Acquisition de la estructura Case.
3 Bundle By NameCablee la salida Temperature Value del VI Thermometer a la entrada Current Temperature.
N
4 Next State enum<Ctrl>-haga clic en enum Beginning State y arrastre una copia al caso Acquisition. Cambie el nombre de esta copia de la definicin tipo
oh
Weather Station States a Next State. Establezca el enum en Analysis y cablelo a travs de un tnel en la estructura Case al registro de desplazamiento
en el bucle While.
5 Constante TrueCree una constante True y cablela a travs de la estructura Case al registro de desplazamiento Elapsed Time. La constante True reinicia
el contador Elapsed Time cada vez que el VI ejecuta el caso Acquisition.
n
tri nts
1 2 3 4 7 5
ci
dis me
bu
su tru
6
da Ins
ibi al
n
1 Upper Limit y Lower LimitMueva estos controles numricos fuera del bucle While.
Pr atio
2 Bundle By NameReemplace los tems Max Temperature y Min Temperature con los valores de los controles Upper Limit y Lower Limit. La funcin Bundle
By Name hace posible cablear los valores Upper Limit y Lower Limit a la entrada Weather Data In del VI Temperature Warnings.
3 Temperature WarningsArrastre el VI Temperature Warnings de la carpeta Supporting Files en la ventana Project Explorer.
4 Unbundle By NameDevuelve el valor de un tem especfico de un cluster.
5 SelectDetermina cual estado se ejecutar a continuacin dependiendo si ocurre una alerta o no.
N
6 Weather Station StatesCablee dos copias de la definicin tipo Weather Station States a la funcin Select. Puede crear estas copias del enum Beginning
oh
State.
6 WarningMueva este indicador de afuera del bucle While.
8. Complete el caso Data Log como en la figura 7-8.
Figura 7-8. VI Weather Station UICaso Data Log
n
tri nts
1 2 3 4
ci
dis me
bu
su tru
da Ins
5 6
ibi al
1 Unbundle By NameDevuelve el valor de un tem especfico de un cluster.
n
2 Constant TabInserta una tabulacin en la cadena de caracteres. El archivo de registro que cre contiene tabulaciones entre valores.
Pr atio
3 Constante End of LineInserta un valor de fin de lnea especfico de la plataforma al final de la cadena de caracteres. El archivo de registro que cre usa
constantes de fin de lnea para insertar cortes entre los datos
4 Format Into StringExpanda el nodo para aceptar ocho entradas.
5 Write to Text FileEscribe el texto que le acaba de de dar formato a un archivo de registro.
6 Next StateCrea una copia del enum Weather Station States, la etiqueta Next State y establece el siguiente estado como Time Check.
N
oh
n
tri nts
1 2 4
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
3 5
1 Next StateCablee dos copias de la definicin tipo Weather Station States a la funcin Select.
2 SelectDetermina cual estado se ejecutar a continuacin dependiendo si el tiempo ha pasado o no.
3 Stop ButtonMueva la terminal Stop Button de afuera del bucle While. Cablee la terminal Stop Button a la funcin Or afuera de la estructura Case.
N
4 Cable Next StateCablee el tnel del cable Next State al registro de desplazamiento.
oh
5 Use predeterminados si no estn cableadosHaga clic con el botn derecho en estos tneles y seleccione Use Default If Unwired.
n
tri nts
D un nombre al archivo de registro cuando se lo indique.
ci
Ingrese los valores de los controles Upper Limit y Lower Limit y observe el comportamiento del VI. Se comporta como se esperaba?
2. Detenga el VI.
dis me
3. Busque el archivo Weather Warning Log.txt y bralo.
bu
4. Note los cambios en los valores superiores e inferiores y la colocacin de las tabulaciones y cortes de lneas.
su tru
5. Cierre el archivo de registro.
da Ins
Fin del ejercicio 7-1
ibi al
n
Pr atio
N
oh
n
tri nts
ci
Complete el ejercicio en esta leccin para reforzar los conceptos que aprendi en la leccin 8 de LabVIEW Core 1.
dis me
Ejercicio
bu
Ejercicio 8-1 VI Weather Station UI con variables locales
su tru
da Ins
ibi al
n
Pr atio
N
oh
Objetivo
n
tri nts
Usar una variable local para escribir en un control y leer desde l.
ci
Escenario
dis me
Tiene un proyecto de LabVIEW que implementa una estacin meteorolgica de temperatura. La estacin meteorolgica adquiere una temperatura cada medio
bu
segundo, analiza cada temperatura para determinar si es demasiado alta o baja y alerta al usuario si hay peligro de golpe de calor o congelacin. El VI registra los
datos si hay una alarma.
su tru
Dos controles del panel frontal determinan los puntos de ajuste: el lmite superior de temperatura y el inferior. Sin embargo, nada impide al usuario configurar un
lmite inferior que sea mayor que el lmite superior.
Use una variable local para establecer el lmite inferior menor que el lmite superior si el usuario configura un lmite inferior que sea mayor que el lmite superior.
da Ins
Diseo
Su tarea es modificar el VI que cre en el ejercicio 7-1 para que el lmite inferior sea menor que el lmite superior cuando sea necesario.
Definiciones de estados
ibi al
La siguiente tabla describe los estados de la mquina de estados.
n
Pr atio
Anlisis Lee los controles del panel frontal y determina el nivel de alerta Registro de datos si ocurre una alarma, comprobar el tiempo si no hay
N
alarmas
oh
Estado Descripcin Siguiente estado
Registro de datos Registrar los datos en un archivo ASCII delimitado con Comprobar el tiempo
tabulaciones
n
tri nts
Comprobar el Comprobar si el tiempo es superior o igual a 0,5 segundos Adquisicin si ha transcurrido el tiempo, comprobar el tiempo si no ha
ci
tiempo transcurrido el tiempo
dis me
El cambio del valor del control de lmite de temperatura inferior debe suceder despus de que el usuario haya introducido el valor pero antes de que el valor determine
el nivel de alarma. Por lo tanto, realice modificaciones en el VI en el estado Adquisicin o Anlisis o coloque un nuevo estado entre ambos.
bu
Antes de determinar qu opcin usar, observe el contenido de los estados Adquisicin y Anlisis:
su tru
Abra Weather Station.lvproj en el directorio <Exercises>\LabVIEW Core 1\Weather Station.
da Ins
Revise el contenido de los estados Adquisicin y Anlisis, que corresponden con los casos Acquisition y Analysis de la estructura Case.
Opciones de diseo
Tiene tres opciones de diseo distintas para modificar este proyecto.
ibi al
Opcin Descripcin Ventajas/Inconvenientes
n
1 Inserte una estructura Case en el estado Adquisicin para Mal diseo: El estado de adquisicin tiene otra tarea aadida, en lugar
Pr atio
reiniciar los controles antes de que una variable local escriba los de centrarse slo en la adquisicin.
valores en el cluster.
2 Inserte un nuevo estado en la mquina de estados que Capacidad de control cuando ocurre el estado
compruebe los controles y los reinicie si es necesario.
N
3 Modifique el subVI Determine Warnings para restablecer los Fcil de implementar porque la funcionalidad ya se encuentra
controles. parcialmente. Sin embargo, si se usa la funcionalidad actual, siempre se
oh
n
tri nts
controles upper Limit y Lower Limit en el estado Range Check, en lugar del estado Analysis. El estado Range Check tambin reinicia el control Lower Limit menor
que el lmite superior si el control Upper Limit es menor que el lmite menor.
ci
Tabla 8-1. Descripciones de los estados para Opcin 2
dis me
Estado Descripcin Siguiente estado
bu
Adquisicin Adquirir datos desde el sensor de temperatura en el canal Comprobacin de rango
AI0 y leer los controles del panel frontal
su tru
Comprobacin de rango Leer los controles del panel frontal y configurar el lmite Anlisis
inferior a 1 menos que el lmite superior si ste es inferior
que el lmite inferior
da Ins
Anlisis Determinar el nivel de alarmas Registra los datos si hay una advertencia.
Comprobar el tiempo si no hay ninguna advertencia
Registro de datos Registrar los datos en un archivo ASCII delimitado con Comprobar el tiempo
tabulaciones
ibi al
Comprobar el tiempo Comprobar si el tiempo es superior o igual a 0,5 segundos Adquisicin si el tiempo ha pasado
n
Comprobar el tiempo si el tiempo no ha pasado
Pr atio
N
oh
Implementacin
1. Si Weather Station.lvproj no est abierto an, bralo desde el directorio <Exercises>\LabVIEW Core 1\Weather Station.
n
tri nts
2. Aada el estado Range Check a la mquina de estados.
ci
Abra Weather Station States.ctl de la ventana Project Explorer.
Haga clic con el botn derecho en el control States y seleccione Edit Items en el men contextual.
dis me
Inserte un elemento y modifquelo como en la tabla 8-2. No aada una lista vaca.
bu
Tabla 8-2. Control enumerado de estado
su tru
Elemento Indicador digital
Adquisicin 0
da Ins
Comprobacin de rango 1
Anlisis 2
Registro de datos 3
Comprobar el tiempo
ibi al
n
4
En el diagrama de bloques del VI Weather Station UI, haga clic con el botn derecho en la estructura Case de la mquina de estados y seleccione Add Case
for Every Value en el men contextual. Como el control enumerado tiene un nuevo valor, aparecer un nuevo caso en la estructura Case.
N
oh
3. Establezca el enum Next State en el caso Acquisition a Range Check como en la figura 8-1.
Figura 8-1. VI Weather Station UI con variables localesEstado Acquisition completo
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
4. Complete el caso Analysis como en la figura 8-2.
Figura 8-2. VI Weather Station UI con variables localesEstado Analysis completo
n
tri nts
1
ci
dis me
bu
2
su tru
da Ins
ibi al
n
Pr atio
1 Borre la funcin Bundle By Name y conecte el cable Weather Data directamente al VI Temperature Warnings. Presione <Ctrl-B> para borrar los cables rotos de
los controles Upper Limit y Lower Limit.
2 Mueva los controles Upper Limit y Lower Limit fuera del bucle While.
Cuando el valor del control Upper Limit es menor que o igual que el valor del control Lower Limit, use una variable local para escribir un valor, lmite superior
-1, al control Lower Limit.
Figura 8-3. VI Weather Station UI con variables localesCaso Range Check True
n
tri nts
1
ci
dis me
bu
su tru
2
da Ins
3 4 5 6 7
ibi al
n
Pr atio
1 Estructura CaseColoque una estructura Case dentro del caso Range Check.
2 Mueva los controles Upper Limit y Lower Limit fuera del caso Range Check.
3 Less or Equal?Compara los valores de los lmites superior e inferior. Debido a que la funcin Less or Equal? est cableada al selector de casos de la
estructura Case interna, cuando el lmite superior es menor o igual al lmite inferior, el caso True se ejecuta.
N
4 DecrementSubtrae 1 del valor del control Upper Limit para que el caso True escribe un valor menor al control Lower Limit.
oh
5 Variable local Lower LimitHaga clic con el botn derecho en el control Lower Limit y seleccione CreateLocal Variable. Coloque la variable local en el caso
True.
6 Bundle by NameExpanda la funcin para mostrar dos elementos y use la herramienta operacional para seleccionar los elementos correctos del cluster.
7 Next StateCree una copia del control type def Weather Station States y establezca el siguiente estado en Analysis.
6. Complete el caso Range Check False como en la figura 8-4.
Si el valor del control Upper Limit es menor o igual que el valor del control Lower Limit, el caso False se ejecuta y los valores son pasados, sin cambios, a
travs del cluster de temperatura.
n
tri nts
Figura 8-4. VI Weather Station UI con variables localesCaso Range Check False
ci
dis me
bu
su tru
da Ins
ibi al
n
7. Cierre el VI y el proyecto.
Pr atio
N
oh
Prueba
1. Ejecute el VI.
n
tri nts
Ingrese el nombre del archivo de registro cuando se le indique.
ci
Escriba un valor en el control Upper Limit que sea inferior al valor del control Lower Limit. Acta el VI como esperaba?
dis me
3. Cierre el VI y el proyecto.
bu
Fin del ejercicio 8-1
su tru
da Ins
ibi al
n
Pr atio
N
oh