32
TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD 2420051027 Presentado a: Prof. Luis Hernando Días. UNIVERSIDAD DE IBAGUE FACULTAD DE INENIERIA PROGRAMA INGENIERIA ELECTRONICA PROYECTOS IBAGUE 2011

TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Embed Size (px)

Citation preview

Page 1: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

TUTORIAL LABVIEW

JUAN CAMILO SANCHEZ COD 2420051027

Presentado a:

Prof. Luis Hernando Días.

UNIVERSIDAD DE IBAGUE

FACULTAD DE INENIERIA

PROGRAMA INGENIERIA ELECTRONICA

PROYECTOS

IBAGUE

2011

Page 2: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

TABLA DE CONTENIDO

RESUMEN

0.1.1 INTRODUCCIÓN

0.1.2 MARCO TEÒRIC0

1. CONOCIENDO LABVIEW.

1.1 Que es labview?

1.2 COMPONENTES

1.2.1 Panel frontal 1.2.2 Diagrama de bloques

1.3 PALETAS

1.3.1 Paletas de herramienta 1.3.2 paletas de control 1.3.3 paletas de función

1.4 BARRA DE HERRAMIENTAS DE ESTADO 2. CREAR UN IV 2.1. ABRIR Y EECUTAR UN IV 2.2. CREANDO UN INSTUMENTO VIRTUAL 2.2.1 CONECTAR DIAGRAMAS DE BLOQUES 2.2.2 CABLEAR OBJETOS AUTOMATICAMENTE 2.3. FLUJO DE DATOS 2.4 USO DE AYUDAS

3.1 ESTRUCTURAS Y EJEMPLO

3.1. ESTRUCTURAS 3.1.1 CASE ESTRUCTURE

3.1.2 SEQUENCE ESTRUCTURE 3.1.3 FOR LOOP 3.1.4 WHILE LOOP

Page 3: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

3.2 VARIABLES LOCALES Y GLOBALES 3.2.1 VARIABLES LOCALES 3.2.2 VARIABLES GLOBALES 3.3 ERRORES 3.4 TIPS 3.5 EJEMPLO

Page 4: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

CAPITULO 1

1. CONOCIENDO LABVIEW

1.1 Qué es LabVIEW?

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un lenguaje de

programación gráfico para el diseño de sistemas de adquisición de datos, instrumentación y

control. Labview permite diseñar interfaces de usuario mediante una consola interactivo

basado en software. Usted puede diseñar especificando su sistema funcional, su diagrama

de bloques o una notación de diseño de ingeniería. Labview es a la vez compatible con

herramientas de desarrollo similares y puede trabajar con programas de otra área de

Aplicación, como por ejemplo Matlab. Tiene la ventaja de que permite una fácil integración

con hardware, específicamente con tarjetas de medición, adquisición y procesamiento de

datos (incluyendo adquisición de imágenes).

Los Programas en LabVIEW son llamados instrumentos virtuales (VIs).

Un instrumento virtual es un modulo de software que simula el panel frontal de instrumento

común y, apoyándose en elementos de hardware accesibles por el PC (tarjetas de

adquisición, tarjetas DSP, instrumentos accesibles vía GPIB, VXI, RS-232), realiza una

serie de medidas como si se tratase de un instrumento real.

LabVIEW constituye un revolucionario sistema de programación gráfica para aplicaciones

que involucren adquisición, control, análisis y presentación de datos. Las ventajas que

proporciona el empleo de LabVIEW se resumen en las siguientes:

• Se reduce el tiempo de desarrollo de las aplicaciones al menos de 4 a 10 veces, ya que es

muy intuitivo y fácil de aprender.

• Dota de gran flexibilidad al sistema, permitiendo cambios y actualizaciones tanto del

hardware como del software.

• Da la posibilidad a los usuarios de crear soluciones completas y complejas.

• Con un único sistema de desarrollo se integran las funciones de adquisición, análisis y

presentación de datos.

• El sistema está dotado de un compilador gráfico para lograr la máxima velocidad de

ejecución posible.

• Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.

LabVIEW es un entorno de programación destinado al desarrollo de aplicaciones, similar a

los sistemas de desarrollo comerciales que utilizan el lenguaje C o BASIC. Sin embargo,

LabVIEW se diferencia de dichos programas en un importante aspecto: los citados

lenguajes de programación se basan en líneas de texto para crear el código fuente del

programa, mientras que LabVIEW emplea la programación gráfica o lenguaje G para crear

programas basados en diagramas de bloques.

Page 5: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Para el empleo de LabVIEW no se requiere gran experiencia en programación, ya que se

