Instrumentacion Virtual

120
Apuntes del curso Instrumentación Virtual Dr. Gerardo Trujillo Schiaffino Instituto Tecnológico de Chihuahua Maestría en Ciencias en Ingeniería Electrónica Enero 2006.

Transcript of Instrumentacion Virtual

  • Apuntes

    del curso

    Instrumentacin Virtual

    Dr. Gerardo Trujillo Schiaffino

    Instituto Tecnolgico de Chihuahua

    Maestra en Ciencias en Ingeniera Electrnica

    Enero 2006.

  • Instrumentacin Virtual Objetivo: Proporcionar al alumno conocimientos terico-prcticos en los

    paradigmas de la instrumentacin virtual, la programacin grfica y sus aplicaciones en adquisicin de datos y control de instrumentos.

    Contenido Temtico: 1. Fundamentos de Instrumentacin Virtual.

    1.1 Introduccin a la instrumentacin virtual. 1.2 Evolucin de la instrumentacin 1.3 Instrumentos tradicionales 1.4 Instrumentos virtuales 1.5 Comparacin entre instrumentos tradicionales y virtuales 1.6 Herramientas de programacin.

    2. Programacin Grfica. 2.1 Ambiente de programacin grafica (LabVIEW) 2.2 Paradigma de programacin por flujo de datos 2.3 Sub-instrumentos Virtuales 2.4 Estructuras de programacin 2.5 Arreglos 2.6 Clusters 2.7 Graficas 2.8 Cadenas de caracteres. 2.9 Archivos 2.10 Arquitecturas de Programacin

    3. Sistemas de Adquisicin de Datos. 3.1 Introduccin a los sistemas de adquisicin de datos. 3.2 Transductores 3.3 Acondicionadores de seal. 3.4 Tarjetas de adquisicin de datos 3.5 Funciones de software para adquisicin de datos.

    4. Control de Instrumentos 4.1 Control de instrumentos serie. 4.2 Funciones de software para manejo de puerto serie 4.3 Control de instrumentos GPIB 4.4 Funciones de software para interfase GPIB

  • Bibliografa: 1. Learning with LabVIEW 7 Express Robert H. Bishop, Pearson Prentice Hall; (2003), ISBN: 0131176056 2. LabVIEW GUI: Essential Techniques David J. Ritter, McGraw-Hill Professional; (2001), ISBN: 0071364935 3. A Software Engineering Approach to LabVIEW Jon Conway, Prentice Hall PTR; (2003), ISBN: 0130093653 4. Applications in LabVIEW by Leonard Sokoloff, Prentice Hall; (2003), ISBN: 0130161942 5. Practical Data Acquisition for Instrumentation and Control Systems John Park, Steve Mackay, Newnes; (2003), ISBN: 0750657960

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 4 Dr. Gerardo Trujillo Schiaffino

    CAPITULO I FUNDAMENTOS DE INSTRUMENTACIN VIRTUAL.

    1.1. INTRODUCCION A LA INSTRUMENTACIN VIRTUAL. Como resultado de la vertiginosa evolucin que los sistemas computacionales han tenido en los ltimos aos, la instrumentacin en general y la instrumentacin industrial muy en particular han sufrido una notable transformacin, para pasar de los tradicionales medidores de aguja a modernos sistemas computarizados con funciones y caractersticas que hace 50 aos hubieran sido inimaginables.

    Que pensara, por ejemplo, un instrumentista de los aos 50s que recorra toda la lnea de produccin tomando lecturas de las cartulas de los medidores para llenar a mano interminables hojas de registro y generar de ah los reportes y las grficas de control de procesos, si se encontrara frente a una moderna sala de instrumentos donde una computadora monitorea y controla simultneamente todas las variables del proceso de produccin, generando automticamente reportes y registro de eventos. La instrumentacin por computadora es hoy en da una prctica cotidiana en la industria moderna. Esto ha dado lugar al nacimiento de nuevos conceptos como el de la instrumentacin virtual, donde se integran diversas tecnologas computacionales con instrumentos programables, tarjetas digitalizadoras y sofisticado software para el desarrollo de interfase de usuario, operando todo en conjunto bajo el esquema de un instrumento nico especializado. 1.2. EVOLUCIN DE LA INSTRUMENTACIN. Para comprender mejor el concepto de la instrumentacin virtual, es importante conocer la evolucin que ha sufrido la instrumentacin. En los ltimos aos, los instrumentos han evolucionado a la par de los grandes avances de la ciencia y la tecnologa. Esta evolucin ha sido principalmente en trminos de flexibilidad y grado en que los instrumentos se integran a los sistemas computacionales. La primera generacin de instrumentos fueron instrumentos autnomos, controlados manualmente desde sus paneles frontales. Las mediciones efectuadas en estos instrumentos tenan que ser registradas a mano y el usuarios carecan de flexibilidad en cuanto al diseo de la interface, capacidad de medicin, capacidades computacionales. Con la invencin del GPIB (Bus de Interfase de Propsito General) y de los instrumentos digitales programables, los usuarios tuvieron la opcin de controlar los instrumentos de ambas maneras: manualmente y por programa desde una computadora. Cada instrumento GPIB fue diseado para un tipo especfico de mediciones, y los usuarios reunan y apilaban una serie de instrumentos para crear un sistema de medicin completo. Hoy en da, los instrumentos son una combinacin de computadoras personales o estaciones de trabajo, software grfico, instrumentos digitales programables, y tarjetas digitalizadoras de propsito general. Estos instrumentos modernos pueden optimizar el rendimiento utilizando tcnicas modernas como la programacin de registros, memoria

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 5 Dr. Gerardo Trujillo Schiaffino

    compartida, y el poder computacional de una PC. Estos instrumentos, tambin incluyen direccionamiento de seales sofisticadas al igual que opciones programables de disparo. Se puede personalizar el interfase de usuario con software de alto nivel. Utilizando este software con digitalizadores de propsito general y tecnologa de Procesamiento Digital de Seales (DSP), estos instrumentos se convierten en herramientas muy verstiles debido a que son fcilmente reconfigurables. Se puede redireccionar rpidamente los datos adquiridos para que sean utilizados por un gran nmero de programas de aplicacin para el anlisis, almacenamiento o la generacin de reportes. El trmino que describe esta nueva generacin de instrumentos basados en computadora es Instrumentacin Virtual. Con los instrumentos virtuales, se puede utilizar una gran variedad de hardware de instrumentacin, y personalizar completamente la funcionalidad del instrumento y su interfase de usuario a travs de software de alto nivel. La figura 1.1 nos muestra una representacin de la evolucin que ha sufrido la instrumentacin.

    Fig. 1.1 Evolucin de la instrumentacin.

    1.3. INSTRUMENTOS TRADICIONALES. En el contexto de la electrnica, un instrumento tradicional es un equipo autnomo al cual se conecta una o varias seales de entrada y para obtener informacin de que refleje un anlisis de alguna o algunas caractersticas de las seales de entradas aplicadas. La funcionalidad de un instrumento tradicional se puede categorizar en tres elementos: adquisicin de datos, anlisis de datos y presentacin de datos, tal como se muestra en la figura 1.2. .

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 6 Dr. Gerardo Trujillo Schiaffino

    Fig. 1.2. a) Instrumento tradicional, b) Elementos funcionales Histricamente, un instrumento tradicional contiene todos estos elementos en un solo gabinete 1.4. INSTRUMENTOS VIRTUALES. Un instrumento virtual tambin contiene estos tres elementos funcionales (adquisicin, anlisis y presentacin de datos). Sin embargo, estos elementos no necesariamente residen en el mismo gabinete, lo cual da pie a la virtualizacin del instrumento En este orden de ideas, podemos definir un instrumento virtual como: Conjunto de software y/o hardware adicionando a una computadora, operando bajo el esquema de un instrumento nico especializado.

    Fig. 1.3. Instrumento Virtual

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 7 Dr. Gerardo Trujillo Schiaffino

    Es importante hacer notar el trmino y/o utilizado en la definicin, el cual nos indica que el hardware puede o no estar presente en, es decir, un instrumento virtual puede estar formado tan solo por la computadora y el software; esto puede clarificarse mejor a travs de algunos ejemplos. 1.4.1. Ejemplos de Instrumentos Virtuales Cuando se le pide que describan un instrumento virtual, algunas personas citan el ejemplo de una computadora controlando un instrumento a travs de RS232 o GPIB, con un panel frontal grfico en la pantalla de la computadora para controlar el instrumento. Este instrumento puede ser operado como unidad independiente a travs de su panel frontal fsico, o bien, a travs de la pantalla de la computadora donde esta representado el mismo panel frontal fsico del instrumento remoto, con lo que se puede sentir como si se manipulara directamente el instrumento. Esto resulta en la sensacin de que se est operando virtualmente el instrumento original, pero con la ventaja de hacerlo desde una localizacin remota. Otros describen a un instrumento virtual como un panel frontal grfico en una computadora, pero con una tarjeta de adquisicin de datos o un mdulo VXI trabajando como si se tratara de un instrumento GPIB externo. En este caso, el hardware del instrumento no tiene un panel frontal por si solo, por lo que no puede usarse como un instrumento independiente. La computadora, de esta manera, es un componente necesario para el instrumento, y el panel frontal de la computadora es el nico medio de operar el instrumento. Algunos otros describen un instrumento virtual como un panel frontal grfico sin instrumento fsico conectado a la computadora. En este caso la computadora adquiere y analiza datos de archivos o de otras computadoras en una red, o bien que la misma computadora simula un proceso fsico o evento, calculando matemticamente los datos como si se tratara de una adquisicin en el mundo real.

    Fig. 1.4 a) Computadora controlando un instrumento programable, b) Panel frontal grfico en la computadora

    manejando un mdulo VXI, c) Panel grfico sin instrumento fsico conectado

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 8 Dr. Gerardo Trujillo Schiaffino

    Para los dos primeros ejemplos, el instrumento virtual est formado por la computadora, el hardware de adquisicin y el software de anlisis y presentacin, como se representa en la figura 1.5.

    Fig. 1.5. Representacin funcional de un instrumento virtual con hardware y software

    Sin embargo, en el ltimo ejemplo, el instrumento virtual est formado por la computadora y el software de adquisicin, anlisis y presentacin, representado en la figura 1.6.

    Fig. 1.6. Representacin funcional de un instrumento virtual con software solamente.

    Para ambos casos la computadora es la base indispensable del instrumento virtual, al igual que el software, quedando como elemento opcional el hardware. Sin embargo, la mayor parte de los instrumentos virtuales utilizados en los laboratorios y en la industria contienen algn tipo de hardware de adquisicin y/o control, por lo que normalmente el anlisis de los instrumentos virtuales se hace base a este tipo de arquitecturas.

    1.4.2. Arquitecturas Bsicas. Los instrumentos virtuales pueden presentar muy diversos tipo de arquitecturas para su construccin, las cuales pueden variar dependiendo de si se trata de un instrumento con la combinacin hardware-software o solamente software, dependiendo tambin de la plataforma de computacin que se seleccione (PC, Mac, Sun, etc.), o bien, dependiendo del ambiente de programacin para el software (lenguajes tradicionales, programacin grfica, etc.). Sin embargo, considerando el caso del instrumento hardware-software, por ser el ms representativo, independientemente de la plataforma y el ambiente de programacin elegido se puede categorizar la arquitectura de acuerdo al hardware de adquisicin y/o control que se utilice. Las principales arquitecturas de hardware utilizadas en la instrumentacin virtual son: bus de interfase de propsito general (GPIB), extensin del bus VME para instrumentacin

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 9 Dr. Gerardo Trujillo Schiaffino

    (VXI), comunicacin serie (RS232, RS485), y tarjetas de adquisicin de datos (DAQ). Un detalle importante es que el uso de estas arquitecturas no es excluyente, es decir, un instrumento virtual puede estar formado por una o varias de estas arquitecturas, lo que le da una versatilidad y flexibilidad que difcilmente podra tener un instrumento tradicional. La figura 1.7 nos muestra estas arquitecturas bsicas de hardware. En un caso extremo, de ser necesario, un instrumento virtual puede incluir todas estas arquitecturas juntas, trabajando coordinadas por el software como si se tratara de un solo instrumento.

    Fig. 1.7. Plataformas bsicas de la instrumentacin virtual 1.4.3. Aplicaciones. Las principales reas en que se aplica la Instrumentacin Virtual son: a) Sistemas de Automatizacin Industrial

    Automatizacin de Procesos Control Supervisorio Interfaces Hombre - Mquina Adquisicin de Datos

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 10 Dr. Gerardo Trujillo Schiaffino

    Control Estadstico de Procesos Automatizacin de Laboratorios Control de Maquinaria Visin por Computadora

    b) Sistemas de Prueba y Medicin Equipos de Prueba Automtica Inspeccin Automtica Prueba Electrnica Prueba de Vibracin Prueba Acstica Monitoreo y Control en Tiempo Real

    1.5. INSTRUMENTOS TRADICIONALES VS. INSTRUMENTOS VIRTUALES. Histricamente, en la instrumentacin ha existido un enorme conflicto entre la rigidez de los instrumentos definidos por el vendedor y la flexibilidad y funcionalidad de los instrumentos definidos por el usuario. Una comparacin entre los instrumentos tradicionales y los instrumentos virtuales se presenta en la tabla 1.1.

    Tabla 1.1 Comparacin entre un instrumento virtual y un instrumento tradicional.

    INSTRUMENTOS TRADICIONALES INSTRUMENTOS VIRTUALES Definidos por el vendedor. Definido por el usuario.

    Funciones especficas, independiente, Conectividad limitada.

    Sistema orientado a la aplicacin, conectividad a redes de trabajo,

    perifricos, y aplicaciones. Hardware es la clave. Software es la clave.

    Costoso. Barato, reutilisable. Cerrado, funcionalidad fija. Abierto, funcionalidad flexible, escalable

    con tecnologa computacional de uso comn.

    Lento avance tecnolgico. (ciclo de vida 5 - 10 aos)

    Rpido avance tecnolgico. (ciclo de vida 1-2 aos)

    Alto costo de mantenimiento y desarrollo. Mnimo costo de mantenimiento y desarrollo.

    1.6. HERRAMIENTAS DE PROGRAMACIN

    En la Instrumentacin Virtual es posible manejar un sinnmero de opciones de

    programacin para el desarrollo del software, estas opciones incluyen desde la ms bsica programacin a bajo nivel (lenguaje ensamblador), hasta los ms sofisticados ambientes de programacin de alto nivel. Estos ltimos se pueden clasificar en dos grandes grupos: la programacin tradicional (secuencial o estructurada) representada por ambientes de desarrollo como BASIC, Pascal, C, C++, o hasta LabWindows/CVI; y la moderna programacin grfica representada por ambientes como LabVIEW, HPVEE o Gnesis.

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 11 Dr. Gerardo Trujillo Schiaffino

    1.6.1. Programacin Tradicional La programacin tradicional de alto nivel se refiere a los lenguajes tradicionalmente utilizados para el desarrollo de software, estos incluyen los lenguajes secuenciales (como Basic) y los lenguajes estructurados (como Pascal o C), existiendo para cada uno de ellos un sinnmero de ambientes de desarrollo de diversos proveedores. Sin embargo, aunque existen libreras especializadas con funciones de instrumentacin virtual para la mayora de estos ambientes, resulta ms prctico y conveniente utilizar alguno de los ambientes de desarrollo especializados para instrumentacin virtual.

    Un excelente ejemplo de programacin para instrumentacin virtual utilizando lenguajes tradicionales es LabWindows/CVI de National Instruments.

    Lab Windows/CVI es un ambiente de desarrollo de software interactivo para construir sistemas de instrumentacin utilizando el estndar de programacin ANSI C. El objetivo de este ambiente es desarrollar las aplicaciones fcil y rpidamente.

    LabWindows/CVI combina el poder y la flexibilidad del lenguaje de programacin C

    con herramientas y libreras de software para instrumentos especficos. Estas libreras incluyen GPIB, RS-232, VXI, DAQ, y anlisis. La figura 1.8 muestra el ejemplo de la presentacin de un programa fuente desarrollado en LabWindows/CVI.

    Fig. 1.8. Programa fuente desarrollado en Lab Windows/CVI

    LabWindows/CVI simplifica el diseo de interfaces de usuario, hacindolas amigables y fciles de disear. En ellas se pueden incluir gran variedad de controles (entradas de datos) o indicadores (salidas de datos), tales como perillas, botones, interruptores, medidores,

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 12 Dr. Gerardo Trujillo Schiaffino

    grficas, etc., por lo que el resultado final es un programa de aplicacin verstil, flexible y poderoso.

    La figura 1.9 muestra un interfase de usuario desarrollado en este ambiente.

    Fig. 1.9. Interface de Usuario de un Programa en Lab Windows/CVI.

    1.6.2. Programacin Grfica. La programacin grfica, tambin conocida como programacin por flujo de datos o lenguaje G, representa una novedosa alternativa para el desarrollo de software para instrumentacin virtual

    Un excelente ejemplo de programacin grfica lo constituye el ambiente de programacin LabVIEW, tambin de National Instruments. El concepto de LabVIEW, un interfase de usuario de panel frontal combinado con una innovadora metodologa de programacin por diagrama a bloques, es ideal para crear instrumentos virtuales. LabVIEW trabaja con todos los aspectos de que incluye un sistema de instrumentacin: adquisicin de datos, anlisis de datos y presentacin de datos. LabVIEW simplifica el desarrollo de los sistemas de instrumentacin

    En la programacin grfica, los programas son llamados Instrumentos Virtuales (VI) y

    estn formados por tres partes principales: Panel Frontal. Diagrama a Bloques e Icono-Conector

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 13 Dr. Gerardo Trujillo Schiaffino

    Los paneles frontales son un concepto tomado de la instrumentacin tradicional, ya que corresponden al interfase de usuario donde se representa el panel frontal fsico de un instrumento, con la ventaja de que ste es realizado en software. Un beneficio adicional de utilizar el panel frontal en software, es que se pueden crear interfaces genricos, independientemente del hardware que se utilice. Pero a diferencia de un panel fsico, en un panel de software podemos representar slo los parmetros de inters a nuestra aplicacin particular. La figura 1.10 muestra el ejemplo de un panel frontal desarrollado en LabVIEW.

    Fig. 1.10. Ejemplo de un Panel Frontal de LabVIEW.

    LabVIEW permite crear paneles frontales amigables y de excelente presentacin,

    dndole al interfase de usuario una operabilidad intuitiva y sencilla. La programacin a travs de diagramas a bloque aproxima la programacin a la utilizacin de los diagramas de flujo utilizados por muchos ingenieros y cientficos, de hecho tambin se le conoce como programacin por flujo de datos. La figura 1.11 muestra en ejemplo de un diagrama de flujo de LabVIEW. En diagrama a bloques est libre de muchos de los detalles sintcticos de los lenguajes de programacin convencional, lo que permite construir los programas en menor tiempo.

    Fig. 1.11 Ejemplo de un Diagrama de Flujo de LabVIEW.

  • Instrumentacin Virtual Fundamentos de Instrumentacin Virtual

    Instituto Tecnolgico de Chihuahua 14 Dr. Gerardo Trujillo Schiaffino

    El icono - conector es una poderosa herramienta que le permite a la programacin

    grfica trabajar con modularidad y jerarqua. El icono es la representacin grfica de un instrumento virtual, a travs de la cual se puede representar a un instrumento virtual dentro de otro, utilizndolo como funcin o subrutina. El conector es la representacin del icono que nos indica las terminales de conexin a travs de las cuales podemos pasar los datos de entrada a un instrumento virtual y leer sus salidas cuando se utiliza dentro de otro instrumento virtual. El icono es la representacin grfica y el conector son las terminales de entrada y salida de un instrumento virtual para ser utilizado como sub-instrumento virtual. La figura 1.12 muestra un icono-conector.

    Fig. 1.12. Ejemplo de un Icono y Conector.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 15 Dr. Gerardo Trujillo Schiaffino

    CAPITULO II

    HERRAMIENTA DE PROGRAMACION.

    2.1 AMBIENTE DE PROGRAMACION GRAFICA (LABVIEW). 2.1.1 Fundamentos de LabVIEW. LabVIEW es el acrnimo para Laboratory Virtual Instrument Engineering Workbench y representa en la actualidad una poderosa y flexible plataforma de desarrollo de software. LabVIEW se basa en el paradigma de la programacin por flujo de datos, pero tambin puede ser aplicado bajo los paradigmas de programacin por maquinas de estados, programacin por eventos y programacin orientada a objetos. En general, tambin se le conoce como lenguaje G por ser un lenguaje esencialmente grafico. Los Programas en LabVIEW son llamados instrumentos virtuales (VIs). Cada VI contiene tres partes principales:

    Panel frontal Diagrama de bloque Icono/Conector

    Fig. 2.1. Panel frontal de un instrumento virtual

    El panel frontal, como el mostrado en la figura 2.1, es utilizado para interaccionar con el usuario cuando el programa esta corriendo. Usuarios pueden controlar el programa, cambiar entradas, y ver datos actualizados en tiempo real.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 16 Dr. Gerardo Trujillo Schiaffino

    Fig. 2.2. Diagrama a bloques de un instrumento virtual

    Cada control o indicador del panel frontal tiene una terminal correspondiente en el diagrama de bloques, como se muestra en la figura 2.2. Cuando un VI se ejecuta, los valores de los controles fluyen a travs del diagrama de bloques, en donde estos son usados en las funciones del diagrama, y los resultados son pasados a otras funciones o indicadores. El tercer elemento del VI es su icono conector, tal como se muestra en la figura 2.3, este se encuentra localizado en la esquina superior derecha del panel frontal y del diagrama a bloques, su funcin es representar al VI cuando se utiliza como subVI (sub-programa) dentro otro VI y proporcionar las terminales de conexin adecuadas, pero esto ser a tratado a detalle mas delante.

    Fig. 2.3. Icono - Conector de un instrumento virtual

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 17 Dr. Gerardo Trujillo Schiaffino

    2.1.2 Panel Frontal. El panel frontal es la interfase del usuario con el VI. El panel frontal se construye con controles e indicadores, que son las entradas y salidas que interactan con las terminales del VI, respectivamente. Los controles son usados como entradas, por ejemplo, ajustando controles de deslizamiento para colocar un valor de alarma, encendiendo o apagando un interruptor, o parando un programa. Los controles son interruptores, botones, perillas, cajas de texto y otros componentes de entradas. Los controles simulan instrumentos de entradas de equipos y suministra datos al diagrama de bloques del VI. Los indicadores son usados como salidas, por ejemplo, termmetros, luces, y otros indicadores indican valores del programa. Esto puede incluir datos, estados de programa y otra informacin.Los indicadores son las graficas, luces y otros dispositivos. Los indicadores simulan salidas de instrumentos y suministra datos que el diagrama de bloques adquiere o genera.

    Fig. 2.4. Ejemplo de un panel frontal sencillo La figura 2.4 muestra un ejemplo de panel frontal, en esta imagen, el switch de poder (encendido o apagado) es un control booleano. Un valor booleano contiene ambos un valor verdadero o falso. El valor es falso hasta que el switch se presione.Cuando el switch se presiona, el valor se convierte en verdadero. El indicador del historial de temperatura es una grafica de forma de onda. Esta muestra valores mltiples. En este caso, la grafica sealara grados F versus tiempo (seg.). El panel frontal tambin contiene una barra de herramientas, y sus funciones sern discutidas despus.

    Barra de herramientas del panel frontal

    Leyenda del grfico

    Control Booleano

    Grfico de Forma de onda

    Icono

    Leyenda de la grfica

    Leyenda de la escala

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 18 Dr. Gerardo Trujillo Schiaffino

    2.1.3 Diagrama de Bloque.

    El diagrama de bloque contiene el cdigo fuente grafico. Los objetos del panel frontal aparecen como terminales en el diagrama de bloque. Adicionalmente, el diagrama de bloque contiene funciones y estructuras incorporadas en las bibliotecas de LabVIEW VI. Los cables conectan cada uno de los nodos en el diagrama de bloques, incluyendo controles e indicadores de terminal, funciones y estructuras.

    Fig. 2.5. Ejemplo de un diagrama a bloques sencillo La figura 2.5 muestra un ejemplo de un diagrama de bloque. En este diagrama de bloque, el subVI Temp llama a la subrutina la cual obtiene una temperatura desde una tarjeta de adquisicin de datos (DAQ). Esta temperatura es graficada junto con el valor promedio de la temperatura en la grafica de forma de onda Temperature History. El interruptor de encendido (Power) es un control booleano en el panel frontal el cual va a detener la ejecucin de la estructura de ciclo While. La estructura de ciclo While tambin contiene una funcin de tiempo para controlar que tan frecuentemente la estructura se repite.

    Adems de las terminales de controles e indicadores, el diagrama puede contener subVIs express, subVIs estndar y funciones

    Cableado de datos

    Terminal grafica

    SubVI

    Estructura While loop

    Barra de Herramientas Del diagrama de Bloque

    Funcin de dividir

    Constante numrico

    Funcin de tiempo

    Terminal de control booleano

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 19 Dr. Gerardo Trujillo Schiaffino

    A) SubVI express

    LabVIEW 7.0 introduce un nuevo tipo de subVI llamado VIs Expreso (Express VIS). Estos son VIs interactivos que tienen una configuracin de caja de dialogo que permite al usuario personalizar la funcionalidad del VI Expreso. LabVIEW entonces genera una subVI basado en estos argumentos. La figura 2.6 muestra un ejemplo de un VI Express.

    Fig. 2.6. Ejemplo de un subVI express

    B) SubVI estndar

    VIs estndar son aquellos VIs (que consisten de un panel frontal y un diagrama de bloque) que son usados adentro de otro VI. La figura 2.7 muestra un ejemplo de un VI estndar.

    Fig. 2.7. Ejemplo de un subVI estndar

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 20 Dr. Gerardo Trujillo Schiaffino

    C) Funciones

    Las funciones son los bloques de construccin bsicos de todos los VIs. Las funciones no tienen un panel frontal o un diagrama de bloque. La figura 2.8 muestra un ejemplo de una funcin aritmtica de multiplicacin.

    Fig. 2.8. Ejemplo de una funcin 2.1.4 Paleta de Controles. La paleta de controles (Controls) se utiliza para colocar los controles e indicadores en el panel frontal. La paleta de controles esta disponible solamente en el panel frontal. Para acceder a la paleta de controles, seleccione WindowShow Controls palette en la barra de men principal o haga clic derecho en el espacio de trabajo en el panel frontal, esto activa la paleta express de controles. Para desaparecer la paleta de controles presione el botn de cerrar, caracterstico de Windows, en la parte superior derecha de la paleta.

    Fig. 2.9. Paleta express de controles. En la paleta express de controles los controles e indicadores estn agrupados de acuerdo a las aplicaciones ms comunes: controles numricos, botones, controles de texto, controles de usuario, indicadores numricos, LEDs, indicadores de texto, Indicadores de grafica, etc. Sin embargo en estos grupos solo se encuentran los controles e indicadores ms comnmente utilizados, para acceder de manera completa a la gran diversidad de controles e indicadores que ofrece LabVIEW, es necesario activar el grupo denominado All Controls, el cual despliega de manera temporal la paleta estndar de controles. Para fijar la esta paleta haga clic sobre el sujetador de la esquina superior izquierda.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 21 Dr. Gerardo Trujillo Schiaffino

    Fig. 2.10. Paleta estndar de controles

    2.1.5 Paleta de Funciones. La paleta de funciones (Functions), se utiliza para construir un diagrama de bloque. La paleta de funciones esta disponible solamente en el diagrama de bloque. Seleccione WindowShow Functions Palette en la barra de men principal o haga un click derecho en el espacio de trabajo del diagrama de bloque para desplegar la paleta express de funciones. Para desaparecer la paleta de funciones presione el botn de cerrar, caracterstico de Windows, en la parte superior derecha de la paleta.

    Fig. 2.11. Paleta express de funciones.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 22 Dr. Gerardo Trujillo Schiaffino

    Al igual que en la paleta express de controles, en la paleta express de funciones, estas estn agrupadas de acuerdo a las aplicaciones ms comunes: entrada, anlisis, salida, librera de usuario, control de ejecucin, aritmtica y comparacin, manipulacin de seales, etc. Sin embargo en estos grupos solo se encuentran las funciones ms comnmente utilizados, para acceder de manera completa a todas las funciones que ofrece LabVIEW, es necesario activar el grupo denominado All Funtions, el cual despliega de manera temporal la paleta estndar de funciones. Para fijar la esta paleta haga clic sobre el sujetador de la esquina superior izquierda.

    Fig. 2.12. Paleta estndar de funciones 2.1.6 Paleta de Herramientas. Por ser LabVIEW un lenguaje grfico, la mayor parte del manejo del ambiente de programacin se hace a travs del ratn o dispositivo de sealizacin de la computadora, esto implica entonces la necesidad poder cambiar la funcionalidad del apuntador para ejecutar tareas muy diversas. La paleta de herramientas es una paleta flotante que permite cambiar la funcionalidad del cursor. Esta paleta contiene herramientas de edicin y depuracin Generalmente se encuentra activada por default, sin embargo, de no ser as se le puede activar manualmente seleccionando WindowShow Tools Palette en la barra de men principal. Para desaparecer la paleta de funciones presione el botn de cerrar, caracterstico de Windows, en la parte superior derecha de la paleta. Esta paleta permite seleccionar entre 11 herramientas diferentes. La figura 2.13 muestra la apariencia que tiene la paleta de herramientas.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 23 Dr. Gerardo Trujillo Schiaffino

    Fig. 2.12. Paleta estndar de funciones

    A) Herramienta automtica Si la herramienta de seleccin automtica esta habilitada y usted mueve el cursor sobre un objeto en el panel frontal o en el diagrama de bloque, LabVIEW automticamente selecciona la herramienta correspondiente de la paleta de controles. Cambie a la herramienta de seleccin automtica tecleando el botn de Seleccin de Herramienta Automtica en la paleta de Herramientas. B) Herramienta de operacin Utilice la herramienta de operacin para cambiar valores o para seleccionar texto de un control. C) Herramienta de posicin / seleccin Utilice la herramienta de posicionamiento para seleccionar, mover o redimensionar objetos. La herramienta de posicionamiento cambia las formas cuando se mueve sobre una esquina de un objeto reajustable permitiendo cambiar su tamao. D) Herramienta de Etiquetado Utilice la herramienta de etiquetado para editar textos y crear etiquetas libres. La herramienta de etiquetado se convierte en cursor cuando usted crea etiquetas libres.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 24 Dr. Gerardo Trujillo Schiaffino

    E) Herramienta de cableado Utilice la herramienta de cableado para cablear objetos juntos en el diagrama de bloque y establecer el flujo de los datos en el programa. F) Herramienta de men Utilice la herramienta de men emergente para acceder a los mens emergentes de los objetos colocados en el panel frontal o en el diagrama de bloque, para modificar sus configuraciones. G) Herramienta de arrastre Utilice la herramienta de arrastre para mover todo el panel frontal o diagrama de bloque. H) Herramienta de punto de quiebre Utilice la herramienta de punto de quiebre para colocar puntos de quiebre a lo largo del diagrama de bloque y detener momentneamente la ejecucin del programa con el fin de depurar el programa. I) Herramienta de punto de prueba Utilice la herramienta de punto de prueba para colocar puntos de prueba a lo largo del diagrama de bloque y observar los valores correspondientes durante la ejecucin del programa con el fin de depurar el programa. J) Herramienta de muestra de color Utilice la herramienta de muestra de color para obtener una muestra (copia) del color de un objeto. K) Herramienta de colorear Utilice la herramienta de colorear para cambiar el color de un objeto.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 25 Dr. Gerardo Trujillo Schiaffino

    2.1.7 Barra de Herramientas. La barra de herramientas es una barra fija que contiene herramientas de ejecucin, y cosmticas, se encuentra tanto en el panel frontal como en el diagrama de bloque, ambas presentan casi las mismas herramientas salvo una herramienta cosmtica que solo aparece en el panel frontal y cuatro herramienta de depuracin que solo aparecen en el diagrama de bloque. La figura 2.13 muestra las barras de herramientas del a) panel frontal y b) diagrama de bloque

    a)

    b)

    Fig. 2.13. Barra de herramientas del a) panel frontal, b) diagrama de bloque

    A) Botn de ejecucin

    Pulse el botn de ejecucin (Run) para ejecutar el VI. Mientras el VI se esta ejecutando, el botn de ejecucin aparecer con una flecha negra si es que el VI es un VI principal, lo que significa que no ha sido llamado por otro VI y por lo tanto este no es un subVI. B) Botn de ejecucin continua

    Pulse el botn de ejecucin continua (Continuous Run) para ejecutar el VI hasta que el botn de cancelacin de ejecucin o de pausa sea presionado. Usted tambin puede pulsar este botn nuevamente para deshabilitar la ejecucin continua. C) Botn de cancelacin

    Mientras el VI se esta ejecutando, El botn de cancelacin de ejecucin (Abort Execution) aparece. Presione este botn para detener el VI inmediatamente.

    Nota: Evite usar el botn de cancelacin de ejecucin (Abort Execution) para detener el VI. Ya sea deje que el VI complete su flujo de datos o disee un mtodo para detener el VI programticamente. Al hacer esto el VI se encuentra en un estado conocido. Por ejemplo, coloque un botn en el panel frontal que detenga el VI cuando sea presionado.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 26 Dr. Gerardo Trujillo Schiaffino

    D) Botn de pausa

    Pulse el botn de pausa (Pause) para detener momentneamente la ejecucin de un VI. Cuando usted presiona el botn de Pausa, LabVIEW seala la posicin donde usted detuvo la ejecucin en el diagrama de bloque. Pulse el botn de Pausa nuevamente para que el VI continu ejecutndose. E) Men de configuracin de Textos

    Seleccione el men Configuracin de Textos (Text Settings) para cambiar el tipo de fuente (letra) del VI, incluyendo el tamao, estilo y color. F) Men de alineamiento de objetos

    Seleccione el men Alineamiento de Objetos (Align Objects) para alinear objetos con respecto a los ejes, incluyendo eje vertical, superior, izquierdo, etc. G) Men de distribucin de objetos

    Seleccione el men Distribucin de Objetos (Distribute Objects) para espaciar objetos uniformemente, incluyendo espacios vacos, compresiones, etc.

    H) Men de redimensionamiento

    Seleccione el Redimensionamiento de Objetos (Resize Objects) para cambiar el ancho y alto de objetos del panel frontal. Este men solo esta disponible en el panel frontal

    I) Men de reordenamiento

    Seleccione el men Reordenamiento (Reorder) cuando tenga objetos superpuestos unos con otros y usted quiera definir cual esta enfrente de quien y cual atrs. Seleccione uno de los objetos con la herramienta de posicionamiento y seleccione entre Move Forward (mover hacia adelante), Move Backward (mover hacia atrs), Move to Front (mover al frente) y Move to Back (mover hacia atrs). NOTA: Los siguientes botones solo estn disponibles en el diagrama de bloque. J) Botn de ejecucin resaltada

    Pulse en el botn de ejecucin resaltada (Highlight Execution) para ver el flujo de informacin en el diagrama de bloques. Pulse el botn nuevamente para detener este tipo de ejecucin resaltada.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 27 Dr. Gerardo Trujillo Schiaffino

    K) Botn de entrada al ciclo

    Pulse el botn de entrada al ciclo (Step Into) para entrar un paso adentro de un ciclo, un SubVI, etc. Entrando un paso a la vez adentro de un VI le permite introducirse en la VI nodo a nodo. Cada nodo se resalta para sealar cuando esta listo para ejecutarse. Al entrar un paso adentro de un nodo usted esta listo para caminar paso a paso adentro del nodo. L) Botn de saltar ciclo

    Pulse el botn de saltar ciclo (Step Over) para posicionarse encima de un ciclo, un SubVI, etc. Al posicionarse encima del nodo, usted ejecuta el nodo sin entrar paso a paso adentro del nodo. M) Botn de salida del ciclo

    Pulse el botn de Salida del ciclo (Step Over) para salirse de un ciclo, SubVI, etc. Al posicionarse fuera del nodo, usted completa la ejecucin de un nodo y puede moverse al siguiente nodo. Ejercicio 2.1 Abrir y Ejecutar un VI 1. Seleccione Start Programs National Instruments LabVIEW 7.0 LabVIEW para

    lanzar LabVIEW. Aparece la ventana de dialogo de LabVIEW.

    2. Seleccione Find Examples del men de ayuda (Help). La ventana de dialogo que aparece

    da la lista y enlaces a todos los VIs de ejemplo de LabVIEW.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 28 Dr. Gerardo Trujillo Schiaffino

    3. Usted puede buscar ejemplo por categoras, o puede utilizar palabras claves en su

    bsqueda. Haga clic en la vieta de bsqueda (Search) para abrir el buscador de palabras claves.

    4. En la caja de Enter Keyword(s) escriba Signal 5. Una lista de temas relacionados aparecer en la ventana de ejemplos (examples). Haga

    doble-clic en signals, esto generara una lista de ejemplos en el lado derecho.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 29 Dr. Gerardo Trujillo Schiaffino

    6. Haga clic en cualquier programa para ver una descripcin detallada de el ejemplo. Haga doble clic sobre Signal Generation and Processing.vi para lanzar el ejemplo. Esto abrir el panel frontal del VI Signal Generation and Processing.vi

    7. Examine el VI y ejectelo. Cambie las frecuencias y tipos de seales de entradas y note

    como el despliegue de las graficas cambia. Cambie la ventana de procesamiento de seales (Signal Processing Window) y opciones de filtrado (Filter options). Despus de que haya examinado el VI y las diferentes opciones que puede cambiar, pare el VI presionando el botn de paro (Stop button).

    2.2 PARADIGMA DE PROGRAMACION POR FLUJO DE DATOS. Como se ha mencionado con anterioridad, LabVIEW se basa en el paradigma de programacin por flujo de datos, concepto tan antiguo y tradicional en la enseanza de la programacin que resulta innovador al ser aplicado directamente como un lenguaje. A continuacin se describen los aspectos fundamentales sobre este paradigma. 2.2.1 Creacin de un Instrumento Virtual

    Cuando se crea un objeto en el panel frontal, una terminal es creada en el diagrama de bloques. Estas terminales le dan acceso a los objetos del panel frontal del cdigo creado mediante el diagrama de bloque.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 30 Dr. Gerardo Trujillo Schiaffino

    Cada terminal contiene informacin til referente al objeto al cual corresponde en el

    panel frontal. Por ejemplo, el color y los smbolos proporcionan el tipo de dato. Nmeros de punto flotante y de doble-precisin, son representados con terminales anaranjadas y las letras DBL. Las terminales booleanas son verdes y son representadas por las letras TF.

    En general, las terminales anaranjadas deben unirse (cablearse) con las terminales anaranjadas, verdes con verdes, y as sucesivamente. Esta no es una regla que no se puede romper; por ejemplo LabVIEW permitir al usuario conectar una terminal azul (valor entero) a una terminal anaranjada (valor fraccional). Pero en la mayora de casos, busque mejor una igualdad en colores.

    Los controles tienen una flecha en el lado derecho y tienen un borde grueso. Los indicadores tienen una flecha en el lado izquierdo y un borde fino. Reglas lgicas pueden ser aplicadas al conectar en LabVIEW: Cada cable debe tener una (pero solo una) fuente (o control), y cada cable puede tener varios destinos (o indicadores).

    El programa mostrado en la figura 2.14 toma datos de los controles A y B y pasa valores a una funcin de adicin y a una funcin de resta. Los resultados son mostrados en los indicadores A+B y A-B respectivamente.

    a) b)

    Fig. 2.14. Ejemplo de un instrumento virtual, a) panel frontal, b) diagrama de bloque

    2.2.2 Cableado de funciones en el diagrama de bloque

    Adems de los terminales del panel frontal, el diagrama de bloques contiene funciones. Cada funcin puede tener mltiples terminales de entradas y salidas. La conexin de estas terminales es una parte muy importante de la programacin en LabVIEW.

    Una vez que se tenga cierta experiencia programado en LabVIEW, la conexin de cables se le har ms fcil. Primero puede que necesite ayuda. En seguida se le muestra algunas recomendaciones para comenzar:

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 31 Dr. Gerardo Trujillo Schiaffino

    La herramienta para conectar o de cableado es utilizada para conectarse a los nodos de las funciones. Cuando apunte con la herramienta de cableado, apunte con el extremo del cable que cuelga del carrete. Aqu es donde el cable ser colocado. La figura 2.15 muestra el puntosencible de la herramienta de cableado.

    Fig. 2.15. Punto sensible de la herramienta de cableado

    Mientras se mueve la herramienta de cableado sobre las funciones, observe la vieta amarilla que aparece. Esto le dir el nombre de la terminal al que se esta conectando. Mientras se mueva la herramienta de cableado encima de una terminal, esta va a mostrar informacin. Esto le ayudara a identificar donde se va a unir el cable. La figura 2.16 muestra un ejemplo de este tipo de identificacin de terminales.

    Fig. 2.16. Identificacin de terminales

    Para mas ayuda con los terminales, haga clic derecho en la funcin y seleccione

    Visible Items o Objetos Visibles>>Terminals o Terminales. Un dibujo de la funcin ser colocada atrs para revelar las terminales de la conexin. Note los colores - estos corresponden a los tipos de datos utilizados por los terminales del panel frontal. La figura 2.17 muestra un ejemplo al respecto.

    Fig. 2.17. Opcin para mostrar terminales

    Para ayuda adicional, seleccione Help >> Show Context Help, o presione CTRL+H.

    Esto mostrara la ventana de ayuda en contexto. A medida que uno mueva el raton (mouse)

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 32 Dr. Gerardo Trujillo Schiaffino

    sobre la funcin, esta ventana le mostrara la funcin, terminales, y una breve descripcin. Utilice esto junto con otras herramientas para ayudarse mientras conecta los cables.

    Fig. 2.17. Ventana de ayuda en contexto LabVIEW cablea automticamente los objetos a medida que usted los coloca en el diagrama de bloque. Tambin puede cablear automticamente objetos que ya estn colocados en el diagrama de bloque. LabVIEW conecta la terminal que mejor combina (match) y deja las terminales que no combinan (match) sin conectar. A medida que usted mueve un objeto seleccionado cerca de otros objetos en el diagrama de bloque, LabVIEW dibuja cables temporales para mostrarle conexiones validas. Cuando usted suelta el botn del mouse para poner el objeto en el diagrama de bloque, LabVIEW conecta automticamente los cables.

    Fig. 2.18. cableado de objetos en el diagrama de bloque

    Cambie al cableado automtico presionando el espaciador (spacebar) mientras mueve un objeto utilizando la herramienta de posicionamiento (Positioning tool). Puede ajustarlas opciones del cableado automtico seleccionando Tools >> Options y seleccionando Block Diagram de el men superior principal. No se preocupe por el color de los cables. LabVIEW seleccionar automticamente el cable correcto y adecuado para cada situacin.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 33 Dr. Gerardo Trujillo Schiaffino

    Fig. 2.19. Opcin de limpieza de cables

    Si el cableado no se mira muy bien, haga clic derecho en el cable que se desea arreglar y escoja la opcin de Clean Up Wire o Limpieza del Cable para que automticamente el cable haga su ruta de nuevo. El cableado es muy flexible en LabVIEW. Experimente con combinaciones de clics y/o teclas cuando este cableando. Aqu hay algunas de las caractersticas mas a menudo utilizadas.

    Fig. 2.20. Seleccin de cables

    El hacer un simple, doble, y triple clic en el cable selecciona el cable para moverlo o para borrarlo, tal como se muestra en la figura 2.20 El hacer un clic mientras se esta cableando hace un doblez en el cable. Haciendo clic derecho o presionando el botn Esc mientras se esta cableando cancela la operacin de cableado. 2.2.3 Programacin por Flujo de Datos LabVIEW sigue un modelo de flujo de datos para correr los VIs. Un nodo del diagrama de bloque se ejecuta cuando todas sus entradas estn disponibles. Cuando un nodo completa la ejecucin, suministra datos a sus terminales de salida y pasa los datos de salida al siguiente nodo en la trayectoria del flujo de datos. Visual Basic, C++, JAVA y otros lenguajes de programacin basados en texto, siguen un modelo de control de flujo de la ejecucin de un programa. En flujo de control, el orden secuencial de los elementos del programa determina el orden de ejecucin de un programa.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 34 Dr. Gerardo Trujillo Schiaffino

    Considere el diagrama de bloque que se muestra en la figura 2.21. Este suma dos nmeros y luego resta 50 del resultado de la suma. En este caso, el diagrama de bloque se ejecuta de izquierda a derecha, no porque los objetos estn puestos en ese orden, sino porque una de las entradas de la funcin de resta no es valida hasta que la funcin de suma o adicin haya terminado su ejecucin y pasado los datos a la funcin de resta. Recuerde que un nodo se ejecuta solamente cuando tiene datos disponibles en todas sus terminales de entrada, y suministra datos a sus terminales de salidas solamente cuando termina su ejecucin.

    Fig. 2.21. Ejemplo de cdigo dependiente

    En el cdigo de la figura 2.22, considere cual segmento del cdigo se ejecutara primero---la suma, el numero aleatorio, o la funcin de divisin. No se puede saber porque las entradas a las funciones de suma y divisin estn disponibles al mismo tiempo, y la funcin de nmero aleatorio no tiene entradas. En una situacin en donde un segmento del cdigo se debe ejecutar antes que otro, y no existe dependencia de datos entre las funciones, utilice una estructura de Secuencia para forzar el orden de la ejecucin.

    Fig. 2.22. Ejemplo de cdigo independiente

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 35 Dr. Gerardo Trujillo Schiaffino

    2.2.4 Opciones de Ayuda Utilice la ventana de Context Help (Ayuda Contextual) y LabVIEW Help (Ayuda de LabViEW) para ayudarle a construir o editar los VIs. Refirase a la ayuda de LabVIEW y a los manuales para mas informacin. A) Ventana de Ayuda Contextual (Context Help Window ) Para desplegar la ventana de Context Help, seleccione Help>>Show Context Help o presione las teclas . Cuando mueva el cursor sobre el panel frontal y los objetos del diagrama de bloque, la ventana de Context Help despliega el icono de los subVIs, funciones, constantes, controles e indicadores, con cables adjuntos a cada una de sus terminales. Cuando mueva el cursor sobre la caja de opciones de dialogo, la ventana de Context Help despliega descripciones de esas opciones. En la ventana, las conexiones requeridas estn en negrilla, las conexiones recomendadas en texto normal, y las conexiones opcionales estn poco claras o no aparecen. La figura 2.23 presenta un ejemplo de la ventana de Context Help.

    Fig. 2.23. Ejemplo de ventana de ayuda contextual

    Haga un clic en el botn de Simple/Detailed Context Help localizado en la esquina inferior izquierda de la ventana de Context Help para distinguir entre la ayuda contextual simple y detallada. El modo simple enfatiza las conexiones importantes. Las terminales opcionales son mostradas por segmentos de cables, informndole de la existencia de otras conexiones. Haga clic en el botn de Lock Context Help para congelar el contenido actual de la ventana de la Context Help. Cuando los contenidos estn congelados, el mover el cursor sobre otros objetos no cambia los contenidos de la ventana. Para descongelar la ventana, haga clic nuevamente en el botn. Usted tambin puede tener acceso a esta opcin desde el men de ayuda (Help).

    Ayuda en lnea

    Congelar Ayuda

    Ayuda del Diagrama Simple/Complejo

    Referencias en Lnea

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 36 Dr. Gerardo Trujillo Schiaffino

    Haga clic en el botn de More Help (mas ayuda) para desplegar el tema correspondiente en LabVIEW Help, el cual describe el objeto en forma detallada. B) LabVIEW Help (Ayuda de LabVIEW) Puede acceder a LabVIEW Help ya sea haciendo clic en el botn de More Help en la ventana de Context Help, seleccionando HelpVI, Function, & How-To Help, haciendo clic en la oracin Click here for more help en la ventana de Context Help o presionando .

    Fig. 2.24. Ejemplo de ventana de ayuda de LabVIEWl

    La LabVIEW Help contiene descripciones detalladas de casi todos los mens, herramientas, VIs y funciones. Tambin incluye instrucciones paso-a-paso para la utilizacin de muchas caractersticas de LabVIEW y enlaces al Tutorial de LabVIEW, versiones en PDF de todos los manuales y Notas de Aplicacin de LabVIEW, adems de recursos de soporte tcnico en el sitio web de National Instruments.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 37 Dr. Gerardo Trujillo Schiaffino

    Ejercicio 2.2 Construir un Instrumento virtual para convertir de C a F 1. Construya un VI que convierta de C a F. 2. Cuando lo corra, el VI deber de tomar un valor de entrada (C), multiplicarlo por 1.8,

    sumarle 32, y desplegar el resultado (F). 3. El panel frontal deber mostrar el valor de entrada y el resultado. 4. Salve el VI como Conversin C a F.vi

    2.2.5 Tips y Atajos en LabVIEW

    LabVIEW tiene muchas teclas de atajo que hacen el trabajo mas fcil. Las mas

    comunes se listan en la diapositiva.

    Mientras la Herramienta de Seleccin Automtica (Automatic Selection Tool) es genial para escoger la herramienta que usted deseara utilizar en LabVIEW, a veces hay casos cuando usted desea controles manuales. Utilice la tecla Tab para cambiar entre las cuatro herramientas mas comunes (Operate Value (valor de operacion), Position/Size/Select, (Posicin/Tamao/Seleccin), Edit Text (editar texto), Set Color on Front Panel (establecer color en panel frontal), Connect wire on Block Diagram (conectar cable en el diagrama de

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 38 Dr. Gerardo Trujillo Schiaffino

    bloque)). Una vez que se ha terminado con la seleccin de herramientas, puede presionar para activar la Herramienta de Seleccin Automtica.

    En el dialogo de Herramientas >> Opciones , hay muchas opciones configurables

    para el Panel Frontal, Diagrama de Bloque, Colores, Impresin y mucho mas.

    Similar a las opciones de LabVIEW, se pueden configurar propiedades especificas del VI al ir a File >> VI Properties Ah se puede documentar el VI, cambiar la apariencia de la ventana, y personalizarlos de varias maneras. 2.2.5. Tcnicas para Depuracin de Errores. Cuando su VI no es ejecutable, se despliega una flecha quebrada en el botn de correr en la paleta de herramientas.

    A) Lista de errores Para hacer una lista de los errores, haga clic en la flecha quebrada. Para localizar el objeto malo, haga clic en el mensaje del error.

    Fig. 2.24. Lista de errores

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 39 Dr. Gerardo Trujillo Schiaffino

    B) Resaltando la Ejecucin: Anima el diagrama y traza el flujo de datos, permitindole ver los valores intermedios. Haga clic en el bombillo incandescente (light bulb) en la barra de herramientas

    Fig. 2.25. Ejecucin resaltada

    C) Ventanas de prueba (Probe): Utilizado para ver los valores en cualquier cable del diagrama de bloque. Haga clic en los cables con la herramienta Probe o haga clic derecho en el cable para seleccionar Probe.

    Fig. 2.26. Puntos de prueba

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 40 Dr. Gerardo Trujillo Schiaffino

    D) Punto de Paro (Breakpoint): Coloca pausas en diferentes lugares del diagrama. Haga clic en los cables o en los objetos con la herramienta de Punto de Paro para colocar los puntos de paro. El punto de quiebre quedsara resaltado con un marco color rojo.

    Fig. 2.27. Punto de quiebre

    2.2.6 Documentacin del VI

    Al abrir VIs properties (propiedades del VI) un desarrollador puede aadir documentacion a su VI. La documentacion colocada en el Description field (espacio para la descripcion) de la ventana de documentacion del VI es moestrada en Context Help (ayuda en contexto), y se imprime con el VI.

    Si un usuario tiene una aplicacin que esta siendo desarrollada continuamente, el o ella puede seguir los cambios en el desarrollo con Revision History (historial de revisiones), tambin encontrado en VI Properties.

    Cualquier control o indicador en el Panel Frontal puede ser documentado al hacer clic derecho con el mouse y elegir Description and Tip (descipcion y sugerencia) La informacion de descipcion aparece en el menu Context Help (ayuda en contexto) cuando un usuario pasa el cursor sobre el objeto, y la informacion de sugerecia es mostrada en una pequea ventana pegada al cursor cuando el usuario pausa el movimiento del cursor sobre el objeto.

    Al igual que los comentarios en un lenguaje basado en texto, el desarrollador podra querer explicar una porcin de su cdigo, o proveer direcciones en el panel de frontal. Cualquiera de estas necesidades puede ser cumplida al usar la herramienta de etiquetado (labeling tool) para crear una caja de texto libre con tantas instrucciones o explicaciones como sean necesarias.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 41 Dr. Gerardo Trujillo Schiaffino

    2.3 SUB-INSTRUMENTOS VIRTUALES (SubVI). Despus de haber construido un VI, y creado su propio icono y panel de conexin, este puede ser utilizado en otro VI. Un VI dentro de otro VI se llama un subVI. Un subVI corresponde a una subrutina en lenguajes de programacin basados en texto. La utilizacin de subVIs le ayuda a manejar cambios y a eliminar errores del diagrama de bloque rpidamente. 2.3.1 Conceptos Bsicos Los sub-instruemntos virtuales (subVI), son en realidad VIs que se utilizan dentro de otros VIs como funciones o subrutinas, por lo tanto tienen sus popios panel frontal y diagrama de bloque, los cuales se pueden acceder haciendo doble click sobre el icono del subVI.

    Fig. 2.28. Sub-instrumento virtual As como en las terminales de control o de indicador en el diagrama de bloque pueden ser vistos como un icono o como una simple terminal, los subVIs pueden ser vistos como un icono, un nodo expandible o un nodo expandido. Las diferentes vistas dependen en la preferencia del usuario y no cambia la funcionalidad del subVI. En sus modos expandible y expendido el campo amarillo designa un VI estndar para diferenciarlo de los VI Express que presentan un campo azul.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 42 Dr. Gerardo Trujillo Schiaffino

    Fig. 2.29. Presentaciones de un sub-VI

    Cada VI muestra un icono, mostrado arriba, en la esquina superior derecha de las

    ventanas del panel frontal y del diagrama de bloque. Un icono es una representacin grafica de un VI. Puede contener texto, imgenes, o una combinacin de ambos. Si usted utiliza un VI como subVI, el icono identifica el subVI en el diagrama de bloque del VI.

    El conector muestra terminales disponibles para la transferencia de datos hacia y desde el subVI. Hay varios patrones de conectores para elegir. Haga un clic-derecho sobre el conector y seleccione el patrn del men de patrones. A partir de ah usted puede asignar controles e indicadores en el panel frontal al conector terminal, como veremos mas adelante.

    Fig. 2.30. Icono conector

    2.3.2 Creacin de SubVIs Para convertir un VI en subVI se siguen tres sencillos pasos: disear un icono, crear el conector y asignar terminales.

    A) Disear Icono.

    Para crear iconos personalizados para reemplazar los iconos predeterminados se hace clic-derecho en la esquina superior derecha del panel frontal o del diagrama de bloques y se selecciona Edit Icon del men de atajo o bien haciendo un doble clic en el icono en la esquina superior derecha del panel frontal. Tambin se puede corregir iconos seleccionando File >> VI Properties, seleccionando General del menu Category, y haciendo clic en el botn de editar (Edit Icon). Utilice las herramientas del lado izquierdo de la casilla de dialogo del Icon Editor para crear el diseo del icono en el rea de edicin. El tamao normal de la imagen del icono aparece en la casilla apropiada en la parte derecha del rea de edicin.

    Icono Nodo Expandible Nodo Expandido

    Icono

    Conector

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 43 Dr. Gerardo Trujillo Schiaffino

    Fig. 2.31. Editor de Iconosr

    Tambin se puede arrastrar un grfico desde cualquier archivo y colocarlo en la esquina superior derecha del panel frontal o del diagrama de bloque. LabVIEW convierte el grfico a un icono de 32 32 pxeles.

    B) Crear Conector

    Para utilizar un VI como un subVI, usted necesita crear un conector. El conector es

    una serie de terminales que corresponden a los controles y a los indicadores de ese VI, similar a la lista de parmetros de una funcin basada en un lenguaje de programacin de texto. El conector define las entradas y las salidas que usted puede cablear al VI para que pueda utilizarlo como subVI.

    Defina las conexiones asignando un control del panel frontal o un indicador a cada una de las terminales del conector. Para definir un conector, de un clic-derecho sobre el icono en la esquina superior derecha de la ventana del panel frontal y seleccione Show Connector del men. El conector substituye el icono. Cada rectngulo en el conector representa una terminal. Utilice los rectngulos para asignar entradas y salidas. El nmero de terminales que LabVIEW muestra en el conector depende del nmero de controles e indicadores en el panel frontal. Para el panel frontal mostrado en la figura 2.32, el cual tiene cuatro controles y un indicador, LabVIEW mostrara cuatro terminales de entradas y una terminal de salida en el conector.

    Fig. 2.32. Creacin de conector

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 44 Dr. Gerardo Trujillo Schiaffino

    C) Asignar terminales Despus que seleccione un patrn para utilizar en su conector, debe definir las

    conexiones asignando un control del panel frontal o indicador a cada uno de los terminales del conector. Cuando usted hace vnculos entre controles e indicadores y el conector, coloque las entradas en la izquierda y las salidas a la derecha para evitar patrones complicados y poco claros en su VI. Para asignar una terminal a un control de panel frontal o indicador, presione una terminal del conector. Presione el control del panel frontal o indicador que usted desea asignar a la terminal. Haga clic en un rea abierta del panel frontal. La terminal cambia al color del tipo de datos del control para indicar que usted conect la terminal. Usted tambin puede seleccionar el control o el indicador primeramente y despus seleccionar la terminal.

    Fig. 2.33. Asignacin de terminales Asegurase que salv el VI despus de haber hecho las asignaciones de las

    terminales.

    2.3.3 Librerias de SubVIs

    Hay varias maneras de organizar sus subVIs. La manera ms comn es organizarlos por aplicacin. En este caso, son salvados en el mismo directorio o dentro de un archivo de librera de VI todos los VIs para una aplicacin en particular. Salvarlos en un archivo de librera permite que usted transporte una aplicacin entera dentro de un solo archivo.

    Salvar dentro de una librera es simple. Despus de presionar Save As (salvar

    como), presione New VI Library (nueva librera de VI). Esto permitir que usted nombre la librera, y entonces salvar su VI en l. Para agregar VI subsecuentes, simplemente haga un doble-clic al archivo .llb de la ventana estndar de Salvar, y dar un nombre al VI.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 45 Dr. Gerardo Trujillo Schiaffino

    2.3.4 Uso de los subVIs

    Despus de construir un VI y crear su icono y conector, usted puede utilizarlo como un subVI. Para colocar un subVI en el diagrama de bloque, seleccione Functions>> Select VI. Navegue y haga un doble-clic en el VI que usted desea utilizar como subVI y colquelo en el diagrama de bloques.

    Tambin puede colocar un VI abierto en el diagrama de bloque de otro VI abierto usando la herramienta de colocacin (Positioning Tool) para hacer clic en el icono en la esquina superior derecha del panel frontal o diagrama de bloque de el VI que usted desea utilizar como subVI y arrastrar el icono al diagrama de bloque del otro VI.

    Fig. 2.34. Acceso a los subVIs en la paleta de funciones

    Ejercicio 2.3 Convierta en SubVI el programa Conversin C a F.vi 1. Abra el programa Conversin C a F.vi. 2. Siguiendo el procedimiento antes descrito edite un icono apropiado 3. Asigne terminales en el conector. 4. Salve de nuevo el VI como Conversin C a F.vi, pero hgalo dentro de una librera de

    instrumentos virtuales (LLB), asigne a esta librera el nombre Ejercicios + su numero de matricula.

    Seleccionar

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 46 Dr. Gerardo Trujillo Schiaffino

    2.4 ESTRUCTURAS DE PROGRAMACION. LabVIEW, como cualquier otro lenguaje de programacin, contiene estructuras de programacin como ciclos While, ciclos For, estructuras Case, y estructuras de Secuencias entre otras. El uso correcto de todas estas estructuras de programacin permite desarrollar un mejor control en la programacin del flujo de los datos. Para tener acceso a todas las estructuras de programacin seleccionar en la paleta de funciones la sub-paleta All Funtions y luego seleccionar la sup-paleta Structures como se muestra en la Figura 2.35

    Fig. 2.34. Acceso a las estructuras en la paleta de funciones

    click

    click

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 47 Dr. Gerardo Trujillo Schiaffino

    2.4.1 Ciclo While. El ciclo While es similar al ciclo Do o al ciclo Repeat-Until en lenguajes de programacin basados en texto, un ciclo While, como el mostrado en la figura 2.35, ejecuta el cdigo contenido dentro de este hasta que la condicin sea cumplida. El ciclo While ejecuta el cdigo hasta que la terminal dependiente, recibe un valor Booleano especfico. El comportamiento y la apariencia de la terminal de control de iteraciones puede ser Continue if True (contine si es Verdadero), que es el valor por defoult, o Stop if Trae (detngase si es Verdadero). Cuando el control de iteraciones es Continue if True, el ciclo While ejecuta su sub diagrama hasta que la terminal recibe un valor FALSO. Cuando el control de iteraciones es Stop if True, el ciclo While ejecuta su sub diagrama hasta que la terminal recibe un valor VERDADERO. La terminal de iteracin (una terminal de salida), mostrada en la esquina inferior izquierda del ciclo, contiene el numero de iteraciones completas. El conteo de iteraciones siempre empieza en cero. Durante la primera iteracin, la terminal de iteracin regresa a cero.

    Fig. 2.36. Estructura de ciclo While Cuando un valor entra o sale de la estructura de ciclo, se genera automticamente en el recuadro de la estructura una terminal llamada tnel, cuando se trata de un tnel de entrada esta terminal almacena el valor externo para que este disponible en cada iteracin del ciclo, como este almacenamiento se hace antes de entrar al ciclo, una vez adentro el programa no puede leer el valor externo.

    Nunca conecte el control del condicional del ciclo de manera externa pues el programa se quedara ciclado

    Cuando se trabaja con ciclos While siempre es conveniente incluir una funcin de retardo de al menos 1 milisegundo para liberar tiempo de uso del CPU de la computadora, de no hacerlo la ejecucin del ciclo acapara el procesador haciendo lenta la respuesta del mismo para otras aplicaciones.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 48 Dr. Gerardo Trujillo Schiaffino

    Coloque ciclos While en su diagrama seleccionando While Loop de la sub-paleta Structures en el diagrama de bloque como se muestra en la figura 2.37

    Fig. 2.37. Acceso a la estructura de ciclo While en la paleta de funciones

    Cuando este seleccionado, el cursor del ratn se convierte en un puntero especial que usted usa para encerrar la seccin del cdigo que desea repetir. Dle click al botn del ratn para definir la esquina superior-izquierda, dle click otra vez al botn del ratn en la esquina inferior izquierda, y la frontera del ciclo Mientras es creada alrededor del cdigo seleccionado. Arrastre nodos adicionales adentro del ciclo Mientras si es necesario. Ejercicio 2.4 Uso del Ciclo While 1. Utilizando una estructura de ciclo While crear un VI que genere un nmero aleatorio cada

    segundo hasta que el usuario lo detenga. 2. Conecte la terminal de terminacin del ciclo a un botn de paro en el panel frontal 3. Coloque la funcin Express VI Time Delay (demora de tiempo) dentro de su ciclo While. 4. Programe un retardo de 1 segundo haciendo doble clck en la funcin Time Delay 5. Ejecute su programa 6. Guarde el VI como Ciclo While.vi

    click

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 49 Dr. Gerardo Trujillo Schiaffino

    2.4.2 Ciclo For Un ciclo For, como el mostrado en la figura 2.38, ejecuta el codigo contenido dentro del ciclo varias veces. El valor en la terminal de conteo (una terminal de entrada) representada por la N, indica cuantas veces repetir el sub diagrama. La terminal de iteracin (una entrada de salida), mostrada en la esquina inferior izquierda, contiene el numero de iteraciones completas. El conteo de iteraciones siempre empieza en cero. Durante la primera iteracin, la terminal de iteracin regresa a cero.

    Fig. 2.38 Estructura de ciclo For

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 50 Dr. Gerardo Trujillo Schiaffino

    Al igual que en uso de los ciclos While, considere el mismo comportamiento de generacin de tnel para valores externos al ciclo For. Coloque ciclos For en su diagrama seleccionando For Loop de la sub-paleta Structures en el diagrama de bloque como se muestra en la figura 2.39

    Fig. 2.39. Acceso a la estructura de ciclo For en la paleta de funciones

    Ejercicio 2.5 Uso del Ciclo For 1. Utilizando una estructura de ciclo For crear un VI que genere 10 nmeros aleatorios a una

    velocidad definida por el usuario. 2. Agregue un control de deslizamiento (slider control) al panel de control. 3. Ajuste la escala de este control de deslizamiento de 0 a 5 4. Conecte este control a la entrada de la funcin Express VI Time Delay (demora de tiempo)

    dentro de su ciclo For. 5. Ejecute su programa 5. Guarde el VI como Ciclo For.vi

    click

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 51 Dr. Gerardo Trujillo Schiaffino

    2.4.3. Registros de Corrimiento Los registros de corrimiento son terminales que se pueden activar en las estructuras de los ciclos While y For para almacenar temporalmente los valores generados en variables determinadas durante la iteracin actual para ser utilizados en iteraciones posteriores Para agregar un registro de corrimiento en una estructura de ciclo, haga click derecho sobre el contorno de la estructura y seleccione Add Shift Register del men emergente como se muestra en la figura 2.40

    Fig. 2.40. Agregando un registro de corrimiento en la estructura de un ciclo

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 52 Dr. Gerardo Trujillo Schiaffino

    Por omisin (default) los registros de corrimiento permiten almacenar solo el valor la

    iteracin anterior, cuando necesitamos aumentar esta capacidad de almacenamiento para mas iteraciones, simplemente agregamos elementos de almacenamiento al mismo registro de corrimiento haciendo un click derecho en la terminal del registro y seleccionando Add Element del men emergente, tal como se muestra en la figura 2.41. Se pueden adicionar tantos elementos de memoria como sean necesarios

    Fig. 2.41. Agregando elementos de memoria a un registro de corrimiento La operacin de los registros de corrimiento es muy sencilla. Antes de iniciar las iteraciones del ciclo, los elementos de memoria son inicializados con los valores conectados por fuera del ciclo, este paso es importante debido a que si no se inicializan con un valor conocido, los elementos de memoria podran contener basura que podra afectar el desempeo del cdigo.

    En la primer iteracin del ciclo, i=0, los elementos de memoria transfieren se

    contenido hacia el interior del ciclo y se efecta el cdigo programado, en este paso tambin se asigna en la terminal correspondiente el nuevo valor que ser almacenado en el registro.

    Antes de ejecutar la siguiente iteracin, i=1, el valor almacenado en la iteracin

    anterior es transferido al primer elemento de memoria, el valor contenido en este se transfiere al segundo y as sucesivamente efectuando un corrimiento de los valores almacenados en el registro, el valor en el ultimo elemento de memoria se elimina y un nuevo valor es almacenado en la terminal correspondiente para ser transferido en la siguiente iteracin, este comportamiento se repite para el resto de las iteraciones del ciclo.

    La figura 2.42 muestra de manera grafica la operacin de un registro de corrimiento

    con cuatro terminales de memoria.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 53 Dr. Gerardo Trujillo Schiaffino

    Fig. 2.42. Operacin del registro de corrimiento a)antes de ejecutar i=0, b) i=0, c)antes de ejecutar i=1,2,3N-1,

    d) i=1,2,3N-1 Los registros de corrimiento pueden almacenar cualquier tipo de variable y tambin se pueden activar en los ciclos While. Ejercicio 2.6 Uso de Registros de Corrimiento 1. Utilizando una estructura de ciclo For con registros de corrimiento crear un VI que genere

    cuatro nmeros aleatorios y muestre en el panel, adems de los nmeros aleatorios, el promedio de ellos.

    2. No olvide inicializar el registro de corrimiento 3. Ejecute su programa 4. Guarde el VI como Registros de Corrimiento .vi

    a) b)

    c) d)

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 54 Dr. Gerardo Trujillo Schiaffino

    2.4.4. Nodos de Retroalimentacin Los nodos de retroalimentacin son una estructura que nos permite retroalimentar un valor de salida en la iteracin de un ciclo para utilizarlo como entrada en la siguiente iteracin, su funcin es similar a la de un registro de corrimiento con solo un elemento de memoria. Al igual que en caso de los registros de corrimiento, es conveniente siempre inicializar los nodos de retroalimentacin en la terminal respectiva.

    Fig. 2.43. Nodo de retroalimentacin en un ciclo For

    Coloque nodos de retroalimentacin en su diagrama seleccionando Feedback Nodede la sub-paleta Structures en el diagrama de bloque como se muestra en la figura 2.44

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 55 Dr. Gerardo Trujillo Schiaffino

    Fig. 2.44. Acceso a las estructuras de retroalimentacin

    Los nodos de retroalimentacin, al igual que los registros de corrimiento, tambin aceptan cualquier tipo de variable para su almacenamiento. Ejercicio 2.7 Uso Nodos de Retroalimentacin 1. Utilizando una estructura de ciclo For con nodos de retroalimentacin crear un VI que

    calcule la funcin n! (n factorial). 2. Recuerde que la terminal de iteraciones del ciclo (i) siempre empieza en 0. 3. Utilice la funcin incremento (+1) de la subpaleta aritmtica en la paleta de funciones del

    diagrama de bloque 4. Ejecute su programa 5. Guarde el VI como Nodo de Retroalimentacion .vi

    click

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 56 Dr. Gerardo Trujillo Schiaffino

    2.4.5. Case Las estructuras Case (de caso) nos permiten ejecutar un cdigo especfico dependiendo del valor de una variable de entrada en una terminal de selector. Como una baraja de naipes (cartas) solo se puede ver un cuadro de caso a la vez. Para cambiar de un cuadro de caso u otro se hace un click en las flechas correspondientes en el encabezado del cuadro.

    Cuando un valor exterior entra a un cuadro de caso se genera un tnel que pone el mismo valor de entrada disponible para todos los cuadros de caso. Cuando un valor debe salir de un cuadro de caso, el tnel de salida que se genera debe tener algn valor asignado para todos los casos o se mostrara en color blanco (vaco) y generara un error

    Dependiendo del tipo de variable de entrada las estructuras Case pueden ser: booleano, string o numrico

    a) b) c)

    Fig. 2.45. Estructura Case a) booleano, b) string, c) numrico.

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 57 Dr. Gerardo Trujillo Schiaffino

    Coloque estructuras Case en su diagrama seleccionando Case de la sub-paleta

    Structures en el diagrama de bloque como se muestra en la figura 2.46

    Fig. 2.46. Acceso a la estructura Case en la paleta de funciones

    A) Case Booleano Para una entrada Booleana la estructura Case se comporta de manera similar a los enunciados if-then-else (si-entonces-de otro modo) en otros lenguajes. Si el valor booleano de la entrada es verdadero (TRUE), se ejecuta el cdigo dentro del cuadro del caso verdadero; de otra manera se ejecutara el cdigo dentro del cuadro del caso falso (FALSE) Ejercicio 2.8 Uso del Case Booleano 1. Utilizando una estructura de Case booleano crear un VI que lea un valor numrico del

    panel y si es positivo calcule el valor de su raz cuadrada, pero si es negativo solo encienda un led en el panel

    2. La funcin de comparacin mayor o igual la encuentra en All Funtions / Comparison 3. La funcin de raz cuadrada la encuentra en All Funtions / Numeric 4. No olvide asignar valores en ambos casos a los tneles de salida 5. Ejecute su programa 6. Guarde el VI como Case Booleano .vi

    click

  • Instrumentacin Virtual Programacin Grfica

    Instituto Tecnolgico de Chihuahua 58 Dr. Gerardo Trujillo Schiaffino

    B) Case String Para una entrada de cadena de caracteres, se ejecuta solamente el cdigo contenido en el cuadro del caso que corresponda exactamente con la cadena en la entrada de selector, si el valor no coincide con ninguno de los casos, entonces se ejecuta el caso que este marcado como caso por omisin (default).

    Por omisin (default) todas las estructuras case aparecen como Case Booleano, para convertir a Case String simplemente conecte una variable tipo string en la terminal de selector

  • Instr