Вы находитесь на странице: 1из 238
coceteeeeee meme m ee enw eee ene eneeeeene ni.com/training LabVIEW™ Core 1 Manual de Curso NATIONAL INSTRUMENTS" Informacién del producto y soporte téenico mundial COficinas internacionales Visit ni .com/nigicbal para accede a ls péginas web de las oficinas intercacionales, ls cuales inluyen informacin actulizada de contacto, teléfonos de soporte téonicn, direcciones de email y eventos actuals. ficinas centrales de National Instruments Corporation 11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512.683 0100, ara obtener informacion adicional de soporte, consults cl apéndice Informacicn dlicional y Recursos, ara realizar comentarios @ ‘National Instruments sobre Ia documentacisa, consulte la pagina web de National Instruments Web'ni .com/ info e ingoduzca cl cétigo de informacién feednack. Contenido Gula del estudiante Certificacién de NI. Deseripeién del curso. Lo que necesita para empezar... Instalacién del software del CUISO nnn Objetivos del curso Convenciones del curso PODODP Leccion 1 Explorando LabVIEW A. {Qué es LabVIEW?.. Explorador de proyectos Partes de un Vi Panel frontal... Diagrama de blogues .. Bisqueda de eontroles, Vis y funciones. Seleceién de una herramienta Flujo de datos .nnsmnnsnnns Creacién de un VI simple... RommoOp Leccidn 2 Resolucién de problemas y depuracién de Vis A. Correccién de VIs rotos B. Técnicas de depuracién. C. Datos sin definir o inesperados D. Manejo de Brrores Lecci6n 3 Implementacién de un VI A. Panel frontal... Tipos de datos de LabVIEW. Documentacién de eédigo Bucles While. BuClS FOP rnnnnn Temporizacién de VIs. Retroalimentacién de datos en los bucles Graficando datos — Waveform Chart Estructuras Casi rrOmmDOp (© atonal Instruments | Cconterido Leccién 4 Desarrollo de aplicaciones modulares A. Comprensién de la modularidad.... 2 B. Creacién del panel de iconos y conectores .... severed CC. Uso de subVI: 3 Lecci6én 5 Creando y aprovechando estructuras de datos A. Armays... Funciones de array comunes.. Polimorfismo . Autoindexado, Clusters : : Definiciones tip sn >moow Leccién 6 Administrando archivos y recursos hardware A. Entendiendo recursos de hardware y software... B. EJS de ficheros. C. Adquitiendo mediciones con sistema DAQ... D. Controlando Instruments . Leccién 7 Usando algoritmos de maquinas de estado y secuenciales ‘A. Programacién secuencial B. Programacién de estado. C. Maquinas de estados... Leccion 8 Resolviendo desaffos de flujo de datos con variables A. Comunicacién entre bucles paralelos B. Escribiendo a controles y leyendo de indicadores.. C. Variables D. Condiciones de carrera Apéndice A Informacién Adicional y Recursos Glosario Guia del estudiante Gracias por comprar el paquete de curso LabVIEW Core 1. Podré empezar a desarrollar una aplicacién poco después de completar este curso. El manual del curso y el software adjunto se utilizan en el curso practico de tres dias LabVIEW Core 1 Puede aplicar la adquisicién completa de este paquete de curso a la cuota de registro cottespondiente del curso si se inscribe antes de 90 dfas desde la compra del paquete. Visite ni.com/training para consultar en linea la programacién, el contenido, los centros de formacién y la inscripcién en la clase del curso. A. Certificaci6n de NI EseELeS EE Elcurso LabVIEW Core 1 forma parte de una serie de cursos disefiados para dominar LabVIEW y ayudarle a prepararse para los exmenes de Desarrollador Asociado Certificado de LabVIEW de NI. La siguiente ilustracién muestra los cursos que forman parte de la serie de formacién de LabVIEW. Consulte ni .com/training para obtener informacién adicional acerca de la certificacién de NI. New User Experienced User ‘Advanond User courses LABVIEW Core 1” LABVIEW Core 3° Managing Software LABVIEW Core 2° Engineering in LABVIEW LABVIEW Connectviy| Advanced Arcitactures (objec orentad Design in LaoViEW ‘and Programing in LabVIEW LabVIEW Perormance Certified LabVIEW in| Certiog LabVIEW Developer Exam =P Achitec Exar Certifications Other Courses LabVIEW Instrument Conta! Labview Lapview FPGA, LABVIEW DAG and Signal Conationiog Modular Instruments Seiee Core couses ave rong resommandad to raize raimum prosutiy gs when using LabVIEW, ‘© National Instruments | v (Guia del estutante B. Descripcién del curso El curso LabVIEW Core ! le ensefia conceptos, técnicas, caracteristicas, VIs y finciones de programacién de LabVIEW que puede utilizar para crear aplicaciones de prueba y medicién, adquisicién de datos, control de instrumentos, registro de datos, analisis de mediciones y generacién de informes. Este curso supone que esté familiarizado con Windows y que tiene experiencia en escribir algoritmos en forma de diagramas de flujo o diagramas de bloque. Los manuales de ejercicios y del curso estén divididos en lecciones, descritas de este modo. En el manual del curso, cada leccién consta de lo siguiente: + Una introduccién que describe el objetivo de Ia leccién y lo que aprenderd + Una descripeién de los temas de la leccién + Uncuestionario de resumen que prueba y esboza conceptos y conocimientos importantes ensefiados en la leccién En el manual de ejer os, cada leccién consta de Jo siguiente: + Unconjunto de ejercicios para reforzar esos temas + Algunas lecciones incluyen secciones de ejercicios opcionales y de retos 0 un conjunto de ejercicios adicionales para realizar si el tiempo lo permite. YEA Nota Para ver actualizaciones y correcciones del manual de ejercicios y del curso, consulte ni .com/ info y eseriba el Cédigo de Informecién Cores. ‘Varios ejercicios usan uno de los siguientes productos hardware de National Instruments: + Un dispositivo multifuncién de adquisicién de datos (DAQ, data acquisition) conectado a un BNC-2120 que contiene un sensor de temperatura, un generador de funciones y LEDs + Una interfaz GPIB conectada a un Simulador de instrumentos de NI Aunque no disponge de este hardware, puede realizar los ejercicios. Se ofrecen otras instrucciones para realizar los ejercicios sin hardware. También puede sustituir el hardware mencionado anteriormente por otro diferente. Por ejemplo, puede utilizar un instrumento GPIB en lugar del Simulador de instrumentos de NI u otro dispositive DAQ de National Instruments conectado aun origen de sefial, como un generador de funciones. Manual de Cureo LabVIEW Core 1 C. Lo que necesita para empezar Lecturas recomendadas EI material de lectura recomendado garantiza que todos los alumnos tengan un conocimiento minimo de las teorfas y conceptos clave relacionados con el curso LabVIEW Core 1. Para obtener el maximo rendimiento de este curso, complete todo el material de lectura recomendado. Para acceder a cada uno del material de lectura recomendado, consulte ni .com/info y escriba el (Cédigo de Informacién que corresponda a cada tema: D LabVIEW Core I - El método de desarrollo de software (Cédigo de Informacién: so£tDev) 1D Introduccién a la adquisicion de datos (Codigo de Informacién: DAQ) 1D Tutorial de control de instrumentos GPIB (Cédigo de Informacién: 212) Material del curso Antes de empezar este curso, aseguirese de tener todos estos elementos: 0 Ordenador con Windows 7/Vista/XP 1 Dispositivo DAQ multifuncién configurado como Dev1 utilizando Measurement & Automation Explorer (MAX) BNC 2120, conectores y cable Interfaz GPIB Simulador de instrumentos de NI y alimentacién eléctrica Full o Professional Development System 2012 o posterior de LabVIEW DAQmx 9.5.5 0 posterior ‘NI-488.2 3.0.2 0 posterior NI VISA 5.20 posterior oOo0a00g onc 0 Un cable GPIB € National Instruments | i Guia dol estusante (NI Instrument Simulator Wizard instalado desde el CD de software de NI Instrument Simulator DCD del curso LabVIEW Core 1, que se instala en las siguientes carpetas: Directorio Descripeién Exercises Carpeta para guardar Vs creados durante el curso y pare completar ciertos ejercicios de éste; también incluye subVIs necesarios para algunos ejercicios y un archivo comprimido (vt tnstrument 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 D. Instalacién del software del curso Complete estos pasos para instalar el software del curso. 1. Inserte el CD del curso en el ordenador. Aparecerén los cuadros de didlogo de LabVIEW Core 1 Course Setup. 2. Haga clic en Install the course materials. 3. Sigua las instrucciones en la pantalla para completar la instalacién y configuracién. Los archivos de ejercicios se encuentran en la carpeta \LabVIEW Core 1\. XE} Nota Los nombres de earpetas entre corchetes angulares, como , hacen referencia a carpetas del directorio raiz de su ordenador. E. Objetivos de! curso Este curso le prepara para hacer lo siguiente: + Comprender los paneles frontales, los diagramas funcionales, los iconos y los paneles conectores + Usar las estructuras de programacién y los tipos de datos existentes en LabVIEW + Usar varias técnicas de edicién y de depuracién + Crear y guardar VI para poder utilizarlos como subVI + Mostar y registrar datos *+ Crear aplicaciones que utilicen dispositivos DAQ + Crear aplicaciones que usen instrumentos de puerto serie y GPIB Manual de Gureo LesViEW Core 1 Este curso no describe lo siguiente: *+ Cada VI, funcién u objeto integrado; consulte la Ayuda de LabVIEW para obtener informacién adicional acerca de las funciones de LabVIEW no descritas en este curso. + Teoria analégica a digital (A/D) ynamiento del bus GPIB + Desarrollar un controlador de instrumento + Fung + Desarrollar una aplicacién completa para cualquier estudiante de Ia clase; consulte el ‘NI Example Finder seleccionando Help»Find Examples, para ver ejemplos de Vis que puede utilizar e incorporar en los VIs que cree F. Convenciones del curso Las siguientes convenciones aparecen en este manual del curso: » El simbolo » le guia por elementos de ment anidados y opciones de cuadros de didlogo a una accién final. La secuencia Tools»Instrumentation» Find Instrument Drivers le guia a desplegar mena Tools, seleccionar Instrumentation, y finalmente seleccionar la opcién Find Instrument Drivers. Q Este icono indica un consejo, que le alerta de recomendaciones. a Este icono indica una nota, que le alerta de informacién importante. a Este icono indica una precaucién, para que tome precauciones y evite lesiones, pérdida de datos o una caida del sistema. negrita El texto en negrita indica que debe seleccionar el software o hacer clic en él, como elementos de menti y opciones de cuadro de didlogo. El texto en negtita denota también las secciones de los cuadros de didlogo y ctiquetas de hardware. cursiva El texto en cursive indice variables, énfasis, une remisién o una introduccién a un concepto clave. El texto en cursiva también indica texto que es un pardmetro de sustitucién 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 cédigo, ejemplos de programacién y ejemplos de sintaxis. Esta fuente también se utiliza para los nombres propios de unidades de disco, rutas, directorios, programas, subprogramas, subrutinas, nombres de dispositivos, funciones, operaciones, variables, nombres de archivos y extensiones, (© National Intumerts | be Guia dl estarte monospace bold Platform El texto con esta fuente indica los mensajes y las respuestas que el ordenador imprime autométicamente en la pantalla, Esta fuente también, enfatiza lineas de cédigo distintas de los otros ejemplos. El texto con esta fuente indica una plataforma conereta y que el texto que le sigue se aplica sélo a esa plataforma. Explorando LabVIEW Esta leccién muestra cémo navegar por el entorno LabVIEW. Describe el uso de ments, barras de herramientas, paletas, herramientas, ayuda y cuadros de dilogo comunes de LabVIEW. También aprenderd a ejecutar un VI y conceptos generales de un panel frontal y diagrama de bloques. Al final de esta leccién, crearé un VI simple que adquiera, analice y presente datos, Temas Qué es LabVIEW? Explorador de proyectos Partes de un VI Panel frontal Diagrama de bloques Buisqueda de controles, Vis y funciones oem™moom> Seleccién de una herramienta H. Flujo de datos 1. Creacién de un VI simple ‘© National instruments | 1-1 Lecce Explorando LabVIEW A. Qué es LabVIEW? LabVIEW es un entomno de programacién grifico que puede utilizar para crear aplicaciones répida y eficientemente con interfaces de usuario profesionales. Millones de ingenieros y cientificos usan LabVIEW para desarrollar sofisticadas aplicaciones de pruebas y control usando iconos y cables intuitivos. Ademés, la plataforma LabVIEW es escalable a través de diferentes objetivos y OSs. De hecho, LabVIEW ofrece integracién con miles de dispositives y facilita cientos de librerias integradas para andlisis avanzados y visualizacién de datos para crear instrumentos virtuales que puede personalizar de acuerdo a sus necesidades. ‘Ya que LabVIEW imita la apariencia y operacién de instrumentos fisicos, como osciloscopios y multimetros, los programas de LabVIEW son Hamados instrumentos virtusles o Vis. Los Vis tienen panel frontal y diagrama de bloques. El panel frontal es la interfaz de usuario. El diagrama de bloques es e programa detras de la interfaz de usuario. Tras crear la ventana del panel frontal, puede afiadir c6digo usando representaciones gréficas de funciones para controlar los objetos del panel frontal. El cédigo en el diagrama de bloques es cédigo gréfico, también conocido como cédigo G0 cédigo de diagrama de bloques. A diferencia de lenguajes de programacién basados en texto como C+ y Visual Basic, LabVIEW usa iconos en vez. de lineas de texto para crear las aplicaciones. En programacién basada en texto, las instrucciones determinan el orden de ejecuci6n. LabVIEW utiliza flujo de datos grafico. En programacién mediante flujo de datos grafico, los datos fluyen a través de nodos en el diagrama de bloques y eso determina el orden de ejecucién. La programacién grafica y le ejecucién mediante flujo de datos son las dos principales formas en que LabVIEW es diferente de otros lenguajes de programacién de propésito general En este curso, usted aprenderé cémo puede usar LabVIEW para crear aplicaciones simples de adquisicién de datos usando los tres pasos: adquirir, analizar y presentar. A pesar de que este curso es ensefiado en un sistema Windows, LabVIEW es multi-plataforma. Usted puede desarrollar aplicaciones en sistemas Windows, Mac OS 0 Linux. Ademés, usted también puede desplegar aplicaciones de LabVIEW a una gran variedad de dispositivos “real-time” y FPGA. Caracteristicas de LabVIEW Los programas de LabVIEW tienen las siguientes caracteristicas: + Naturaleza grafica y compilada + Flujo de datos y/o programacién basada en eventos + Capacidades multi-objetivo y plataforma + Flexibilidad orientada a objetos + Posibilidades de multithreading +2 | nloom Manual de Cureo LabVIEW Core 1 En LabVIEW Core 1, usted aprenderé acerca de la naturaleza gréfica y compilada de LabVIEW y flujo de datos. Los siguientes cursos exploran otras caracteristicas: + LabVIEW Core 2—Aprenderd sobre programacién orientada a eventos. * Object-Oriented Design and Programming in Lab VIEW—Aprenderé sobre programacién orientada a objetos en LabVIEW. + LabVIEW Performance—Aprenda cémo tomar ventaja de las capacidades de multithreading y gestién de memoria de LabVIEW para mejorar la ejecucién de programas y el uso de memoria. Grafico y compilado Aunque representado graficamente con iconos y cables en vez de texto, el cédigo Gen el diagrama de bloques contiene los mismos conceptos de programacién encontrados en la mayoria de lenguajes tradicionales. Por ejemplo, cédigo G incluye tipos de datos, bucles, gestién de eventos, variables y programacién orientada a objetos. LabVIEW compila cédigo G directamente a cédigo de méquina para que el procesador pueda ejecutarlo. No necesita compilar c6digo G en un paso adicional. Flujo de datos y programacion orientada a eventos Los programas de LabVIEW se ejecutan de acuerdo a las reglas de flujo de datos en lugar de la manera tradicional encontrada en la mayoria de lenguajes de programacién basados en texto como Cy C++. La ejecucién mediante flujo de datos es dependiente de los datos. El flujo de datos entre Jos nodos en el cédigo G determina el orden de ejecucién. La programacién orientada a eventos extiende el concepto de flujo de datos de LabVIEW para permitir al usuario interaccién ditecta con el programa. La programacién basada en eventos ‘tambign permite otras actividades asincronas para influenciar Ia ejecucién del cédigo G en el diagrama de bloques. Capacidades multi-objetivo y plataforma Con aplicaciones de LabVIEW, usted puede tener como objetivos procesadores multinicleo y otros hardware paralelos como “Field-Programable Gate Arrays” (FPGAs). Usted puede automaticamente escalar aplicaciones de LabVIEW a CPUs con dos, cuatro o més niicleos, usualmente sin programacién adicional. El cédigo G, con Ia excepcién de algunas funciones especificas de algunas plataformas, es portable entre diferentes sistemas LabVIEW para diferentes sistemas operativos. Por lo tanto, usted puede usar el mismo cédigo si esta utilizando LabVIEW en sistemas Windows, Mac OS X o Linux. Orientado a objetos La programacién orientada a objetos es un acercamiento popular atraves de una gran variedad de lenguajes de programacién. Permite una gran variedad de items similares, aunque diferentes, de ser representados como una clase de objetos en el software. LabVIEW provee herramientas funciones para que usted pueda utilizar técnicas de programaci6n orientada a objetos en su cédigo G © National instruments | 1-2 Lecen 1 Explorando LabVIEW Multithreading y gestion de memoria LabVIEW permite paralelismo automético a su cédigo. En otros lenguajes si se requiere ejecutar cédigo en paralelo, usted debe manejar los hilos miltiples manualmente. El entorno LabVIEW, con el compilador y sistema de ejecucién trabajando juntos, automaticamente ejecuta el c6digo en paralelo siempre que sea posible. La mayoria del tiempo los detalles de la ejecucién de un sistema no tienen importancia para usted porque el sistema se comporta como debe sin intervencién. Sin embargo, LabVIEW también prove las opciones para mejorar el rendimiento. Lanzando el entorno LabVIEW ‘Cuando lance LabVIEW, aparecers Ie ventana Getting Started como se muestra en la figura 1-1. Figura 1-1. Ventana Getting Started de LabVIEW | | | Hse | il | i | es Use la ventana Getting Started para crear nuevos proyectos y VIs. Puede crear items desde cero © utilizar ejemplos. También puede abrir archivos existentes de LabVIEW y acceder a los recursos de le comunidad de LabVIEW y a la ayuda. La ventana Getting Started desaparece cuando abre un archivo existente o crea un archivo nuevo, ¥ reaparece cuando cierra todos los paneles frontales y diagramas de bloques abiertos. Puede ‘mostrar la ventana seleccionando View»Getting Started Window. Manual de Curso LABVIEW Core 1 B. Explorador de proyectos Los programas de LabVIEW se denominan Vis. Puede utilizar miltiples Vis juntos para hacer una aplicacién de LabVIEW. Para agrupar los Vis relacionados con la misma aplicacién utilice un proyecto LabVIEW. Cuando guarda un proyecto LabVIEW desde la ventana Project Explorer, LabVIEW crea un archivo de proyecto (.1voz03), que incluye referencias a todos los archivos de LabVIEW en el proyecto, informacién de configuracién e informacion de despliegue. Algunos programas de LabVIEW, como Vis simples, no requieren crear un proyecto. Es necesario utilizar un proyecto para crear aplicaciones y librerias compartidas. También debe utilizar un proyecto para trabajar con una plataforma en tiempo real (RT), de array de puertas programable in situ (FPGA) 0 agenda electrénica (PDA). Consulte la documentacién del médulo especifico para obtener informacién adicional acerca de usar proyectos con los médulos de tiempo real, FPGA y PDA de LabVIEW. Ventana del explorador de proyectos Los proyectos en LabVIEW consisten de VIs, archivos necesarios para que esos Vis se ejecuten apropiadamente y archivos suplementarios como documentacién o enlaces. Utilice la ventana Project Explorer para administrar proyectos en LabVIEW. La ventana Project Explorer incluye los siguientes elementos de forma predeterminada: + Project root: contiene el resto de elementos de la ventana Project Explorer. Esta etiqueta en la raiz del proyecto incluye el nombre de archivo del proyecto. + My Computer: representa el ordenador local como un destino del proyecto. + Dependencies: incluye los elementos que requieren los VIs de un destino. + Build Specifications: incluye configuraciones para distribuciones de cédigo y otros tipos de distribuciones disponibles en los toolkits y médulos de LabVIEW. Si tiene instalada la version PDS (Professional Development System) o el Application Builder de LabVIEW, puede usar Build Specifications para configurar aplicaciones independientes, librerias compartidas, instaladores y archivos comprimidos. Q Consejo Un destino es cualquier dispositive que pueda ejecutar un VI. Cuando afiada otro destino al proyecto, LabVIEW creard otro elemento en la ventana Project Explorer para representar la nueva plataforma. Cada destino incluye también las secciones Dependencies y Build Specifications. Puede affadir archivos bajo cada uno de los destinos. © National intuments | +5 econ 1 Explorando LabVIEW Complete los siguientes pasos para utilizar la ventana Project Explorer para crear y modificar proyectos en LabVIEW. 1. Seleccione File»Create Project para mostrar el cuadro de didlogo Create Project. El cuadro de didlogo Create Project incluye una lista de plantillas y proyectos de ejemplo que usted puede utilizar para asegurarse que el proyecto que esté creando utilice practicas de disefto y programacién confiables. 2. Busque la plantilla o ejemplo que se aproxime més al proyecto que desea realizar. Use las siguientes herramientas para buscar las plantillas y ejemplos de proyecto: + Filters—Muestra solo resultados de cierto tipo, como plantillas o ejemplos de proyectos para un objetivo especifico. + Additional Search—Busca palabras clave, titulos y descripeiones de los resultados filtrados. + More Information—Abre el archivo de ayuda para el {tem respectivo. Revise el archivo de ayuda para asegurarse que la plantilla o ejemplo se aproxime al proyecto que desea realizar. 3. Haga clic en el botén Next o Finish para configurar los detalles del proyecto, ineluyendo como el proyecto es guardado. Luego que termina de configurar el proyecto, LabVIEW guarda el proyecto y abre la ventana Project Explorer y el VI principal del proyecto. 4. Utilice la ventana Project Explorer para administrar proyectos en LabVIEW. Refiérase a los, ‘comentarios en el diagrama de bloques de los VIs en el proyecto para més informacién acerca de como modificar el proyecto. También refiérase al folder Project Documentation en la ventana Project Explorer para més informacién sobre como modificar el proyecto. Barras de herramientas de proyectos Use los botones de las barras de herramientas Estandar, Proyecto, Instalacién y Control de ‘e6digo fuente para realizar operaciones en un proyecto de LabVIEW. Las barras de herramientas estin disponibles en la parte superior de la ventana Project Explorer, como muestra la figura 1-2 Quizé tenga que expandir la ventana Project Explorer para mostrar todas las barras de herramientas. 14 | nleom Manual de Cureo Labview Core 1 Figura 1-2. Ventana Project Explorer fp Wewhe sate Setar 6 Owsenerce Ui, aie sates, OOOE 7 “Gana oe reranionis etidar 5 Fade proyectos Fare rere ee eras, § Beace 3 Bama ge pomamenias de provera Fee clas Fe eee oor Doo fants 8 Oe eer tiacones Consejo La barra de herramientas Control de cédigo fuente sélo esté disponible si tiene el control de cédigo fuente configurado en LabVIEW. Puede mostrar u ocultar barras de herramientas desde View»Toolbars y seleccionando las barras, de herramientas que desea mostrar u ocultar. También puede hacer clic con el bot6n derecho en una zona abierta de cada barra de herramientas para seleccionar la que desce mostrar u ocultar. Creacion de un proyecto en LabVIEW Complete los pasos siguientes para crear un proyecto. 1. Escoja una de las siguientes acciones para crear un proyecto LabVIEW nuevo. + Enla ventana Getting Started haga clic en Blank Project para abrir un proyecto en nuevo o haga clic en e] botn Create Project para crear un proyecto nuevo a partir de una plantilla. + Enun proyecto o VI abierto, seleccione File»Create Project. + En cualquier ventana de LabVIEW, seleccione FileNew. También puede seleccionar Project»Empty Project en el cuadro de diélogo New para mostrar la ventana Project Explorer. 2. Afiada elementos que desee incluir en el proyecto bajo un destino. 3. Seleccione File»Save Project para guardar el proyecto. © Netonalinsvurents | 1-7 Lecelén 1 Explorando LabVIEW Afiadir archivos existentes a un proyecto Puede afiadir archivos existentes a un proyecto. Use el elemento My Computer (u otro destino) en la ventana Project Explorer para afiadir archivos como VIs 0 archivos de texto a un proyecto de LabVIEW. Afiada elementos que desee incluir en el proyecto de estos modos: + Haga clic con el botin derecho en My Computer y seleccione Add»File desde ef ment contextual para afiadir un archivo. También puede seleccionar ProjectyAdd To Project»File desde el ment Project Explorer para afiadir un archivo. + Haga clic con el botén derecho en el destino y seleccione Add»Folder (Auto-populating) desde el meni contextual para afiadir una carpeta de relleno automético. También puede seleccionar Project»Add To Project»Add Folder (Auto-populating) para afiadir una carpeta de relleno automético. LabVIEW conirola y actualiza continuamente la carpeta segtin los ‘cambios realizados en el proyecto y en el disco. + Haga clic con el botén derecho en el destino o My Computer y seleccione Add»Folder (Snapshot) desde el mend contextual para afiadir una carpeta virtual. También puede seleccionar Project»Add To Project»Add Folder (Snapshot) para afadir una carpeta virtual. ‘Cuando seleceione un directorio del disco, LabVIEW crearé una nueva carpeta virtual en el proyecto con el mismo nombre que el directorio del disco. LabVIEW también crea elementos cen el proyecto que representan el contenido de todo el directorio, incluidos los archivos y el contenido de subdirectorios. Si selecciona una carpeta del disco, afiadiré el contenido de toda Ja carpeta, incluyendo archivos y el contenido de las subcarpetas. YEA Nota Tras aftadir una carpeta virtual del disco a un proyecto, LabVIEW no actualiza autométicamente Ia carpeta en el proyecto si realiza cambios en la carpeta del disco. + Haga clic con el bot6n derecho en el destino y seleccione New»VI desde el meni contextual para afiadir un nuevo VI. También puede seleccionar File»New VI 0 Project»Add To Project»New VI para afiadir un VI nuevo. + Seleccione el icono del VI en la esquina superior derecha de una ventana de panel frontal o de diagrama de bloques y atrastre el icono al destino. + Seleccione un elemento 0 carpeta del sistema de archivos de su ordenador y arréstrelo al destino, Eliminar elementos de un proyecto Puede eliminar elementos de la ventana Project Explorer de las siguientes maneras: + Haga clic con el botén derecho en el elemento que desee eliminar y seleccione Remove from Project dei mend contextual. + Seleccione el elemento que desea eliminar y pulse . + Seleccione el elemento que desee eliminar y haga clic en el botén Remove From Project de Ia barra de herramientas Standard. 18 | nico Manual de Curso LabVIEW Core 1 5GA_ Nota Eliminar un elemento de un proyecto no implica eliminarlo del disco. Organizar elementos de un proyecto La ventana Project Explorer incluye dos paginas: Items y Files. La pagina Items muestra los elementos del proyecto que existen en el arbol de proyecto. La pagina Files muestra los elementos del proyecto que tienen un archivo correspondiente en el disco. Puede organizar nombres de archivos y carpetas en esta pagina. Las operaciones de proyectos de la pagina Files reflejan y actualizan el contenido del disco. Puede cambiar de una pagina a la otra haciendo clic con el botén derecho en una carpeta 0 elemento bajo un destino y seleccionando Show in Items View o Show in Files View en el meni contextual. Use carpetas pare organizar elementos en la ventana Project Explorer. Puede afiadir dos tipos de carpetas en un proyecto de LabVIEW: virtuales y de relleno automitico. Las carpetas virtuales organizan elementos del proyecto. Haga clic con el botén derecho en la ventana Project Explorer y seleccione New» Virtual Folder desde el ment contextual para crear una carpeta virtual nueva. Las carpetas de relleno automtico se actualizan en tiempo real para reflejar el contenido de las carpetas del disco. Affada una carpeta de relleno automético al proyecto para mostrar elementos del proyecto como aparecen en el disco. Las carpetas de relleno automético s6lo se ven en la pégina Items de la ventana Project Explorer - Puede ver el contenido del disco de una carpeta de relleno automatico pero no puede realizar operaciones en el disco como cambiar el nombre, reorganizar y eliminar elementos del proyecto. Para realizar operaciones del disco en elementos de una carpeta de relleno automético, use la pagina Files de la ventana Project Explorer. La pégina Files muestra la ubicacién de las carpetas del proyecto en el disco. Las operaciones de proyectos de la pégina Files reflejan y actualizan el contenido del disco. Igualmente, LabVIEW actualiza autométicamente la carpeta de relleno automético en el proyecto si realiza cambios en la carpeta del disco fuera de LabVIEW. Es posible ordenar elementos en una carpeta, Para ello, haga clic con el botén derecho en una campeta y seleccione Arrange By»Name desde e! ment contextual para ordenar elementos por orden aifabético. Haga clic con el botén derecho en una carpeta y seleccione Arrange By»Type desde el mend contextual para ordenar elementos por tipo de archivo. Ver archivos de un proyecto Cuando afiade un archivo aun proyecto de LabVIEW, LabVIEW incluye una referencia al archivo del disco. Haga clic con el botén derecho en un archivo de la ventana Project Explorer y seleccione Open desde el meni contextual para abrir el archivo en su editor predeterminado. Haga clic con el botén derecho en el proyecto y seleccione View»Full Paths desde el meni ‘contextual para mostrar donde estin guardados en el disco los archivos a los que hace referencia un proyecto. Use el cuadro de didlogo Project File Information para ver dénde se encuentran los archivos a los que hace referencia un proyecto en el disco y en la ventana Project Explorer. Seleccione Project File Information para mostrar el cuadro de didlogo Project File Information. También puede © Notional Instiurents | 1-9 Lescién 1 Explorando LabVIEW hacer clic con el botén derecho en el proyecto y seleccionar View» File information desde el mena contextual para mostrar el cuadro de didlogo Project File Information. Guardar un proyecto Puede guardar un proyecto de LabVIEW de los siguientes modos: + Seleccione File»Save Project. + Seleccione Project»Save Project. + Haga clic con el botén derecho en el proyecto y seleccione Save en el memi contextual. + Haga clic en el botén Save Project en la barra de herramientas Project. Debe guardar los nuevos archivos que no hayan sido guardados previamente en un proyecto antes de poder guardar éste. Cuando guarde un proyecto, LabVIEW no guardard dependencias como parte del archivo del proyecto. YE) Nota Realice una copia de seguridad de un proyecto cuando vaya a hacer revisiones importantes en él. C. Partes de un VI Los Vis de LabVIEW contienen tres componentes principales: la ventana del panel frontal, el diagrama de bloques y el panel de iconos / conectores. Ventana del panel frontal La ventana del panel frontal es la interfaz de] usuario para el VI. La figura 1-3 muestra un ejemplo de una ventana de panel frontal. Puede crear la ventana del panel frontal con controles ¢ indicadores, que son los terminales interactivos de entrada y salida del VI, respectivamente. 4-10 | ricom Manual de Cureo LabVIEW Core + Figura 1-3. Panel frontal de VI Ventana de diagrama de bloques Tras crear la ventana del panel frontal, puede afiadir cédigo usando representaciones grificas de funciones para controlar los objetos del panel frontal. La figura 1-4 muestra un ejemplo de una ventana de diagrama de bloques. La ventana del diagrama de bloques contiene este cédigo fuente grafico. Los objetos del panel frontal aparecen como terminales en el diagrama de bloques. Figura 1-4. Diagrama de Blogues {© National Instumenss | 1-11 Leccin 1 Explorando LabVIEW Panel de iconos y conectores El panel de iconos y conectores muestra cémo user y ver un VI en otro VI. Un VI que se utiliza en otro VI se denomina subV1, que es similar a una funcién en un lenguaje de programacién basado en texto, Para utilizar un VI como subVI, debe tener un panel de iconos y conectores. Cada VI muestra un icono en la esquina superior derecha de la ventana del panel frontal y de la, ventana del diagrama de bloques. A la izquierda se muestra un ejemplo del icono predeterminado. Un ieono es una representacién gréfica de un VI. El icono puede contener texto ¢ imagenes. Si utiliza un VI como un subVI, el icono identifica el subVI en el diagrama de bloques del VI. El icono predeterminado contiene un néimero que indica cudntos VIs nuevos abrié tras lanzar LabVIEW. =) “ Para utilizar un VI como subVI, debe crear un panel de conectores, mostrado a la izquierda. El panel de conectores es un conjunto de terminales del icono que se corresponde con los controles € indicadores de ese VI, de manera similar a la lista de pardmetros de una llamada de funcién en lenguajes de programacién basados en texto. El panel de conectores se muestra junto al icono del V1 en esquina superior derecha de la ventana del panel frontal. No es posible acceder al pane! de conectores desde el icono de la ventana del diagrama de bloques. Abrir un VI existente Seleccione Browse en la lista Open de la ventana Getting Started para navegar hasta un VI existente y abrirlo. Q Consejo Los Vis que modifique en este curso se encuentran en el directorio \LabVIEW Core Cuando se cargue el VI, podré aparecer un cuadro de didlogo de estado si ejemplo. 4612 | ricom Manual e Curso LabVIEW Core 1 Figura 1-5. Cuadro de didlogo que indica el estado de la carga de Vis ine, CAPregain Fes atonal rsbume\LaVEW 22 ib oun? La seccién Loading enumera los subVIs del VI segiin se cargan en memoria y muestra el niimero de subVis cargados hasta ahora. Puede cancelar la carga en cualquier momento, haciendo clic en el botén Stop. Si LabVIEW no puede encontrar inmediatamente un subVI, empezaré a buscar en todos los directorios especificados en la ruta de biisqueda del VI. Puede modificar la ruta de bisqueda del ‘VI seleccionando Tools»Options y después Paths en la lista Category. LabVIEW puede hacer caso omiso de un subVI haciendo clic en el botdn Ignore Item, o puede hacer clic en el botén Browse para buscer el subVI que falte. Guardar un VI Para guardar un nuevo VI, seleccione File»Save. Si ya guard6 su VI, seleccione File»Save As para acceder al cuadro de diélogo Save As. Desde el cuadro de didlogo Save As, puede crear una copia del VI o eliminar el VI original y sustituirlo por el nuevo. ©Netonalinstnsmerts | 1-18 Leccén 1 Explorando LabVIEW Figura 1-6. Cuadro de didlogo Save As YEA Nota Consulte el tema Save As Dialog Box de la Ayuda de LabVIEW para mostrar informacién detallada sobre cada opeién del cuadro de didlogo Save AS. D. Panel frontal Cuando abra un VI nuevo o existente, apareceré la ventana del panel frontal del VI. La ventana del panel frontal es la interfaz de! usuario para el VI. La figura 1-7 muestra un ejemplo de una ventana de panel frontal, 1-14 | icom Manual de Curso LabVIEW Core + Figura 1-7. Ejemplo de un panel frontal 7 Ventana del panel frontal 2 _ Barra de herramientas 3 Palata de controles Controles e indicadores Puede crear el panel frontal con controles e indicadores, que son los terminales interactivos de entrada y salida del VI, respectivamente. Ejemplos de controles son mandos, botones de comando, iales y otros dispositivos de entrada. Los indicadores son gréficos, LED y otras visualizaciones. Los controles simulan dispositivos de entrada de instrumentos y ofrecen datos al diagrama de bloques det VI. Los indicadores simulan dispositivos de salida de instrumentos y muestran datos que adquiere o genera el diagrama de bloques. La imagen 1-7 contiene los siguientes objetos: dos controles: Number of Measurements y Delay (ee). Tiene un indicador: un XY graph llamado Temperature Graph. El usuario puede cambiar el valor de entrada de los controles Number of Measurements y Delay (ec). El usuario puede ver el valor que genera el VI en el indicador Temperature Graph. El VI genera los valores para los indicadores baséndose en el cédigo creado en el diagrama de bloques. Aprenderd esto en la seccién Controles ¢ indicadores numéricos. Cada control o indicador tiene un tipo de datos asociado. Por ejemplo, el control deslizante horizontal Delay (sec) es un tipo de datos numérico. Los tipos de datos mas utilizados son numérico, booleano y cadena de caracteres. Aprenders otros tipos de datos en la leccién 3, Implementacién de un VI. ‘© National instruments | 1-15, Leceién'1 Explorando LabVIEW Controles e indicadores numéricos El tipo de datos numérico puede representar mimeros de varios tipos, como entero o real. Los dos objetos numéricos comunes son el control numérico y el indicador numérico, como se ve en la figura 1-8. Objetos como los medidores y los dials también representan datos numéricos. Figura 1-8. Controles e indicadores numéricos 1 Botones de incremento/decremento 3 Indicador numérico 2 Control numérico Para introducir o cambiar valores en un control numérico, haga clic en los botones de incremento y decremento con la herramienta de operaciones o haga doble clic en el niimero con la herramienta de etiquetado o de operaciones, escriba un nuevo niimero y pulse la tecla . Controles e indicadores booleanos El tipo de datos booleano representa datos que s6lo tienen dos estados posibles, como TRUE y FALSE u ON y OFF. Use los controles e indicadores booleanos para escribir y mostrar valores booleanos. Los objetos booleanos simulan conmutadores, botones de comando y LED. Los objetos booleanos de tipo conmutador vertical y de tipo LED redondo aparecen en Ia figura 1-9. Figura 1-9. Controles e indicadores booleanos Controles e indicadores de cadena de caracteres El tipo de datos cadena de caracteres es una secuencia de caracteres ASCII. Use controles de cadena de caracteres para recibir texto del usuario como una contrasefia 0 un nombre de usuario. Use indicadores de cadena de caracteres para mostrar texto al usuario. Los objetos de cadena de caracteres mas comunes son tablas y cuadros de entrada de texto, como se ve en la figura 1-10. 4-16 | ricom Manual de Gureo LabVIEW Core 1 Figura 1-10. Controles @ indicadores de cadena de caracteres Paleta de controles LaPaleta de Controles contiene los controles ¢ indicadores que utiliza para crear el panel frontal. ‘Se accede a la Paleta de Controles desde la ventana del panel frontal seleccionando View» Controls Palette. La Paleta de Controles se divide en varias categorfas; puede mostrar alguna de ellas 0 todas segin sus nevesidades. La figura 1-11 muestra la paleta Controls con todas las categorias mostradas y la categoria Silver expandida. Durante este curso, la mayoria de ejercicios utilizan controles de la categoria Silver. Figura 1-11. Paleta de Controles Tables. Eph Ringtrue WO Sam IDF chen Bors [FF Contos Sign 8 Siulsion [> Rer whem ‘SanalProcesing Chane Vibe alts. © Nationa instruments | Lecsién 1 Exploranco LabVIEW Para mostrar u ocultar categorias (subpaletas), seleccione el botén Customize en la paleta y seleccione 0 deseleccione en le opcién Change Visible Palettes. Barra de herramientas de la ventana del panel frontal Cada ventana tiene una barra de herramientas asociada. Use los botones de la barra de herramientas de la ventana del panel frontal para ejecutar y modificar el VI. La siguiente barra de herramientas aparece en la ventana del panel frontal. SSS Saanointn eee] Pee ENE] Haga clic en el bot6n Run para ejecutar un VI. LabVIEW compila el VI, si es necesario. Puede ejecutar un VI si el botGn Run aparece como una flecha blanca continua, como se ve abajo. La flecha blanca continua también indica que puede utilizar el VI como un subVI si crea un panel de ‘conectores para el VI. Mientras se ejecuta el VI, el botén Run aparece como se muestra abajo siel VI es de alto nivel, Jo que significa que no tiene VIs que le llamen y por Jo tanto no es un subVI. Si el VI que se esté ejecutando es un subVI, el botin Run aparece como se muestra abajo. sd E] botén Run aparece roto cuando el VI que esté creando o modificando contiene errores. Si el botén Run sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI esta roto y no puede ejecutarse. Haga clic en este botdn para mostrar la ventana Error list, que enumera todos los errores y advertencias. Haga clic en el botén Run Continuously para ejecutar el VI hasta que anule o pause la ejecucién. También puede hacer clic en el botén de nuevo para desactivar [a ejecucién continua. 118 | nicor Manval 40 Curso LabVIEW Core 1 Mientras se ejecuta el VI, aparece el botén Abort Execution. Haga clic en este botén para detener el VI inmediatamente si no hay otro modo de detenerlo. Si mas de un VI de alto nivel en ejecucién utiliza el VI, el botén aparece atenuado. ZX Precaucién El botén Abort Execution detiene inmediatamente el VI, antes de que ‘termine la iteracién actual. Si aborta un VI que utiliza recursos externos, como el hardware extemno, podrfa dejar fos recursos en un estado desconocido por no restablecerlos o liberarlos correctamente. Disefie Vis con un botén de parada para evitar este problema. Haga clic en el botén Pause para pausar un VI en ejecucién. Cuando hage clic en el botén Pause, LabVIEW resaltard en el diagrama de bloques la ubicacién donde pausé la ejecucién y el botén Pause aparecerd en rojo. Haga clic en el botén Pause de nuevo para seguir ejecutando el VI. Seleccione el meni desplegable Text Settings para cambiar los ajustes de fuente para las partes seleccionadas del VI, como el tamafio, estilo y color. Seleccione el mend desplegable Align Objects para alinear objetos a lo largo de los ejes, como el vettical, el borde superior, borde izquierdo, etc. Seleccione el mend desplegable Distribute Objects para espacier objetos uniformemente, incluidos los espacios, Ja compresién, etc. Seleccione el menti desplegable Resize Objects para cambiar varios objetos del panel frontal al mismo tamafio, ‘© National Intrumants | 1-19 econ 1 Explorando LabVIEW Seleccione el menii desplegable Reorder cuando tenga objetos solapados y desee definir cusl esta enfrente o detrds de otro. Seleccione uno de los objetos con Ja herramienta de posicionamiento y después selecciane Move Forward, Move Backward, Move To Front o Move To Back. Introduzca términos de bisqueda para localizar contenido en la Ayuda de LabVIEW. Seleccione e] botén Show Context Help Window para cambiar la visualizacién de la ventana Context Help. Enter Text aparece para recordarle que existe un nuevo valor para sustituir a uno antiguo. EI botén Enter Text desaparece cuando hace clic en él, pulsa la tecla o hace clic en el espacio de trabajo del panel frontal o del diagrama de bloques. Q Consejo La tecla del teclado numérico termina una entrada de texto, mientras que la tecla principal afiade una nueva linea. Para modificar este comportamiento, seleccione Tools»Options, seleccione Environment de la lista Category y marque la opcién End text entry with Enter key E. Diagrama de bloques Entre los objetos del diagrama de bloques se incluyen los terminales, subVIs, funciones, estructuras y cables, los cuales transfieren datos entre otros objetos del diagrama de bloques. 120 | nicom Manual de Curso LabVIEW Core 1 Figura 1-12. Ejemplo de un diagrama de bioques y el pane! frontal correspondiente Te ier bore ees ee ea D1e] ll] [Se ameamios -Psoe[alee. a 7 Terminales de ndicador 2 Cables 5 Nodes 4 _Terminales de control Terminales Los objetos de la ventana del panel frontal aparecen como terminales en el diagrama de bloques. Los terminales son puertos de entrada y de salida que intercambian informacién entre el panel frontal y el diagrama de bloques. Los terminales son andlogos a los parémetros y constantes de lenguajes de programacién basados en texto. Existen terminates de control o de indicador y terminales de nodo. Los terminales de control y de indicador estén asociados a los controles € indicadores del panel frontal. Los datos que introduce en los controles del panel frontal (a y b en el panel frontal anterior) entran en el diagrama de bloques mediante los terminales de control. A continuacién, los datos entran en las funciones Add y Subtract. Cuando las fnciones Add y Subtract completan sus célculos, producen nuevos valores de datos. Los valores de datos fluyen a los terminales indicadores, donde actualizan los indicadores del panel frontal (a+b y a-b en el panel frontal anterior). Los terminales de la figura 1-12 pertenecen a los controles ¢ indicadores del panel frontal. Como los terminales representan las entradas y salidas de su VI, los subVIs y las funciones también tienen. terminales, mostrados abajo. Por ejemplo, los paneles de conectores de las funciones Add y ‘Subtract tienen tres terminales de nodo, Para mostrar los terminales de la funcidn en el diagrama de bloques, haga clic con el botén derecho en el nodo de la funcién y seleccione Visible Items» ‘Terminals en el menti contextual. © Navonal instants | 1-21 Leceién t Explorando LabVIEW Controles, indicadores y constantes Los controles, indicadores y constantes acttian como entradas y salidas del algoritmo dei diagrama de bloques. Considere la implementacién del algoritmo para él érea de un triéngulo: drea = .5 * Base * Altura Eneste algoritmo, Base y Altura son entradas y Area es una salida, como se ve en la figura 1-13. Figura 1-13. Panel Frontal del area de un triéngulo El usuario no cambiard ni accederd a la constante .5, por lo que no aparecerd en el panel frontal a menos que se incluya como documentacién del algoritmo. La figura 1-14 muestra una posible implementacién de este algoritmo en un diagrama de bloques de LabVIEW. Este diagrama de bloques tiene cuatro terminales distintos constituidos por dos controles, una constente y un indicador. Figura 1-14, Diagrama de bloques del area de un triangulo con vista de iconos de los terminales Boze (er) a eee | Height (em) Tianguler Mutiper 5 a8 | zea (ermh2) 1 Controles 2 indicador 3 Constante ‘Tenga en cuenta que los terminales del diagrama de bloques Base (em) y Altura (em) tienen un aspecto distinto del terminal Area (em2). Existen dos caracteristicas distintivas entre un control y un indicador en el diagrama de bloques. La primera es una flecha en el terminal que indica le direcci6n del flujo de datos. Los controles tienen flechas que muestran los datos que salen del ‘terminal, mientras que el indicador tiene una flecha que muestra los datos que entran al terminal. 4-22 | nico Manual de Curso LabVIEW Core 1 La segunda caracteristica distintiva es el borde alrededor del terminal. Los controles tienen un. borde més grueso y los indicadores uno més fino. Puede ver terminales con o sin la vista de icono. La figura 1-15 muestra el mismo diagrama de bloques sin utilizar la vista de icono de los terminales; sin embargo, existen Jas mismas caracteristicas distintivas entre los controles y los indicadores. Figura 1-15. Diagrama de bloques del area de un tridngulo sin vista de iconos de los terminales Area (ern*2) > fina) | Triangular Mutipier Height (em) : ir [co Nodos del diagrama de bloques Los nodos son objetos del diagrama de bloques que tienen entradas o salidas y realizan operaciones cuando se ejecuta un VI. Son andlogos a las instrucciones, operadores, funciones y subrutinas ‘en lenguajes de programacién basados en texto. Los nodos pueden ser funciones, subVIs 0 estructuras. Las estructuras son elementos de control de procesos, como las estructuras Case, los bucles For o los bucles While. Las funciones Add y Subtract de la figura 1-12 son nodos de funcién, Funciones Las funciones son los elementos operativos fundamentales de LabVIEW. Las funciones no tienen ventanas de panel frontal ni de diagrama de blogues pero si paneles de conectores. Al hacer doble lic en una funcién sélo se selecciona ésta. Una funcién tiene un fondo amarillo pélido en su icono. SubVis Los subVIs son Vis que crea para usar dentro de otro VI 0 a los que accede en la paleta Functions. Cualquier VI puede utilizarse como un subVI. A! hacer doble clic en un subVI del diagrama de bloques, aparece la ventana del panel frontal. El panel frontal incluye controles e indicadores. El diagrama de bloques incluye cables, iconos, funciones, posiblemente subVis y otros objetos de ‘LabVIEW. La esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques muestra el icono para el VI. Es el icono que aparece cuando sitia cl VI en un diagrama de bloques como un subVI Los subVIs también pueden ser VIs Express. Los VIs Express son nodos que requieren un cableado minimo porque los configura con cuadros de dilogo. Use Vis Express para tareas comunes de medicién. Puede guardar la configuracién de un VI Express como un subVI. Consulte el tema Express Vis de la ayuda de LabVIEW para mostrar informacién detallada sobre la creacién de un subVI a partir de una configuracién de un VI Express. (© National nsteanents | 1-23, Leceién 1 xporando LaaViEW LabVIEW usa iconos de colores para distinguir entre VIs Express y otros VIs del diagrama de bloques. Los iconos para VIs Express aparecen en el diagrama de bloques como iconos rodeados de un campo azul mientras que los iconos de subVIs tienen un campo amarillo, Nodos expandibles frente a iconos Puede mostrar Vis y Vis Express como iconos 0 como nodos expandibles. Los nodos expandibles aparecen como iconos rodeados de un campo de color. Los subVIs aparecen con un campo amarillo y los Vis Express con un campo azul. Use iconos si desea conservar espacio en el diagrama de ibloques. Use nodos expandibles para facilitar el cableado y para ayudar en la documentacién de diagramas de bloques. De forma predeterminada, los subVis aparecen como iconos en el diagrama de bloques y los VIs Express aparecen como nodos expandibles. Para mostrar un subVI 0 VI Express como un nodo expandible, haga clic con el botén derecho en el subVI o VI Express y quite Ja marca junto al elemento del mend contextual View As Icon. Puede cambiar el tamaiio del nodo expandible para facilitar més el cableado, pero también requiere un espacio considerable en el diagrama de bloques. Complete los pasos siguientes para cambiar el tamaiio de un nodo en el diagrama de bloques: 1. Mueva Ia herramienta de posicionamiento sobre el nodo. Aparecen los controladores de tamaiio arriba y abajo del nodo. 2. Mueva el cursor sobre un controlador de tamafio para cambiar el cursor al de cambio de tamaiio. 3. Use el cursor de cambio de tamafio para arrastrar el borde del nodo hacia abajo para mostrar més terminales. 4, Suelte el botén del ratén. Para cancelar una operaciGn de cambio de tamafio, arrastre el borde del nodo més alla de la ventana del diagrama de bloques antes de soltar el bot6n del ratén. La figura 1-16 muestra el VI Basic Function Generator como un nedo expandible con un tamafio diferente. Figura 1-16. VI Basic Function Generator en varios modos de visualizacién @ aE ae ses) a 4-26 | loom Manual de Curso LabVIEW Core 1 YE{_Nota_ Si muestra un subVI 6 VI Express como un nodo expandible, no puede ver los terminales de ese nodo ni habilitar el acceso a la base de datos para ese nodo. Cables Con los cables se transfieren datos entre objetos del diagrama de bloques. En Ja figura 1-12, los cables conectan los terminales de control y de indicador a la funcién Add y Subtract. Cada cable tiene un solo otigen de datos, pero puede cablearlo a numerosos Vis y funciones que leen los datos. Los cables tienen distintos colores, estilos y grosores, en funcién de sus tipos de datos. Un cable roto aparece como una linea negra discontinua con una X roja en el medio, como se ve abajo. Los cables se rompen por varias razones, como al intentar cablear dos objetos con tipos de datos incompatibles. b> La tabla 1-1 muestra los tipos de cable mas comunes. Tabla 1-1. Tipos de cables comunes Tipo de cable | Escalar Array1D | Array 2D Color ‘Numético ‘Naranja (coma flotante), Azul (nimero entero) Boleano tn venseen santo Verde Cadenade | mma — rmwmsen | Rosa caracteres | En LabVIEW se usan cables para conectar varios terminales entre si y pasar datos a un VI. Debe conectar los cables a las entradas y salidas que sean compatibles con los datos que se transfieren con el cable. Por ejemplo, no puede cablear una salida de array a una entrada numérica. Ademas, la direceién de los cables debe ser correcta. Debe conectar los cables s6lo a una entrada y al menos a una salida. Por ejemplo, no puede cablear dos indicadores entre si. Los componentes que determinan la compatibilidad del cableado son el tipo de datos del control o el indicador y el tipo de datos del terminal. Tipos de datos Los tipos de datos indican qué objetos, entradas y salidas pueden cablearse entre sf. Por ejemplo, siun conmutador tiene un borde verde, puede cablear un conmutador a cualquier entrada con una etiqueta verde en un VI Express. Si un mando tiene un borde naranja, puede cablear un mando a cualquier entrada con una etiqueta naranja. Sin embargo, no puede cablear un mando naranja a una entrada con una etiqueta verde. Tenga en cuenta que los cables tienen el mismo color que el terminal, © National Instruments | 1-25, Leceén 1 Exporardo LabVIEW Cableado automatico de objetos Cuando mueve un objeto seleceionado cerca de otros objetos del diagrama de bloques, LabVIEW traza cables temporales para mostrarle conexiones validas. Cuando suelta el botén del ratén para colocar el objeto en el diagrama de bloques, LabVIEW conecta automiticamente los cables. ‘También puede cablear automiticamente objetos que ya estén en el diagrama de bloques. LabVIEW conecta los terminales que combinan mejor y no coneeta los que no combinan. Cambie el cableado automatico pulsando la barra espaciadora mientras mueve un objeto con la herramienta de posicionamiento. De forma predeterminada, el cableado automitico se activa cuando selecciona un objeto de la. paleta Funetions 0 cuando copia un objeto que ya esté en el diagrama de bloques pulsando la tecla y artastrando el objeto. El cableado automético se desactiva de forma predeterminada ‘cuando usa la herramienta de posicionamiento para mover un objeto que ya esté en el diagrama de bloques. Puede ajustar le configuracién del cableado automético seleccionando Tools»Options y después Block Diagram en la lista Category. Cableado manual de objetos ‘Cuando pasa la herramienta de cableado sobre un terminal, apareceré una ayuda con el nombre del terminal. Ademds, el terminal parpadea en la ventana Context Help y en cl icono para ayudarle a comprobar que esté cableando en el terminal correcto. Para cablear objetos entre sf, pase la herramienta de cableado por el primer terminal, haga clic, pase el cursor sobre el segundo terminal y haga clic de nuevo, Después de cablear, puede hacer clic con el botén derecho en el cable y seleccionar Clean Up Wire desde el mend contextual para que LabVIEW elija automiéticamente luna ruta para el cable. Si tiene que eliminar cables rotos, pulse para eliminar todos los cables rotos del diagrama de bloques. Paleta de funciones La peleta Functions contiene los Vis, funciones y constantes que utiliza para crear el diagrama de bloques. Se accede a la paleta Functions desde el diagrama de bloques seleccionando Views» Functions Palette. La paleta Functions se divide en varias categorias; puede mostrar u ocultar categorias segiin sus necesidades. La figura 1-17 muestra una paleta Functions con todas las, categorias mostradas y la categorfa Programming expandida. Durante este curso, trabajaré principalmente en la categoria Programming, pero también usaré otras categorias o subpaletas, 128 | near Manuel de Curso LabVIEW Core 1 Figura 1-17. Paleta de funciones Re Pa (Seaketal | caeeSy oRiBiaes [> Messwrensne Yo [> roane 0 [D> vison andeoton |[>comecity [L> cormepeson ssméeen D> Epes | Para mostrar u ocultar categorias, seleccione el botén Customize en la paleta y seleccione deseleccione la opcién Change Visible Palettes. Barra de herramientas del diagrama de bloques Cuando ejecuta un VI, aparece una serie de botones en la barra de herramientas del diagrama de bioques que puede utilizar para depurar el VI. La siguiente barra de herramientas aparece en el diagrama de bloques. 2 [SG] [SS | Gali" ss [pt Application Font |> |[Za> [ater | [e~ [ead] Haga clic en el bot6n Highlight Execution para mostrar una animacién de la ejecucién de! diagrama de bloques cuando ejecute el VI. Observe el flujo de datos a través del diagrama de bloques. Haga clic en el botén de nuevo para desactivar el resaltado de la ejecucién. © National Instruments | 1-27 Leccin 1 Exporando LabviEW Hage clic en el botn Retain Wire Values para guardar los valores de los cables en cada punto del flujo de ejecucién de modo que cuando coloque una sonda en el cable, pueda conservar inmediatamente el valor més reciente que pasé por el cable. Debe ejecutar correctamente el VI al menos una vez. antes de poder conservar los valores de los cables. [esl Haga clic en el botén Step Into para abrir un nodo y pausar la ejecucién. Haciendo elie en el botén Step Into de nuevo, se ejecuta la primera accién y se pausa la ejecucién en siguiente accién del subVI o de la estructura. También puede pulsar las teclas y la flecha abajo, Ejecutar paso a paso un VI permite revisar el VI nodo a nodo. Cada nodo parpadea para indicar cuando esté listo para ejecutarse, ha | Haga clic en el botén Step Over para ejecutar un nodo y pauser Ia ejecucién en el siguiente nodo. ‘También puede pulsar las teclas y la flecha derecha. Al pasar por encima del nodo, ejecuta el nodo pero no paso a paso. & Haga clic en el botSn Step Out para terminar de ejecutar el nodo actual y pausar la ejecucién. ‘Cuando se termina de ejecutar el VI, se atentia el botén Step Out. También puede pulsar las teclas y la flecha arriba. Al salir de un nodo, se completa la ejecucién paso a paso del nodo y se pasa al siguiente nodo. Hage clic en el botén Clean Up Diagram para redirigir automaticamente todos los cables existentes y reordenar objetos del diagrama de bloques para generar un disefio més limpio. Para configurar las opciones de limpieza seleccione Tools»Options para mostrar el cuadro de diélogo Options y seleccione Block Diagram de la lista Category. Puede configurar las opciones en la seecién Block Diagram Cleanup. El botén Warning aparece si un VI ineluye una advertencia y mareé la casilla de verificacién Show Warnings cn la ventana Error List. Una advertencia indica que existe un posible problema con el diagrama de bloques, pero no impide que se ejecute el VI. 1-28 | nicom anual de Curso LabVIEW Core 1 Utilidades de ayuda de LabVIEW Use la ventana Contest Help, la Ayuda de LabVIEW y el NI Example Finder para ayudarle a crear y modificar VIs. Consulte la Ayuda de LabVIEW y los manuales para obtener informacién adicional acerca de LabVIEW. Ventana Context Help La ventana Context Help muestra informacién bésica sobre los diferentes objetos de LabVIEW cuando mueve el cursor sobre cada uno de ellos. Para ver la ventana Context Help, seleccione Help»Show Context Help, pulse las teclas o haga clic en el botén Show Context Help Window de la barra de herramientas. Cuando mueva el cursor sobre los objetos del panel frontal y del diagrama de bloques, la ventana Context Help mostrar4 el icono para subVIs, funciones, constantes, controles ¢ indicadores, con cables acoplados a cada terminal. Cuando mueva el cursor sobre las opciones del cuadro de didlogo, la ventana Context Help mostrard sus descripciones. En la ventana Context Help, las etiquetas de terminales obligatorios aparecen en negrita, los terminales recomendados como texto sin formato y los opcionales aparecen atenuados. Las etiquetas de terminales opcionales no aparecen si hace clic en el botén Hlide Optional Terminals and Full Path en la ventana Context Help. Figura 1-18. Ventana Context Help format 063) — ne fle pu (et Pah fe path Ssogif eps) bree ‘umber cfrow a3) fer maar ee (cha) for transpose (00) l Bends» specie numberof nas ous fom 2 numa tat le egring sto speatid arcter eet ona conver the Sots #2, devsle-reciion ary cf numbers, tings cringe, You mur ranesly fencttepaimarpic nganee yosuartta use © National Insuments | 1-28 Lecciin 1 Explorando LabVIEW Haga clic en el botén Show Optional Terminals and Full Path situado en la esquina inferior iaquierda de la ventana Context Help para ver los terminales opcionales de un panel de conectores y la ruta completa de un VI. Los terminales opcionales aparecen como cables cortados, informéndole de que existen otras conexiones. El modo detallado muestra todos los terminales, como en la figura 1-19, Figura 1-19. Ventana Context Help detallada ae Ch-entabVEW 21 RW el Read ro Sener et format 9630) ew fe pth Hor BPth i ‘epee temp) sow number af run Gl Ctr son of end offer. Lemsee eres har) mavemactisto (o Lotor terspore ra) Reads specie nue of ints ara tor surrey specie characte tat 9a convene the atte 025 dublesrecinon amy Fumes, eng, ov tages ou ru mana sete pabrnorphe Inaerceyouwarsto use Haga clic en el botén Lock Context Help para bloquear e! contenido actual de la ventana Context Help. Cuando se bloquea el contenido, si mueve el cursor sobre otro objeto, no cambiard el contenido de la ventana. Para desbloquear la ventana, haga clic de nuevo en el botén, También puede acceder a esta opcién desde el meni Help. el Si existe un tema en la Ayuda de LabVIEW asociado a un objeto que se describe en la ventana Context Help, aparecerd un enlace azul Detailed help en la ventana Context Help. Asimismo, el botén More Help se encontraré activado. Haga clic en el enlace o en el botdn para mostrar LabVIEW Help y obtener informacién adicional sobre el objeto LabVIEW Help Puede accedera la Ayuda de LabVIEW hacienda clicen el bot6n More Help de la ventana Context Help , seleccionando Help»LabVIEW Help, o haciendo clic en el enlace azul Detailed Help de la ventana Context Help. También puede hacer clic con el bot6n derecho en un objeto y seleccionar Help en el menti contextual. 1-30 | rica Manual @ Cureo LabVIEW Core LabVIEW Help contiene descripciones detalladas de la mayoria de las paletas, mentis, herramientas, Vis y funciones. La Ayuda de LabVIEW también incluye instrucciones paso a paso para utilizar las funciones de LabVIEW. La Ayuda de LabVIEW incluye enlaces a los siguientes recursos: + LabVIEW Documentation Resources, que describe documentos en linea e impresos para ayudar @ Jos usuarios nuevos y con experiencia e incluye versiones en PDF de todos los manuales de LabVIEW. + Recursos de soporte téenico en el sitio Web de National Instruments, como NI Developer Zone, KnowledgeBase y Product Manuals Library (Biblioteca de Manuales de Producto). NI Example Finder Use NI Example Finder para explorar 0 buscar ejemplos instalados en su ordenador o en ‘NI Developer Zone en ni .com/zone. Estos ejemplos demuestran cémo utilizar LabVIEW para realizar numerosas tareas de prucba, medidas, control y disefio. Seleccione Help»Find Examples o haga clic en el enlace Find Examples de la seccién Examples de la ventana Getting Started para lanzar NI Example Finder. Los ejemplos pueden mostrarle cémo utilizar Vis o funciones especificas. Puede hacer clic con el bot6n derecho en un VI o funcién del diagrama de bloques o en una paleta fijada y seleccionar Examples desde el mend contextual para ver un tema de ayuda con enlaces a ejemplos para ese VI 6 funcién. Puede modificar un VI de ejemplo para ajustarse a una aplicacién o puede copiar y pegar desde uno o més ejemplos en un VI que haya creado. © National instaments | 1-31 Leceién 1 Explorando LabVIEW Figura 1-20. NI Example Finder Boiwreutng Gators Bronsarenate (DHrewarebput and Output Binsuny Repietion: aor Recent Bnewoding Giiew amp Frc abiw 208 Bnew enpiefr abv IED ana Module Natale a Ga Dimer a hncuare F. Busqueda de controles, Vis y funciones Cuando selecciona View»Controls o View»Funetions para abrir las paletas Controls y Functions, aparecen dos botones en la parte superior de la paleta. Search: cambia la paleta al modo de biisqueda para poder realizar bisquedes de texto y encontrar controles, VIs o funciones en las paletas. Con la paleta en el modo de busqueda, haga clic en el botén Retum para salir del modo de busqueda y volver a la paleta. ‘Customize— Ofrece opciones para seleccionar un formato para la paleta actual, mostrando u cocultando categorfas para todas las paletas y clasificando elementos de los formatos Text y ‘Tree alfabéticamente, Seleccione Options de! mend contextual para mostrar la pagina Controts/Functions Palettes del cuadro de diélogo Options , donde puede seleccionar un formato para todas las paletas. Este botén s6lo aparece si hace clic en la chincheta de la esquina superior iaquierda de una paleta para fijarla, A customizer! 1-92 | nlcom Manual Curso LabVIEW Core 1 Hasta que se familiarice con la ubicacién de los VIs y las funciones, busque la funcién o VI con el botén Search. Por ejemplo, si desea buscar la funcién Random Number, haga clic en el botén Search en la paleta Funetions y empiece a escribir Random Number en el cuadro de texto de la parte superior de la paleta. LabVIEW muestra todos los elementos coincidentes que empiecen por el texto escrito 0 que lo contengan. Puede hacer clic en uno de los resultados de bisqueda y arrastrarlo al diagrama de bloques, como en la figura 1-21. Figura 1-21. Busqueda de un objeto en la paleta Functions TOMS Generate Random ets Parade Rardom oo. [NE AALEaso Mb) Pero Random ese ype [a Pebyebat Perce Random tse Waveform vIM ABI Dente Rendon st Contin Rano. Seat berry Sra N_Eres LM) Sindate Snel > Sinste Abrary Sql [M_EeressuLMB) ‘Simate Snel <> Sindate Sn <> Dig Pate Generar Haga doble clic en el resultado de bisqueda para resaitar su ubicacién en la paleta. Si se trata de un objeto que vaya a usar con frecuencia, puede afladirlo a su categorfa Favorites. Haga clic con el botén derecho en el objeto de la paleta y seleccione Add Item to Favorites, como se ve en la figura 1-22. © Nationa! nstumenss | 1-38 Lecci 1 Eeclorando LabVIEW Figura 1-22. Anadir un elemento a la categoria Favorites de una paleta Parecido al botén de Search, usted puede usar el cuadro de diglogo Quick Drop para especificar una paleta de objetos por nombre y emplazar el objeto en el diagrama de bloques o en el pane! frontal. Ademés de las paletas de objetos, usted puede también especificar objetos de proyecto por nombre en el cuadro de didlogo Quick Drop. Para mostrar el cuadro de didlogo Quick Drop, presione o seleccione View» Quick Drop. Escriba el nombre del objeto que quiere afiadir al diagrama de bloques o al panel frontal. LabVIEW mostrard los resultados en la lista Name Match List. Para adjuntar el objeto selecciénelo con el cursor, presione la tecla , haga doble-clic en el nombre del objeto en la lista, 0 haga clic en el diagrama de bloques o e! panel frontal. Haga clic en el lugar en el diagrama de bloques o en el pane! frontal donde quiera afladir el objeto. 1-34 | sicom Manual de Curso LabVIEW Core 1 igura 1-23. Buscando un objeto en el cuadro de didlogo Quick Drop “TOMS Generate Random Detavi Perosic Random Noize INLAALSare vib] Parogie Random Noise eBPevi [NL Pty ib] Discrete Random sé CContinucus Randomsi ‘Quasi Randoms [NLAAL, SignalGenerson Mb) G.Seleccién de una herramienta Puede crear, modificar y depurar VIs utilizando las herramientas que ofrece LabVIEW. Una herramienta es un modo de funcionamiento especial del cursor del ratén. El modo de funcionamiento del cursor se corresponde con el icono de la herramienta seleccionada. LabVIEW lige qué herramienta seleccionar en funcién de la ubicacién actual del ratén. Figura 1-24, Paleta Tools Consejo Puede elegir manualmente la herramienta que necesita selecciondndola en la peleta Tools. Seleccione View»Tools Palette para mostrar la paleta Tools. ‘© National Instumenss | 1-25, Leceién 1 Eiplorendo LabVIEW Herramienta de operaciones Cuando el cursor del ratén cambia al icono mostrado abajo, la herramienta de operaciones esta operativa, Use la herramienta de operaciones para cambiar los valores de un control. Por ejemplo, nla figura 1-25 la herramienta de operaciones mueve el puntero del control deslizante horizontal. ‘Cuando el ratén pasa por el puntero, el cursor accede automaticamente a la herramienta de operaciones. ty Figura 1-25. Uso de la herramienta de operaciones La herramienta de operaciones se utiliza principalmente en la ventana del panel frontal, pero también puede utilizar esta herramienta de la ventana del diagrama de bloques para cambiar el valor de una constante booleans. Herramienta de posicionamiento ‘Cuando el cursor del ratén cambia al icono mostrado abajo, la herramienta de posicionamiento esta operativa, Use la herramienta de posicionamiento para seleecionar objetos o cambiar su tamafio. Por ejemplo, en la figura 1-26 la herramienta de posicionamiento selecciona el control numérico Number of Measurements. Tras seleccionar un objeto, puede moverlo, copiarlo o eliminarlo. Cuando el ratén pasa por el borde de un objeto, el cursor accede autométicamente a la herramienta de posicionamiento, 4-96 | sieom Manual de Curso LabVIEW Core + Figura 1-26. Uso de la herramienta de posicionamiento para seleccionar un objeto | Eke Eat Yew Drjct Oper Tool inden Ei | 1B) [DIM [iboxappheswontore = |fo~ [ase | -k Si el ratén pasa por encima de un nodo de cambio de tamafio de un objeto, el modo del cursor cambia para indicar que puede cambiar su tamafio, como se ve en la figura 1-27. Observe que el cursor se encuentra sobre una esquina del grdfico XY en un nodo de cambio de tamafto y el modo del cursor cambia a una flecha de dos puntas. Figura 1-27. Uso de la herramienta de posicionamiento para cambiar el tamafio de un objeto De ie eee coe ee See ee (FG LH [ser Aosicaton Font (= /25>as-][ =. 19} (© NefonalInstuments | 1-97 Lecoién 1 Explorando LabVIEW Puede utilizar la herramienta de posicionamiento en Ja ventana del panel frontal y en el diagrama de bloques. Herramienta de etiquetado ‘Cuando el cursor del ratén cambia al icono mostrado abajo, la herramienta de etiquetado estd operativa. Use la herramienta de etiquetado para escribir texto en un control, para modificar texto y para crear etiquetas libres. Por ejemplo, en la figura 1-28 la herramienta de etiquetado escribe texto en el contro] numérico Number of Measurements. Cuando el ratén pasa por el interior del control, el cursor accede autométicamente a la herramienta de etiquetado. Haga clic una vez para situar un cursor dentro del control. A continuacién, haga doble clic para seleccionar el texto actual. Figura 1-28. Uso de la herramienta de etiquetado Cuando no esti en una zona especifica de una ventana del panel frontal o una ventana del diagrama de bloques que accede a un determinado modo del ratén, el cursor aparecerd como una cruz. Si se habilita la selecci6n de herramienta automética, puede hacer doble clic en cualquier espacio abierto para acceder a la herramienta de etiquetado y crear una etiqueta libre. Herramienta de cableado Cuando el cursor del ratén cambia al icono mostrado abajo, Ja herramienta de cableado esta operativa. Use la herramienta de cableado para cablear objetos entre si que estén en el diagrama de bloques. Por ejemplo, en la figura 1-29 la herramienta de cableado cablea el terminal Number of 4.98 | ica Manual de Curso LabVIEW Core 1 Measurements al terminal de contaje para el bucle For. Cuando el ratén pasa por el punto de salida entrada de un terminal o por un cable, el cursor accede automaticamente a la herramienta de cableado. > Figura 1-29, Uso de la herramienta de cableado La herramienta de cableado funciona principalmente con la ventana del diagrama de bloques y cuando crea un panel de conectores en la ventana del panel frontal. Otras herramientas a las que se accede desde la paleta Puede acceder a las herramientas de operaciones, posicionamiento, etiquetado y cableado directamente desde la paleta Tools, en lugar de usar el modo de seleccién automética de la herramienta. Seleccione View»Tools Palette para mostrar la paleta Tools. Figura 1-30. La paleta Tools © Natonalinstasmente | 1-30 Leceién + Explorando LabViEW El elemento superior de la paleta Tools es el botén Automatic Tool Selection. Cuando se selecciona, LabVIEW elige autométicamente una herramienta en funcién de Ia ubicacién de su cursor. Puede desactivar la seleccién automatica de la herramienta deseleccionando el elemento 0 seleccionando otro elemento de 1a paleta, Existen otras herramientas en la paleta, descritas abajo: Use la herramienta Object Shortcut Menu para acceder a un menti contextual del objeto con el bot6n izquierdo del ratén. bl Use la herramienta de desplazamiento para desplazarse por las ventanas sin utilizar barras de desplazamiento. 2 ‘Use la herramienta de puntos de interrupcién para establecer puntos de interrupeién en VI, funciones, nodos, cables y estructuras para pausar Ia ejecucidn en esa ubicacién. fe) Use la herramienta de sonda para crear sondas en cables del diagrama de bloques. Use la herramienta de sonda para comprobar valores intermedios de un VI que produce resultados cuestionables 0 inesperados. © Use la herramienta de copiar color para copiar colores y pegatlos con la herramienta de color. 4 Use la herramienta de color y el color escogido para darle color a un objeto. La herramienta de color también muestra los ajustes de color de primer plano y de fondo actuales. Seleccione la herramienta de color y haga clic con el botén derecho en un objeto o espacio de trabajo para ver el selector de color. 1-40 | nicom anual de Curso LabVIEW Core 1 H. Flujo de datos LabVIEW sigue un modelo de flujo de datos para ejecutar VIs. Se ejecuta un nodo del diagrama de bloques cuando recibe todas las entradas necesarias. Cuando se ejecuta un nodo, produce datos de salida y pasa los datos al siguiente nodo de la ruta del flujo de datos. El movimiento de los datos a través de los nodos determina el orden de ejecucién de los Vis y las funciones del diagrama de bloques. ‘Visual Basic, C+, JAVA y la mayoria del resto de lenguajes de programacién basados en texto siguen un modelo de flujo de control de la ejecucién del programa. En el flujo de control, el orden secuencial de los elementos del programa determina el orden de ejecucién de un programa, ara ver un ejemplo de programacién de flujo de datos, piense en un diagrama de bloques que suma dos ntimeros y después resta 50, 00 del resultado de la suma, como en Ia figura 1-31. En este caso, el diagrama de bloques se ejecuta de izquierda a derecha, no porque los objetos estén situados en ese orden, sino porque la funcién Subtract no puede ejecutarse hasta que la funcién Add termine de ejecutarse y pase los datos a la funcién Subtract. Recuerde que un nodo se ejecuta s6lo cuando existen datos de todos sus terminales de entrada y suministra datos a los terminales de salida s6lo cuando el nodo termina su ejecucién. Figura 1-31. Ejemplo de programacién de fiujo de datos umber 1 = aa En la figura 1-32, piense en qué segmento de cédigo se ejecutaria primero, la funcién Add, Random Number o Divide. No puede saberlo, ya que las entradas de las funciones Add y Divide estn disponibles a la vez, mientras que la funcidn Random Number no tiene entradas. En una situacin en Ja que un segmento de cédigo debe ejecutarse antes que otro y en la que no existe dependencia de datos entre las funciones, use otros métodos de programacién, como clusters de errores, para forzar el orden de ejecucién. Consulte la leccién 5, Creando y aprovechando estructuras de datos para obtener informacién adicional acerca de los clusters de error. Rest Figura 1-32. Ejemplo de flujo de datos para segmentos de cédigos multiples Nunber 1 oar > Rea 1 Number 2 Coa umber 3 tae (© Netonalinetumente | 1-41 Leceén 1 xporando LabVIEW |. Creacién de un VI simple La mayoria de los VIs de LabVIEW desempeiian tres tareas principales: adquirir ciertos tipos de datos, analizar los datos adquiridos y presentar el resultado. Cuando cada una de estas partes es simple, puede completar todo el VI con muy pocos objetos en el diagrama de bloques. Los Vis Express estan disefiados especificamente para completar operaciones comunes y muy utilizadas. En esta secci6n aprenderd algunos VIs Express que adquieren, analizan y presentan datos. Después aprenderd a crear un VI simple que utiliza estas tres tareas, como se ve en la figura 1-33. Figura 1-33. Ventana del panel frontal y del diagrama de bloques de ejemplo de adquisicién, andlisis y presentacion Be Edt Vow Boect Qpente Teel, Window Lop Ee [YI [i || iresvotnsen Fook [Ps i | Sign ia Sant En la paleta Functions, los Vis Express estn agrupados en la categoria Express. Los VIs Express utilizan el tipo de datos dindmico para pasar datos entre si 442 | nico Manual de Curso LabVIEW Core 1 Adquirir Los VIs Express usados para las tareas de Adquisicién incluyen lo siguiente: Asistente DAQ, Asistente de Instrumentos E/S, Sefial Simulada, y Lectura desde un archivo de Medidas. DAQ Assistant EIDAQ Assistant adquiere datos con un dispositivo de adquisicién de datos. Debe utilizar este VI Express con frecuencia a lo largo de este curso. Hasta que aprenda mas de la adquisicién de datos, sélo usaré un canal del dispositive de adquisicién de datos, CHO. Este canal esté conectado al sensor de temperatura en el BNC 2120. Puede tocar el sensor de temperatura para cambiar la lectura de ‘temperatura en el sensor. 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. Read From Measurement File El VI Express Read From Measurement File lee un archivo que se creé utilizando el VI Express ‘Write To Measurement File. Coneretamente lee los formatos de archivo LVM 0 TDM. Este VI Express no lee archivos ASCII. Consulte la leccién 6, Administrando archivos y recursos hardware para obtener informacién adicional acerca de leer datos de un archivo. Fa Analizar Los Vis Express utilizados para la tarea Analizar incluyen los siguientes: Amplitude and Level Measurements, Statistics y Tone Measurements. (© NatonalInsumerts | 1-43, Leen 1 Explorande LabVIEW Amplitude and Level Measurements EI VI Express Amplitude and Level Measurements mide la tensién en una sefial. Mide la CC, RMS, pico maximo, pico minimo, de pico a pico, promedio del ciclo y RMS del ciclo. iy Statistics El VI Express Statistics calcula los datos estadisticos de una forma de onda. Incluye los valores medio, suma, desviacién estndar y extremos. Spectral Measurements EI VI Express Spectral Measurements realiza la medici6n espectral de una forma de onda, como la. ‘magnitud y la densidad espectral de potencia. FF Medidas de tonos EI V1 Express Tone Measurements busca un tinico tono con la maxima frecuencia o Ja mayor amplitud. También busca le frecuencia y la amplitud de un tinico tono. a Filter EI VI Express Filter procesa una sefial mediante filtros y ventanas. Los filtros usados incluyen lo siguiente: Pasoalto, Pasobajo, Pasobanda, Bloqueobanda, y Suavizado (Smoothing). Las ventanas utilizadas son Butterworth, Chebyshev, Chebyshev inverso, Eliptico y Bessel. a Presentar Presente resultados utilizando VIs Express que realicen una funcién, como el VI Express Write to ‘Measurement File o indicadores que presentan datos en Ia ventana del panel frontal. Los indicadores que més se suelen utilizar para esta tarea son los gréficos Waveform Chart, Waveform Graph y XY Graph. Los VIs Express habituales son VI Express Write to Measurement File, VI Express Build Text, DAQ Assistant e Instrument I/O Assistant. En este caso, el DAQ Assistant y el Instrument I/O Assistant proporcionan datos de salida desde el ordenador al dispositive DAQ 0 un instrumento externo. 1-44 | nicom Manual de Curso LabVIEW Core Write to Measurement File El VI Express Write to Measurement File escribe un archivo en formato de archivo LVM o TDMS. ‘Consulte la leccién 6, Administrando archivos y recursos hardware para obtener informacién jonal acerca de escribir en archivos de medida, Build Text El VI Express Build Text crea texto, normalmente para mostrar en la ventana del pane] frontal 0 para exportar a un archivo o instrumento. Consulte la leccién 6, Administrando archivos y recursos hardware para obtener informacién adicional acerca de crear cadenas de caracteres. Ejecutar un VI ‘Tras configurar los VI Express y cablearlos, puede ejecutar el VI. Cuando termine de crear e! VI, haga clic en el botén Run en la barra de hetramientas para ejecutar el VI. Mientras se esté ejecutando el VI, el icono del botén Run cambia a la figura mostrada abajo. Tras terminar la ejecucién, el botén Run cambia a su estado original y los indicadores del panel frontal contendran datos. Errores del bot6n Run Si un VI no se ejecuta, es un VI roto o no ejecutable. El botén Run aparece roto cuando el VI que estd creando o modificando contiene errores. Si el botn sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI esta rato ¥ no puede ejecutarse. ‘Normalmente esto significa que una entrada necesaria no esté cableada o que un cable est4 roto. Pulse el botén Run roto para acceder a la ventana Error list. La ventana Error list muestra cada error y describe el problema. Puede hacer doble clic en un error para acceder a él directamente. Consulte la leccién 2, Resolucién de problemas y depuracién de Vis para obtener informacién adicional acerca de depurar Vls. (© Natonal instruments | 1-45 Manual oe Curgo LabVIEW Core 4 Autorrevisién: Cuestionario Consulte la figura 1-34 para responder a las preguntas de este cuestionario. Figura 1-34, Preguntas de flujos de datos Wber esd aan a) xe—_ Be pm 3 A Resuke eae] 1. {Qué funcién se ejecuta primero? Add or Subtract? @) Add ‘b. Subtract c. Nose sabe 2. {Qué funcién se ejecuta primero? Sine or Divide? a. Sine 6) Divide c. Nose sabe 3. {Qué funcién se ejecuta primero? Random Number, Divide or Add? Random Number Divide Add No se sabe 4, {Qué funcién se ejecuta después? Random Number, Subtract or Add? a, Random Number (b> Subtract ©. Add Nose sabe 5. 4Cudles son las tres partes de un VI? ape gp @ Ventana del panel frontal ‘b.) Ventana del diagrama de bloques ©. Proyecto ‘>> Panel de iconos y conectores © Watonalnetuments | 1-47 Autorrevisién: Respuestas Manual de Curso LabVIEW Core 1 anber 1 = = nate | —_ Nunbor 3 sine hander + fa 1. {Qué funcién se ejecuta primero? Add or Subtract? a. Add b. Subtract ©. Nose sabe 2. {Qué funcién se ejecuta primero? Sine or Divide? a Sine ©. Nose sabe 3. {Qué funcién se ejecuta primero? 2. Random Number b. Divide ©. Add 4. Nose sabe 4. @Qué funcién se ejecuta después? Random, Subtract or Add? a. Random Number b. Subtract c. Add 4. Nose sabe 5. {Cudles son las tres partes de un VI? a. Ventana del panel frontal b. Ventana del diagrama de bloques ©. Proyecto d. Panel de iconos y conectores © National nstuments | 1-49 Leoeise 1 Explorando LabVIEW Notas 150 | nicer Resolucién de problemas y depuracion de Vis Para ejecutar un VI, debe cableat todos los subVIs, funciones y estructuras con los tipos de datos correctos para los terminales. A veces un VI produce datos 0 se ejecuta de un modo inesperado, Puede utilizar LabVIEW para configurar cémo se ejecuta un VI y para identificar problemas con la organizacién del diagrama de bloques © con Tos datos que pasan por el diagrama de bloques. Temas ‘A. Cotteceién de Vis rotos B. Técnicas de depuracién C. Datos sin definir o inesperados D. Manejo de Errores © Nasonal Instruments | 241 Leccién 2 Resolvlén de problemas y depuracin de Vis A. Correccién de Vis rotos Siun VI no se ejecuta, es un VI roto o no ejecutable. El botén Run aparece roto cuando el VI que ‘esté creando o modificando contiene errores. Siel botén sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI esté roto y no puede ejecutarse. Buscar causas de VIs rotos Las advertencias no impiden que ejecute un VI. Estén disefiadas para ayudarle a evitar posibles problemas en Vis. Sin embargo, los errores pueden romper un VI. Debe resolver los errores antes de poder ejecutar el VI. Haga clic en el botén Run o seleccione View»Error List para averiguar por qué se ha roto un VI. La ventana Error list muestra cada uno de los exrores. La seccién Items with errors muestra los nombres de todos los elementos en memoria, como librerfas de proyectos y VIs que contienen cerrores. Si dos o més elementos tienen el mismo nombre, esta seccién muestra la ubicacién en ‘concreto de cada elemento. La seccién errors and warnings muestra los errores y las advertencias de! VI que seleccione en la seccién Items with errors. La seccién Details describe los errores y ‘en algunos casos recomienda cSmo corregirlos. Haga clic en el botén Help para ver un tema de LabVIEW Help que describa el error en detalle e incluya instrucciones paso 2 paso para corregirlo. Haga clic en el btn Show Error o haga doble clic en la descripeién del error para resaltar la zona del diagrama de bloques o del panel frontal que contenga el error. 222 | ricom Manual de Curso LabVIEW Core 1 Figura 2-1. Ejemplo de cuacro de didlogo Error List ese canet be nes oper bataus ew eattyoes numa, sora. ever, Ar, los ecko on be Conoatey ran ysciou faainscties [ielons tesovarcause semis incest pestis ast of Soom: Causas habituales de VIs rotos Esta lista contiene razones habituales de rotura de un VI mientras lo modifica: + Eldiagrama de bloques contiene un cable roto por un desajuste de tipos de datos o un extremo ‘suelto 0 desconectado. Consulte el tema Correcting Broken Vis de la Ayuda de LabVIEW para ‘obtener informacién acerca de corregir cables rotos. * Unterminal obligatorio del diagrama de bloques no esta cableado. Consulte el tema Using Wires to Link Block Diagram Objects en la Ayuda de LabVIEW para obtener informacion acerca de configurar entradas y salidas obligatorias. + Un subVI esta roto o modificé su panel de conectores tras colocar su icono en el diagrama de bloques del VI. Consulte el tema Creating SubVIs de Lab VIEW Help para obtener informacion acerca de subVIs. B. Técnicas de depuracién Si un VI no esté roto, pero obtiene datos inesperados, puede utilizar las siguientes técnicas para identificar y corregir problemas con el VI 0 el flujo de datos del diagrama de bloques: + Cablee los parémetros de salida y entrada de error en la base de la mayoria de los VIs y funciones integrados. Estos pardmetros detectan errores encontrados en cada nodo del diagrama de bloques ¢ indiean si ocurtié un error y dénde. También puede utilizar estos pardmetros en los VIs que cree. + Para eliminar todas las advertencias del V1, seleccione ViewoError List y marque la casilla de verificacion Show Warnings para ver todas las advertencias del VI. Determine las causes y ccorrfjalas en el VI. © National Inevuments | 29 Leccién 2 Aegeivlon de problemas y depuraciin de Vis + Haga triple clic en el cable con la herramienta de posicionamiento para resaltar toda su ruta y asegurarse de que los cables se conecten a los terminales apropiados. + Use la ventana Context Help para comprobar los valores predeterminados de cada funcién y subVI en el diagrama de bloques. Los Vis y las funciones pasan los valores predeterminados sino estan cableadas las entradas recomendadas u opcionales. Por ejemplo, una entrada booleana podria configurarse en TRUE si no esté cableada. + Use el cuadro de didlogo Find para buscar subVIs, texto y otros objetos para corregir en el VI. + Seleccione View» VI Hierarchy para buscar subVIs sin cablear. A diferencia de las funciones sin cablear, los Vis sin cablear no siempre generan errores a menos que configure una entrada ‘como obligatoria. Si coloca por error un subVT sin cablear en el diagrama de bloques, se ejecuta ‘cuando lo hace el diagrama de bloques. Por lo tanto, el VI podria realizar acciones adicionales. + Resalte las ejecuciones para ver €l movimiento de datos por el diagrama de bloques. + Ejecute paso a paso el VI para ver cada accién suya en el diagrama de bloques. + Use la herramienta de sonda para observar valores de datos intermedios y para comprobar la salida de errores de VIs y funciones, en especial las que realizan E/S. + Haga clic en el botén Retain Wire Values en la barra de herramientas del diagrama de bloques para conservar los valores del cable, que utilizar4 con sondas. Esta funcién permite comprobar féciimente valores de datos que se transfirieron por iltima vez por algin cable. + Use puntos de interrupcién para pausar la ejecucién, para poder ejecutar paso a paso o insertar sondas, + Suspenda la ejecucién de un subVI para modificar valores de controles ¢ indicadores, para controlar el niimero de veces que se ejecuta 0 para volver al principio de la ejecucién del subVI. + Determine si los datos que past una funcién o subVI estén sin definir. Esto suele suceder con Jos nimeros. Por ejemplo, en un punto del VI una operacién podria haber dividido un namero por cero, devolviendo Tné (infinito), mientras que las siguientes funciones 0 subVIs esperaban nuimeros. + Siel Vise ejecuta con més lentitud de la esperada, confirme que desactivé resaltar la ejecucion, en subVIs. Asimismo, cierre los paneles frontales y los diegramas de bloques del subVI cuando no los esté utilizando, ya que las ventanes abiertas pueden afectar a la velocidad de ejecucién. + Compruebe la representacién de controles ¢ indicadores para ver si se estd produciendo desbordamiento, porque convirtié un nimero de coma flotante en un némero entero o éste en un niimero entero de menos bits. Por ejemplo, podria cablear un niimero entero de 16 bits en una funcidn que sélo acepte ntimeros enteros de 8 bits. Esto hace que la funcién convierta el niimero entero de 16 bits en una representacién de 8 bits, con lo que podria perder datos. + Determine si algtin bucle For ejecuta accidentalmente cero iteraciones y produce arrays vacios. + Compruebe que iniciali2é correctamente registros de desplazamiento, a menos que deseara que guardaran datos desde una ejecucién del bucle a otra posterior. + Compruebe el orden de los elementos de clusters en los puntos de origen y de destino. LabVIEW detecta los desajustes de tipos de datos y de tamafios de cluster durante la edicién, pero no detecta desajustes de elementos del mismo tipo. 2.4 | nico Manval de Cureo LabVIEW Core 4 + Compruebe el orden de ejecucién de los nodos. + Verifique que el VI no contenga subV1s ocultos, Podria haber ocultado un subVI accidentalmente colocéndolo directamente sobre otro nodo o disminuyendo el tamafio de una estructura sin mantener a la vista el subV1. * Contraste el conjunto de subVIs que utiliza el VI con los resultados de View»Browse Relationships»This VI's SubVIs y View»Browse Relationships»Unopened SubVIs para determinar si existen subVIs adicionales. Abra también la ventana VI Hierarchy para ver los subVis de un VI. Para ayudarle a evitar resultados incorrectos por VIs ocultos, especifique entradas obligatorias para los VIs. Resaltado de ejecucién Vea una animacién de la ejecuci6n del diagrama de bloques haciendo clic en el botén Highlight Execution. El resaltado de la ejecucién muestra el movimiento de datos en el diagrama de bloques desde un nodo a otro utilizando las burbujas que se mueven a lo largo de los cables. Use el resaltado de la ejecucién junto con la ejecucién paso a paso para ver cémo se mueven los valores de datos de nodo anodo a través de un VI. (Médulo MathSeript RT) En los nodos MathScript, el resaltado de Ia ejecucién muestra la rogresién desde una linea de script a otra mediante una flecha azul que parpadea junto a le linea que se esta ejecutando actualmente. YEL Nota Etresaltado de la ejecucién reduce enormemente la velocidad de ejecucién del V1. © National Istruments | 2-5 Leceién 2 Resducién 6e problemas y dopuracion de Vis Ejecucién paso a paso Ejecute paso a paso un VI para ver cada una de sus acciones en el diagrama de bloques mientras se ejecuta el Vi. Los botones de ejecucién paso a paso, mostrados a continuaci6n, afectan a la ejecucién solo en un V1 0 subVI en el modo de ejecucién paso a paso. | ‘Sep ita Step Over Sop Out Entre en el modo de ejecucién paso a paso haciendo clic en el bot6n Step Into o Step Over en la barra de herramientas del diagrama de bloques. Mueva el cursor sobre el botén Step Into, Step Over o Step Out para ver una ayuda que describe el siguiente paso si hace clic en ese botén. Puede ejecutar los subVIs paso a paso 0 ejecutarlos de forma normal. Cuando ejecuta un VI paso a paso, los nodos parpadean para indicar que estén listos para ejecutarse. Si ejecuta un VI paso a paso con el resaltado de ejecucién activado, aparecerd un simbolo de ejecucién en los iconos de los subVIs que se estn ejecutando en ese momento. Fane [ro Herramientas de sonda Use la herramienta de sonda para comprobar valores intermedios en un cable mientras se ejecta un VI. fe] Use la herramienta de sonda si tiene un diagrama de bloques complicado con una serie de operaciones, alguna de las cuales podrfa producir datos incorrectos. Use la herramienta de sonda con el resaltado de la ejecucién, la ejecucién paso a paso y los puntos de interrupcién para determinar si los datos son incorrectos y en qué punto. Si dispone de datos, le sonda inmediatamente actualiza y muestra los datos en la Probe Watch Window durante el resaltado de la ejecuci6n, la ejecucién paso a paso o cuando pause en un punto de interrupeién. Cuando se pause laejecucién en un nodo por Ia ejecucién paso a paso o por un punto de interrupcién, también puede sondar el cable que acaba de ejecutar para ver el valor que fluyé por ese cable. Consejo Si quiere que una sonda muestre los datos que fluyen por un cable durante la ejecucién de un VI, haga clic en el botén Retain Wire Values en la barra de herramientas del diagrama de bloques. Tipos de sondas Puede comprobar los valores intermedios de un cable cuando se ejecuta un VI utilizando una sonda genérica, un indicador de la paleta Controls para ver los datos, una sonda suministrada, una sonda suministrada personalizada o creando una nueva sonda. 26 | ri.com Manual de Curso LaaVIEW Core 1 YE{_Nota_(Médulo MathSeript RT) Puede ver los datos de un script en un nodo MathScript mientras se ejecuta un V1 utilizando la sonda LabVIEW MathScript. Genéricas Use la sonda genérica para ver los datos que pasan por un cable. Haga clic con el botén derecho en un cable y seleccione Custom Probe»Generic Probe desde el meni contextual para usar la sonda genérica. La sonda genérica muestra los datos. No puede configurar la sonda genérica para responder a los datos. LabVIEW muestra la sonda genérica cuando hace clic con el botén derecho en un cable y selecciona Probe, a menos que ya especificara una sonda personalizada o suministrada para el tipo de datos. Puede depurar una sonda personalizada de modo similar a un VI. Sin embargo, una sonda no puede sondar su propio diagrama de bloques, ni el diagrama de bloques de cualquiera de sus subVIs. Al depurar sondas, use la sonda genética. Uso de indicadores para ver datos ‘También puede utilizar un indicador para ver los datos que pasan por un cable. Por ejemplo, si ve datos numéricos, puede utilizar un grafico como sonda para ver los datos. Haga clic con e! bot6n derecho en un cable y seleccione Custom Probe»Controls desde el menti contextual y seleccione el indicador que desea usar. También puede hacer clic en el icono Select a Control de la Paleta de Controles y seleccionar cualquier control personalizado o definicién de tipo guardado en el ordenador en un directorio compartido de un servidor. LabVIEW trata las definiciones de tipos como controles personalizados cuando los utiliza para ver datos sondados. Si el tipo de datos del indicador que seleccione no coincide con el tipo de datos del cable donde hizo clic con el botén derecho, LabVIEW no colocaré el indicador en el cable. Suministradas Las sondas suministradas son VIs que muestran informacién exhaustiva sobre los datos que pasan por un cable. Por ejemplo, la sonda VI Refnum devuelve informacién sobre el nombre del VI, su ruta y el valor hexadecimal de la referencia. También puede utilizar una sonda suministrada para responder en funcién de los datos que pasan por un cable. Por ejemplo, use una sonda Error en un cluster de error para recibir el estado, el c6digo, el origen y la descripcién del error y especificar si desea configurar un punto de interrupcién condicional si tiene lugar un error 0 una advertencia. Las sondas suministradas aparecen en la parte superior del ment contextual Custom Probe. Haga clic con el botén derecho en un cable y seleccione Custom Probe desde ef mend contextual para seleccionar una sonda suministrada. Sélo aparecen en el meni contextual las sondas que coinciden con el tipo de datos del cable donde hizo clic con el botén derecho. ‘© Natonal Instruments | 2-7 Lessin 2 Resolucin de problemas y depuracién de Vis. Consulte el VI Using Supplied Probes en 1abvi ew\ examples \general\probes..11b para ver un ejemplo de uso de sondas suministradas. Personalizadas Use el cuadro de diélogo Create New Probe para crear una sonda en funcién de una sonda existente o para crear una nueva. Haga clic con el bot6n derecho en un cable y seleccione Custom Probe»New desde el meni contextual para ver el cuadro de diélogo Create New Probe. Cree una. sonda cuando desee tener mas control sobre cémo LabVIEW sonda los datos que fluyen por un cable, Cuando crea una nueva sonda, el tipo de datos de la sonda coincide con el tipo de datos del cable donde hizo clic con el botén derecho. Si desea modificar la sonda que creé, debe abrirla desde el directorio donde la guards ‘Tras seleccionar una sonda desde el ment contextual Custom Probe, navegue hasta él utilizando Ja opeién de la paleta Select a Control o cree una nueva sonda con el cuadro de diélogo Create New Probe. Esa sonda serd la predeterminada para ese tipo de datos y LabVIEW la cargaré cuando haga clie con el botén derecho en un cable y seleccione Probe en el menti contextual. LabVIEW sélo carga las sondas que coinciden exactamente con el tipo de datos del cable donde hizo clic con cl botén derecho. Es decir, una sonda numérica de coma flotante de doble precisién no puede sondar un cable de un namero entero sin signo de 32 bits, aunque LabVIEW puede convertir los datos. YEA Nota Si desea que una sonda personalizada sea la predeterminada para un tipo de datos conereto, guarde la sonda en el directorio user .1ib\_probes\default. No guarde sondas en el directorio vi .1ib\_probes porque LabVIEW sobrescribird esos archivos cuando actualice o reinstale. Puntos de interrupcién Use la herramienta Breakpoint para establecer puntos de interrupeién en VIs, nodos o cables y pausar la ejecucién en esa ubicacién. ‘Cuando configura un punto de interrupcién en un cable, la ejecucién se pausa una vez que los datos pasan por el cable y el botén Pause aparece rojo. Sittie un punto de interrupeién en el diagrama de bloques para pausar la ejecucién una vez que se ejecuten todos los nodos del diagrama de bloques. El borde del diagrama de bloques aparece rojo y parpadea para reflejar la colocacién de un punto de interrupcién, ‘Cuando un VI se pausa en un punto de interrupciSn, LabVIEW pone en primer plano el diagrama de bloques y usa un marco para resaltar el nodo, cable o linea de script que contiene el punto de interrupcién. Cuando mueve el cursor sobre un punto de interrupcién, la zona negra del cursor de la herramienta de punto de interrupei6n aparece blanca. 28 | nicom Manual de Cueo LabVIEW Core + Cuando Hlega a un punto de interrupcién durante la ejecucién, el VI se pausa y el botén Pause aparece rojo. Puede realizar las siguientes acciones: + Seguir paso a paso la ejecucién con los botones de ejecucién paso a paso. + Sondar cables para comprobar los valores intermedios. + Cambiar Jos valores de los controles del panel frontal. + Haga clic en el botén Pause para seguir ejecutando hasta el préximo punto de interrupeién 0 hasta que termine de ejecutarse el VI Suspender la ejecucién Suspenda la ejecucién de un subVI para modificar valores de controles e indicadores, para controlar el niimero de veces que se ejecuta el subVI antes de volver al que le llama o para volver al principio de la ejecucién del subVI. Puede hacer que todas las Hlamadas a un subVI empiecen con la eecucién suspendida o puede suspender una llamada concreta @ un subVI Para suspender todas las Ilamadas a un subVI, abralo y seleccione Operate»Suspend when Called. El subVI se suspenderé autométicamente cuando lo llame otto VI. Si selecciona este elemento de menti cuando ejecute paso a paso, el subVI no se suspendera inmediatamente. El subVI se suspenderd cuando lo lamen, Para suspender una llamada a un subVI concreto, haga clic derecho en el nodo del subVT en el diagrama de bloques y seleccione SubVI Node Setup en el ment contextual, Active la casilla de verificacién Suspend when called para suspender la ejecucién sélo en esa instancia del subVI. La ventana VI Hierarchy, que se abre seleccionando View» VI Hierarchy, indica si un VI esté pausado 0 suspendido. Un simbolo de flecha indica un VI que se esta ejecutando con normalidad o paso a paso. Un simbolo de pausa indica un VI pausado o suspendido, 1" + Unsimbolo de pausa verde, o un sfmbolo hueco en blanco y negro, indica un VI que se pausa cuando le Haman, * Un ssimbolo de pausa rojo, o un simbolo relleno en blanco y negro, indica un VI que se esta pausando. Un simbolo de signo de exclamacién indica que el subVI est suspendido. XE _Nota_ Un VI puede suspenderse y pausarse a la vez (© NafonalInetruments | 29 Leccin2 Resoivein de problemas y depuraion do Vie Determinar la instancia actual de un subVI Cuando pausa un subVI, el meni desplegable Call list de Ia barra de herramientas muestra la cadena de llamadas desde e! VI superior al subVI. Esta lista no es la misma que ve cuando selecciona View»Browse Relationships»This VI's Callers, que enumera todos los VIs que aman al subVI independientemente de si se estén ejecutando o no. Use el ment Call list para determinar la instancia actual de! subVI si el diagrama de bloques contiene més de una instancia. Cuando selecciona un VI del ment Calll list, se abre su diagrama de bloques y LabVIEW resalta Ja instancia actual del subVI. ‘También puede utilizar la funcién Call Chain para ver la cadena de Vis que Haman al VI actual hasta el VI de nivel superior. C. Datos sin definir o inesperados Los datos sin definir, que son Naw (no un niimero) o TF (infinito), invalidan todas las operaciones siguientes. Las operaciones de coma flotante devuelven los dos siguientes valores simbélicos que indican céleulos imperfectos o resultados sin sentido: + Naw (no un néimero) representa un valor de coma flotante que producen las operaciones no vélidas, como obtener la raiz cuadrada de un ntimero negativo. ‘nfinito) representa un valor de coma flotante que producen las operaciones vélidas, como dividir un némero entre cero. LabVIEW no comprucba las condiciones de desbordamiento 0 subdesbordamiento de valores enteros. El desbordamiento y el subdesbordamiento para nimeros de coma flotante se rige por IEEE 754, norma para la aritmética de coma flotante de tipo binario. Las operaciones de coma flotante propagan con fiabilidad naw e tf. Cuando convierte explicita © implicitamente Nan o Inf en valores enteros 0 booleanos, Ios valores no tienen sentido. Por ejemplo, dividir | entre cero produce In. Convertit Inf en un nimero entero de 16 bits produce el valor 32.767, que patece ser un valor normal. Antes de convertir datos en tipos de datos de nimeros enteros, use la herramienta de sonda para comprobar los valores intermedios de coma flotante y ver su validez. Compruebe si hay NaN ceableando Ia funcién Not A Number/Path/Refnum?, al valor que sospecha que no es valido. No confie en valores especiales como NaN, Inf o arrays vacfos para determinar si un VI produce datos sin definir. Confirme que el VI produce datos definidos haciendo que el VI informe de un error si encuentra una situacién que probablemente produzca datos sin defini. Por ejemplo, sicrea un VI que utiliza un array de entrada para auto-indexar un bucle For, determine qué desea que haga el VI cuando el array de entrada esté vacfo: producir un cédigo de error de salida, sustituir datos definidos por el valor que cree el bucle o utilizar una estructura Case que no ejecute el bucle For si el array esta vacfo. 240 | ricom Manual de Curso LabVIEW Core + D. Gestion de errores Aunque confie mucho en el VI que cree, no puede predecir todos los problemas que puede encontrar un usuario. Sin tun mecanismo para comprobat los errores, sélo sabe que el VI no funciona correctamente. La comprobacién de errores indica dénde y por qué se generan los errores. La gestién de errores es el mecanismo para anticipar, detectar y resolver advertencias y errores. La gestién de errores es un componente esencial en el desarrollo de aplicaciones de LabVIEW. Con la gestién de errores répidamente localiza la fuente de errores de programaci6n. Sin ella, podria observar un comportamiento inesperado pero necesitarfa un esfuerzo para encontrar el origen del problema. La gestién de errores también es muy valiosa cuando prueba una aplicaci6n, para gerantizar que su informe de errores sea significativo y que el cédigo de gestién de errores detenga con seguridad su aplicacién cuando ocurra un error. Por ejemplo, durante la prueba de estrés esté configurando valores 0 condiciones que estin més alld de la capacidad operativa normal de su aplicacién, lo que a menudo produce errores. Cuando ocurre dicho error, quiere cerrar correctamente la aplicacién. La gestién de errores sigue siendo importante después de desplegar una aplicacién. La gestién de crrores puede ayudar a detectar diferencias entre el sistema y el entorno (como en sistemas de archivos, memoria y recursos del disco). National Instruments recomienda encarecidamente usar técnicas de gestién de errores. Gestion de errores automatica De forma predeterminada, LabVIEW controla autométicamente cualquier error cuando un VI se ejecuta suspendiendo Ia ejecucién, resaltando el subVI o la funcién donde ocurtié el error y mostrando un cuadro de didlogo de error. En el cuadro de dilogo de error, cada error tiene un cédigo numérico para identificarlo y un mensaje de error especifico para mostrarlo al usuario. Para desactivar la gestién de errores automatica para el VI actual, seleccione File» VI Properties y seleccione Execution en el menti desplegable Category. Para desactivar la gestidn de errores ‘automética de cualquier VI nuevo que eree, seleccione Tools»Options y Block Diagram en la lista Category, Para desactivar la gestién de errores automética de un subVI o funcién de un VI, cablee su parémetro error out al pardmetro error in de otro subVI o funcién o a un indicador error out. Gestion manual de errores Puede elegir manejar los errores sin usar el manejo de errores automatico. Por ejemplo, si vence el tiempo limite de un VI de entrada y salida del diagrama de bloques, quiz no desee que se detenga toda Ja aplicacién y mostrar un cuadro de didlogo de error. Quiz4 desee también que el VI vuelva ‘a intentarlo durante cierto tiempo. © National Instruments | 2-41 Leccidn 2 Resolusién de problemas y depuacién de Vis En LabVIEW puede tomar estas decisiones de control de errores en el diagrama de bloques del VI, usando los siguientes métodos: + Use el VI gestor de errores de LabVIEW y las funciones de la paleta Dialog & User Interface para notifiear a los usuarios. Por ejemplo, si LabVIEW encuentra un error, puede mostrar el ‘mensaje de error en varios tipos de cuadros de didlogo. + Use clusters de error y los pardmetros error in y error out de la mayorfa de Vis y funciones para manejar los errores. Por ejemplo, cuando un error es detectado puede solucionar el error programéticamente y después cablear la salida error out del VI o funcién la entrada error in del VI Clear Errors. Q Consejo Use el gestor de errores junto con las herramientas de depuracién pera buscar y gestionar errores, Clusters de error Los Vis y las funciones producen errores de uno de dos modos: con cédigos de error numéricos 0 con cluster de error. Normaimente las funciones usan cédigos de error numéricos y los VIs usan clusters de error, habitualmente con entradas y salidas de error. Use los controles ¢ indicadores de clusters de error para crear entradas y salidas de error en subVIs. Consejo Todos los cluster de error en el diagrama de bloques tipicamente proveen la ‘misma funcionalidad esténdar de error in y error out. Los clusters error in y error out incluyen los siguientes componentes de informacién: + status ¢s un valor booleano que produce TRUE si ocurrié un error. * code es un mimero entero con signo de 32 bits que identifica el error numéricamente. Un e6digo de error que no sea cero junto con un status de FALSE indica una advertencia en lugar de un error, + source es una cadena de caracteres que identifica dénde ocurrié el error. Errores Un error esta definido como un cluster de error con un valor de status TRUE, sin importar el valor de cédigo. Si LabVIEW detecta un error, el nodo pasa el error al siguiente nodo sin ejecutar esa parte del cédigo. Advertencias ‘Una advertencia esta definida como un cluster de error con un valor code diferente de cero yun valor de status FALSE. Aunque la mayoria de los errores tienen valores de c6digo negativo y las advertencias tienen valores de cédigo positivo, no es una verdad universal. Por lo tanto, debe confiar en el valor de status y en el valor de code para detectar errores y advertencias. 242 | leo Manual de Cure LabVIEW Core 1 Las advertencias normalmente se consideran menos graves que los errores. Algunas APIS y funciones, como la funcién Match Regular Expression, s6lo informan de errores. Sin embargo, otras APIs como VISA API para controlar instrumentos independientes s6lo informan de advertencias, A diferencia de cuando ocurre un error, los nodos se ejecutan con normalidad incluso cuando LabVIEW detecta una advertencia. Aunque el cédigo se ejecute con normalidad, es importante que durante el desarrollo monitorice las advertencias para garantizar un comportamiento correcto de stu aplicacién. Cuadro de didlogo Explain Error ‘Cuando ocurre un error, haga clic con el botén derecho en el borde del clistery seleccione Explain Error del meni contextual para abrir el cuadro de diélogo Explain Error. El cuadro de diélogo Explain Error contiene informacién sobre el error. E] menti contextual incluye una opeién Explain Warning si el VI contiene advertencias pero no errores. ‘También puede acceder al cuadro de didlogo Explain Error desde el menti Help»Explain Error. Deteccién e informe de errores La gestién de errores en LabVIEW sigue el modelo de flujo de datos. Al igual que los valores de datos fluyen por un VI, también lo hace la informacién de errores. Para implementar una buena gestidn de errores, debe determinar las acciones que levard a cabo ‘cuando ocurra un error en cualquier punto de su aplicacién. Para empezar, debe utilizar los terminales de error en funciones y VIs. Como el cluster de error se implementa como un parémetro de control de flujo, debe propagar errores cableando el cluster de salida del error out del primer nnodo que desee ejecutar al error in en el cluster del siguiente nodo que desee ejecutar. Debe seguir este procedimiento para las secuencias de nodos. Mientras se ejecuta el VI, LabVIEW comprueba si hay errores en cada nodo. Si LabVIEW no encuentra errores, el nodo se ejecuta con normalidad. Si LabVIEW detecta un error o advertencia, el nodo pasa el error al siguiente nodo, Cualquier subVIs que cree, debe implementar también este control de flujo. @ Consejo Cuando realiza cualquier tipo de entrada y salida (E/S), piense que pueden ‘ocurrir errores. Casi todas las funciones de E/S devuelven informacién de error. Incluya la comprobacién de errores en los Vis, especialmente para operaciones de E/S (archivo, serie, instrumentacién, adquisicién de datos y comunicacién) y cree un mecanismo para gestionar bien los errores. ‘@Netional instruments | 2-13, Leccién 2 Resoluién de problemas y depuracién de Vie Propagando errores y advertencias Para garantizar que la informacién de advertencia se propague correctamente, es importante utilizar registros de desplazamiento para cables del cluster de error en bucles para que la informacién de advertencia se propague por todas las iteraciones. Consulte la figura 2-3 para ver el uso correcto del registro de desplazamiento para propagar errores y advertencias a sucesivas iteraciones del bucle. Figura 2-3, Uso de Registros de Desplazamiento para Propagar Errores y Advertencias a Uniendo errores y advertencias Use la funcién Merge Error para unir los valores del cluster error out desde secuencias paralelas. Consulte la figura 2-4 para ver un ejemplo de unién de informacién de error desde secuencias de nodos paralelos, Figura 2-4. Unidn de Errores Desde Varias Fuentes — and ter Al final de su aplicacién, una vez unidas todas las fuentes de error en un cluster de error, debe informar de los errores al usuario mediante el VI Simple Error Handler u otro mecanismo de informe de errores. VI Simple Error Handler Por defecto, el VI Simple Error Handler muestra un cuadro de diélogo con una descripeién de errores ocurridos y no informa de advertencias. Sin embargo, el VI Simple Error Handler puede configurarse para otro comportamiento de gestidn de errores. Puede seleccionar el tipo de cuadro de didlogo con estas opciones: + No dislog—No muestra un cuadto de didlogo. Esto resulta itl si desea tener control programatico en la gestién de errores. + OK message (por defecto)—Muestra un cuadro de diélogo con un solo botSn OK. Una vez que el usuario reconozca el cuadro de diélogo, el VI devuelve el control al VI principal. 254 | nheom Manual de Cureo LabVIEW Core 1 + Continue or stop message—Muestra un cuadro de didlogo con botones, que el usuario puede utilizar para continuar 0 detener. Si el usuario selecciona Stop, el VI llama a la funcién Stop para detener la ejecucién. + OK message with warnings—Muestra un cuadro de diglogo con cualquier advertencia y un solo botén OK. Una vez que el usuario reconozca el cuadro de didlogo, el VI devuelve e| control al VI principal. + Continue/Stop + Warnings—Muestra un cuadro de diélogo con botones y advertencias, que el usuario puede utilizar para continuar o detener. Si el usuario selecciona Stop, el VI llama a Ia funcién Stop para detener la ejecucién. Rangos de cédigos de error Los Vis y las funciones en LabVIEW pueden devolver cédigos de error numéricos. Cada producto © grupo de Vis define un rango de cédigos de error. Consulte el tema Ranges of LabVIEW Error Codes de la Ayuda de LabVIEW para ver las tablas de cédigos de error que muestra los eddigos de error numéricos y descripciones de cada producto y grupo de Vis. ‘Ademés de definir los rangos de cédigos de error, LabVIEW reserva algunos rangos de cédigos de error para que los utilice en su aplicacién. Puede definir cédigos de error personalizados en el rango de -8999 a -8000, 5000 2 9999 0 500.000 a 599,999. Algunos cédigos de error numéricos son utilizados por ms de un grupo de Vis y funciones. Por ejemplo, el error 65 es un cédigo de error de serie, que indica un tiempo limite del puerto serie, y un cédigo de error de red, que indica que ya se ha establecido una conexién de red. ‘© National Instumenss | 245 Manual de Curse LabVIEW Core 1 Autorrevision: Cuestionario 1, Cus de los siguientes resultard en una flecha rota? Un subVI esté roto El diagrama incluye una divisién entre cero Una entrada requerida de un subVI no esté cableada Una terminal Booleana esta cableada a un indicador numérico Be r® 2. gCuéles de los siguientes elementos forman parte del contenido del cluster de error? & Status: Booleano b. Error: Cadena de caracteres © Code: Nimeros enteros de 32 bits @ Source: Cadena de caracteres 3. Todos los errores tienen cédigos de error negativo y todas las advertencias tienen eddigos de error positivos. a, Verdadero ib.) Falso 4, La funeién Merge Errors concatena informacion de error desde varios origenes. a. Verdadero (6) Fal © Falso © Nasional natuments | 2417 Manual e Gureo LABVIEW Core 1 Autorrevisién: Respuestas 1. Cual de los siguientes resultaré en una flecha rota? a. Un subVI est roto }. Eldiagrama incluye una divisién entre cero ¢. Una entrada requerida de un subVI no esta cableada d. Una terminal Booleana esté cableada a un indicador numérico 2. {Cudles de los siguientes elementos forman parte del contenido del cluster de error? Status: Booleano Error Code: Nimeros enteros de 32 bits Source: Cadena de caracteres ‘adena de caracteres Bes Todos los errores tienen cédigos de error negativo y todas las advertencias tienen cédigos de error positivos. a. Verdadero b. Falso 4. La funcién Merge Errors concatena informacién de error desde varios origenes. a. Verdadero b. Falso (© NatonalInsruments | 2-19 Lecciin2 Resolucién de problemas y copuracion de Vis Notas 2.20 | ricom Implementacién de un VI Esta leccién le ensefia cémo implementar cédigo en LabVIEW. Se explicard cémo disefiar una interfaz de usuario, elegir un tipo de datos, documentar su cédigo, usar estructuras de bucles como los bucles While y For, afiadir temporizacién por software a su cédigo, mostrar sus datos como una curva y tomar decisiones en su cédigo utilizando una estructura Case. Temas A. Panel frontal B. Tipos de datos de LabVIEW C. Documentacién de cédigo D. Bucles While E. Bucles For F. Temporizacion de VIs G_ Retroalimentacién de datos en los bucles H. Graficando datos — Waveform Chert 1. Estructuras Case ‘© National Instruments | +t Leccin 3 plementacién de un VI A. Panel frontal En la fase de disefio de! método de desarrollo de software se identifican las entradas y salidas del problema. Esta identificacién conduce directamente al disefio de la ventana del panei frontal Las entradas para el disefio pueden venir de las siguientes acciones: + adquiriendo desde un dispositive de adquisicién de datos o un multimetro + leyendo directamente desde un fichero + manipulando controles en el panel frontal Puede mostrar las entradas del problema en el panel frontal con controles numéricos, booleanos cadenas de caracteres pero no todas las entradas aparecen en el panel frontal. Puede ver las salidas del problema con indicadores, como gréficos o LEDs o registrar las salidas, en un fichero. También puede extraer datos de un dispositive con la generacién de sefiales. Disefio de controles e indicadores Al elegir controles ¢ indicadores, asegtirese de que sean apropiados para la tarea que desee realizar. Por ejemplo, cuando quiera determinar la frecuencia de una onda sinusoidal, elija un control de disco; cuando desee ver la temperatura, elija un indicador de termémetro. Etiquetas Etiquete con claridad los controles ¢ indicadores. Estas etiquetas ayudan a los usuarios a identificar el objetivo de cada controle indicador. Asimismo, el etiquetado claro ayuda a documentar su cédigo en el diagrama de bloques. Las etiquetas de controles ¢ indicadores se corresponden con los nombres de los terminales del diagrama de bloques, como se muestra en la figura 3-1. Figura 3-1. Los Controles ¢ Indicadores de! Panel Frontal aparecen en el Diagrama de Bloques eect Upper Temper warring sezeage 1 Ventana del panel frontal 2 Diagrama de bloques 82 | sicom Manvel de Curso LabViEW Cove + Opciones de controles e indicadores Puede configurar valores predeterminados para los controles. La figura 3-2 muestra un valor predeterminado de 35 °C para el control Upper Temperature. Configurando un valor predeterminado puede adoptar un valor razonable para un VI si el usuario no configura otro valor durante el tiempo de ejecucién, Complete los siguientes pasos para configurar un valor predeterminado de un control o un indicador: 1. Escriba el valor deseado. 2, Haga clic con el botén derecho en el control o indicador 'y seleccione Data Operations»Make Current Value Default en el meni contextual. Figura 3-2. Configuracién de valores predeterminados ‘ile Ree Fina Terial (Change to nictor ers A bocca. ‘ieee Fesiace “Aaanced FieContalts Pane ‘Sale Object Pane Representanon Seen Dipliy Form Propet Consejo También puede reinicializar los valores a sus valores predeterminados. DD Consejo Para inicializar o reinicializar todos los controles e indicadores en el panel frontal al mismo tiempo, seleccione Edit»Make Current Values Default 0 Edit» Reinitialize to Default Values desde el meni de LabVIEW. © National Inteuments | 8 Leccén 3 Implementacion de un Vi B. Tipos de datos de LabVIEW Existen muchos tipos de datos. Ya aprendié tipos de datos numéricos, booleanos y de cadena de caracteres en la leeci6n 1, Explorando LabVIEW. Otros tipos de datos son los enumerados, los dindmicos y otros. Incluso dentro de los tipos de datos numéricos se distingue entre mimeros enteros y fraccionales. Terminales del diagrama de bloques y tipo de datos Los terminales del diagrama de bloques comunican visualmente al usuario informaci6n sobre el tipo de datos que representan. Por ejemplo, en la figura 3-3, Altura (em) es un dato numérico en coma flotante y doble precisién. Esto se indica por el color del terminal, naranja, y por el texto del terminal, DBL Figura 3-3. Ejemplo de Tipo de Datos del Terminal Bester pape =—__ we or > ‘Tiangulr Mutipier Height (em) aE @ Consejo Los nombres de las terminales corresponden a las etiquetas de los controles ¢ indicadores en el panel frontal. Haga clic con el botdn derecho en un terminal y seleccione Find control o Find indicator en el ment contextual para localizar un control oun indicador en el panel frontal. Menus contextuales Todos los objetos de LabVIEW tienen asociados meniis contextuales, conocidos también como ‘meniis abreviados, mentis emergentes y ments de botén derecho. Cuando cree un VI, use los elementos del ment contextual para cambiar el aspecto 0 el comportamiento de los objetos del panel frontal y del diagrama de bloques. Para acceder al men contextual, haga clie con el botén derecho en el objeto. 344 | ri.com Manual de Curso LabVIEW Core 1 La figura 3-4 muestra un ment contextual para un control y un terminal Figural $4. Menus de acceso directo para objetos en el panel frontal ydlagrama de bloques Base tend ep “Tiangule: Maite ‘Bah Caption (anges nsictar UneLeter Mate Typ Oe eal Destintion and cee (Change Indcrtar Replace Changete Constant | ata Operon: Desepton end Benes Murer Poet FR Coerolto Ps = Stale Object mh Pane pee (| Represent | Abncet Dot Ent. ae Diply Forma. : oe eee Proper x fepietton i Cuadros de didlogo de propiedades Los objetos también tienen cuadtos de dilogo de propiedades que puede utilizar para cambiar 1 aspecto o el comportamiento de los abjetos. Haga clic con el botén derecho en un objeto y seleccione Properties en e! mend contextual para acceder al euadro de didlogo de propiedades de uu objeto. La figura 3-5 muestra el cuadro de didlogo de propiedades para ! terminal Height (em) ‘mostrado en la figura 3-4. Las opciones disponibles en el cuadro de didlogo de propiedades para ‘un objeto son similares a las opciones del menéi contextual de ese abjeto. © Natonal Instruments | ¢-5 \Leccién 8 implemertacén de un Vb Figura 3-5. Cuadro de didlogo de propiedades para una terminal numérica } = Caption | |) Bi victie Evie i | Enabled State ————-— I Envdied diated ' S Dinhes tage Dh shew ec Bi Shomincrmart/ceeremert buters Puede seleccionar varios objetos en el panel frontal o en el diagrama de bloques y modificar las propiedades que compartan los objetos. Para seleccionar varios objetos, use la herramienta de posicionamiento para atrastrar un recténgulo de seleccién alrededor de todos los objetos que dese modificar o mantenga pulsada la tecla mientras hace clic en cada objeto. Hage clic con el botén derecho en un objeto de la seleccién y seleccione Properties en el mena contextual para acceder al cuadro de diélogo Properties. El cuadro de diélogo Properties slo muestra pestafias y propiedades que comparten los objetas que seleccione, Seleccione objetos similares para mostrar més pestafias y propiedades. Si selecciona objetos que no comparten ninguna propiedad comin, el cuadro de didlogo Properties no mostrar pestafias ni propiedades. 8) com Manual de Cuso LabVIEW Core 1 Tipos de datos numéricos El tipo de dato numérico representa némeros de varias clases. Para cambiar el tipo de representacién de un nimeto, haga clic con el botén derecho en el control, indicador o constante yy seleccione Representation, como se ve en la figura 3-6. Figura 3-6. Representacion numérica Find Control ‘Visible Rems y | | Make Type Def Ghangetoinsicetor | change te Contre |_SeeionandT Ve ont | z q calle E iB elt ke es = Cuando cablea dos 0 més entradas numéricas de distintas representaciones a una funcién, ésta normalmente devuelve los datos en la representacién mas grande o amplia. Las funciones obligan las representaciones més pequefias alas representaciones mas amplias posibles antes de la ejecucién. LabVIEW coloca un punto de coercién en el terminal donde la conversién toma lugar. Consulte la seccién Conversion numérica, para obtener informacion adicional. Eltipo de dato numérico incluye estas subcategorias de representacién: niimeros en coma flotante, niimeros enteros con signo, niimeros enteros sin signo y némeros complejos. ‘© Natonalinsruments | 97 econ 2 Implementzoién de un Vi Numeros en coma flotante ‘Los mimeros en coma flotante representan niimeros fraccionales. En LabVIEW, los nimeros en ‘coma flotante se representan con el color naranja. Precision simple (SGL): los nimeros en coma flotante de precisién simple tienen un formato de precision simple de 32 bits IEEE. Use niimeros de precision simple, coma flotante cuando el ahorro de memoria es importante y no sobrecargara el rango de los ntimeros. Doble precisién (DBL): los niimeros en coma flotante de doble precisién tienen un formato de precision doble de 64 bits IEEE. La doble precisién es el formato predeterminado para objetos, ‘numéricos. Use los niimeros en coma flotante de doble precisién para la mayoria de las situaciones Precisién extendida (EXT)—Cuando guarda ntimeros de precisién extendida al disco, LabVIEW ‘os almacena en una plataforma independiente con formato de 128-bit format. En memoria, el tamafio y precision varfan dependiendo de la plataforma. Use nimeros coma flotante de precisiGn extendida solo cuando sea necesario. El rendimiento de la aritmética de precisin extendida varia centre plataformas. Tipo de datos de punto fijo El tipo de datos de punto fijo es numérico y representa un conjunto de nimeros racionales que utilizan digitos binarios o bits. A diferencia del tipo de datos en coma flotante, que permite que varie el ndmero total de bits que usa LabVIEW para representar nimeros, puede configurar los nimeros de punto fijo para que usen siempre un niimero conereto de bits. Asi, el hardware y los destinos que slo pueden almacenar y procesar datos con un nimero limitado o fijo de bits odrén almacenar y procesar los nlimeros. Puede especificar el rango y la precisién de nimeros de unto fijo. XE) Nota Para representar un niimero racional con el tipo de datos de punto fijo, el denominador del ndimero racional debe ser una potencia de 2, porque el sistema de néimeros binarios es de base 2. Use el tipo de datos de punto fijo cuando no necesite la funcionalidad dinémica de larepresentacién de coma flotante o cuando desee trabajar con un destino que no admita la aritmética de coma flotante, como un destino FPGA. Especifique la codificacién, la longitud de palabra y la longitud de palabra entera de un nimero de Punto fijo cuando desee que el nimero se adapte a cierto tamafo de bits, CodificactOn: la codificacion binaria del nimero de punto fijo. Puede seleccionarse con signo o sin signo. Si se seleceiona con signo, el bit del signo es siempre el primero en la cadena de caracteres de bits que representa los datos. Longitud de palabra: cl nimero total de bits de la cadena de caracteres de bits que usa LabVIEW Para representar todos los valores posibles de los datos de punto fijo. LabVIEW acepta una Jongitud maxima de palabra de 64 bits. Ciertos destinos pueden limitar los datos a longitudes 88 | ricom Manual de Curse LabVIEW Core 1 menores de palabra. Si abre un VI en un destino y el VI contiene datos de punto fijo con longitudes de palabra mayores que las que puede aceptar el destino, el VI contendrd cables rotos. Consulte la documentacién de un destino para determinar la méxima longitud de palabra que acepta. Longitud de palabra entera: el nimero de bits enteros en una cadena de caracteres de bits que usa LabVIEW para representar todos los posibles valores del dato de punto fijo 0, dada una posicién inicial ala izquierda o a la derecha del bit més significativo, el nimero de bits a desplazar Je coma binaria y llegar al bit mas significativo. La longitud de palabra del nimero entero puede ser mayor que la longitud de palabra, y puede ser positivo o negativo. Numeros enteros Los niimeros enteros representan los niimeros naturales. Los ntimeros enteros con signo pueden ser positivos 0 negativos. Use los tipos de datos de numeros enteros sin signo cuando sepa que cl nimero entero es siempre positivo. En LabVIEW, los niimeros enteros se representan con el color azul. ‘Cuando LabVIEW convierte los nameros en coma flotante en ntimeros enteros, el VI redondea al mimero entero mas cercano. Si el valor de entrada esta en medio de dos enteros, la funcién redondea al niimero entero par mas cercano. Byte (18): los nimeros enteros Byte tienen 8 bits de almacenamiento y un intervalo de -128 a 127. ‘Word (116): los ntimeros enteros Word tienen 16 bits de almacenamiento y un intervalo de -32.768 32.767, Long (132): los nimeros enteros Long tienen 32 bits de almacenamiento y un intervalo de -2.147.483.648 a 2.147.483.647. En la mayoria de los casos es mejor utilizar un nimero entero de 32 bits, Quad (164): los niimeros enteros Quad tienen 64 bits de almacenamiento y un intervalo de -1e19 a lel9. Byte (U8): los nimeros enteros sin signo Byte tienen 8 bits de almacenamiento y un intervalo de 00255, Word (U16): los nimeros enteros si de 0.265.535, signo Word tienen 16 bits de almacenamiento y un intervalo ‘Long (U32): los néimeros enteros sin signo Long tienen 32 bits de almacenamiento y un intervalo de 0 a 4.294.967.295. Quad (U64): los mimeros enteros sin signo Quad tienen 64 bits de almacenamiento y un intervalo deOa2e19. © National instruments | 2.9 Leoclin $ mplementacié de un VI Ndmeros complejos Los nimeros complejos son versiones concatenadas de niimeros en coma flotante con una parte real e imaginaria, En LabVIEW, como los némeros complejos son un tipo de niimero en coma flotante, los ntimeros complejos también se representan con el color natanja. Existen tres partes en los nimetos complejos. ‘Complejo simple (CSG): los nimeros complejos de coma flotante de precisién simple constan de valores reales ¢ imaginarios y tienen un formato de precisién simple de 32 bits IEEE. ‘Complejo doble (CDB): los nameros complejos de coma flotante de doble precisién constan de valores reales e imaginarios y tienen un formato de doble precisién de 64 bits IEEE. Complejo ampliado (CXT): los nimeros complejos de coma flotante de precisién ampliada constan de valores reales ¢ imaginarios y tienen un formato de precisién ampliada IEEE. En la ‘memoria, el tamaiio y la precisi6n de nimeros de precisi6n ampliada varian en funcién de la plataforma. En Windows tienen un formato de precisién ampliada de 128 bits IEEE. Conversién numérica LabVIEW puede representar tipos de datos numéricos como mimeros enteros con signo o sin signo, valores numéricos coma flotante o valores numéricos complejos. Normalmente, cuando cablea tipos distintos de representaciones en las entradas de una funcién, ésta devuelve una salida en el formato mds grande o amplio. Si usa un niimero entero con signo con un namero entero sin signo, fo convertiré al nlimero entero sin signo. Si usa un mimero entero sin signo con uno en coma flotante, lo convertiré a coma flotante. Si usa un nimero en coma flotante con un niimero complejo, Jo convertira al némero complejo. Si usa dos ntimeros del mismo tipo con distinto ancho de bits, LabVIEW realizara la conversién al mayor de los dos anchos de bits. Si el nimero de bits es el mismo, LabVIEW elige ntimeros enteros sin signo en vez de con signo. Por ejemplo, si cablea un DBL y un 32 a una funcién Multiply, el resultado es un DBL, como se muestra en la figura 3-7. LabVIEW realizaré la conversién al nfimero entero con signo de 32 bits porque utiliza menos bits que el valor numérico de doble precisién y de coma flotante. La entrada inferior de la funcién Multiply muestra un punto rojo, llamado punto de conversiGn, que indica que LabVIEW esta realizando una conversién de datos. 0 | nicom Manual de Curso Labview Core 1 Figura 3-7. Ejemplo de conversién numérica 1 Punto de conversion Valores booleanos LabVIEW almacena datos booleanos como valores de 8 bits. Siel valor de 8 bits es cero, el valor booleano es FALSE. Cualquier valor que no sea cero representaré TRUE. En LabVIEW, el color verde representa datos booleanos. Los valores booleanos también tienen una accién mecénica asociada a ellos, Las dos acciones Principales son bloquear y conmutar. Puede seleccionar uno de los siguientes comportamientos de botén: * Switch when pressed: cambia el valor del control cada vez que hace clie en él con la herramienta de operaciones. La frecuencia con la que el V1 lee el control no afecta a este comportaniento. * Switch when released: cambia el valor del control sélo después de soltar el botén del ratén mientras hace clic dentro de! limite grafico del control. La frecuencia con la que el VI lee el contro] no afecta a este comportamiento, * Switch until released: cambia el valor del control cuando hace clic en él y conserva el nuevo valor hasta que suelte el botén del ratén. En este momento, el control vuelve a su valor predeterminado, al igual que el funcionamiento del timbre de una puerta. La frecuencia con la que el VI lee el control no afecta a este comportamiento. No puede seleccionar este comportamiento para un control de botones de radio. + Latch when pressed: cambia el valor del control cuando hace clic en él y conserva el nuevo valor hasta que el VI Jo lea una vez. En este momento, el control vuelve a su valor predeterminado, aunque sigs pulsando el botdn del ratén. Este comportamiento es similar al de tun disyuntor y es itil para detener un bucle While o para que el VI realice una acci6n sélo una vez cada vez que ajuste el control. No puede seleccionar este comportamiento para un control de botones de radio. + Latch when released: cambia el valor del control s6lo después de soltar el botén del ratén dentro del limite gréfico del control. Cuando el VI o lee una vez, el control vuelve a su valor predeterminado. Este comportamiento funciona del mismo modo que los botones de los. cuadros de didlogo y del sistema. No puede seleccionar este comportamiento para un control de botones de radio. + Latch until released: cambia el valor del contro] cuando hace clic en él y conserva el valor hasta que el VI lo lea una vez o suelte el botén del ratén, en funcién de lo que ocurra en tiltimo lugar. No puede seleccionar este comportamiento para un control de botones de radio. (© National struments | 9-11 Lecelén 3 implemertacion de un VI Para saber mas de la aceién mecénica, experimente con el VI Mechanical Action of Booleans en el NI Example Finder. Figura 3-8. Accion mecdnica booleana ata * = co aoe = Gane > Repice > Data Operations aevenced > FeComolt Fane Sle Object mith Pons Cadenas de caracteres ‘Una cadena de caracteres es una secuencia de caracteres ASCII visualizables y no visualizables. Las cadenas de caracteres tienen un formato independiente de las plataformas para la informacion y los datos. Algunas de las aplicaciones mas comunes: de las cadenas de caracteres son: + Generacién de mensajes de texto simples = Control de instrumentos enviando comandos de texto al instrumento y devolviendo valores de datos en forma de cadenas de caracteres ASCII 0 binarias que después convierte en valores numéricos. + Almacenamiento de datos numéricos en disco. Para almacenar datos numéricos en un fichero ASCII, primero debe convertir los datos numéricos en cadenas de caracteres antes de escribir los datos en un fichero del disco. + Peticién o visualizacién de datos con cuadros de didlogo Enel panel frontal, las cadenas aparecen como tablas, cuairos de entrada de texto y etiquetas. LabVIEW incluye Vis y funciones integradas que puede utilizar para manipular cadenas de ‘caracteres, como dar formato a cadenas de caracteres, analizar cadenas de caracteres y otras modificaciones. Consulte el tema ASCH Codes en LabVIEW Help para obtener informacién acerca de oSdigos [ASCil y funciones de conversion. En LabVIEW, las cadenas de caracteres se representan con el color ross 912 | aleom Manual de Curso LabVIEW Core 1 Haga clic con el botén derecho en el control o indicador de una cadena de caracteres del panel frontal para seleccionar entre los tipos de visualizaci6n que aparecen en la tabla . La tabla también muestra un ejemplo de mensaje para cada tipo de visualizacién. ‘Tabla 3-1. Tipos de visualizacién de cadenas de caracteres. Los caracteres no visualizables normalmente aparecen como cuadtos Tipo de } visualizacién Descripcién Mensaje Visualizacién Muestra caracteres imprimibles | Existen cuatro tipos de normal utilizando la fuente del control. | visualizaciéa. \ es una barra invertida. Visualizacién de cédigos “\” Muestra cédigos de barra invertida ppara todos los caracteres no visualizables, There\sare\sfour\sdisplay\ stypes.\n\\\sis\sa\ sbackslash. Visualizacién de Muestra un asterisco (*) para cada contrasefia | carécter, incluidos los espacios, | r#+##e¥eeaenaaenen Visualizacién Muestra el valor ASCII de cada | S468 6572 6520 6172 6520 hexadecimal cardcter en hexadecimal en lugar | 656F 7572 2064 6973 706C del cardcter. 6179 2074 7970 6573 2E0 5C20 6973 2061 2062 6163 6B73 6C6L 7368 2E LabVIEW almacena cadenas de caracteres como un puntero a una estructura que contiene un valor con una longitud de 4 bytes seguido de un array 1D de nimeros enteros de bytes (caracteres de 8 bits). © National Instuments | 9418 LecekinS_implemeniacién de un Vi Enums Un enum (indicador, constante o control enumerado) es una combinacién de tipos de datos. Un ‘enum representa una pareja de valores, una cadena de caracteres y un numérico, donde el enum puede ser uno de una lista de valores. Por ejemplo, si cre6 un tipo de enum llamado Mes, las parejas de valores posibles para una variable Mes son Enero-0, Febrero-I, etc. hasta Diciembre-I. La figura 3-9 muestra un ejemplo de estas parejas de datos en el cuadro de didlogo Properties para un control enumerado. Figura 3-9. Propiedades para el control enumerado Mes fopeannes | gf Feehan enue Fearany er ne doy ens baw oa j FF alow ucetnes values strane 818 | nleom Manual de Gus LabVIEW Core 1 Los enums resultan utiles porque es més facil manipular nimeros en el diagrama de bloques que cadenas de caracteres. La figura 3-10 muestra el control enumerado Mes (Month), la seleccién de ‘una pareja de datos en el control enumerado y el terminal correspondiente del diagrama de bloques. Figura 3-10. Control enumerado Mes (Month) 1 Control del panel frontal 2 Seleccién de un elemento 3 Terminal del diagrama de bloques Dindmicos El tipo de datos dindmico almacens la informacién que genera 0 adquiere un VI Express. El tipo de datos dindmico aparece como un terminal azul oscuro, mostrado abajo. La mayoria de VIs Express aceptan o devuelven el tipo de datos dinamico. Puede cablear el tipo de datos dinmico cualquier indicador o entrada que acepte datos numéricos, de forma de onda 0 booleanos. Cablee el tipo de datos dinémico a un indicador que pueda presentar mejor los datos. Ejemplos de indicadores son gréficos tipo “graph”, gréficos tipo “chart” o indicadores numéricos. La mayoria del resto de Vis y funciones de LabVIEW no aceptan el tipo de datos dindmico. Para utilizar un VI 0 funci6n integrada para analizar o procesar los datos que incluye el tipo de datos dindmico, debe convertir el tipo de datos dinamico. ‘Use el VI Express Convert from Dynamic Data para convertir el tipo de datos dindmico en tipos de datos numéricos, de forma de onda y de array para usar con otros Vis y funciones. Cuando coloca el VI Express Convert from Dynamic Data en el diagrama de bloques, aparece el cuadro de diélogo Configure Convert from Dynamic Data. El cuadro de diélogo Configure Convert from Dynamic Data muestra opciones para especificar como desea dar formato a los datos que devuelve el VI Express Convert from Dynamic Data. = © Nasional Instruments | $45 Lecciéa implemeniacén de un VI Cuando cablea un tipo de datos dinémico a un indicador de array, LabVIEW afiade autométicamente el VI Express Convert from Dynamic Data al diagrama de bloques. Haga doble clic en el VI Express Convert from Dynamic Data para abrir el cuadro de didlogo Configure Convert from Dynamic Data y controlar cémo apareceran los datos en el array. C. Documentacién de cédigo Los desarrolladores profesionales que mantienen y modifican VIs conocen el valor de una buena documentacién. Documente bien el diagrama de blogues para facilitar las futuras modificaciones del cédigo. Ademés, documente bien la ventana del panel frontal para explicar el objetivo del VI y los objetos del panel frontal. Use ayudas, descripciones, propiedades de VI y un buen disefio para documentar las ventanas del panel frontal. Ayudas y descripciones Las ayudas son breves descripciones que aparecen cuando mueve el cursor sobre un control 0 indicador mientras se ejecuta un VI. Por ejemplo, podria aftadir una ayuda para indicar que una temperatura es en grados Celsius o explicar emo funciona una entrada en un algoritmo. Las descripciones oftecen informacién adicional sobre controles ¢ indicadores especificos. Las descripciones aparecen en la ventana Context Help cuando mueve el cursor sobre el objeto. Para afiadir ayudas y descripciones a controles, haga clic con el botén derecho en el control o indicador y seleccione Description and Tip desde el ment contextual. Propiedades de VI Use el componente Documentation del cuadro de dislogo VI Properties para crear descripciones de Vis y enlazar desde Vis a ficheros HTML o a ficheros de ayuda compilados. Para ver VI Properties, haga clic con el botén derecho en el icono del VI en el panel frontal o en el diagrama de bloques y seleccione VI Properties desde e] meni contextual o seleccione File» VI Properties. Después seleceione Documentation en el menti desplegable Categories. No puede acceder a este cuadro de didlogo mientras se ejecuta un VI. Esta pagina incluye los sigi -ntes componentes: + Vi description: contiene el texto que aparece en la ventana Context Help cuando mueve el cursor sobre el icono de VI. Use las etiquetas y alrededor de cualquier texto de la descripcién al que desee dar formato en negrita. También puede utilizar la propiedad VI Description para modificar la descripcién del VI programéticamente. + Help tag: contiene el nombre del fichero HTML o Ia palabra clave del indice del tema que desea vincular en un fichero de ayuda compilado. También puede Help:Document Tag para configurar la etiqueta de ayuda program: 946 | nicom Marval de Curse LabVIEW Core 1 + Help path: contiene la ruta al fichero HTML 0 al fichero de ayuda compilado que desea vincular desde la ventana Context Help. Si este campo esta vacio, el enlace Detailed help no aparecerd en la ventana Context Help y se atenuaré el botén Detailed help. + Browse: muestra un cuadro de didlogo de fichero que se utiliza para navegar hasta un fichero HTML o hasta un fichero de ayuda compilado para utilizarlo como ruta de ayuda. Nombre de controles e indicadores ‘Si da nombres légicos y descriptivos a controles ¢ indicadores, facilitaré el uso de los paneles frontales. Por ejemplo, si lama a un control Temperature, un usuario quiz4 no sepa qué unidades utilizar. Sin embargo, si lo llama Temperature °C, afiadiré mas informacién al panel frontal. Ahora sabré que debe introducir temperaturas en unidades métricas. Programacién grafica Aunque la naturaleza grafica de LabVIEW ayuda a la autodocumentacién de diagramas de bloques, los comentarios adicionales ayudan a la hora de modificar sus VIs posteriormente. Existen dos tipos de comentarios de diagrama de bloques: los que describen la funcién u operacién de algoritmos y comentarios que explican Ia finalidad de los datos que pasan por los cables. Ambos tipos de comentarios aparecen en el siguiente diagrama de bloques. Puede insertar etiquetas esténdares con la herramienta de etiquetado, o insertando una etiqueta libre desde la subpaleta Functions»Programming»Structures»Decorations. De forma predeterminada las etiquetas libres tienen un color de fondo amarilio. Figura 3-11, Documentar un diagrama de bloques Use las siguientes pautas para comentar los VIs: + Use comentarios en el diagrama de bloques para explicar lo que esté realizando el eédigo. + Aunque el cédigo de LabVIEW puede autodocumentarse porque es gréfico, use etiquetas libres para describir c6mo funciona el diagrama de bloques. + Utilice etiquetas para identificar objetos en el panel frontal y el diagrama de bloques. LabVIEW incluye dos tipos diferentes de etiquetas—etiquetas propias y etiquetas libres. Las etiquetas propias pertenecen a un objeto particular y se mueven con él y se usan para describir © National instruments | 3-47 Leceién 3 Implementacién de un Vt dicho objeto Gnicamente. Las etiquetas libres no pertenecen a ningiin objeto, y puede ereatlas, moverlas, rotarlas o borrarlas independientemente. + No muestre etiquetas en Hamadas de funcién y de subVIs, ya que suelen ser grandes y poco manejables. Un desarrollador que observe el diagrama de bloques puede encontrar el nombre de una funcién o subVI en la ventana Context Help. + Utilice etiquetas propias con conexiones largas para identificar su uso. Etiquetar cables resulta ‘itil para los que proceden de registros de desplazamiento y para cables largos que pueden abarcar todo el diagrama de bloques. Consulte la seccién Estrucruras Case de esta leccién para obtener informacién adicional acerca de los registros de desplazamiento. + Etiquete estructuras para especificar su funcionalidad principal. + Etiquete constantes para especificar su naturaleza. + Use etiquetas libres para documentar algoritmos que usa en los diagramas de bloques. Si usa un algoritmo de un libro u otra referencia, incluya la informacién de referencia, D. Bucles While ‘Al igual que un bucle Do o un bucle Repeat-Until en lenguajes de programacién basados en texto, un bucle While, mostrado en la figura 3-12, ejecuta un subdiagrama hasta que ocurra una condicién. La siguiente ilustracién muestra un bucle While en Lab VIEW, un diagrama de flujo equivalente a la funcionalidad del bucle While, y un ejemplo de pseudocédigo de la funcionalidad del bucle While. Figura 3-12. Bucle While Repeat (code) 7 Until Condteton mets @ 1 Bucle While de LabVIEW 2 Diagrama de flo 3_ Pseudocddigo El bucle While se encuentra en la paleta Structures. Seleccione el bucle While en la paleta y después use el cursor para arrastrar un rectingulo de seleccién alrededor de la seccién del diagrama de bloques que desee repetir. Cuando suelte el botdn del ratén, un limite de bucle While encerraré la seccién que seleccions. Afiada objetos del diagrama de bloques al bucle While arrastrindolos y solténdolos dentro de éste. 9-18 | nicom Manual Curso LabVIEW Core 1 Q Consejo El bucle While siempre se ejcuta al menos una ver El bucle While ejecuta el subdiagrama hasta que el terminal condicional, un terminal de entrada, reciba un valor booleano especifico. E! bucle While no incluye un contaje de iteraciones configurado y se ejecuta hasta el infinito si la condicién nunca ocurre. ‘Si un terminal condicional es Stop if True, coloca el terminal de un control booleano fuera de un bucle While, y si el control es FALSE cuando se inicia el buele, provocard un buele infinito. como se muestra en el siguiente ejemplo. También provoca un bucle infinito si el terminal condicional es Continue if True y el control fuera del bucle se configura en TRUE, como se muestra en la figura 3-13. Figura 3-13, Bucle intinito ‘Si cambia el valor del control, no detendra el bucle infinito, porque el valor sélo se lee una vez, antes de que empiece el bucle. Para detener un bucle infinito, debe abortar el VI haciendo clic en el botén Abort Execution en la barra de herramientas. ‘También puede realizar un control de errores basicos con el terminal condicional de un bucle While. Cuando cablea un cluster de error al terminal condicional, slo pasa al terminal el valor True © False del parémetro status del cluster de error. Asimismo, los elementos del ment contextual Stop if True y Continue if True cambian a Stop if Error y Continue while Error. La terminal de iteracién es una terminal de salida que contiene el numero de iteraciones completadas. oO El contaje de iteraciones para el bucle While siempre empieza en cero. En el siguiente diagrama de bloques, el bucle While se ejecuta hasta que la salida de la fun Random Number sea mayor o igual que 0, 9 y el control Enable sea True. La funcién And devuelve Prue sélo si ambas entradas son True. De lo contrario, devolverd False. ‘© Nationa insinuments | 318 Leccién'8_ Implementacién de un Vt Enel siguiente ejemplo, existe mayor posibilidad de un bucle infinito. Generalmente, el comportamiento deseado es que se cumpla una condicién para detener el bucle, en lugar de necesitar que se cumplan ambas condiciones. Figura 3-14. Posible bucle intinito Tuneles a través de Estructuras Los ttineles suministran datos hacia dentro y hacia fuera de las estructuras como bucles While. El ‘tunel aparece como un bloque sélido en el borde del bucle While. E! bloque es del color del tipo de datos cableado al tinel. Los datos salen de un bucle cuando éste termina, Cuando un tinel introduce datos en un bucle, éste se ejecuta s6lo cuando los datos llegan al tinel. Enel siguiente diagrama de bloques, el terminal de iteracién se conecta a un tinel. El valor del ttanel no entra en el indicador Iterations hasta que el bucle While termine de ejecutarse. Figura 3-15. Tunel del bucle While Solo aparece en el indicador Iterations el iltimo valor del terminal de iteracién. Usando bucles While para chequeo y manejo de errores Puede cablear un cluster de error al terminal condicional de un bucle While o un bucle For con un terminal condicional para detener la iteracién del bucle. Cuando cablea un cluster de error al terminal condicional, sélo pasa al terminal el valor TRUE o FALSE del pardmetro status del cluster de error. Si ocurre un error, el bucle se detendr, Si cablea un cluster de error al terminal condicional, los elementos del menti contextual Stop if ‘True y Continue if True cambiardn a Stop on Error y Continue while Error. 820 | nicom Manual Curso LabVIEW Core 1 En la figura 3-16, el cluster de error y un botén de parada se utilizan para determiner cudndo detener el bucle. f'ste es el método recomendado para detener la mayorfa de los bucles. Figura 3-16. Detener un bucle While & a = E. Bucles For Un bucle For, mostrado abajo, ejecuta un subdiagrama cierto mimero de veces. La figura 3-17 muestra un bucle For en LabVIEW, un diagrama de flujo equivalente a la funcionalidad del bucle For, ¥ un ejemplo de pseudoeédigo de Ia funcionalidad del bucle For. Figura 9-17. Bucle For 1 _Bucle For de LabVIEW 2 Diagrama de fujo 3 Pseudooéaigo El bucle For se encuentra en la paleta Structures. También puede colocar un bucle While en el diagrama de bloques; haga clic con el botén derecho en el borde del bucle While y seleccione Replace with For Loop en el menii contextual para cambiar un bucle While por uno For. La terminal de contaje es una terminal de entrada cuyo valor indica cudntas veces debe repetir el subdiagrama, a La terminal de iteracién es una terminal de salida que contiene el numero de iteraciones completadas. a © National Instruments | 2:21 Lecoin'S Imelementacion do un VI El contaje de iteraciones para el bucle For siempre empieza en cero. El bucle For de la figura 3-18 genera un nimero aleatorio cada segundo durante 100 segundos y ‘muestra los nimeros aleatorios en un indicador numérico. Figura 3-18. Ejempio de bucle For arden urbe (03) Afiadir un terminal condicional a un bucle For Si es necesario, puede afiadir un terminal condicional para configurar un bucle For para que se detenga cuando ocurra un error o una condicién booleana. Un bucle For con un terminal condicional se ejecuta hasta que ocurra la condicién o hasta que se completen todas las iteraciones, Jo que suceda primero. Los bucles For que configure para una salida condicional tendrdn un simbolo rojo en el terminal de contaje y un terminal condicional en la esquina inferior derecha. Tras configurar el bucle For para salir condicionalmente, el bucle aparece similar a la figura 3-19. El siguiente bucle For genera un mimero aleatorio cada segundo hasta que transcurran 100 segundos ‘hasta que el usuario haga clic en el botén de parada. Figura 3-19. Bucle For configurado para una salida condicional Pera afiadir un terminal condicional a un bucle For, haga clic con el botén derecho del borde del bucle For y seleccione Conditional Terminal en el mend contextual. A continuacién, cablee el terminal condicional y el terminal de contaje. 922 | nico Manual 6 Cureo LabVIEW Core 1 ae Figura 3-20. Afadir un terminal condicional a un bucle For apdom Number @-1) Fandom Numer Visite Indicator Help om) Eagle Deserton and Tp Bratpoet Sowers Pet > hut Som clue hom Diagram Cleneus Cenfgure eri Fapace wh Wh a emu FerLaop "aa Sitesi Usando bucles For para chequeo y manejo de errores En un bucle For con un terminal condicional, también debe cablear un valor al terminal de contaje - co autoindexar un array de entrada para configurar un niimero maximo de iteraciones. El bucle For se ejecuta hasta que ocurra un error o hasta que se complete el ntimero de iteraciones configurado. Consulte la seccién Usando bucles While para chequeo y manejo de errores, para obtener informacién adicional. ce Conversién numérica en bucles For i Como se describi6 en Conversién numérica, cuando cablea diferentes tipos de datos a la entrada de una funcién, la funcién generalmente retorna el tipo de dato més amplio. Sin embargo, si cablea ~ un valor numérico coma flotante de precisién doble a la terminal de cuenta de 32-bit en un bucle For, LabVIEW coerciona el valor numérico més grande a un némero entero con signo de 32-bit més pequefio. Aunque la conversién es contraria a los esténdares normales de conversién, es necesaria, ya que un bucle For s6lo puede ejecutarse un niimero entero de veces. © National instruments | 323 Leceién 3 implementacion de un Vi Figura 3-21. Conversién en un bucle For Da Sered integer fT 11 Punto de conversion Para un mejor rendimiento, evite la conversién utilizando tipos de datos coincidentes 0 convirtiendo programéticamente a tipos de datos coincidentes, como en Ia figura 3-22. Figura 3-22. Evitando la coercién utilizando tipos de datos coincidentes Comparando bucles For y bucles While Los bucles For y los bucles While difieren de varias maneras. Consulte la tabla 3-3 para obtener una lista de diferencias entre bucles For y bucles While. Tabla 3-2. Comparando bucles For y bucles While Bucle For Bucle While Se ejecuta un mimero de veces a menos que se | Detiene a ejecucién solo si el valor en la agregue una terminal condicional terminal condicional alcanza esa condicién Puede ejecutarse cero veces | Debe ejecutarse al menos una vez Los tineles automiticamente dan un array de | Los tiineles autométicamente dan el tltimo datos valor F. Temporizacién de Vis ‘Cuando un bucle termina de ejecutar una iteracién, inmediatamente empieza a ejecutar la siguiente, ‘a menos que llegue a una condicién de parada. Normalmente tendré que controlar la frecuencia © temporizacién de la iteracién. Por ejemplo, si esta adquiriendo datos y desea hacerlo cada 10 segundos, necesita poder temporizar las iteraciones del bucle para que ocurran cada 10 segundos. 8.28 | nicom Manual de Curso LabVIEW Core 1 Aunque no necesite que la ejecucién ocurra con cierta frecuencia, debe facilitar al procesador tiempo para completar otras tareas, como responder a la interfaz del usuario. Esta seccién explica métodos para temporizar los bucles. Funciones de espera Coloque una funcién de espera dentro de un bucle para que un VI se desactive durante cierto tiempo. Esto permite al procesador abordar otras tareas durante el tiempo de espera. Las funciones de espera usan el reloj de milisegundos del sistema operativo. La funcién Wait Until Next ms Multiple controla un contador de milisegundos y espera hasta que éste alcance un miltiplo de la cantidad que especifique. Use esta funciGn para sincronizar actividades. Sitie esta funcién en un bucle para controlar la velocidad de ejecucién de éste. Para gue esta funcién sea efectiva, el tiempo de ejecueién del eddigo debe ser inferior al tiempo especificado para esta funcién. El tiempo de ejecucién de la primera iteracién del bucle es indeterminado. FY ‘La funcién Wait (ms) espera hasta que el contador de milisegundos cuente una cantidad igual a la ‘entrada que especifique. Esta funcién garantiza que la velocidad de ejecucién del bucle se cortesponda al menos con el valor que especifique @ la entrada de la funcién. & “EA Nota EI VI Express Time Delay acta de modo similar a la funcién Wait (ms) pero con clusters de error integrados. Consulte la leccién 2, Resolucién de problemas y depuracién de Vis para obtener informacion adicional acerea de los clusters de error. Tiempo transcurrido En algunos casos, resulta titil determinar cudnto tiempo transcurre después de un punto en su VI. EI VI Express Elapsed Time indica el tiempo transcurrido tras el instante de inicio especiicado. Este VI Express controla el tiempo mientras que el VI sigue ejecuténdose. Este VI Express no facilita al procesador el tiempo para completar otras tareas. Utilizard el VI Express Elapsed Time en el proyecto del curso Weather Station. (© Nasional Intruments | 6-25 Lecelin 8 implementacién de un Vi G. Retroalimentaci6n de datos en los bucles ‘Al programar con bucles, a menudo debe acceder a datos de iteraciones anteriores del bucle en LabVIEW. Por ejemplo, si esté adquiriendo un dato en cada iteracién de un bucle y debe hallar el promedio cada cinco datos, debe conserver los datos de iteraciones anteriores del bucle. “EA Nota Los nodos de realimentacién son otro método para conservar informacién de una iteracién anterior. Consulte el tema Feedback Node de la Ayuda de LabVIEW para obtener informacién adicional acerca de nodos de realimentaci Registros de desplazamiento Los registros de desplazamiento son similares @ las variables estiticas en lenguajes de programacién basados en texto. Use registros de desplazamiento cuando desee pasar valores de iteraciones anteriores a la siguiente jteracién a través del bucle. Un registro de desplazamiento aparece como un par de termineles directamente opuestos entre si en los lados verticales del borde del bucle Be El terminal de la derecha del bucle contiene una flecha hacia arriba y almacena datos al completar una iteracién. LabVIEW transfiere los datos conectados al lado derecho del registro en la siguiente iteracién. Después de que se ejecute el bucle, el terminal del lado derecho del bucle devuelve el Ultimo valor almacenado en el registro de desplazamiento, Cree un registro de desplazamiento haciendo clic con el botén derecho en el borde izquierdo o derecho de un buele y seleccionando Add Shift Register en el menti contextual. Un registro de desplazamiento transfiere cualquier tipo de datos y cambia autométicamente al tipo de datos del primer objeto cableado al registro de desplazamiento. Los datos que cable a los terminsles de cada registro de desplazamiento deben ser del mismo tipo. Puede afiadir més de un registro de desplazamiento a un bucle. Si tiene varias operaciones que usan valores de iteraciones previas dentro del bucle, use varios registros de desplazamiento para almacenar los valores de datos de los distintos procesos en la estructura, como se muestra en Ia siguiente figura. 9:28 | corn Manual de Curco LabVIEW Core 1 Figura 3-28, Uso de varios registtos de desplazamiento Inicializacién de registros de desplazamiento Al inicializar un registro de desplazamiento, se restablece el valor que transmite el registro de desplazamiento a la primera iteracién del bucle cuando se ejecuta un VI. Inicialice un registro de desplazamiento cableando un control o constante al terminal del registro de desplazamiento en el lado izquierdo del bucle, como se muestra en la figura 3-24. Figura 3-24. Registro de desplazamiento inicializado En la figura 3-24, el bucle For se ejecuta cinco veces, incrementando el valor que Hleva el registro de desplazamiento en uno cada vez. Tras cinco iteraciones del bucle For, el registro de desplazamiento pasa el valor final, 5, al indicador y el VI finaliza su ejecucién. Cada vez que ejecute el VI, el registro de desplazamiento empieza con un valor de 0. ‘Si no inicializa el registro de desplazamiento, el bucle usa el valor escrito en el registro de desplazamiento cuando se ejecuté por iltima vez el bucle o, si éste nunca se ejecut6, usa el valor predeterminado del tipo de dato. Use un registro de desplazamiento sin inicializar para conservar la informacién de estado entre las, siguientes ejecuciones de un VI. La figura 3-25 muestra un registro de desplazamiento sin inicializer. Figura 8-25. Registro de desplazamiento sin inicializar @National Instruments | 9:27 Leceiin 3. Implementacin de un Vt En la figura 3-25, el bucle For se ejecuta cinco veces, incrementando el valor que lleva el registro de desplazamiento en uno cada vez. La primera vez que ejecute el VI, el registro de desplazamiento empieza con un valor de 0, que es e! valor predeterminado de un niimero entero de 32 bits. Tras cinco iteraciones del bucle For, el registro de desplazamiento pasa el valor final, 5, al indicador y el VI finaliza su ejecucién. La siguiente vez que ejecute el VI, el registro de desplazamiento ‘comenzaré con un valor de 5, que era eliitimo valor de la ejecucién anterior. Tras cinco jteraciones del bucle For, el registro de desplazamiento pasa el valor final, 10, al indicador. Si ejecuta de nuevo 1 VI, el registro de desplazamiento empieza con un valor de 20, y asi sucesivamente. Los registros de desplazamiento sin inicializar conservan el valor de la iteraci6n anterior hasta que cierre el VI. Registros de desplazamiento apilados Los registros de desplazamiento apilados permiten acceder a datos de iteraciones anteriores al bucle. Los registros de desplazamiento apilados almacenan valores de varias iteraciones anteriores y llevan esos valores a las siguientes iteraciones. Para crear un registro de desplazamiento apilado, haga clic con el bot6n derecho en el terminal izquierdo y seleccione Add Element en el ment contextual. Los registros de desplazamiento apilados s6lo pueden utilizarse en el lado izquierdo del buele, porque el terminal derecho transfiere los datos generados sdlo desde la iteracién actual ala siguiente, como se muestra en Ia figura 3-26. Figura 9-26. Uso de registros de desplazamiento apitados Si afiade otro elemento al terminal izquierdo del diagrama de bloques anterior, los valores de las dos iltimas iteraciones se transmiten 2 la siguiente iteracién, elmacendndose el valor de iteracién més reciente en el registro de desplazamiento superior. El terminal inferior almacena los datos que Je Hegan de la iteracién anterior. H. Graficando datos —- Waveform Chart EI grifico tipo “waveform chart” es un tipo especial de indicador numérico que muestra una o més curvas de datos, normalmente adquiridos a una velocidad constante. Los grificos tipo “waveform chart” pueden mostrar una o varias curvas. La figura 3-27 muestra los elementos de un grifico tipo “waveform chart” de varias curvas. Se muestran dos gréficos: Raw Data y Running Avg. 9.28 | nicom Manual de Gureo LabVIEW Core 1 Figura 3-27. Elementos de un Waveform Chart 1 Elqueta 3 Escala X 5 Paleta del grafico 2 Escala Y 4 Leyenda de Ia escala 6 Leyenda de la curva Configure cSmo se actualiza el grafico para mostrar nuevos datos. Haga clic con el botén derecho en el grafico y seleccione Advanced»Update Mode desde el ment contextual para configurar el modo de actualizacién del gréfico. El gréfico utiliza los siguientes modos para mostrar datos: + Strip Chart: muestra los datos méviles desplazéndose continuamente de izquierda a derecha por el grafico con los datos antiguos a la izquierda y con los nuevos a la derecha. Un strip chart es similar a un registrador de cinta de papel. Strip Chart es el modo de actualizacién predeterminado. + Scope Chart: muestra un elemento de datos, como un impulso una onda, desplazéndose parcialmente por el grifico de izquierda a derecha. Para cada nuevo valor, el grafico traza el valor a la derecha del tltimo valor. Cuando la curva llega al borde derecho de la zona de trazado, LabVIEW borra la curva y empieza a trazar de nuevo desde el borde izquierdo. La visualizacién de un scope chart es similar a la de un osciloscopio. + Sweep Chart: funciona de modo parecido a un scope chart salvo que muestra los datos antiguos a la derecha y los nuevos a la izquierda separados por una Iinea vertical. LabVIEW no borra Ja curva en un sweep chart cuando ésta llega al borde derecho de la zona de trazado. Un sweep chart es similar a la visualizaci6n de un electrocardiograma. ‘©Nationallnsteuments | 3-29 Leceién 3 Implementacién de un VI La figura 3-28 muestra un ejemplo de cada modo de actualizacién del grafico. El scope chart y el sweep chart tienen visualizaciones de retrazado parecidas a un osciloscopio. Como retrazar una curva requiere menos esfuerzo, el scope chart y el sweep chart muestran curvas mucho més répidamente que el strip chart. Figura 3-28, Modos de actualizacién de graficos Cableado de graficos Puede cablear una salida escalar directamente a un grifico tipo “waveform chart”. El terminal del _grifico tipo “waveform chart” de Ia figura 3-29 coincide con el tipo de datos de entrada. Figura 3-28. Cableado de una sola curva a un grafico tipo ‘waveform chart” Los gréficos tipo “waveform chart” pueden mostrar varias curvas juntas usando la funcién Bundle situada en la paleta Cluster, Class & Variant. En la figura 3-30, la funcién Bundle une las salidas de los tres Vis en la curva del grético tipo “waveform chart”. Figura 3-30. Cableado de varias curvas a un gréfico tipo “waveform chart” El terminal del gréfico tipo “waveform chart” cambia para coincidir con la salida de la funcién Bundle. Para afiadir més curvas, use la herramienta de posicionamiento para cambiar el tamafio de Ja fancién Bundle. 8.90 | nleom Manual de Curso LabVIEW Core + Estructuras Case Una estructura Case tiene dos o més subdiagramas 0 casos. flTue ~b] 5 Slo se ve un subdiagrama a la vez y la estructura ejecuta sélo un caso cada vez. Un valor de entrada determina qué subdiagrama ejecutar. La estructura Case es similar a las declaraciones switch 0 a las declaraciones if..then...else en lenguajes de programacién basados en texto. La etiqueta del selector de caso en la parte superior de la estructura Case contiene en el centro el nombre del valor de seleceién que se corresponde con el caso actual y las flechas de incremento y decremento a cada lado. Haga clic en las flechas de incremento y decremento pata desplazarse por los casos disponibles. ‘También puede hacer clic en la flecha junto al nombre del caso y seleccionar un caso del ment desplegable. Cablee un valor de entrada, o selector, a la terminal de selecci6n para determinar qué caso se ejecuta. 8 Debe cablear un niimero entero, un valor booleano, una cadena de caracteres 0 un valor de tipo enumerado en el terminal de seleccién. Puede colocar el terminal de seleccién en cualquier parte del borde izquierdo de la estructura Case. Si el tipo de dato del terminal de seleccién es booleano, la estructura tiene un caso True y uno False. Si el terminal de seleccién es un numero entero, cadena de caracteres o valor de tipo enumerado, Ia estructura puede tener cualquier niimero de casos. EA Nota Por defecto, los valores de cadenas de caracteres que cablee al terminal de seleccién distinguen maytisculas de mindsculas. Para permitir coincidencias sin distineién de maydsculas y mindsculas, cablee un valor de cadena de caracteres al terminal de seleccién, haga clic con el botén derecho en el borde de la estructura Case y seleccione Case Insensitive Match en el menti contextual. Si no especifica un caso predeterminado para que la estructura Case controle valores fuera de rango, debe enumerar explicitamente cada valor de entrada posible. Por ejemplo, si el selector es. tun niimero entero y especifica casos para 1, 2 y 3, debe especificar un caso predeterminado a ejecutar siel valor de entrada es 4 u otro valor de néimero entero sin especificar. © National Instruments | 3-31 Leccién 8 Implementaciin de un V1 YEA_Nota_No puede especificar un caso predeterminado si cablea un control booleano al selector. Si hace clic con el botén derecho en la etiqueta del selector de caso, Make This The Default Case no aparecera en el mend contextual. Seleccione el valor TRUE 0 FALSE en el control booleano para determinar qué caso ejecutar. Para convertir una estructura Case en una estructura Stacked Sequence, haga clic con el botén derecho en la estructura Case Sequence y seleccione Replace with Stacked Sequence en e] ment contextual. Hage clic con el botén derecho en el borde de Ia estructura Case para afiadir, duplicar, eliminar reordenar casos y para seleccionar un caso predeterminado. Seleccionar un caso La figura 3-31 muestra un VI que utiliza una estructura Case para ejecutar cédigo diferente en funcién de si un usuario selecciona °C 0 °F como unidades de temperatura. El diagrama de bloques superior muestra el caso True en primer plano. En el diagrama de bloques intermedio, se selecciona el caso False. Para seleccionar un caso, escriba el valor en el identificador del selector de caso 0 use la herramienta de etiquetado para modificar los valores. Tras seleccionar otro caso, ése aparecerd en el diagrama de bloques, como se muestra en el diagrama de bloques inferior de la figura 3-31. Figura 3-31. Cambiar la visualizacién de caso de una estructura Case Si introduce un valor selector que no es del mismo tipo que el objeto cableado al terminal de seleccién, el valor aparece en rojo. Esto indica que el VI no se ejecutard hasta que elimine 0 modifique el valor. Asimismo, debido al posible error de redondeo inherente de la aritmética de 882 | nicom Maryal de Curso LabVIEW Core 1 ‘coma flotante, no puede utilizar mimeros en coma flotante como valores de seleccién de caso. Si cablea un valor en coma flotante al caso, LabVIEW redondearé el valor al niimero entero més cercano. Si escribe un valor en coma flotante en la etiqueta del selector de caso, el valor aparecerd rojo para indicar que debe eliminar o modificar el valor antes de que pueda ejecutarse la estructura. Tuneles de entrada y salida en estructuras Case Puede crear varios tiineles de entrada y salida para una estructura Case. Las entradas estin disponibles en todos los casos, pero los casos no necesitan utilizar cada entrada, No obstante, debe definir un tinel de salida para cada caso. Considere el siguiente ejemplo: una estructura Case en el diagrama de bloques tiene un tine! de salida, pero en al menos uno de los casos no hay valor de salida cableado al tinel. Si ejecuta este aso, LabVIEW no sabré qué valor devolver para la salida. LabVIEW indica este error dejando el centro del tinel en blanco. El caso sin cablear podria no ser el caso que se esti viendo en el diagrama de bloques. Para corregir este error, muestre los casos que contienen el tinel de salida sin cablear y cablee una salida al tinel. También puede hacer clic con el botén derecho en el tiinel de salida y seleccionar Use Default If Unwired en el meni contextual para utilizar el valor predeterminado para el tipo de datos del tinel en todos los tineles sin cablear. Cuando se cablea la salida en todos los casos, el ttinel de salida aparece relleno con el color del tipo de dato asociado al mismo. Evite usar la opcién Use Default If Unwired. Si usa esta opcién, no documentaré bien el diagrama de bloques y podré confuundir a otros programadores que utilizan su cédigo. La opcién Use Default If Unwired también dificulta la depuracién del cédigo. Si usa esta opcidn, tenga en cuenta que el valor predeterminado utilizado es el del tipo de datos que esta conectado al tinel. Por ejemplo, si el tinel es un tipo de datos booleano, el valor predeterminado es FALSE. Consulte la tabla 3-3 para ver una lista de valores predeterminados para los tipos de datos. ‘Tabla 3-3. Valores predeterminados de tipos de datos Tipo de datos Valor predeterminado ‘Numérico Q Booleano FALSE Cadena de caracteres vacio (**) (© Natonal instruments | 9-99, Leccin 3 Implemertacién do un VI Ejemplos En los siguientes ejemplos, los valores numéricos pasan por tineles a la estructura Case y se suman o restan, en funcién del valor cableado al terminal de seleccién. Estructura Case booleana La figura 3-32 muestra una estructura Case booleana. Los casos se solapan entre s{ para simplificar la ilustracin. Figura 3-82. Estructura Case booleana Si el control booleano cableado al terminal de seleccién es True, el VI suma los valores numéricos. De lo contrario, el VI resta los valores numéricos. En situaciones donde simplemente debe elegir entre dos valores basado en la entrada de un booleano, Ia instruccion Select puede ser usada en vez de la estructura Boolean Case. > Estructura Case de numero entero La figura 3-33 muestra una estructura Case de mimero entero. Figura 3-33, Estructura Case de nimero entero 994 | nicom Manual de Curso LabVIEW Core + ‘Numeric es un control de anillo de texto situado en la paleta Text Controls que asocia valores numéricos con elementos de texto. Si el nimero entero cableado al terminal de seleccién es 0 (ada), el VI suma los valores numéricos. Si el valor es 1 (subtract), el VI resta los valores numéricos. Si Numeric es cualquier otro valor distinto de 0 (ada) 0 1 (subtract), el VI suma los valores numéricos, porque ése es el caso predeterminado. Estructura Case de cadena de caracteres La figura 3-34 muestra una estructura Case de cadena de caracteres. Figura 3-34. Estructura Case de cadena de caracteres Si String es ada, el VI suma los valores numéricos. Si String es sutract, el VI resta los valores numéricos. Estructura Case enumerada La figura 3-35 muestra una estructura Case enumerada, Figura 3-35, Estructura Case enumerada Un control de tipo enumerado facili alos usuarios una lista de elementos para seleccionar. El tipo de datos de un control de tipo enumerado ineluye informacién sobre los valores numéricos y ‘tiquetas de cadenas de caracteres del control. El selector de caso muestra la etiqueta de la cadena de caracteres para cada elemento del control de tipo enumerado cuando selecciona Add Case For Every Value en el ment contextual de la estructura Case. La estructura Case ejecuta el © Nationa! netuments | 2:98 Leceién 9 Implementacion de un Vt subdiagrama de caso apropiado en funcién del elemento actual del control de tipo enumerado, En el diagrama de bloques anterior, si Enum es add, e! VI suma los valores numéricos. $i Enum es subtract, el VI resta los valores numéricos. Uso de estructuras Case para gestionar errores El siguiente ejemplo muestra una estructura Case donde un cluster de error define los casos. Figura 9-36. Caso No Error erate Mesrema | ne Spa ences wevtorm Gash aorin (no ere 0) azo Gah enor n|eoers) ‘Cuando cablea un cluster de error a la terminal de seleccién de una estructura Case, la etiqueta del selector de caso muestra dos casos—frrox y No Error, yel borde de la estructura Case cambia de color—rojo para Error y verde para No Erzor. Si ocurre un error, la estructura Case ejecutta el subdiagrama Error. Cuando cablea un cliister de error al terminal de seleccién, la estructura Case s6lo reconoce el elemento booleano status del cluster. 3.98 | nicom Manual de Gurs0 LabVIEW Cora 1 Autorrevision: Cuestionario 1. Siuna entrada de una funcién esta marcada con un punto rojo (conocido como punto de coercién), 2qué es lo que indica el punto? a. Se han transferido datos dentro de la estructura. b. Un bucle For fue configurado con un terminal condicional. c. Unterminal de iteraciones de un bucle For no est cableado. @ El valor transferido al nodo fue convertido a una representacién diferente. 2. 4Cudles de las siguientes estructuras deben ejecutarse al menos una vez? @ Buvle While °. Bucle For 3. {Qué elemento de los siguientes sélo esté disponible en el diagrama de bloques? a. Control b. Constante ¢. Indicador & Panel de conectores 4, {Qué accién mecénica hace que un control booleano en el estado FALSE cambie a TRUE ‘cuando hace clic en él y permanezca TRUE hasta que lo libere y Lab VIEW haya leido el valor? a. Switch until released b. Switch when released ¢. Latch until released @) Latch when released ©NetionalInsteumerts | 9:97 Manual de Cureo LabVIEW Core 1 Autorrevisi6n: Respuestas 1. Sina entrada de una flncién esta marcada con un punto rojo (conocido como punto de coercién), 2qué es lo que indica el punto? a. Se han transferido datos dentro de Ja estructura. Un bucle For fue configurado con un terminal condicional, b. cc. Un terminal de iteraciones de un bucle For no esta cableado. d. El valor transferido al nodo fue convertido a una representacién diferente. 2. {Cuéles de las siguientes estructuras deben ejecutarse al menos una vez? a. Bucle While b. Bucle For 3. {Qué elemento de los siguientes sdlo esta disponible en el diagrama de bloques? a. Control b. Constante c. Indicador d. Panel de conectores 4. {Qué accién mecénica hace que un control booleano en el estado FALSE cambie a TRUE. ‘cuando hace clic en él y permanezca TRUE hasta que lo libere y LabVIEW haya lefdo el valor? a, Switch until released b. Switch when released c. Latch until released d. Latch when released (© National Intuments | 329 Leccién 3 Implementacin de un Vt Notas 3-40 | aleom Desarrollo de aplicaciones modulares Esta leccién describe cémo desarrollar aplicaciones modulares. La potencia de LabVIEW reside en la naturaleza jerérquica del VI. Tras crear un VI, puede utilizarlo en el diagrama de bloques de otro VI. No existen limites en el nlimero de capas de la jerarquia. El uso de la programacién modular ayuda a gestionar cambios y depurar el diagrama de bloques répidamente, Temas ‘A. Comprensién de la modularidad B. Creacién del panel de iconos y conectores C. Uso de subVIs @Natonal instruments | 4-1 econ 4 Desarolo de apicaciones mosulares A. Comprensién de la modularidad La modularidad define el grado en que un programa se compone de médulos diferenciados de modo que un cambio en un médulo tenga un impacto minimo en otros médulos. Los médulos de LabVIEW se denominan subVIs. Un VI dentro de otro VI se denomina subVI. Un subVI corresponde a una subrutina en lenguajes de programacién basados en texto. Cuando hace doble clic en un subVI, aparece un panel frontal yun diagrama de bloques en lugar de un cuadro de didlogo donde poder configurar opciones. El panel frontal incluye controles ¢ indicadores. El diagrama de bloques incluye cables, iconos del panel frontal, funciones, posiblemente subVIs y otros objetos de LabVIEW que también podrian parecerle familiares. La esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques muestra el icono para el VI. Es el mismo icono que aparece cuando sitia el VI en el diagrama de bloques. Cuando cree Vis, quiz piense que realiza ciertas operaciones frecuentemente. Considere usar subVIs o bucles para realizar esa operacién repetitivamente. Por ejemplo, el siguiente diagrama de bloques contiene dos operaciones idénticas. Figura 4-1. Diagrama de bloques con dos operaciones idénticas Figura 4-2. Diagrama de bloques con subVis para operaciones idénticas Mode 42 | sloom Manual de Curso LabVIEW Core + El ejemplo llama al VI Temperature como un subVI dos veces en su diagrama de blogues y funciona del mismo modo que el diagrama de bloques anterior. También puede reutilizar el subVI en otros Vis. Los siguientes pseudocddigos y diagramas de bloques demuestran la analogia entre subVIs y subrutinas. ‘Cédigo de funcién | Cédigo para llamar al programa function average (inl, in2, out) { | main { average (pointl, point2, out = (inl + in2}/2.0; } | pointavg) } Diagrama de bloques de! subVI Diagrama de bloques del VI Calling pot fe B. Creaci6n del panel de iconos y conectores ‘Tras crear un panel frontal y un diagrama de bloques del VI, cree el icono y el panel de conectores para poder utilizar el VI como un subVI. El icono y el panel de conectores se corresponden con el prototipo de funcién en lenguajes de programacién basados en texto. Cada VI muestra un icono en Ia esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques. ey Un icono de VI es una representacién grifica de un VI. Puede contener texto, imégenes o una combinacién de ambos. Si utiliza un VI como un subVI, el icono identifica el subVI en el diagrama de bloques del VI. Si afiade el VI a una paleta, el icono del VI también aparece en Ja paleta Functions. Puede hacer doble clic en el icono de la ventana del panel frontal o en la del diagrama de bloques para personalizarlo o modificarlo, ‘EA Nota Se recomienda personalizar el icono, aunque es opcional. Si usa el icono predeterminado de LabVIEW, no afectara a la funcionalidad. ‘También debe crear un panel de conectores, para usar el VI como un subVI. El panel de conectores es un conjunto de terminales que se corresponde con los controles indicadores de ese VI, similar a la lista de parémetros de una llamada a una funcién en lenguajes de programacién basados en texto. El panel de conectores define las entradas y salidas que puede cablear al VI para que pueda usarfo como un subVI. Un panel de conectores recibe datos en sus ‘© NatonalInstumenss | 4-3 Leccién 4 Desarrollo de aplicaciones modulares terminales de entrada, os pasa al cédigo del diagrama de bloques mediante los controles del panel frontal y recibe los resultados en sus terminales de salida desde los indicadores del panel frontal. Creacién de un icono Los iconos son representaciones graficas de VIs. Cada VI muestra un ieono en la esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques. =) El icono del Vi predeterminado contiene un niimero que indica cudntos VIs (hasta nueve Vis) nuevos abrié tras lanzar LabVIEW. Para desactivar esta numeracién, seleccione Tools» Options»Front Panel y desmarque la casilla de verificacién Use numbers in icons of new VIs (1 through 9). Un icono puede contener texto o imagenes. Si utiliza un VI como un subVI, el icono identifica el subVI en el diagrama de bloques del VI. Si afiade el VI a una paleta, el icono del VI también aparece en la paleta Functions. Use el cuadro de didlogo Ieon Editor para modificar un icono de un VI. Haga doble clic sobre el icono en la esquina superior derecha de una ventana del panel frontal o del diagrama de bloques para que aparezca el cuadro de didlogo Leon Editor. Cree un icono para representar un V1 0 control personalizado gréficamente. Use el cuadro de diglogo Teon Editor para crear 0 modificar iconos. Puede utilizar banners para identificar VIs relacionados. National Instruments recomienda crear y ‘guardar un banner en forma de plantilla. A continuacién, puede utilizar esta plantilla para un icono de VI relacionado y modificar el cuerpo del icono del VI para suministrar informacién sobre el VI en cuestién. Guardar un banner como una plantilla ‘Complete estos pasos para guardar un banner como una plantilla de icono para un V1. 1, Haga doble clic sobre el icono en la esquina superior derecha de una ventana del panel frontal © del diagrama de bloques, o haga clic derecho en el icono y seleccione Edit leon en el ment contextual, para que aparezca el cuadro de didlogo Ieon Editor. 2, Pulse las teclas para seleccionar todas las capas de usuario del icono y pulse la tecla ~ para eliminar la seleccién. El icono predeterminado es una capa de usuario individual denominada VI Ieon. 3. Ena pagina Templates, seleccione la plantilla de icono _blank -png en la categoria VI> Frameworks. Puede examinar plantillas por categoria 0 por palabra clave. Manual de Curso LabVIEW Core + 4. Use la herramienta de relleno a la derecha del cuadro de diélogo Feon Editor para rellenar el banner del icono con un color. 5. Use la herramienta de texto para escribir texto en el banner del icono. Mientras el texto est activo, puede mover el texto pulsando las teclas de flecha. 6. Seleccione File»Save As»Template para mostrar el cuadro de didiogo Save Ieon As y guardar el icono como una plantilla para un uso posterior. LabVIEW guarda las plantillas de iconos como ficheros . png de 256 colores. Creacion de un icono de VI desde una piantilla ‘Complete estos pasos para crear u no de VI que utilice la plantilla que cre6, 1. Pulse las teclas para seleccionar todas las capas de usuario del icono y pulse la tecla para eliminar la seleceién. 2. En la pagina Templates, seleccione la plantilla que cre6. Puede examinar plantillas por categoria o por palabra clave. 3. En la pagina Ieon Text, escriba hasta cuatro lineas de texto de icono para el cuerpo del icono. Puede configurar la fuente, alineaci6n, tamafio y color del texto. Si marca la casilla de verificacién Center text vertically, el cuadro de didlogo Ieon Editor centra el texto del icono verticalmente en el cuerpo del icono. 4, En la pagina Glyphs, arrastre y suelte simbolos en le zona Preview. Pulse la tecla 0 para voltear un simbolo horizontalmente o girarlo en sentido horario, respectivamente, mientras lo mueve. También puede hacer doble clic en un simbolo para colocarlo en la esquina superior izquierda del icono. Puede examinar simbolos por categoria 0 por palabra clave. 5. Use la herramienta de mover para mover cualquier simbolo. Cada simbolo se encuentra en una capa distinta y por lo tanto se mueve independientemente. Tenga en cuenta que él resto del icono se atentia cuando selecciona un simbolo, para poder identificar qué seleccién esta moviendo. 6. Use las herramientas de edicién a la derecha del cuadro de didlogo Icon Editor para modificar més el icono, si es necesario. El cuadro de didlogo Teon Editor crea una nueva capa de usuario para cada uso no consecutive de las herramientas de edicién. Seleccione Layers»Create New Layer para crear una nueva capa de usuario durante los usos consecutivos de las herramientas de edicién. ‘EA Nota No puede modificar la plantilla del icono 0 el texto del icono con las herramientas de edi de la derecha del cuadro de didlogo Icon Editor. Use la pagina Templates y_ la pagina Icon Text para modificar la plantilla del icono y el texto del icono respectivamente, (© Natonal Instrumente | 45 Lecoiin 4 Desaroto do apicaciones mosuiares 7. (Opcional) Seleccione Layers»Show Layers Page para ver la pagina Layers. Use esta pagina para configurar el nombre, opacidad, visibilidad y orden de las capas del icono. 8. Haga clic en el botén OK para guardar la informacién del icono con el VI y cerrar el cuadro de didlogo Icon Editor. ‘También puede arrastrar un grifico desde cualquier parte del sistema de archivos y sottarlo en la esquina superior derecha de la ventana del panel frontal para usar el grafico como un icono del VI. Puede arrastrar y soltar archivos .pag, .bmp 0 . 3pg Nota Si modifica un icono arrastrando y soltando un grafico del sistema de archivos, LabVIEW creard una capa de usuario denominada VI [eon para el gréfico y eliminard cualquier otra informacién existente del icono del cuadro de didlogo Icon Editor. Configuracién del panel de conectores Defina conexiones asignando un control o indicador del panel frontal a cada terminal del panel de conectores. El panel de conectores se muestra junto al icono del VI en esquina superior derecha de la ventana del panel frontal. Cuando se abre LabVIEW, se ve un panel de conectores predeterminado. Cada rectingulo del panel de conectores representa una terminal. Use los recténgulos para asignar entradas y salidas. El panel de conectores predeterminados 4 « 2 x 2 « 4. También puede seleccionar un patrén diferente haciendo clic con el botén derecho en el panel de conectores y seleceionando Patterns en el mend contextual. Si anticipa cambios en el VI que requieran una entrada o salida nueva, mantenga el panel de conectores predeterminado para dejar terminales extra desasignadas. Elpanel frontal de le figura 4-3 tiene cuatro controles y un indicador, por lo que LabVIEW muestra cuatro terminales de entrada y uno de salida en el panel de conectores. Figura 4-3. Panel frontal del VI Slope [2 Beat rer pa 48 | nicom Manual de Cure LabVIEW Core 1 Seleccion y modificacién de modelos de terminales Seleccione otro modelo de terminales haciendo clic con el botén derecho en el panel de conectores y seleccionando Patterns en el menii contextual. Por ejemplo, puede seleccionar un modelo de panel de conectores con terminales adicionales. Puede dejar los terminales adicionales sin conectar hasta que los necesite. Esta flexibilidad permite realizar cambios con un efecto minimo en la Jerarquia de los VIs. ‘También puede tener més controles o indicadores en el panel frontal que terminales. Puede asignar hasta 28 terminales a un panel de conectores. El modelo que se usa més se muestra abajo. Este modelo se utiliza como estandar para ayudar a simplificar el cableado. La figura 4-4 muestra un ejemplo de la distribucién esténdar utilizada para modelos de terminales. Las entradas y salidas superiores se suelen usar para pasar referencias y las entradas y salidas inferiores para el control de errores. Figura 4-4. Ejemplo de modelo de terminales Inputs | Outputs Reference In Reference ot exorin (ro evo out “EA Nota Evite usar paneles de conectores con més de 16 terminales. Aunque los modelos de paneles de conectores con mds terminales pudieran parecer titiles, son muy dificiles de cablear. Si necesita pasar més datos, use clusters. Asignacion de terminales a controles e indicadores Tras seleccionar un modelo para usar en el panel de conectores, puede asignar un control 0 indicador del panel frontal a cada terminal del panel de conectores. Cuando asigna controles ¢ indicadores al panel de conectores, coloque entradas en la izquierda y salidas a la derecha para evitar modelos de cableado complicados 0 confusos. ara asignar un terminal a un control o indicador del panel frontal, haga clic en un terminal del panel de conectores y después en el control o indicador del panel frontal que desee asignar a ese terminal. Haga clic en un espacio abierto de la ventana del panel frontal. £1 terminal cambia al color del tipo de datos del control para indicar que conecté el terminal. ‘También puede seleccionar el control o indicador primero y después seleccionar el terminal. {© National Instruments | 4-7 Leccién 4 Desarclo de aplicaciones modulares “E\_ Nota Aunque use la herramienta de cableado para asignar teminales del panel de conectores a controles e indicadores del panel frontal, no se dibujan cables entre el panel de conectores y estos controles ¢ indicadores. C. Uso de subVIis Para colocar un subVI en el diagrama de bloques, haga clic en el bot6n Select a VI en la paleta Functions. Navegue al VI que desee usar como subVI y haga doble clic para colocarlo en el diagrama de bloques. ‘También puede colocar un VI que se encuentre abierto en el diagrama de bloques de otro VI abierto. Use la herramienta de posicionamiento para hacer clic en el icono de la esquina superior derecha del pane! frontal o diagrama de bloques del VI que desee usar como subVI y arrastre el icono al diagrama de bloques del otro VI Apertura y modificacién de subVIs Pera ver el panel frontal de un subVI desde el VI que llama, use la herramienta de operaciones 0 de posicionamiento para hacer doble clic en el subVI del diagrama de bloques. Para vere] diagrama de bloques de un subVI desde el VI que llama, pulse la tecla y use la herramienta de ‘operaciones o de posicionamiento para hacer doble clic en el subVI del diagrama de bloques. Puede modificar un subVI usando la herramienta de operaciones o de posicionamiento para hacer doble clic en el subVI del diagrama de bloques. Cuando guarde el subVI, los cambios afectarén a todas las llamadas al subVI, no sélo a la copia actual. Configuracién de entradas y salidas obligatorias, recomendadas y opcionales En la ventana Context Help, las etiquetas de terminales obligatorios aparecen en negrita, los terminales recomendados como texto sin formato y los opcionales aparecen atenuados. Las etiquetas de terminales opcionales no aparecen si hace clic en el botén Hide Optional Terminals and Full Path en la ventana Context Help. Puede designar qué entradas y salidas son obligatorias, recomendadas y opcionales para evitar que Jos usuarios olviden cablear terminales del subVI Haga clic con el botén derecho en un terminal del panel de conectores y seleccione This Connection Is en el meni contextual. Una marca de verificacién indiea la configuracién del terminal. Seleccione Required, Recommended u Optional. También puede seleccionar Tools» Options»Front Panel y activar la casilla de verificacién Connector pane terminals default to required. Esta opcién configura los terminales del panel conector en Required en lugar de Recommended. Esto se aplica a conexiones realizadas con la herramienta de cableado y a subVIs creados utilizando Create SubV1. 48 | nicom

Вам также может понравиться