emplean iconos, términos e ideas familiares a científicos e ingenieros, y se apoya sobre

símbolos gráficos en lugar de lenguaje escrito para construir las aplicaciones. Por ello

resulta mucho más intuitivo que el resto de lenguajes de programación convencionales.

LabVIEW posee extensas librerías de funciones y subrutinas. Además de las funciones

básicas de todo lenguaje de programación, LabVIEW incluye librerías específicas para la

adquisición de datos, control de instrumentación VXI, GPIB y comunicación serie, análisis

presentación y guardado de datos.

1.2 Componentes

Todos los VIs tienen un panel frontal y un diagrama de bloques. Las paletas contienen las

opciones que se emplean para crear y modificar los VIs.

A continuación se procederá a realizar una descripción de estos conceptos.

Panel frontal: Cómo el usuario interacciona con el VIs.

Diagrama de bloque: El código que controla el programa.

Paletas: Medios para conectar un VI con otros VIs.

Page 6: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

1.2.1 PANEL FRONTAL

El panel frontal es la interface del usuario con el VI. Usted construye el panel frontal con

controles e indicadores, que son las entradas y salidas que interactúan con las terminales del

VI, respectivamente. Los controles son botones, botones de empuje, marcadores y otros

componentes de entradas. Los indicadores son las graficas, luces y otros dispositivos. Los

controles simulan instrumentos de entradas de equipos y suministra datos al diagrama de

bloques del VI. Los indicadores simulan salidas de instrumentos y suministra datos que el

diagrama de bloques adquiere o genera.

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

múltiples. En este caso, la grafica señalara grados F versus tiempo (seg.).

Page 7: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

1.2.2 DIAGRAMA DE BLOQUES

El diagrama de bloque contiene el código 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.

En este diagrama de bloque, el subVI Temp llama a la subrutina la cual obtiene una

temperatura desde una tarjeta de adquisición de datos (DAQ). Esta temperatura es graficada

junto con el valor average de la temperatura en la grafica de forma de onda Temperature

History. El switch de poder (Power) es un control booleano en el panel frontal el cual va a

detener la ejecución de la estructura mientras ( While Loop). La estructura mientras (While

Loop) también contiene una función de tiempo para controlar que tan frecuentemente la

estructura se repite.

Los controles e indicadores que se colocaron previamente en el Panel Frontal, se

materializan en el diagrama de bloques mediante los terminales.

Page 8: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

El diagrama de bloques se construye conectando los distintos objetos entre sí, como si de

un circuito se tratara. Los cables unen terminales de entrada y salida con los objetos

correspondientes, y por ellos fluyen los datos.

LabVIEW posee una extensa biblioteca de funciones, entre ellas, aritméticas,

comparaciones, conversiones, funciones de entrada/salida, de análisis, etc.

Las estructuras, similares a las declaraciones causales y a los bucles en lenguajes

Convencionales, ejecutan el código que contienen de forma condicional o repetitiva (bucle

for, while, case,...).

Los cables son las trayectorias que siguen los datos desde su origen hasta su destino, ya sea

una función, una estructura, un terminal, etc. Cada cable tiene un color o un estilo diferente,

lo que diferencia unos tipos de datos de otros.

1.3 PALETAS

Las paletas de LabVIEW proporcionan las herramientas que se requieren para crear y

modificar tanto el panel frontal como el diagrama de bloques. Existen las siguientes paletas:

1.3.1 Paleta de herramientas (Tools palette)

Se emplea tanto en el panel frontal como en el diagrama de bloques. Contiene las

herramientas necesarias para editar y depurar los objetos tanto del panel frontal como del

diagrama de bloques.

Las opciones que presenta esta paleta son las siguiente:

Page 9: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Operating tool – Cambia el valor de los controles.

Positioning tool – Desplaza, cambia de tamaño y selecciona los objetos.

Labeling tool – Edita texto y crea etiquetas.

Wiring tool – Une los objetos en el diagrama de bloques.

Object Pop-up Menu tool – Abre el menú desplegable de un objeto.

Scroll tool – Desplaza la pantalla sin necesidad de emplear las barras de

desplazamiento.

Breakpoint tool – Fija puntos de interrupción de la ejecución del programa

en VIs, funciones y estructuras.

Probe tool – Crea puntos de prueba en los cables, en los que se puede

visualizar el valor del dato que fluya por dicho cable en cada instante.

Color Copy tool – Copia el color para después establecerlo mediante la

siguiente herramienta.

Color tool – Establece el color de fondo y el de los objetos

Page 10: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

1.3.2 Paleta de controles (Controls palette)

