Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LabVIEW Core 1
Ejercicios
Copyright
19932012 National Instruments. Todos los derechos reservados.
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
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.
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.
Informacin del producto y soporte tcnico mundial
ni.com
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.
Contenido
Leccin 1
Explorando LabVIEW
Ejercicio 1-1 Concepto: Explorando un VI .....................................................................................................................................1-2
Ejercicio 1-2 Concepto: Localizando controles, funciones y VIs ...................................................................................................1-7
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
Ejercicio 2-1 Concepto: Depuracin ...............................................................................................................................................2-2
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
Ejercicio 3-4 VI Temperature MonitorTemperatura media ........................................................................................................3-23
Ejercicio 3-5 VI Temperature MonitorGrafique mltiples temperaturas ....................................................................................3-27
Ejercicio 3-6 VI Temperature WarningsCon gestin de errores .................................................................................................3-32
Leccin 4
Desarrollo de aplicaciones modulares
Ejercicio 4-1 VI Temperature WarningsComo subVI.................................................................................................................4-2
Leccin 5
Creando y aprovechando estructuras
Ejercicio 5-1 Concepto: Manipulando Arrays.................................................................................................................................5-2
Ejercicio 5-2 Concepto: Clusters .....................................................................................................................................................5-13
Ejercicio 5-3 Concepto: Definiciones tipo ......................................................................................................................................5-21
Leccin 6
Administrando archivos y recursos hardware
Ejercicio 6-1 Concepto: VI Spreadsheet Example ..........................................................................................................................6-2
Ejercicio 6-2 VI Temperature MonitorRegistro de datos ............................................................................................................6-6
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
Usando algoritmos de mquinas de estado y secuenciales
Ejercicio 7-1 VI State Machine .......................................................................................................................................................7-2
Leccin 8
Resolviendo desafos de flujo de datos usando variables
Ejercicio 8-1 VI Weather Station UI con variables locales.............................................................................................................8-2
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
manual de ejercicios y el manual del curso y software adjunto se utilizan en el curso prctico de tres das LabVIEW Core 1.
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.
A. Certificacin de NI
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
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
New User Experienced User Advanced User
Courses
LabVIEW Performance
Certifications
Other Courses
*Core courses are strongly recommended to realize maximum productivity gains when using LabVIEW.
Un cuestionario de resumen que prueba y esboza conceptos y conocimientos importantes enseados en la leccin
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.
Varios ejercicios usan uno de los siguientes productos hardware de National Instruments:
Un dispositivo multifuncin de adquisicin de datos (DAQ, data acquisition) conectado a un BNC-2120 que contiene un sensor de temperatura, un generador de
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
de NI u otro dispositivo DAQ de National Instruments conectado a un origen de seal, como un generador de funciones.
C. Lo que necesita para empezar
Lecturas Recomendadas
El material de lectura recomendada garantiza que todos los alumnos tengan un conocimiento mnimo de las teoras y conceptos clave relacionados con el curso
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:
Dispositivo DAQ multifuncin configurado como Dev1 utilizando Measurement & Automation Explorer (MAX)
Interfaz GPIB
Un cable serie
Un cable GPIB
Directorio Descripcin
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
Solutions Contiene las soluciones para todos los ejercicios del curso
1. Inserte el CD del curso en el ordenador. Aparecern los cuadros de dilogo de LabVIEW Core 1 Course Setup.
Nota Los nombres de carpetas entre corchetes angulares, como <Exercises>, hacen referencia a carpetas del directorio raz de su ordenador.
E. Objetivos del curso
Este curso le prepara para hacer lo siguiente:
Comprender los paneles frontales, los diagramas funcionales, los iconos y los paneles conectores
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.
Desarrollar una aplicacin completa para cualquier estudiante de la clase; consulte el NI Example Finder seleccionando HelpFind Examples, para ver ejemplos
de VIs que puede utilizar e incorporar en los VIs que cree
El smbolo le gua por elementos de men anidados y opciones de cuadros de dilogo a una accin final. La secuencia
ToolsInstrumentationFind Instrument Drivers le guia a desplegar el men Tools, seleccionar Instrumentation, y
finalmente seleccionar la opcin Find Instrument Drivers.
negrita El texto en negrita indica que debe seleccionar el software o hacer clic en l, como elementos de men y opciones de cuadro
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.
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.
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.
Explorando LabVIEW
1
Complete los ejercicios en esta leccin para reforzar los conceptos que aprendi en la leccin 1 de LabVIEW Core 1.
Ejercicio
Ejercicio 1-1 Concepto: Explorando un VI
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
Ejercicio 1-5 VI AAP Simple
Objetivo
En grupo, identificar las partes de un VI existente.
Descripcin
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
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.
3. En el panel frontal, identifique estos elementos: Cuntos de cada tem puede encontrar?
Controles
Indicadores
Etiquetas libres
botn Run
Icono
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.
Consejo Para cambiar entre la ventana del panel frontal y el diagrama de bloques sin cerrar las ventanas, presione <Ctrl-E>.
5. En el diagrama de bloques, identifique estos elementos. Cuntos de cada tem puede encontrar?
Controles
Indicadores
Constantes
Etiquetas libres
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.
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.
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
aprenda ms acerca de esta funcin.
Haga clic en la enlace Example en el tema de LabVIEW Help de Quotient & Remainder.
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
3 4 5
3
5
Compare en cada entrada las salidas dadas con las salidas de la tabla 1-1. Si el VI funciona correctamente, deben coincidir.
Tabla 1-1. Testing Values for Seconds Breakdown.vi
Objetivo
Aprenda a usar las paletas y buscar controles, funciones y VIs.
Descripcin
1. Abra un proyecto LabVIEW en blanco.
Haga clic en el botn Create Project en la ventana de LabVIEW Getting Started y luego haga clic en Blank Project.
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.
Seleccione las siguientes paletas para aadirlas a las paleta Controls y haga clic en el botn OK. No deseleccione ninguna paleta.
Silver
Signal Processing
Note que las tres paletas que seleccion ahora aparecen en la ventana Controls.
Consejo Puede personalizar la paleta Functions igual como personaliza la paleta Controls.
Haga doble clic en la funcin en los resultados de la bsqueda y coloque la funcin en el diagrama de bloques.
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.
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:
Haga clic en cada una de estas opciones para observar los diferentes comportamientos.
Haga clic con el botn derecho en la funcin Add y observe que dispone de una paleta Numeric del men contextual.
Objetivo
Familiarizarse con la herramienta de seleccin automtica y la paleta Tools en LabVIEW.
Descripcin
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
automtica de herramientas.
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.
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
Mueva el cursor al borde derecho del grfico tipo waveform chart hasta que vea los nodos de cambio de tamao alrededor del grfico.
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.
Figura 1-4. Cambiar el tamao del grfico Waveform Chart
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.
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.
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.
Cuando el cursor cambie al icono de la herramienta de etiquetado, haga clic con el botn del ratn.
Cuando el cursor cambie al cono de la herramienta de operaciones, haga clic con el botn del ratn y arrastre al valor deseado.
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.
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.
Figura 1-5. Diagrama de bloques de Using Temperature VI
Mueva el cursor sobre el terminal hasta que el cursor cambie a una flecha.
Haga clic y arrastre el terminal a la nueva ubicacin como se muestra en la figura 1-5.
13. Cablee el terminal Number of Measurements al terminal de contaje para el bucle For utilizando la herramienta de cableado.
14. Intente mover otros objetos, eliminar cables y volver a cablearlos y cablear objetos y cables hasta que se familiarice con estas herramientas.
Consejo Tambin pude seleccionar objetos especficos para limpiar, como cables o nodos individuales. <Shift>-haga clic para seleccionar mltiples
objetos y luego haga clic en el botn Clean Up. LabVIEW limpia solo los objetos que usted seleccione y no el diagrama de bloques completo. Configure
como LabVIEW limpia objetos seleccionando ToolsOptions del men, haciendo clic en la categora Block Diagram y cambiando las opciones en la
seccin Block Diagram Cleanup.
Nota Los controles e indicadores booleanos tienen etiquetas de texto booleanas adems de sus etiquetas de control. Las etiquetas de texto booleanas
cambian dependiendo del valor del control o indicador. La etiqueta para el control o indicador no cambia dependiendo del valor del control o indicador.
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
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
que seleccione Visible.
2 Texto booleanoEste texto aparece solo en el panel frontal y por defecto aparece en el centro del control booleano.
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.
17. Haga clic en el botn Run para ejecutar el VI.
El tiempo necesario para ejecutar este VI equivale a Number of Measurements por Delay Multipler. Cuando termine de ejecutarse el VI, los datos aparecern
en el grfico Temperature Chart.
18. Cierre el VI y haga clic en el botn Dont Save - All. No necesita guardar el VI.
Objetivo
Comprender cmo el flujo de datos determina el orden de ejecucin en un VI.
Nota Los nodos son objetos del diagrama de bloques que tienen entradas o salidas y realizan operaciones cuando se ejecuta un VI.
1. Qu funcin se ejecuta primero? Hay alguna dependencia entre la funcin File Dialog y el VI Express Simulate Signal?
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?
4. Cuntos nodos deben ejecutarse antes que la funcin TDMS Write pueda ejecutarse?
5. Un diagrama de bloques bien diseado debera fluir en una direccin en particular?
Figura 1-7. Ejemplo de diagrama de bloques
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.
8. En la figura 1-10, Qu VI Express Tone Measurements se ejecuta de ltimo?
Figura 1-10. Diagrama de bloquesEjemplo de filtro
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.
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
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.
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
tanto, es posible tener operaciones simultneas.
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.
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.
Objetivo
Cree un VI simple que adquiera, analice y presente datos.
Escenario
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.
Diseo
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.
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
Log Data
DAQ Assistant El DAQ Assistant adquiere datos mediante un dispositivo de adquisicin de datos.
Instrument I/O Assistant El Instrument I/O Assistant adquiere datos de control de instrumentos, normalmente desde una interfaz
GPIB o de serie.
Simulate Signal El VI Express Simulate Signal genera datos simulados como una onda sinusoidal.
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 El VI Express Statistics calcula los datos estadsticos de una forma de onda.
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.
Write to Measurement File El VI Express Write to Measurement File escribe un archivo en formato de archivo LVM o TDM.
Build Text El VI Express Build Text crea texto, normalmente para mostrar en la ventana del panel frontal o para exportar
a un archivo o instrumento.
Grfico Waveform Graph El grfico tipo waveform graph muestra uno o ms puntos de mediciones muestreadas uniformemente.
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
Average en el VI Express Amplitude and Level Measurements para determinar el valor medio de la onda sinusoidal.
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.
Implementacin
1. Prepare el hardware para generar una onda sinusoidal. Si no est utilizando hardware, salte al paso 2.
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.
Configure el conmutador Frequency Selection y la perilla Frequency Adjust en sus valores mnimos.
3
PFI 0 / P1.0
4
1. RES+
2. AI GND
3. AI SENSE
4. RES-
PULSES
UP / DN
AI 0 AI 1
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
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
AI 6 AI 7 USER-DEFINED
SIGNALS*
FS GS FS GS
ANALOG OUTPUTS
USER 1
USER 2
AO
AO 0 AO 1
DIGITAL I/O
P0.6
P0.5
P0.4
P0.3
Sine /Triangle TTL Square Wave
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.
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.
En los pasos 56 crear una ventana de panel frontal similar a la de la figura 1-13.
Figura 1-13. Ventana de panel frontal de adquirir, analizar y presentar
5. Aada un grfico tipo waveform graph a la ventana del panel frontal para mostrar los datos adquiridos.
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.
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
hardware instalado para simular adquirir los datos utilizando el VI Express Simulate Signal.
Tabla 1-2. Instrucciones para adquirir o simular datos
1. Presione <Ctrl-Space> para abrir el cuadro de dilogo Quick Drop. 1. Presione <Ctrl-Space> para abrir el cuadro de dilogo Quick Drop.
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.
3. Coloque el DAQ Assistant en el diagrama de bloques. 3. Coloque el VI Express Simulate Signal en el diagrama de bloques.
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.
medicin.
6. Seleccione ai1 (canal de entrada analgica 1) para el canal fsico. 6. Configure la frecuencia de seal en 100.
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. 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.
11. Haga clic en el botn OK. 11. Haga clic en el botn OK.
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).
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.
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.
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.
11. Cablee los datos del DAQ Assistant (o VI Express Simulate Signal) al VI Express Statistics.
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.
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.
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.
Coloque el cursor del ratn sobre la salida Arithmetic Mean del VI Express Statistics donde el cursor cambia a la herramienta de cableado.
Coloque el cursor del ratn sobre el indicador numrico Average Value y haga clic en el botn del ratn para terminar el cable.
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
herramienta de cableado.
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.
Prueba
1. Cambie a la ventana del panel frontal del VI.
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.
Use la herramienta de etiquetado para cambiar el ltimo nmero de la escala Time del grfico tipo waveform graph a .1.
3. Guarde el VI.
4. Ejecute el VI.
5. Cierre el VI.
Ejercicio
Ejercicio 2-1 Concepto: Depuracin
Objetivo
Use las herramientas de depuracin de LabVIEW.
Descripcin
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
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.
Frmula de Heron
A = s( s a)( s b)( s c )
donde
a+b+c
s = ---------------------
2
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
s = ------------------------ = 12
2
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
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.
Errores en modo de edicin
Ubique y corrija errores que no permiten que el VI se ejecute.
Note que el botn Run de la barra de herramientas aparece roto, indicando que el VI est roto y no puede ejecutarse.
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
Haga clic en el botn Run roto para ver la ventana Error list, que enumera todos los errores.
Seleccione una descripcin de error en la ventana Error list. La seccin Details describe el error y en algunos casos recomienda cmo corregirlo.
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.
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
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.
Use los valores predeterminados para cada lado. Estos valores son medidas vlidas para un tringulo.
Ejecute el VI.
Note que a pesar los nmeros que ingrese son vlidos, el LED no est iluminado y el indicador Area of a Triangle muestra NaN.
Haga clic en el botn Highlight Execution en la barra de herramientas para habilitar el resaltado de la ejecucin.
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.
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.
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.
Note que uno de los valores de un cable es False como se muestra en la figura 2-3.
Figura 2-3. Cables de sondas
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
que cero.
Haga clic con el botn derecho en la funcin Less than Zero? y seleccione ReplaceComparison PaletteGreater than Zero?.
4. Pruebe el VI.
Ejecute el VI.
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.
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
nodo a otro. Los nodos parpadean para indicar que estn listos para ejecutarse.
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.
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
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.
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
cuadrada de un nmero negativo, lo cual es la razn por la que el indicador Area of Triangle devuelve NaN.
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.
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.
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.
Haga clic con el botn derecho en el punto de interrupcin y seleccione BreakpointClear Breakpoint.
Apague el resaltado de la ejecucin en los VIs Area of Triangle y Area and Validity of a Triangle.
Prueba
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.
24 30 18 216
12 12 12 62.35
15 20 25 150
Ejercicio
Ejercicio 3-1 VI Temperature Warnings
Ejercicio 3-2 VI Auto Match
Ejercicio 3-3 Concepto: Bucles While frente a bucles For
Ejercicio 3-4 VI Temperature MonitorITemperatura media
Ejercicio 3-5 VI Temperature MonitorGrafique mltiples temperaturas
Ejercicio 3-6 VI Temperature Warningscon gestin de errores
Objetivo
Crear y documentar un VI sencillo.
Escenario
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
documentar un VI en funcin de un diseo dado.
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.
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
Current Temp
>= Max Temp? No
Yes
Warning Text =
Warning Text =
Heatstroke
No Warning
Warning
Current Temp
No
<= Min Temp?
Yes
Warning
Text = No No
Warning?
Yes
Entradas y salidas
La siguiente tabla describe las entradas y salidas para este ejercicio.
Indicador de cadena de Warning Text Tres valores potenciales: Heatstroke Warning, No Warning, Freeze Warning
caracteres
Indicador LED redondo Warning?
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.
Seleccione FileNew del men de LabVIEW y luego seleccione ProjectEmpty Project del rbol Create New.
Haga clic con el botn derecho en My Computer en la ventana Project Explorer y seleccione NewVI para abrir un VI nuevo.
1
4
2
3
1 Control numricoHaga clic con el botn derecho y seleccione RepresentationDBL para confirmar que el control numrico es de doble precisin.
2 Cree copias del control numrico Current Temperature presionando y sosteniendo la tecla <Ctrl> y arrastrando el control Current Temperature.
3 Indicador de cadena de caracteresCambie el tamao del indicador para que pueda contener cadenas de caracteres ms largas.
4 LED redondo
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.
1 4 6
2 3 5
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.
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.
6 Not Equal?Devuelve un valor TRUE al indicador Warning? si el valor Warning Text es diferente a No Warning.
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.
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.
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
aparecen cuando mueve el cursor sobre un control o indicador mientras se ejecuta un VI.
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.
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.
2
4
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.
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 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
accesar el cuadro de dilogo VI Properties, seleccione FileVI Properties y seleccione Documentation del men desplegable Category.
7. Guarde el VI.
Prueba
1. Pruebe el VI introduciendo un valor para Current Temperature, Max Temperature y Min Temperature y ejecutando el VI para cada configuracin.
La tabla 3-2 muestra la cadena esperada Warning Text y Warning? Valor booleano de cada configuracin de valores de entrada.
Nota El rango de temperatura en la tabla es solo un ejemplo de temperaturas seleccionadas para indicar advertencias de congelamiento o golpe de calor.
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
Usar un bucle While y un terminal de iteracin y pasar datos por un tnel.
Escenario
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
nmeros aleatorios gener el VI antes de que el nmero coincidiera.
Diseo
Use el siguiente diagrama de flujo y la lista de entradas/salidas para crear el VI de este ejercicio.
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
Generate a
Random Number No
Between 0 and 1
Multiply by 1000
Add 1 to
Round to Nearest Display Value = Number
Yes Iteration
Integer Value to User to Match?
Terminal
Display Number
of Iterations
Entradas y salidas
La siguiente tabla describe las entradas y salidas para este ejercicio.
Control numrico Number to Match Doble precisin, coma flotante entre 0 y 1000, convertir al nmero natural ms
cercano, valor predeterminado = 50
Implementacin
1. Cree y guarde un proyecto en blanco como Auto Match.lvproj en el directorio <Exercises>\LabVIEW Core 1\Auto Match.
2. Cree un VI nuevo en el proyecto y gurdelo como Auto Match.vi en el mismo directorio del proyecto.
3. Construya el panel frontal de la figura 3-6.
Figura 3-6. Panel frontal del VI Auto Match
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,
el valor de incremento sea 1 y los dgitos de precisin sean 0.
Haga clic con el botn derecho en el control Number to Match y seleccione RepresentationU32 en el men contextual.
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
1 2
Haga clic con el botn derecho en el indicador Current Number y seleccione RepresentationU32 en el men contextual.
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.
Figura 3-8. Propiedades de formato del indicador Current Number
1 2 9
3 4 5 6 7 8
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.
Figura 3-10. Insertando la funcin To Unsigned Long Integer en el cable
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
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
la velocidad de ejecucin, ya que habitualmente no necesita ver cada valor actualizado de un indicador en el panel frontal.
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.
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
of iterations se actualiza al completarse porque se encuentra fuera del bucle.
4. Para ver cmo el VI actualiza los indicadores, habilite el resaltado de ejecucin.
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.
7. Intente hacer coincidir un nmero que se encuentre fuera del rango de datos.
Cambie el valor Number to Match a un nmero que se encuentre fuera del rango, 0 1000.
Ejecute el VI.
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
Comprender cundo se usa un bucle While y cundo uno For.
Descripcin
En los siguientes escenarios, decida si usar un bucle While o For.
Escenario 1
Adquiere datos de presin en un bucle que se ejecuta una vez cada segundo durante un minuto.
Escenario 2
Adquiere datos de presin hasta que sta es mayor o igual que 1.400 psi.
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.
Respuestas
Escenario 1
Adquiere datos de presin cada segundo durante un minuto.
Escenario 2
Adquiere datos de presin hasta que sta sea 1.400 psi.
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.
Escenario 3
Adquiere datos de presin y temperatura hasta que ambos valores son estables durante dos minutos.
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
valor apropiado para cablear al terminal de contaje.
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.
Objetivo
Usar un bucle While y registros de desplazamiento para hallar el promedio de datos.
Escenario
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
promedio mvil en el grfico tipo waveform chart.
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
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.
Inicialice el registro de desplazamiento con una lectura desde el sensor de temperatura simulado.
Implementacin
1. Pruebe el VI.
1 3 4
1 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
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)
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.
4. Guarde el VI.
Prueba
1. Ejecute el VI.
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
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.
Objetivo
Representar varios conjuntos de datos en un solo grfico tipo waveform chart y personalizar su vista.
Escenario
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
de la curva mientras los datos se estn adquiriendo.
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
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
Implementacin
1. Abra el VI Temperature Monitor creado en el ejercicio 3-4.
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
cableados a la funcin Bundle del diagrama de bloques.
2 Cambie el tipo de grfica de Current TemperatureUse la herramienta operacional para seleccionar la curva en la leyenda de curvas. Haga clic en en el cono
de la curva, seleccione Common Plots del men y escoja la curva que quiere.
3 Muestra la paleta GraphHaga clic con el botn derecho en el grfico Temperature History y seleccione Visible ItemsGraph Palette.
4 Muestra la leyenda de escalaHaga clic con el botn derecho en el grfico Temperature History y seleccione Visible ItemsScale Legend.
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.
Objetivo
Modificar un VI para utilizar una estructura Case y tomar una decisin software.
Escenario
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
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.
Diseo
Modifique el diagrama de flujo creado para el VI Temperature Warnings original como en la figura 3-19.
Figura 3-19. Diagrama de flujo de Temperature Warnings modificado
Output
MinTemp
Min Temp>= No Current
Min TempTemp
>= No Current Temp No No Warning
Max Temp MaxTemp
Max Temp Min Temp and
FALSE
Output Output
Heatstroke Freeze Warning
Create Error
Warning and and
TRUE TRUE
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.
Figura 3-20. Diagrama de bloques original del VI Temperature Monitor
Implementacin
1. Abra Weather Warnings.lvproj en el directorio <Exercises>\LabVIEW Core 1\Weather Warnings.
2. Abra Temperature Warnings.vi de la ventana Project Explorer. Cre el VI Temperature Warnings en el ejercicio 3-1.
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
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.
Consejo Para seleccionar ms de un elemento, pulse la tecla <Shift> mientras selecciona los elementos.
Mientras los terminales siguen seleccionados, use la tecla de flecha izquierda del teclado para mover los controles a la izquierda.
Consejo Mantenga pulsada la tecla <Mays> para mover los objetos en incrementos de cinco pxeles.
Consejo Presione la tecla <Ctrl> y use la herramienta de posicionamiento para arrastrar una regin del tamao que quiera insertar.
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.
Figura 3-22. Diagrama de bloques del VI Temperature WarningsNo error, caso False
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.
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
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
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.
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
7. Guarde el VI.
Prueba
1. Cambie al panel frontal del VI.
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.
25 30 10 No Warning Falso
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
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.
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.
Ejercicio
Ejercicio 4-1 VI Temperature WarningsComo subVI
Objetivo
Crear el icono y panel de conectores para un VI de modo que pueda utilizar el VI como un subVI.
Escenario
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
utilizar el VI como un subVI.
Diseo
El VI Temperature Warnings contiene las siguientes entradas y salidas:
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.
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
1 2
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.
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.
Haga clic en la terminal del panel de conectores abajo de la terminal Current Temperature.
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.
4. Cree un icono.
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.
Figura 4-2. Ejemplo de cono de advertencia
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.
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.
Prueba
Pruebe el VI Temperature Warnings como un subVI.
1. Aada archivos al proyecto LabVIEW Weather Warnings como se muestra en la figura 4-3.
Figura 4-3. Proyecto Weather Warnings
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.
Navegue a <Exercises>\LabVIEW Core 1\Shared Files y haga clic en el botn Select Folder.
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.
Navegue a <Exercises>\LabVIEW Core 1\Weather Warnings\Test VIs\SubVI Tester.vi y haga clic en Add File.
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
1 2
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
muestra. Este VI genera ejemplos de valores de temperatura.
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.
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.
Ejercicio
Ejercicio 5-1 Concepto: Manipulando Arrays
Ejercicio 5-2 Concepto: Clusters
Ejercicio 5-3 Concepto: Definiciones tipo
Objetivo
Manipular arrays con varias funciones de LabVIEW.
Descripcin
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
manipular arrays.
Implementacin
1. Abra Manipulating Arrays.lvproj en el directorio <Exercises>\LabVIEW Core 1\Manipulating Arrays.
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.
Figura 5-1. Panel frontal del VI Array Manipulation
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
2 1
1 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.
Ejecute el VI y note que la onda sinusoidal est concatenada con la onda cuadrada.
5. Detenga el VI.
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.
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.
Figura 5-4. VI Array ManipulationCaso False Add/Subtract Channels
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.
Ejecute el VI.
Haga clic en el botn Subtract? y observe el comportamiento de restar la onda cuadrada de la onda sinusoidal.
9. Detenga el VI.
1 2
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.
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
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
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.
2 3 4
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
cada nmero de las filas y columnas.
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.
Ejecute el VI.
2 1
1 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.
2 Constante NumricaEstas constantes especifican que la funcin extrae las primeras dos columnas empezando por el elemento 0.
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.
Complete los siguientes pasos para usar el NI Example Finder para localizar VIs de ejemplos para demostrar diferentes formas de usar la funcin Array.
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.
7. Ejecute el ejemplo, examine los diferentes casos y haga clic en el botn Stop para salir.
Objetivo
Cree un cluster conteniendo los datos que sern pasados a travs de la aplicacin y en el proceso, crea cdigo escalable y legible.
Descripcin
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
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
3. Coloque los controles e indicadores existentes en un cluster llamado Weather Data como en la figura 5-10.
Figura 5-10. Cree el cluster
1 3
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.
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
1
2
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.
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.
Mueva el cluster Weather Data Out a la derecha, afuera de las estructuras Case.
Figura 5-14. Diagrama de bloques de Temperature Warnings con clusters
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
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.
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
operacional para cambiar el orden.
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.
Modifique el VI SubVI Tester para trabajar con el VI Temperature Warnings que ahora usa clusters como en la figura 5-15.
Figura 5-15. Diagrama de bloques del VI SubVI Tester modificado para trabajar con el VI Temperature Warnings modificado.
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.
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.
Ejecute el VI y verifique que el indicador Weather Data muestre los valores correctos.
Objetivo
Mejorar la escalabilidad de su aplicacin usando definiciones tipo compuestas de clusters de controles personalizados, indicadores y constantes de un tipo de dato
particular.
Escenario
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.
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.
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
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.
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
ejercicio Reto, se modifica el VI Windspeed Warnings.
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.
Abra el diagrama de bloques y note el cable roto conectado a la terminal Weather Data Out.
Haga clic con el botn derecho en el borde del control Weather Data In y seleccione Make Type Def.
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
en la figura 5-17.
La ventana parece el panel frontal de un VI pero no tiene diagrama de bloques.
Figura 5-17. Ventana Custom Control Editor
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
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.
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.
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.
Haga clic con el botn derecho en el borde del control Weather Data In y seleccione Open Type Def.
Modifique el panel frontal como en la figura 5-18.
Figura 5-18. Definicin tipo Weather Data con unidades de temperatura
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
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.
Cualquier cable roto. Presione <Ctrl-B> para limpiar todos los cables rotos.
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
1 3 2
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.
3 Cablee la constante Units (0:Celsius) al elemento Units de la funcin Bundle By Name.
Disponga el panel frontal de la figura 5-21.
Figura 5-21. Panel frontal del VI SubVI Tester modificado con Type Def
2. Ejecute el VI y verifique que los valores mostrados en el indicador Weather Data Out son correctos.
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
subVI.
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.
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.
Figura 5-22. Controles e indicadores de la definicin tipo del VI Windspeed Warnings
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
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
8. Ejecute el VI SubVI Tester y verifique que los valores mostrados en el indicador Weather Data Out son correctos.
Ejercicio
Ejercicio 6-1 Concepto: VI Spreadsheet Example
Ejercicio 6-2 VI Temperature MonitorRegistro de datos
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 Concepto: VI NI Devsim
Objetivo
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.
Descripcin
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.
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.
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
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.
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.
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.
Array sinusoidal
Array de ruido
Array cosenoidal
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
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.
S N C
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.
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.
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.
Objetivo
Modificar un VI para crear un fichero ASCII usando el flujo continuo de datos a disco.
Descripcin
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
ASCII.
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
3. Modifique el diagrama de bloques como en la figura 6-3.
Figura 6-3. Diagrama de bloques del VI Temperature Monitor with Logging
1 3 2 4 5 6 7
1 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.
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.
4 Write to Binary FileEscribe datos binarios en un archivo.
5 OrDetiene el VI cuando un error ocurre o cuando el botn Stop Button es presionado.
6 Close FileCierra el archivo de registro de datos o lo reemplaza cuando el VI comienza a ejecutarse.
7 Simple Error HandlerIndica si ocurri algn error. Si un error ocurri, este VI devuelve una descripcin del error y opcionalmente muestra un cuadro de
dilogo.
1
2
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 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
funcin Format Into String.
5. Pruebe el VI.
Ejecute el VI.
Haga clic en el botn Stop luego que el VI haya estado ejecutndose por algunas muestras.
Abra el fichero de texto creado y explrelo.
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.
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
hoja de clculo.
1 2
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.
Objetivo
Utilizar MAX para examinar, configurar y probar un dispositivo.
Descripcin
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
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
alternativas para simular los dispositivos.
1. Lance MAX seleccionando StartProgramsNational InstrumentsMeasurement & Automation o haciendo doble clic en el icono NI MAX del escritorio.
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.
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.
Figura 6-7. MAX con el dispositivo y las interfaces expandidas
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.
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.
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.
Figura 6-8. Rutas del dispositivo
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
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.
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.
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
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
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.
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.
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
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
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.
Use la pestaa Digital I/O para probar las lneas digitales en el dispositivo DAQ. Haga clic en la pestaa Digital I/O.
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
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
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.
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.
Haga clic en el botn Close para cerrar el cuadro de dilogo Test Panel y volver a MAX.
Objetivo
Explorar un programa ejemplo de DAQmx que adquiere datos continuamente y modificarlo para esperar un trigger digital.
Escenario
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.
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.
Implementacin
Conexiones externas
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
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.
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.
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.
Cuando se le indique, seleccione Copy - Substitute copy for original.
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.
3 Nodo de propiedadObtiene o establece propiedades para una referencia. Aprender sobre nodos de propiedad luego.
Use el interruptor Frequency Selection y el mando Frequency Adjust en el BNC 2120 para cambiar la frecuencia de la seal generada y adquirida.
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.
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.
2 3 4 1
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
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.
3 Seleccione Rising en el control edge.
4 SeleccioneDev1/PFI1 en el control source.
3. Guarde el VI.
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.
Objetivo
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.
Descripcin
1. Configure el simulador de instrumentos de NI.
Ajuste el interruptor de configuracin del panel posterior en CFG, como en la figura 6-15.
Figura 6-15. Simulador de Instrumentos de NI
Lance el asistente para el Simulador de instrumentos de NI en StartAll ProgramsNational InstrumentsInstrument SimulatorInstrument Simulator
Wizard.
2. Lance MAX haciendo doble clic en el icono del escritorio o seleccionando ToolsMeasurement & Automation Explorer en LabVIEW.
Expanda la seccin Devices and Interfaces para ver las interfaces instaladas. Si aparece una interfaz GPIB, el software NI-488.2 est correctamente cargado
en el ordenador.
Haga clic en el botn Communicate with Instrument en la barra de herramientas. Aparecer una ventana interactiva. Puede usarla para consultar, escribir
y leer desde ese instrumento.
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
se describe en la documentacin del instrumento.
Figura 6-16. Comunicacin con el instrumento GPIB
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.
Escriba devsim en el campo VISA Alias on My System. Utilizar este alias durante este curso.
Objetivo
Instalar un controlador de instrumento y explorar los programas de ejemplo que acompaan al controlador de instrumento.
Descripcin
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
programas de ejemplo que se aaden al NI Example Finder.
Figura 6-17. Simulador de Instrumentos de NI
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.
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
el controlador indicado. En este caso detecta el simulador de instrumentos.
6. Haga doble clic en Instrument Simulator en la lista y haga clic en el botn Search.
12. Cierre la ventana NI Instrument Driver Finder y dirijase a la seccin Exploracin del controlador de instrumento para continuar este ejercicio.
1. Navegue al directorio <Exercises>\LabVIEW Core 1\Instrument Driver. Esta carpeta contiene los controladores de instrumento plug & play de
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.
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.
6. Abra la paleta Functions y navegue a la paleta Instrument I/OInstrument DriversNational Instruments Instrument Simulator.
7. Explore la paleta y subpaletas usando la ventana Context Help para familiarizarse con las funciones en la paleta.
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.
Para familiarizarse con la funcionalidad del VI, explore el diagrama de bloques utilizando la ventana Context Help.
Abra el diagrama de bloques del VI Read Waveform. Observe que utiliza funciones VISA para comunicarse con el instrumento.
Ejercicio
Ejercicio 7-1 VI State Machine
Objetivo
Crear un VI que implemente una mquina de estados usando una definicin de tipo enum.
Escenario
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
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.
Diseo
Use el siguiente diagrama de flujo y la lista de estados para crear el VI de este ejercicio.
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
Initialize
Acquistion
Warning = TRUE
Analysis
Data log
Stop = TRUE
Transiciones de estado
La siguiente tabla describe los estados de esta mquina de estados.
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 alarmas
Registro de datos Registrar los datos en un archivo ASCII delimitado con Comprobar el tiempo
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
Implementacin
1. Abra Weather Station.lvproj en el directorio <Exercises>\LabVIEW Core 1\Weather Station.
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
3. Cree una nueva definicin tipo para controlar la aplicacin Weather Station.
Abra el diagrama de bloques y cree una constante Enum a la izquierda del bucle While.
Haga clic con el botn derecho en la constante y seleccione Edit Items en el men contextual.
Aada los tems mostrados en la figura 7-4 y haga clic en OK.
Figura 7-4. Estados de la definicin tipo Weather Station
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.
Cambie la etiqueta en el control Enum a States.
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.
5. Controle la mquina de estados con un enum definicin tipo y actualice el marco como en la figura 7-5.
Figura 7-5. Diagrama de bloques del VI Weather Station UI
1 3
1 Registro de desplazamientoHaga clic con el botn derecho en el bucle While y seleccione Add Shift Register.
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
desplazamiento al selector de casos de la estructura Case.
3 Agregue ms casosHaga clic con el botn derecho en la estructura Case y seleccione Add Case for Every Value para aadir un caso por cada elemento
del enum.
4 Weather Data InArrastre el Weather Data.ctl de la ventana Project Explorer al diagrama de bloques para crear una constante de cluster definicin tipo.
Haga clic con el botn derecho en el cluster y seleccione View Cluster As Icon.
5 Registro de desplazamientoColoque un registro de desplazamiento en el bucle While y cablee la constante Weather Data In a l.
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
1 2 3 4
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.
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
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.
1 2 3 4 7 5
1 Upper Limit y Lower LimitMueva estos controles numricos fuera del bucle While.
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.
6 Weather Station StatesCablee dos copias de la definicin tipo Weather Station States a la funcin Select. Puede crear estas copias del enum Beginning
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
1 2 3 4
5 6
1 2 4
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.
4 Cable Next StateCablee el tnel del cable Next State al registro de desplazamiento.
5 Use predeterminados si no estn cableadosHaga clic con el botn derecho en estos tneles y seleccione Use Default If Unwired.
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.
4. Note los cambios en los valores superiores e inferiores y la colocacin de las tabulaciones y cortes de lneas.
Ejercicio
Ejercicio 8-1 VI Weather Station UI con variables locales
Objetivo
Usar una variable local para escribir en un control y leer desde l.
Escenario
Tiene un proyecto de LabVIEW que implementa una estacin meteorolgica de temperatura. La estacin meteorolgica adquiere una temperatura cada medio
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.
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.
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
La siguiente tabla describe los estados de la mquina de estados.
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
alarmas
Estado Descripcin Siguiente estado
Registro de datos Registrar los datos en un archivo ASCII delimitado con Comprobar el tiempo
tabulaciones
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
tiempo transcurrido el tiempo
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.
Antes de determinar qu opcin usar, observe el contenido de los estados Adquisicin y Anlisis:
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.
1 Inserte una estructura Case en el estado Adquisicin para Mal diseo: El estado de adquisicin tiene otra tarea aadida, en lugar
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.
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
pierde un conjunto de datos al reiniciar el control de lmite inferior.
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
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
Comprobar el tiempo Comprobar si el tiempo es superior o igual a 0,5 segundos Adquisicin si el tiempo ha pasado
Comprobar el tiempo si el tiempo no ha pasado
Implementacin
1. Si Weather Station.lvproj no est abierto an, bralo desde el directorio <Exercises>\LabVIEW Core 1\Weather Station.
Haga clic con el botn derecho en el control States y seleccione Edit Items en el men contextual.
Inserte un elemento y modifquelo como en la tabla 8-2. No aada una lista vaca.
Tabla 8-2. Control enumerado de estado
Adquisicin 0
Comprobacin de rango 1
Anlisis 2
Registro de datos 3
Comprobar el tiempo 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.
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
4. Complete el caso Analysis como en la figura 8-2.
Figura 8-2. VI Weather Station UI con variables localesEstado Analysis completo
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
3 4 5 6 7
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.
4 DecrementSubtrae 1 del valor del control Upper Limit para que el caso True escribe un valor menor al control Lower Limit.
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.
Figura 8-4. VI Weather Station UI con variables localesCaso Range Check False
7. Cierre el VI y el proyecto.
Prueba
1. Ejecute el VI.
Escriba un valor en el control Upper Limit que sea inferior al valor del control Lower Limit. Acta el VI como esperaba?
3. Cierre el VI y el proyecto.