Se utiliza únicamente en el panel frontal. Contiene todos los controles e indicadores

que se emplearán para crear la interfaz del VI con el usuario.

El menú Controls de la ventana correspondiente al panel frontal contiene las siguientes

opciones:

Numeric – Para la introducción y visualización de cantidades numéricas.

Boolean – Para la entrada y visualización de valores booleanos.

String & Table – Para la entrada y visualización de texto.

List & Ring – Para visualizar y/o seleccionar una lista de opciones.

Array & Cluster – Para agrupar elementos.

Graph – Para representar gráficamente los datos.

Path & RefNum – Para gestión de archivos.

Page 11: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Decorations – Para introducir decoraciones en el panel frontal.

User Controls – Para elegir un control creado por el propio usuario.

ActiveX – Para transferir datos y programas de unas aplicaciones a otras

dentro de Windows.

Select a Control – Para seleccionar cualquier control.

1.3.3 Paleta de funciones (functions palette)

Use la paleta de funciones (Functions), para construir un diagrama de bloque. La

paleta de funciones esta disponible solamente en el diagrama de bloque. Seleccione

Page 12: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Window»Show Functions Palette o haga un click derecho en el espacio de trabajo

del diagrama de bloque para desplegar la paleta de funciones. Usted también puede

desplegar la paleta de funciones dando un click derecho en una área abierta del

diagrama de bloques. Para desaparecer la paleta de funciones presione el botón en la

parte superior izquierda de la paleta.

Se emplea en el diseño del diagrama de bloques. La paleta de funciones contiene todos los

objetos que se emplean en la implementación del programa del VI, ya sean funciones

aritméticas, de entrada/salida de señales, entrada/salidad de datos a fichero, adquisición de

señales, temporización de la ejecución del programa,

Para seleccionar una función o estructura concretas, se debe desplegar el menú Functions y

elegir entre las opciones que aparecen. A continuación se enumeran todas ellas, junto con

una pequeña definición.

Structures – Muestra las estructuras de control del programa, junto

con las variables locales y globales.

Numeric – Muestra funciones aritméticas y constantes numéricas.

Boolean – Muestra funciones y constantes lógicas.

String – Muestra funciones para manipular cadenas de caracteres,

así como constantes de caracteres.

Array – Contiene funciones útiles para procesar datos en forma

de vectores, así como constantes de vectores.

Cluster – Contiene funciones útiles para procesar datos

procedentes de gráficas y destinados a ser representados en ellas

Comparison – Muestra funciones que sirven para comparar números,

valores booleanos o cadenas de caracteres.

Time & Dialog – Contiene funciones para trabajar con

cuadros de diálogo, introducir contadores y retardos, etc.

Page 13: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

File I/O – Muestra funciones para operar con ficheros.

Communication – Muestra diversas funciones que sirven para

comunicar varios ordenadores entre sí.

Instrument I/O –facilita la comunicación con instrumentos periféricos

que siguen la norma ANSI/IEEE 488.2-1987, y el control del

puerto serie.

Data Acquisition – Contiene a su vez un submenú donde

puede elegirse entre distintas librerías de la adquisición de datos.

Analysis – Contiene un submenú en el que se puede elegir

entre una amplia gama de funciones matemáticas de análisis.

Tutorial – Incluye un menú de VIs que se utilizan en el manual

LabVIEW .

Advanced – Contiene diversos submenús que permiten

el control de la ayuda, de losVIs, manipulación de datos,

Instrument drivers – En él se muestran los drivers disponibles de distintos

instrumentos.

User Libraries – Muestra las librerías definidas por el usuario.

.

Aplication control – Contiene varias funciones que regulan

el funcionamiento de la propia aplicación en ejecución.

Page 14: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Select a VI – Permite seleccionar cualquier VI para

1.4 BARRA DE HERRAMIENTAS DE ESTADO

Botón d (Run) para ejecutar el VI. Mientras el VI se esta ejecutando, el botón de ejecución

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 VI.

Botón (Continuous Run) para ejecutar el VI hasta que el botón de cancelación de

ejecución o de pausa sea presionado. Usted también puede pulsar este botón nuevamente

para deshabilitar la ejecución continua.

Botón (Abort Execution) aparece. Presione este botón para detener el VI inmediatamente.

Page 15: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Botón de pausa (Pause) para detener momentáneamente la ejecución de un VI. Cuando

usted presiona el botón de Pausa, LabVIEW señala la posición donde usted detuvo la

ejecución en el diagrama de bloque. Pulse el botón de Pausa nuevamente para que el VI

continué ejecutándose.

Menú Configuración de Textos (Text Settings) para cambiar el tipo de fuente (letra) del

VI, incluyendo el tamaño, estilo y color.

Menú Alineamiento de Objetos (Align Objects) para alinear objetos con respecto a los

ejes, incluyendo eje vertical, superior, izquierdo, etc.

Menú Distribución de Objetos (Distribute Objects) para espaciar objetos uniformemente,

incluyendo espacios vacíos, compresiones, etc.

Menú Reordenamiento (Reorder) cuando tenga objetos superpuestos unos con otros y

usted quiera definir cual esta enfrente de quien y cual atrás. Seleccione uno de los objetos

con la herramienta de posicionamiento y seleccione entre Move Forward (mover hacia

adelante), Move Backward (mover hacia atrás), Move to Front (mover al frente) y Move

to Back (mover hacia atrás).

Botón de ejecución resaltada (Highlight Execution) para ver el flujo de información en el

diagrama de bloques. Pulse el botón nuevamente para detener este tipo de ejecución

resaltada.

Botón 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 señalar cuando esta listo para ejecutarse. Al entrar un paso

adentro de un nodo usted esta listo para caminar paso a paso adentro del nodo.

Botón de sobre (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.

Botón de Salida del ciclo (Step Over) para salirse de un ciclo, SubVI, etc.

Page 16: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

CAPITULO 2

CREAR UN INSTRUMENTO VIRTUAL

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.

3. Usted puede buscar ejemplo por categorías, o puede utilizar palabras claves en su

búsqueda. Haga clic en la viñeta de búsqueda (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.

6. Haga clic en cualquier programa para ver una descripción detallada del 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. Examine el VI y ejecútelo.

Cambie las frecuencias y tipos de señales de entradas y note como el despliegue de las

graficas cambia. Cambie la ventana de procesamiento de señales (Signal Processing

Window) y opciones de filtrado (Filter options). Después de que haya examinado el VI y

las diferentes opciones que puede cambiar, pare el VI presionando el botón de paro (Stop

button).

Nota Usted también puede abrir un VI al hacer clic en el botón de Open VI y

navegar a labview\examples\apps\demos.llb\Signal Generation and Processing.vi.

Page 17: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

2.2 CREANDO UN VI

Cuando usted 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 código creado

mediante el diagrama de bloque.

Cada terminal contiene información útil referente al objeto al cual corresponde en el

panel frontal. Por ejemplo, el color y los símbolos proporcionan el tipo de dato. Números

de punto flotante y de doble-precisión, 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 mayoría 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 lógicas 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 en esta diapositiva toma datos de A y B y pasa valores a una función de

adición y a una función de resta. Los resultados son mostrados en los indicadores

apropiados.

2.2.1 CONECTAR DIAGRAMAS DE BLOQUES

Además de los terminales del panel frontal, el diagrama de bloques contiene funciones.

Cada función puede tener múltiples terminales de entradas y salidas. La conexión de estas

terminales es una parte muy importante de la programación en LabVIEW.

Una vez que usted tenga cierta experiencia programado en LabVIEW, la conexión de

cables se le hará mas fácil. Primero puede que necesite ayuda. En seguida se le muestra

algunas recomendaciones para comenzar:

La herramienta para conectar o de cableado es utilizada para conectarse a los nodos de las

funciones. Cuando usted apunte con la herramienta de cableado, apunte con el extremo del

cable que cuelga del carrete. Aquí es donde el cable será colocado.

Mientras usted mueve la herramienta de cableado sobre las funciones, observe la viñeta

amarilla que aparece. Esto le dirá el nombre de la terminal al que se esta conectando.

Page 18: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Mientras usted mueva la herramienta de cableado encima de una terminal, esta va a mostrar

información. Esto le ayudara a identificar donde se va a unir el cable.

Para mas ayuda con los terminales, haga clic derecho en la función y seleccione Visible

Items o Objetos Visibles>>Terminals o Terminales. Un dibujo de la función será

colocada atrás para revelar las terminales de la conexión. Note los colores - estos

corresponden a los tipos de datos utilizados por los terminales del panel frontal.

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) sobre

la función, esta ventana le mostrara la función, terminales, y una breve descripción. Utilice

esto junto con otras herramientas para ayudarse mientras conecta los cables.

Si el cableado no se ve muy bien, haga clic derecho en el cable que se desea arreglar y

escoja la opción de Clean Up Wire o Limpieza del Cable para que automáticamente 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 características mas a menudo

utilizadas.

El hacer un simple, doble, y triple clic en el cable selecciona el cable para moverlo o para

borrarlo.

El hacer un clic mientras se esta cableando hace un doblez en el cable.

Haciendo clic derecho o presionando el botón Esc mientras se esta cableando cancela la

operación de cableado.

No se preocupe por el color de los cables. LabVIEW seleccionará automáticamente el cable

correcto y adecuado para cada situación.

Page 19: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

2.2.2 Cablear los Objetos Automáticamente

LabVIEW cablea automáticamente los objetos a medida que usted los coloca en el

diagrama de bloque. También puede cablear automáticamente objetos que ya están

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 botón

del mouse para poner el objeto en el diagrama de bloque, LabVIEW conecta

automáticamente los cables. Cambie al cableado automático presionando el espaciador

(spacebar) mientras mueve un objeto utilizando la herramienta de posicionamiento

(Positioning tool). Puede ajustarlas opciones del cableado automático seleccionando Tools

>> Options y seleccionando Block Diagram de el menú superior principal.

Page 20: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

2.3 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 están disponibles. Cuando un nodo completa la

ejecución, 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

programación basados en texto, siguen un modelo de control de flujo de la ejecución de un

programa. En flujo de control, el orden secuencial de los elementos del programa determina

el orden de ejecución de un programa.

Considere el diagrama de bloque que se encuentra arriba. Este suma dos números 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 están puestos en ese orden, sino porque una de

las entradas de la función de resta no es valida hasta que la función de suma o adición haya

terminado su ejecución y pasado los datos a la función 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 ejecución.

En el código de la derecha, considere cual segmento del código se ejecutara primero la

suma, el número aleatorio, o la función de división. No se puede saber porque las entradas a

las funciones de suma y división están disponibles al mismo tiempo, y la función de

Número aleatorio no tiene entradas. En una situación en donde un segmento del código se

Page 21: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

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 ejecución.

2.4 USO DE AYUDAS

Utilice la ventana de Context Help (Ayuda Contextual) y LabVIEW Help (Ayuda de

LabViEW) para ayudarle a construir o editar los VIs. Refiérase a la ayuda de LabVIEW y a

los manuales para mas información.

Ventana de Ayuda Contextual (Context Help Window ) Para desplegar la ventana de

Context Help, seleccione Help>>Show Context Help o presione las teclas <Ctrl-H>.

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.

Page 22: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

En la ventana, las conexiones requeridas están en negrilla, las conexiones recomendadas en

texto normal, y las conexiones opcionales están poco claras o no aparecen. Arriba se

presenta un ejemplo de la ventana de Context Help.

Haga un clic en el botón 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, informándole de

la existencia de otras conexiones.

Haga clic en el botón de Lock Context Help para congelar el contenido actual de la ventana

de la Context Help. Cuando los contenidos están congelados, el mover el cursor sobre otros

objetos no cambia los contenidos de la ventana. Para descongelar la ventana, haga clic

nuevamente en el botón. Usted también puede tener acceso a esta opción desde el menú de

ayuda (Help).

Haga clic en el botón de More Help (mas ayuda) para desplegar el tema correspondiente en

LabVIEW Help, el cual describe el objeto en forma detallada.

LabVIEW Help (Ayuda de LabVIEW) Puede acceder a LabVIEW Help ya sea haciendo

clic en el botón de More Help en la ventana de Context Help, seleccionando Help»VI,

Function, & How-To Help, haciendo clic en la oración Click here for more help en la

ventana de Context Help o presionando <Ctrl-?>.

La LabVIEW Help contiene descripciones detalladas de casi todos los menús,

herramientas, VIs y funciones. También incluye instrucciones paso-a-paso para la

utilización de muchas características de LabVIEW y enlaces al Tutorial de LabVIEW,

versiones en PDF de todos los manuales y Notas de Aplicación de LabVIEW, además de

recursos de soporte técnico en el sitio web de National Instruments.

Page 23: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

CAPITULO 3

3.1 ESTRUCTURAS

Las estructuras se comportan como cualquier otro nodo en el diagrama de bloques,

ejecutando automáticamente lo que está programado en su interior una vez tiene

disponibles los datos de entrada, y una vez ejecutadas las instrucciones requeridas,

Suministran los correspondientes valores a los cables unidos a sus salidas. Sin embargo,

Cada estructura ejecuta su subdiagrama de acuerdo con las reglas específicas que rigen su

Comportamiento, y que se especifican a continuación.

Un subdiagrama es una colección de nodos, cables y terminales situados en el interior del

rectángulo que constituye la estructura. El For Loop y el While Loop únicamente tienen un

subdiagrama. El Case Structure y el Sequence Structure, sin embargo, pueden tener

múltiples subdiagramas, superpuestos como si se tratara de cartas en una baraja, por lo que

en el diagrama de bloques únicamente será posible visualizar al tiempo uno de ellos. Los

subdiagramas se construyes del mismo modo que el resto del programa Las siguientes

estructuras se hallan disponibles en el lenguaje G.

Page 24: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

3.1.1 Case Structure

Al igual que otras estructuras posee varios subdiagramas, que se superponen como si de

una baraja de cartas se tratara. En la parte superior del subdiagrama aparece el identificador

del que se está representando en pantalla. A ambos lados de este identificador aparecen

unas flechas que permiten pasar de un subdiagrama a otro.

En este caso el identificador es un valor que selecciona el subdiagrama que se debe ejecutar

en cada momento.

La estructura case consta de un terminal llamado selector y un conjunto de subdiagramas,

cada uno de los cuales esta dentro de un case o suceso y etiquetado por un identificador del

mismo tipo que el selector; este será booleano o numérico. Si se conecta un valor booleano

al selector, la estructura tendrá dos Case: False y True. Pero si se conecta un valor numérico

la estructura podra tener hasta 214 case.

En este caso la estructura Case engloba dos sentencias diferentes de otros lenguajes

convencionales:

1.- If condición true then ejecutar case true else ejecutar case false

2.- Case selector of

1: ejecutar case 1,

n: ejecutar case n

Case no cuenta con los registros de desplazamiento de las estructuras iterativas pero si

podemos crear los túneles para sacar o introducir datos. Si un case o suceso proporciona un

dato de salida a una determinada variable será necesario que todos los demás también lo

hagan, si no ocurre de esta manera será imposible ejecutar el programa.

3.1.2 Sequence Structure

Page 25: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Este tipo de estructuras presenta varios subdiagramas, superpuestos como en una baraja de

cartas, de modo que únicamente se puede visualizar una en pantalla.

También poseen un identificador del sudiagrama mostrado en su parte superior, con

posibilidad de avanzar o retroceder a otros subdiagramas gracias a las flechas situadas a

ambos lados del mismo.

Esta estructura no tiene su homologa en los diferentes lenguajes convencionales, ya que

estos las sentencias se ejecutan en el orden de aparición pero, como ya sabemos, en

LabVIEW una función se ejecuta cuando tiene disponible todos los datos de entrada. Se

produce de esta manera una dependencia de datos que hace que la función que recibe un

dato directa o indirectamente de otra se ejecute siempre despues, creándose un flujo de

programa.

Pero existen ocasiones en que esta dependencia de datos no existe y es necesario que un

subdiagrama se ejecute antes que otro, es en estos casos cuando usaremos la estructura

sequence para forzar un determinado flujo de datos. Cada subdiagrama estará contenido en

un frame o marco y estos se ejecutara en orden de aparición: Primero el frame 0 o marco 0,

despues el frame 1 y así, sucesivamente, hasta el ultimo.

Al contrario del case, si un frame aporta un dato de salida a una variable los demás no

tendrán por que hacerlo. Pero tendremos que tener en cuenta que el dato estará solamente

disponible cuando se ejecute el ultimo frame y no cuando se ejecute el frame que transfiere

el dato.

3.1.3 For Loop

Es el equivalente al bucle for en los lenguajes de programación convencionales.

Ejecuta el código dispuesto en su interior un número determinado de veces.

Usaremos For Loop cuando queramos que una operación se repita un número determinado

de veces. Su equivalente en lenguaje convencional es:

For i= to N-1

Ejecuta subdiagrama

Al colocar un For Loop en la ventana Diagram observamos que tiene asociados dos

terminales:

1.- Terminal contador: Contiene el número de veces que se ha ejecutado la estructura. El

valor del contador se fijara externamente (ver también Arrays en el capitulo 6).

2.- Terminal de interacción: indica el número de veces que se ha ejecutado la estructura:

Cero durante la primera iteración, uno durante la segunda y así hasta N-1.

Page 26: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Ambos terminales son accesibles desde el interior de la estructura, es decir, sus valores

podrán formar parte del subgdiagrama pero en ningún caso se podrán modificar.

Para pasar valores de una iteración a otra se emplean los llamador shift registers. Para crear

uno, se pulsará el botón derecho del ratón mientras éste se halla situado sobre el borde del

bucle, seleccionando la opción Add Shift Register. El shift register consta de dos

terminales, situados en los bordes laterales del bloque. El terminal izquierdo almacena el

valor obtenido en la iteración anterior. El terminal derecho guardará el dato correspondiente

a la iteración en ejecución. Dicho dato aparecerá, por tanto, en el terminal izquierdo durante

la iteración posterior.

3.1.4 While Loop

Es el equivalente al bucle while empleado en los lenguajes convencionales de

programación. Su funcionamiento es similar al del bucle for.

Usaremos While Loop cuando queramos que una operación se repita mientras una

determinada condición sea cierta. Su equivalente en lenguaje convencional es:

Do ejecutar subdiagrama While condición is TRUE

(Aunque esta estructura es más similar al comando Rrpeat-Until, ya que se repite como

mínimo una vez, independientemente del estado de la condición).

Al igual que For Loop contiene dos terminales:

1.- Terminal condicional: A el conectaremos la condición que hará que se ejecute el

subdiagrama. LabVIEW comprobara el estado de este terminal al final de cada iteración, si

su valor es TRUE( Verdadero) continuara, pero por el contrario si su valor es FALSE

(Falso) detendrá la ejecución.

2.- Terminal de iteración: indica el numero de veces que se ha ejecutado el bucle y que

como mínimo, siempre será una (i=O).

Page 27: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

3.2 VARIABLES LOCALES Y GLOBALES

Las variables son imprescindibles en cualquier tipo de problemas, ya que permiten

almacenar la información necesaria para su resolución.

En LabVIEW todos los controles introducidos en el Panel Frontal que generan un terminal

en la ventana Diagrama van a ser variables, identificables por el nombre asignado en la

etiqueta. Pero puede ocurrir que queramos utilizar el valor de cierta variable en otros

subdiagrama o en otro VI o, simplemente, que queramos guardar un resultado intermedio.

La forma mas sencilla de hacerlo es generado variables locales y/o globales dependiendo de

la aplicación.

3.2.1 VARIABLES LOCALES

En las variables locales los datos se almacenan en algunos de los controles o indicadores

existentes en el panel frontal del VI creado, es por eso que estas variables no sirven para

intercambiar datos entre VI´s. La principal utilidad de estas variables radican en el hecho de

que una vez creada la variable local no importa que proceda de un indicador o de un

control, ya que se podrá utilizar en un mismo Diagrama tanto de entrada como de salida.

Las variables locales están disponibles en el menú Structs & Constants de la paleta

Function y disponen del siguiente menu Pop-up:

- Change To Read Local o Change To Write Local: Permite escoger entre leer o escribir en

el control.

Select item: Visualiza una lista con el nombre de todos los controles existentes en el Panel

Frontal y de ella escogeremos el control al cual queremos que haga referencia nuestra

variable. Es por esto que para poder crear el variable local será imprescindible que el

control tenga asignado un nombre de identificador. Una vez creada la variable local, si en

algún momento se cambia el nombre del control origen, será necesario cambiar también el

nombre de la variable local ya LabVIEW no actualiza los cambios.

- Show Label: Muestra una etiqueta con el nombre del VI al que pertenece la

variable local.

- Descripción: Permite añadir comentarios.

- Remplace: Sustituye la variable local por cualquier otra función.

3.2.2 VARIABLES GLOBALES

Las variables globales son un tipo especial de VI, que únicamente dispone de Panel Frontal,

en el cual se define el tipo de datos de la variable y el nombre de identificación

imprescindible para despues podernos referir a ella.

Cuando escogemos la función Global del menú Structs & constants creamos un nuevo

terminal en el diagrama, este terminal corresponde a un VI que inicialmente no contiene

ninguna variable. Para poderlas añadir haremos doble clic en el terminal y se habría el

panel frontal. Una vez abierto, las variables se definen igual que cualquier control o

indicador de un VI normal.

Page 28: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Podemos crear un VI para cada variable global o definirlas todas en el mismo, que es la

opción mas indicada para cualquier aplicación. Cuando terminemos de colocar todas las

variables grabaremos el VI y lo cerraremos. Si una vez cerrado queremos añadir nuevas

variables, bastara con volverlo a abrir e introducir los cambios necesarios. Para añadir

nuevas terminales que hagan referencia a las variables globales creadas, no volveremos a

ejecutar la función Global ya que esto crearía un nuevo VI sino que abriremos el ya

existente mediante el comando VI del menú Function y seleccionaremos la variable en

concreto a través del comando select item del menú pop-up. Además, este mismo menú

cuenta con otra opción que nos permite utilizar una variable ya creada para leer datos o para

almacenarlos: Se trata del comando Change To Read Global o Changes To Write Global.

3.3 ERRORES

Cuando su VI no es ejecutable, se despliega una flecha quebrada en el botón de correr en la

paleta de herramientas.

Encontrando los 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.

Resaltando la Ejecucion: Anima el diagrama y traza el flujo de datos, permitiéndole ver

los valores intermedios.

Haga clic en el bombillo incandescente (light bulb) en la barra de herramientas.

Page 29: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

Probe: Utilizado para ver los valores en los arrays (arreglos) y clusters .

Haga clic en los cables con la herramienta Probe o haga clic derecho en el cable para

ajustar los PROBES.

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.

Utilice el VI Debug Demonstrate del BASICS.LLB para demostrar las opciones y las

herramientas

3.4 TIPS

LabVIEW tiene muchas teclas de atajo que hacen el trabajo más fácil. Las más comunes se

listan en la diapositiva.

Mientras la Herramienta de Selección Automática (Automatic Selection Tool) es genial

para escoger la herramienta que usted desearía 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,

(Posición/Tamaño/Selección), 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

bloque)). Una vez que se ha terminado con la selección de herramientas, puede presionar

<Shift-Tab> para activar la Herramienta de Selección Automática.

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

Panel Frontal, Diagrama de Bloque, Colores, Impresión y mucho mas.

Page 30: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

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.

3.5 EJEMPLO: CONSTRUCCIÓN DE UN VI

Se mostrará cómo construir una aplicación mediante el empleo del entorno de

programación que proporciona LabVIEW.

Panel frontal En primer lugar, se debe construir el panel frontal deseado, que en este ejemplo debe tener

el siguiente forma:

Proceso a seguir:

1. Abrir un panel frontal nuevo.

2. Colocar un "vertical switch" (paleta Boolean), cuyo nombre será Enable. Su finalidad

será finalizar la adquisición.

3. Emplear la Labeling Tool para crear una etiqueta libre para ON y OFF. Utilizar la

Coloring Tool para hacer que el borde de dicha etiqueta sea transparente. La T en el borde

inferior izquierdo de la paleta de colores hace transparente un objeto.

4. Colocar el gráfico (waveform chart), situado en la paleta Graph. Su nombre será Random

Signal. El gráfico representará valores aleatorios en tiempo real.

Page 31: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

5. El gráfico tiene un display digital que muestra el último dato. Pulsar el botón derecho del

ratón situado sobre el gráfico, y seleccionar Digital Display del submenú Show. Asimismo

se deberá deseleccionar Legend y Palette del mismo submenú.

6. Empleando la Labeling Tool, pulsar dos veces con el botón izquierdo del ratón sobre el

10.0 en el eje Y del gráfico, introducir 1.0 y pulsar fuera del gráfico. Así se habrá cambiado

el fondo de escala.

7. Colocar un knob (paleta Numeric), cuyo nombre será Loop Delay (sec) Este control

determinará la velocidad de ejecución del bucle. Pulsar sobre él con el botón derecho del

ratón y deseleccionar Digital Display del submenú Show.

8. Empleando la Labeling Tool, pulsar dos veces con el botón izquierdo del ratón sobre el

10.0 de la escala, introducir 2.0 y pulsar fuera del control para introducir el nuevo valor.

Diagrama de bloques El siguiente es el aspecto que presentará el diagrama de bloques una vez finalizada su

construcción:

1. Abrir el diagrama de bloques (menú Window, opción Show Diagram).

2. Colocar el While Loop (subpaleta Structures de la paleta de funciones). Dicha estructura,

como todas las demás es de tamaño ajustable.

3. Seleccionar la función Random Number (0-1) de la subpaleta Numeric del menú de

funciones.

4. Seleccionar la función Wait until Next ms Multiple de la subpaleta Time & Dialog del

menú de funciones.

Page 32: TUTORIAL LABVIEW JUAN CAMILO SANCHEZ COD …LABVIEW.pdf · tutorial labview juan camilo sanchez cod 2420051027 presentado a: prof. luis hernando días. universidad de ibague facultad

5. Seleccionar la función de multiplicación de la subpaleta Numeric, del menú de funciones,

así como una constante numérica, introduciendo el valor 1000 en lugar de 0, que es el que

aparece por defecto.

6. Colocar los cables tal y como se muestra en la figura anterior, empleando para ello la

Wiring Tool.

7. Volver al panel frontal. Con la Operating Tool poner el interruptor en su posición ON.

Ejecutar el programa pulsando el botón run.

La frecuencia de ejecución de las iteraciones del bucle While es la indicada en el panel

frontal con el control Loop Delay (sec). Es decir, se generará y representará un valor

aleatorio cada periodo de tiempo (en segundos) seleccionado.

8. Para finalizar la ejecución del bucle, colocar el interruptor en la posición de OFF. De ese

modo la condición de ejecución del bucle While será falsa, por lo que se detendrá a la

siguiente iteración.