Sie sind auf Seite 1von 242

TM

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

LabVIEW Core 1
Manual de Curso

Versin del software actual 2012


Edicin de Agosto 2012
Nmero de parte 325290D-0154
Manual de Curso LabVIEW Core 1

Copyright
19932012 National Instruments. Todos los derechos reservados.
En virtud de las leyes de copyright y de proteccin de los derechos de autor, esta publicacin no puede reproducirse ni transmitirse
en ninguna forma, electrnica o mecnica, incluidas las fotocopias, grabacin, almacenamiento en un sistema de recuperacin de
informacin, o traduccin, en su totalidad o en parte, sin el consentimiento previo por escrito de National Instruments Corporation.
National Instruments respeta los derechos de propiedad intelectual de otros, y solicitamos a nuestros usuarios que hagan lo mismo.
El software de NI est protegido por el derecho de autor y las normas de la propiedad intelectual. Aunque el software de NI puede
utilizarse para reproducir software u otro material perteneciente a otros, el software de NI slo podr utilizarse para reproducir
material que pueda reproducir conforme a los trminos de cualquier licencia aplicable u otra restriccin legal.

Contrato de licencia de usuario final y avisos legales a terceros


El contrato de licencia de usuario final (EULA) y avisos legales a terceros se puede encontrar en las siguientes localidades:

Los avisos se localizan en los directorios <National Instruments>\_Legal Information y <National


Instruments>.

Contrato de licencia de usuario final se localiza en el directorio <National Instruments>\Shared\MDF\


Legal\License.

Revise <National Instruments>\_Legal Information.txt para ms informacin legal sobre los instaladores
desarrollados con productos de NI.

Marcas comerciales
CVI, LabVIEW, National Instruments, NI, ni.com, el logotipo corporativo de National Instruments, y el logotipo del aguila son
marcas propiedad de National Instruments Corporation. Por favor, consulte Trademark Information en la pgina ni.com/
trademarks para informacin sobre otras marcas de National Instruments.
The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Microsoft
Corporation in the United States and other countries. Otros nombres de productos y de empresas mencionados aqu son marcas o
nombres comerciales de sus respectivas empresas.
Los miembros del National Instruments Alliance Partner Program son entidades comerciales independientes de National
Instruments y no tienen relacin de agencia, asociacin ni empresa conjunta con National Instruments.
Patentes
Para obtener informacin sobre las patentes que protegen los productos o la tecnologa de National Instruments, consulte el
apartado: HelpPatents en su software, el archivo patents.txt en el soporte del mismo, o el Aviso sobre las Patentes de
National Instruments (National Instruments Patent Notice) en ni.com/patents.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n
Informacin del producto y soporte tcnico mundial
ni.com

Oficinas internacionales
Visite ni.com/niglobal para acceder a las pginas web de las oficinas internacionales, las cuales incluyen informacin
actualizada de contacto, telfonos de soporte tcnico, direcciones de email y eventos actuales.

Oficinas centrales de National Instruments Corporation


11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100

Para obtener informacin adicional de soporte, consulte el apndice Informacin Adicional y Recursos. Para realizar comentarios a
National Instruments sobre la documentacin, consulte la pgina web de National Instruments Web ni.com/info e introduzca
el cdigo de informacin feedback.

Contenido
Gua del estudiante
Certificacin de NI................................................................................................v
Descripcin del curso............................................................................................vi
Lo que necesita para empezar ...............................................................................vii
Instalacin del software del curso.........................................................................viii
Objetivos del curso ...............................................................................................viii
Convenciones del curso ........................................................................................ix

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

A.
B.
C.
D.
E.
F.

Leccin 1
Explorando LabVIEW
A.
B.
C.
D.
E.
F.
G.
H.
I.

Qu es LabVIEW? ..............................................................................................1-2
Explorador de proyectos .......................................................................................1-5
Partes de un VI......................................................................................................1-10
Panel frontal ..........................................................................................................1-14
Diagrama de bloques ............................................................................................1-20
Bsqueda de controles, VIs y funciones ...............................................................1-32
Seleccin de una herramienta ...............................................................................1-35
Flujo de datos........................................................................................................1-41
Creacin de un VI simple .....................................................................................1-42

Leccin 2
Resolucin de problemas y depuracin de VIs
A.
B.
C.
D.

Correccin de VIs rotos ........................................................................................2-2


Tcnicas de depuracin.........................................................................................2-3
Datos sin definir o inesperados .............................................................................2-10
Manejo de Errores.................................................................................................2-11

Leccin 3
Implementacin de un VI
A.
B.
C.
D.
E.
F.
G.
H.
I.

Panel frontal .........................................................................................................3-2


Tipos de datos de LabVIEW.................................................................................3-4
Documentacin de cdigo ....................................................................................3-16
Bucles While.........................................................................................................3-18
Bucles For .............................................................................................................3-21
Temporizacin de VIs...........................................................................................3-24
Retroalimentacin de datos en los bucles .............................................................3-26
Graficando datos Waveform Chart ....................................................................3-28
Estructuras Case....................................................................................................3-31

National Instruments | iii

Contenido

Leccin 4
Desarrollo de aplicaciones modulares

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

A. Comprensin de la modularidad ...........................................................................4-2


B. Creacin del panel de iconos y conectores ...........................................................4-3
C. Uso de subVIs .......................................................................................................4-8

Leccin 5
Creando y aprovechando estructuras de datos
A.
B.
C.
D.
E.
F.

Arrays....................................................................................................................5-2
Funciones de array comunes.................................................................................5-5
Polimorfismo ........................................................................................................5-6
Autoindexado........................................................................................................5-8
Clusters .................................................................................................................5-14
Definiciones tipo...................................................................................................5-19

Leccin 6
Administrando archivos y recursos hardware
A.
B.
C.
D.

Entendiendo recursos de hardware y software......................................................6-2


E/S de ficheros ......................................................................................................6-4
Adquiriendo mediciones con sistema DAQ..........................................................6-7
Controlando Instrumentos ....................................................................................6-17

Leccin 7
Usando algoritmos de mquinas de estado y secuenciales

A. Programacin secuencial ......................................................................................7-2


B. Programacin de estado ........................................................................................7-4
C. Mquinas de estados .............................................................................................7-4

Leccin 8
Resolviendo desafos de flujo de datos con variables
A.
B.
C.
D.

Comunicacin entre bucles paralelos ...................................................................8-2


Escribiendo a controles y leyendo de indicadores ................................................8-4
Variables ...............................................................................................................8-4
Condiciones de carrera..........................................................................................8-13

Apndice A
Informacin Adicional y Recursos
Glosario

iv | ni.com

Gua del estudiante

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Gracias por comprar el paquete de curso LabVIEW Core 1. Podr empezar a desarrollar una
aplicacin poco despus de completar este curso. El manual del curso y el software adjunto se
utilizan en el curso prctico de tres das LabVIEW Core 1.
Puede aplicar la adquisicin completa de este paquete de curso a la cuota de registro
correspondiente del curso si se inscribe antes de 90 das desde la compra del paquete. Visite
ni.com/training para consultar en lnea la programacin, el contenido, los centros de
formacin y la inscripcin en la clase del curso.

A. Certificacin de NI

El curso LabVIEW Core 1 forma parte de una serie de cursos diseados para dominar LabVIEW y
ayudarle a prepararse para los exmenes de Desarrollador Asociado Certificado de LabVIEW de
NI. La siguiente ilustracin muestra los cursos que forman parte de la serie de formacin de
LabVIEW. Consulte ni.com/training para obtener informacin adicional acerca de la
certificacin de NI.

New User

Experienced User

Advanced User

LabVIEW Core 1*

LabVIEW Core 3*

Managing Software
Engineering in LabVIEW

LabVIEW Connectivity

Advanced Architectures
in LabVIEW

Courses

LabVIEW Core 2*

Object-Oriented Design
and Programming
in LabVIEW

Certifications

LabVIEW Performance
Certified LabVIEW
Developer Exam

Certified LabVIEW
Architect Exam

LabVIEW Instrument Control

LabVIEW Real-Time 1

LabVIEW Real-Time 2

LabVIEW FPGA

LabVIEW DAQ and Signal Conditioning

Modular Instruments Series

Certified LabVIEW
Associate Developer Exam

Other Courses

*Core courses are strongly recommended to realize maximum productivity gains when using LabVIEW.

National Instruments | v

Gua del estudiante

B. Descripcin del curso

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El curso LabVIEW Core 1 le ensea conceptos, tcnicas, caractersticas, VIs y funciones de


programacin de LabVIEW que puede utilizar para crear aplicaciones de prueba y medicin,
adquisicin de datos, control de instrumentos, registro de datos, anlisis de mediciones y
generacin de informes. Este curso supone que est familiarizado con Windows y que tiene
experiencia en escribir algoritmos en forma de diagramas de flujo o diagramas de bloque. Los
manuales de ejercicios y del curso estn divididos en lecciones, descritas de este modo.
En el manual del curso, cada leccin consta de lo siguiente:

Una introduccin que describe el objetivo de la leccin y lo que aprender

Una descripcin de los temas de la leccin

Un cuestionario de resumen que prueba y esboza conceptos y conocimientos importantes


enseados en la leccin

En el manual de ejercicios, cada leccin consta de lo siguiente:

Un conjunto de ejercicios para reforzar esos temas

Algunas lecciones incluyen secciones de ejercicios opcionales y de retos o un conjunto de


ejercicios adicionales para realizar si el tiempo lo permite.
Para ver actualizaciones y correcciones del manual de ejercicios y del curso,
consulte ni.com/info y escriba el Cdigo de Informacin Core1.

Nota

Varios ejercicios usan uno de los siguientes productos hardware de National Instruments:

Un dispositivo multifuncin de adquisicin de datos (DAQ, data acquisition) conectado a un


BNC-2120 que contiene un sensor de temperatura, un generador de funciones y LEDs

Una interfaz GPIB conectada a un Simulador de instrumentos de NI

Aunque no disponga de este hardware, puede realizar los ejercicios. Se ofrecen otras instrucciones
para realizar los ejercicios sin hardware. Tambin puede sustituir el hardware mencionado
anteriormente por otro diferente. Por ejemplo, puede utilizar un instrumento GPIB en lugar del
Simulador de instrumentos de NI u otro dispositivo DAQ de National Instruments conectado a un
origen de seal, como un generador de funciones.

vi | ni.com

Manual de Curso LabVIEW Core 1

C. Lo que necesita para empezar


Lecturas recomendadas

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El material de lectura recomendado garantiza que todos los alumnos tengan un conocimiento
mnimo de las teoras y conceptos clave relacionados con el curso LabVIEW Core 1. Para obtener
el mximo rendimiento de este curso, complete todo el material de lectura recomendado.

Para acceder a cada uno del material de lectura recomendado, consulte ni.com/info y escriba el
Cdigo de Informacin que corresponda a cada tema:

LabVIEW Core 1 - El mtodo de desarrollo de software (Cdigo de Informacin: SoftDev)

Introduccin a la adquisicin de datos (Cdigo de Informacin: DAQ)

Tutorial de control de instrumentos GPIB (Cdigo de Informacin: GPIB)

Material del curso

Antes de empezar este curso, asegrese de tener todos estos elementos:

Ordenador con Windows 7/Vista/XP

Dispositivo DAQ multifuncin configurado como Dev1 utilizando Measurement &


Automation Explorer (MAX)

BNC 2120, conectores y cable

Interfaz GPIB

Simulador de instrumentos de NI y alimentacin elctrica

Full o Professional Development System 2012 o posterior de LabVIEW

DAQmx 9.5.5 o posterior

NI-488.2 3.0.2 o posterior

NI VISA 5.2 o posterior

Un cable GPIB

National Instruments | vii

Gua del estudiante

NI Instrument Simulator Wizard instalado desde el CD de software de NI Instrument Simulator

CD del curso LabVIEW Core 1, que se instala en las siguientes carpetas:

Descripcin

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Directorio
Exercises

Carpeta para guardar VIs creados durante el curso y para completar


ciertos ejercicios de ste; tambin incluye subVIs necesarios para
algunos ejercicios y un archivo comprimido (NI Instrument
Simulator.zip) que contiene el controlador de instrumentos de
LabVIEW para el Simulador de instrumentos de NI

Solutions

Contiene las soluciones para todos los ejercicios del curso

D. Instalacin del software del curso


Complete estos pasos para instalar el software del curso.

1. Inserte el CD del curso en el ordenador. Aparecern los cuadros de dilogo de LabVIEW


Core 1 Course Setup.
2. Haga clic en Install the course materials.

3. Sigua las instrucciones en la pantalla para completar la instalacin y configuracin.

Los archivos de ejercicios se encuentran en la carpeta <Exercises>\LabVIEW Core 1\ .

Los nombres de carpetas entre corchetes angulares, como <Exercises>, hacen


referencia a carpetas del directorio raz de su ordenador.
Nota

E. Objetivos del curso

Este curso le prepara para hacer lo siguiente:

Comprender los paneles frontales, los diagramas funcionales, los iconos y los paneles
conectores

Usar las estructuras de programacin y los tipos de datos existentes en LabVIEW

Usar varias tcnicas de edicin y de depuracin

Crear y guardar VI para poder utilizarlos como subVI

Mostar y registrar datos

Crear aplicaciones que utilicen dispositivos DAQ

Crear aplicaciones que usen instrumentos de puerto serie y GPIB

viii | ni.com

Manual de Curso LabVIEW Core 1

Este curso no describe lo siguiente:


Cada VI, funcin u objeto integrado; consulte la Ayuda de LabVIEW para obtener informacin
adicional acerca de las funciones de LabVIEW no descritas en este curso.

Teora analgica a digital (A/D)

Funcionamiento del bus GPIB

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Desarrollar un controlador de instrumento

Desarrollar una aplicacin completa para cualquier estudiante de la clase; consulte el


NI Example Finder seleccionando HelpFind Examples, para ver ejemplos de VIs que puede
utilizar e incorporar en los VIs que cree

F. Convenciones del curso

Las siguientes convenciones aparecen en este manual del curso:

El smbolo le gua por elementos de men anidados y opciones de cuadros


de dilogo a una accin final. La secuencia ToolsInstrumentation
Find Instrument Drivers le gua a desplegar men Tools, seleccionar
Instrumentation, y finalmente seleccionar la opcin Find Instrument
Drivers.
Este icono indica un consejo, que le alerta de recomendaciones.

Este icono indica una nota, que le alerta de informacin importante.

Este icono indica una precaucin, para que tome precauciones y evite
lesiones, prdida de datos o una cada del sistema.

negrita

El texto en negrita indica que debe seleccionar el software o hacer clic en l,


como elementos de men y opciones de cuadro de dilogo. El texto en
negrita denota tambin las secciones de los cuadros de dilogo y etiquetas
de hardware.

cursiva

El texto en cursiva indica variables, nfasis, una remisin o una


introduccin a un concepto clave. El texto en cursiva tambin indica texto
que es un parmetro de sustitucin para una palabra o un valor que debe
proporcionar.

monospace

El texto con esta fuente indica texto o caracteres que debe escribir con el
teclado, secciones de cdigo, ejemplos de programacin y ejemplos de
sintaxis. Esta fuente tambin se utiliza para los nombres propios de unidades
de disco, rutas, directorios, programas, subprogramas, subrutinas, nombres
de dispositivos, funciones, operaciones, variables, nombres de archivos y
extensiones.

National Instruments | ix

Gua del estudiante

El texto con esta fuente indica los mensajes y las respuestas que el
ordenador imprime automticamente en la pantalla. Esta fuente tambin
enfatiza lneas de cdigo distintas de los otros ejemplos.

Platform

El texto con esta fuente indica una plataforma concreta y que el texto que le
sigue se aplica slo a esa plataforma.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

monospace bold

x | ni.com

Explorando LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Esta leccin muestra cmo navegar por el entorno LabVIEW. Describe el uso de mens, barras de
herramientas, paletas, herramientas, ayuda y cuadros de dilogo comunes de LabVIEW. Tambin
aprender a ejecutar un VI y conceptos generales de un panel frontal y diagrama de bloques. Al
final de esta leccin, crear un VI simple que adquiera, analice y presente datos.

Temas

A. Qu es LabVIEW?

B. Explorador de proyectos
C. Partes de un VI
D. Panel frontal

E. Diagrama de bloques

F. Bsqueda de controles, VIs y funciones


G. Seleccin de una herramienta
H. Flujo de datos

I. Creacin de un VI simple

National Instruments | 1-1

Leccin 1

Explorando LabVIEW

A. Qu es LabVIEW?

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

LabVIEW es un entorno de programacin grfico que puede utilizar para crear aplicaciones rpida
y eficientemente con interfaces de usuario profesionales. Millones de ingenieros y cientficos usan
LabVIEW para desarrollar sofisticadas aplicaciones de pruebas y control usando iconos y cables
intuitivos. Adems, la plataforma LabVIEW es escalable a travs de diferentes objetivos y OSs.
De hecho, LabVIEW ofrece integracin con miles de dispositivos y facilita cientos de libreras
integradas para anlisis avanzados y visualizacin de datos para crear instrumentos virtuales que
puede personalizar de acuerdo a sus necesidades.
Ya que LabVIEW imita la apariencia y operacin de instrumentos fsicos, como osciloscopios y
multmetros, los programas de LabVIEW son llamados instrumentos virtuales o VIs. Los VIs
tienen panel frontal y diagrama de bloques. El panel frontal es la interfaz de usuario. El diagrama
de bloques es el programa detrs de la interfaz de usuario. Tras crear la ventana del panel frontal,
puede aadir cdigo usando representaciones grficas de funciones para controlar los objetos del
panel frontal. El cdigo en el diagrama de bloques es cdigo grfico, tambin conocido como
cdigo G o cdigo de diagrama de bloques.

A diferencia de lenguajes de programacin basados en texto como C++ y Visual Basic, LabVIEW
usa iconos en vez de lneas de texto para crear las aplicaciones. En programacin basada en texto,
las instrucciones determinan el orden de ejecucin. LabVIEW utiliza flujo de datos grfico. En
programacin mediante flujo de datos grfico, los datos fluyen a travs de nodos en el diagrama de
bloques y eso determina el orden de ejecucin. La programacin grfica y la ejecucin mediante
flujo de datos son las dos principales formas en que LabVIEW es diferente de otros lenguajes de
programacin de propsito general.
En este curso, usted aprender cmo puede usar LabVIEW para crear aplicaciones simples de
adquisicin de datos usando los tres pasos: adquirir, analizar y presentar. A pesar de que este curso
es enseado en un sistema Windows, LabVIEW es multi-plataforma. Usted puede desarrollar
aplicaciones en sistemas Windows, Mac OS o Linux. Adems, usted tambin puede desplegar
aplicaciones de LabVIEW a una gran variedad de dispositivos real-time y FPGA.

Caractersticas de LabVIEW

Los programas de LabVIEW tienen las siguientes caractersticas:

Naturaleza grfica y compilada

Flujo de datos y/o programacin basada en eventos

Capacidades multi-objetivo y plataforma

Flexibilidad orientada a objetos

Posibilidades de multithreading

1-2 | ni.com

Manual de Curso LabVIEW Core 1

En LabVIEW Core 1, usted aprender acerca de la naturaleza grfica y compilada de LabVIEW y


flujo de datos. Los siguientes cursos exploran otras caractersticas:
LabVIEW Core 2Aprender sobre programacin orientada a eventos.

Object-Oriented Design and Programming in LabVIEWAprender sobre programacin


orientada a objetos en LabVIEW.

LabVIEW PerformanceAprenda cmo tomar ventaja de las capacidades de multithreading y


gestin de memoria de LabVIEW para mejorar la ejecucin de programas y el uso de memoria.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Grfico y compilado

Aunque representado grficamente con iconos y cables en vez de texto, el cdigo G en el diagrama
de bloques contiene los mismos conceptos de programacin encontrados en la mayora de
lenguajes tradicionales. Por ejemplo, cdigo G incluye tipos de datos, bucles, gestin de eventos,
variables y programacin orientada a objetos. LabVIEW compila cdigo G directamente a cdigo
de mquina para que el procesador pueda ejecutarlo. No necesita compilar cdigo G en un paso
adicional.

Flujo de datos y programacin orientada a eventos

Los programas de LabVIEW se ejecutan de acuerdo a las reglas de flujo de datos en lugar de la
manera tradicional encontrada en la mayora de lenguajes de programacin basados en texto como
C y C++. La ejecucin mediante flujo de datos es dependiente de los datos. El flujo de datos entre
los nodos en el cdigo G determina el orden de ejecucin.
La programacin orientada a eventos extiende el concepto de flujo de datos de LabVIEW para
permitir al usuario interaccin directa con el programa. La programacin basada en eventos
tambin permite otras actividades asncronas para influenciar la ejecucin del cdigo G en el
diagrama de bloques.

Capacidades multi-objetivo y plataforma

Con aplicaciones de LabVIEW, usted puede tener como objetivos procesadores multincleo y otros
hardware paralelos como Field-Programable Gate Arrays (FPGAs). Usted puede
automticamente escalar aplicaciones de LabVIEW a CPUs con dos, cuatro o ms ncleos,
usualmente sin programacin adicional.
El cdigo G, con la excepcin de algunas funciones especficas de algunas plataformas, es portable
entre diferentes sistemas LabVIEW para diferentes sistemas operativos. Por lo tanto, usted puede
usar el mismo cdigo si esta utilizando LabVIEW en sistemas Windows, Mac OS X o Linux.

Orientado a objetos

La programacin orientada a objetos es un acercamiento popular atraves de una gran variedad de


lenguajes de programacin. Permite una gran variedad de tems similares, aunque diferentes, de
ser representados como una clase de objetos en el software. LabVIEW provee herramientas y
funciones para que usted pueda utilizar tcnicas de programacin orientada a objetos en su
cdigo G.

National Instruments | 1-3

Leccin 1

Explorando LabVIEW

Multithreading y gestin de memoria

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

LabVIEW permite paralelismo automtico a su cdigo. En otros lenguajes si se requiere ejecutar


cdigo en paralelo, usted debe manejar los hilos mltiples manualmente. El entorno LabVIEW, con
el compilador y sistema de ejecucin trabajando juntos, automticamente ejecuta el cdigo en
paralelo siempre que sea posible. La mayora del tiempo los detalles de la ejecucin de un sistema
no tienen importancia para usted porque el sistema se comporta como debe sin intervencin. Sin
embargo, LabVIEW tambin provee las opciones para mejorar el rendimiento.

Lanzando el entorno LabVIEW

Cuando lance LabVIEW, aparecer la ventana Getting Started como se muestra en la figura 1-1.
Figura 1-1. Ventana Getting Started de LabVIEW

Use la ventana Getting Started para crear nuevos proyectos y VIs. Puede crear tems desde cero
o utilizar ejemplos. Tambin puede abrir archivos existentes de LabVIEW y acceder a los recursos
de la comunidad de LabVIEW y a la ayuda.
La ventana Getting Started desaparece cuando abre un archivo existente o crea un archivo nuevo,
y reaparece cuando cierra todos los paneles frontales y diagramas de bloques abiertos. Puede
mostrar la ventana seleccionando ViewGetting Started Window.

1-4 | ni.com

Manual de Curso LabVIEW Core 1

B. Explorador de proyectos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Los programas de LabVIEW se denominan VIs. Puede utilizar mltiples VIs juntos para hacer una
aplicacin de LabVIEW. Para agrupar los VIs relacionados con la misma aplicacin utilice un
proyecto LabVIEW. Cuando guarda un proyecto LabVIEW desde la ventana Project Explorer,
LabVIEW crea un archivo de proyecto (.lvproj), que incluye referencias a todos los archivos de
LabVIEW en el proyecto, informacin de configuracin e informacin de despliegue.
Algunos programas de LabVIEW, como VIs simples, no requieren crear un proyecto. Es necesario
utilizar un proyecto para crear aplicaciones y libreras compartidas. Tambin debe utilizar un
proyecto para trabajar con una plataforma en tiempo real (RT), de array de puertas programable in
situ (FPGA) o agenda electrnica (PDA). Consulte la documentacin del mdulo especfico para
obtener informacin adicional acerca de usar proyectos con los mdulos de tiempo real, FPGA y
PDA de LabVIEW.

Ventana del explorador de proyectos

Los proyectos en LabVIEW consisten de VIs, archivos necesarios para que esos VIs se ejecuten
apropiadamente y archivos suplementarios como documentacin o enlaces. Utilice la ventana
Project Explorer para administrar proyectos en LabVIEW.
La ventana Project Explorer incluye los siguientes elementos de forma predeterminada:

Project root: contiene el resto de elementos de la ventana Project Explorer. Esta etiqueta en
la raz del proyecto incluye el nombre de archivo del proyecto.

My Computer: representa el ordenador local como un destino del proyecto.

Dependencies: incluye los elementos que requieren los VIs de un destino.

Build Specifications: incluye configuraciones para distribuciones de cdigo y otros tipos de


distribuciones disponibles en los toolkits y mdulos de LabVIEW. Si tiene instalada la versin
PDS (Professional Development System) o el Application Builder de LabVIEW, puede usar
Build Specifications para configurar aplicaciones independientes, libreras compartidas,
instaladores y archivos comprimidos.
Consejo

Un destino es cualquier dispositivo que pueda ejecutar un VI.

Cuando aada otro destino al proyecto, LabVIEW crear otro elemento en la ventana Project
Explorer para representar la nueva plataforma. Cada destino incluye tambin las secciones
Dependencies y Build Specifications. Puede aadir archivos bajo cada uno de los destinos.

National Instruments | 1-5

Leccin 1

Explorando LabVIEW

Complete los siguientes pasos para utilizar la ventana Project Explorer para crear y modificar
proyectos en LabVIEW.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

1. Seleccione FileCreate Project para mostrar el cuadro de dilogo Create Project. El cuadro
de dilogo Create Project incluye una lista de plantillas y proyectos de ejemplo que usted
puede utilizar para asegurarse que el proyecto que est creando utilice prcticas de diseo y
programacin confiables.
2. Busque la plantilla o ejemplo que se aproxime ms al proyecto que desea realizar. Use las
siguientes herramientas para buscar las plantillas y ejemplos de proyectos:

FiltersMuestra solo resultados de cierto tipo, como plantillas o ejemplos de proyectos


para un objetivo especfico.

Additional SearchBusca palabras clave, ttulos y descripciones de los resultados


filtrados.

More InformationAbre el archivo de ayuda para el tem respectivo. Revise el archivo


de ayuda para asegurarse que la plantilla o ejemplo se aproxime al proyecto que desea
realizar.

3. Haga clic en el botn Next o Finish para configurar los detalles del proyecto, incluyendo como
el proyecto es guardado. Luego que termina de configurar el proyecto, LabVIEW guarda el
proyecto y abre la ventana Project Explorer y el VI principal del proyecto.
4. Utilice la ventana Project Explorer para administrar proyectos en LabVIEW. Refirase a los
comentarios en el diagrama de bloques de los VIs en el proyecto para ms informacin acerca
de como modificar el proyecto. Tambin refirase al folder Project Documentation en la
ventana Project Explorer para ms informacin sobre como modificar el proyecto.

Barras de herramientas de proyectos

Use los botones de las barras de herramientas Estndar, Proyecto, Instalacin y Control de
cdigo fuente para realizar operaciones en un proyecto de LabVIEW. Las barras de herramientas
estn disponibles en la parte superior de la ventana Project Explorer, como muestra la figura 1-2.
Quiz tenga que expandir la ventana Project Explorer para mostrar todas las barras de
herramientas.

1-6 | ni.com

Manual de Curso LabVIEW Core 1

Figura 1-2. Ventana Project Explorer


2

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

1
2
3
4

Barra de herramientas estndar


Barra de herramientas de proyectos
Barra de herramientas de construccin
Barra de herramientas de control de cdigo fuente

5
6
7
8

Raz de proyectos
Destino
Dependencias
Crear especificaciones

Consejo La barra de herramientas Control de cdigo fuente slo est disponible si


tiene el control de cdigo fuente configurado en LabVIEW.

Puede mostrar u ocultar barras de herramientas desde ViewToolbars y seleccionando las barras
de herramientas que desea mostrar u ocultar. Tambin puede hacer clic con el botn derecho en una
zona abierta de cada barra de herramientas para seleccionar la que desee mostrar u ocultar.

Creacin de un proyecto en LabVIEW


Complete los pasos siguientes para crear un proyecto.

1. Escoja una de las siguientes acciones para crear un proyecto LabVIEW nuevo.

En la ventana Getting Started haga clic en Blank Project para abrir un proyecto en nuevo
o haga clic en el botn Create Project para crear un proyecto nuevo a partir de una
plantilla.

En un proyecto o VI abierto, seleccione FileCreate Project.

En cualquier ventana de LabVIEW, seleccione FileNew. Tambin puede seleccionar


ProjectEmpty Project en el cuadro de dilogo New para mostrar la ventana Project
Explorer.

2. Aada elementos que desee incluir en el proyecto bajo un destino.


3. Seleccione FileSave Project para guardar el proyecto.

National Instruments | 1-7

Leccin 1

Explorando LabVIEW

Aadir archivos existentes a un proyecto


Puede aadir archivos existentes a un proyecto. Use el elemento My Computer (u otro destino)
en la ventana Project Explorer para aadir archivos como VIs o archivos de texto a un proyecto
de LabVIEW.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Aada elementos que desee incluir en el proyecto de estos modos:

Haga clic con el botn derecho en My Computer y seleccione AddFile desde el men
contextual para aadir un archivo. Tambin puede seleccionar ProjectAdd To ProjectFile
desde el men Project Explorer para aadir un archivo.

Haga clic con el botn derecho en el destino y seleccione AddFolder (Auto-populating)


desde el men contextual para aadir una carpeta de relleno automtico. Tambin puede
seleccionar ProjectAdd To ProjectAdd Folder (Auto-populating) para aadir una carpeta
de relleno automtico. LabVIEW controla y actualiza continuamente la carpeta segn los
cambios realizados en el proyecto y en el disco.

Haga clic con el botn derecho en el destino o My Computer y seleccione AddFolder


(Snapshot) desde el men contextual para aadir una carpeta virtual. Tambin puede
seleccionar ProjectAdd To ProjectAdd Folder (Snapshot) para aadir una carpeta virtual.
Cuando seleccione un directorio del disco, LabVIEW crear una nueva carpeta virtual en el
proyecto con el mismo nombre que el directorio del disco. LabVIEW tambin crea elementos
en el proyecto que representan el contenido de todo el directorio, incluidos los archivos y el
contenido de subdirectorios. Si selecciona una carpeta del disco, aadir el contenido de toda
la carpeta, incluyendo archivos y el contenido de las subcarpetas.
Tras aadir una carpeta virtual del disco a un proyecto, LabVIEW no actualiza
automticamente la carpeta en el proyecto si realiza cambios en la carpeta del disco.
Nota

Haga clic con el botn derecho en el destino y seleccione NewVI desde el men contextual
para aadir un nuevo VI. Tambin puede seleccionar FileNew VI o ProjectAdd To
ProjectNew VI para aadir un VI nuevo.

Seleccione el icono del VI en la esquina superior derecha de una ventana de panel frontal o de
diagrama de bloques y arrastre el icono al destino.

Seleccione un elemento o carpeta del sistema de archivos de su ordenador y arrstrelo al


destino.

Eliminar elementos de un proyecto

Puede eliminar elementos de la ventana Project Explorer de las siguientes maneras:

Haga clic con el botn derecho en el elemento que desee eliminar y seleccione Remove from
Project del men contextual.

Seleccione el elemento que desea eliminar y pulse <Delete>.

Seleccione el elemento que desee eliminar y haga clic en el botn Remove From Project de
la barra de herramientas Standard.

1-8 | ni.com

Manual de Curso LabVIEW Core 1

Nota

Eliminar un elemento de un proyecto no implica eliminarlo del disco.

Organizar elementos de un proyecto

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

La ventana Project Explorer incluye dos pginas: Items y Files. La pgina Items muestra los
elementos del proyecto que existen en el rbol de proyecto. La pgina Files muestra los elementos
del proyecto que tienen un archivo correspondiente en el disco. Puede organizar nombres de
archivos y carpetas en esta pgina. Las operaciones de proyectos de la pgina Files reflejan y
actualizan el contenido del disco. Puede cambiar de una pgina a la otra haciendo clic con el botn
derecho en una carpeta o elemento bajo un destino y seleccionando Show in Items View o Show
in Files View en el men contextual.

Use carpetas para organizar elementos en la ventana Project Explorer. Puede aadir dos tipos de
carpetas en un proyecto de LabVIEW: virtuales y de relleno automtico. Las carpetas virtuales
organizan elementos del proyecto. Haga clic con el botn derecho en la ventana Project Explorer
y seleccione NewVirtual Folder desde el men contextual para crear una carpeta virtual nueva.
Las carpetas de relleno automtico se actualizan en tiempo real para reflejar el contenido de las
carpetas del disco. Aada una carpeta de relleno automtico al proyecto para mostrar elementos del
proyecto como aparecen en el disco.

Las carpetas de relleno automtico slo se ven en la pgina Items de la ventana Project Explorer
. Puede ver el contenido del disco de una carpeta de relleno automtico pero no puede realizar
operaciones en el disco como cambiar el nombre, reorganizar y eliminar elementos del proyecto.
Para realizar operaciones del disco en elementos de una carpeta de relleno automtico, use la
pgina Files de la ventana Project Explorer. La pgina Files muestra la ubicacin de las carpetas
del proyecto en el disco. Las operaciones de proyectos de la pgina Files reflejan y actualizan el
contenido del disco. Igualmente, LabVIEW actualiza automticamente la carpeta de relleno
automtico en el proyecto si realiza cambios en la carpeta del disco fuera de LabVIEW.
Es posible ordenar elementos en una carpeta. Para ello, haga clic con el botn derecho en una
carpeta y seleccione Arrange ByName desde el men contextual para ordenar elementos por
orden alfabtico. Haga clic con el botn derecho en una carpeta y seleccione Arrange ByType
desde el men contextual para ordenar elementos por tipo de archivo.

Ver archivos de un proyecto

Cuando aade un archivo a un proyecto de LabVIEW, LabVIEW incluye una referencia al archivo
del disco. Haga clic con el botn derecho en un archivo de la ventana Project Explorer y
seleccione Open desde el men contextual para abrir el archivo en su editor predeterminado.
Haga clic con el botn derecho en el proyecto y seleccione ViewFull Paths desde el men
contextual para mostrar dnde estn guardados en el disco los archivos a los que hace referencia
un proyecto.

Use el cuadro de dilogo Project File Information para ver dnde se encuentran los archivos a los
que hace referencia un proyecto en el disco y en la ventana Project Explorer. Seleccione Project
File Information para mostrar el cuadro de dilogo Project File Information. Tambin puede

National Instruments | 1-9

Leccin 1

Explorando LabVIEW

hacer clic con el botn derecho en el proyecto y seleccionar ViewFile information desde el men
contextual para mostrar el cuadro de dilogo Project File Information.

Guardar un proyecto

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede guardar un proyecto de LabVIEW de los siguientes modos:

Seleccione FileSave Project.

Seleccione ProjectSave Project.

Haga clic con el botn derecho en el proyecto y seleccione Save en el men contextual.

Haga clic en el botn Save Project en la barra de herramientas Project.

Debe guardar los nuevos archivos que no hayan sido guardados previamente en un proyecto antes
de poder guardar ste. Cuando guarde un proyecto, LabVIEW no guardar dependencias como
parte del archivo del proyecto.
Realice una copia de seguridad de un proyecto cuando vaya a hacer revisiones
importantes en l.
Nota

C. Partes de un VI

Los VIs de LabVIEW contienen tres componentes principales: la ventana del panel frontal, el
diagrama de bloques y el panel de iconos / conectores.

Ventana del panel frontal

La ventana del panel frontal es la interfaz del usuario para el VI. La figura 1-3 muestra un ejemplo
de una ventana de panel frontal. Puede crear la ventana del panel frontal con controles e
indicadores, que son los terminales interactivos de entrada y salida del VI, respectivamente.

1-10 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-3. Panel frontal de VI

Ventana de diagrama de bloques

Tras crear la ventana del panel frontal, puede aadir cdigo usando representaciones grficas de
funciones para controlar los objetos del panel frontal. La figura 1-4 muestra un ejemplo de una
ventana de diagrama de bloques. La ventana del diagrama de bloques contiene este cdigo fuente
grfico. Los objetos del panel frontal aparecen como terminales en el diagrama de bloques.
Figura 1-4. Diagrama de Bloques

National Instruments | 1-11

Leccin 1

Explorando LabVIEW

Panel de iconos y conectores


El panel de iconos y conectores muestra cmo usar y ver un VI en otro VI. Un VI que se utiliza en
otro VI se denomina subVI, que es similar a una funcin en un lenguaje de programacin basado
en texto. Para utilizar un VI como subVI, debe tener un panel de iconos y conectores.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Cada VI muestra un icono en la esquina superior derecha de la ventana del panel frontal y de la
ventana del diagrama de bloques. A la izquierda se muestra un ejemplo del icono predeterminado.
Un icono es una representacin grfica de un VI. El icono puede contener texto e imgenes. Si
utiliza un VI como un subVI, el icono identifica el subVI en el diagrama de bloques del VI. El icono
predeterminado contiene un nmero que indica cuntos VIs nuevos abri tras lanzar LabVIEW.

Para utilizar un VI como subVI, debe crear un panel de conectores, mostrado a la izquierda. El
panel de conectores es un conjunto de terminales del icono que se corresponde con los controles e
indicadores de ese VI, de manera similar a la lista de parmetros de una llamada de funcin en
lenguajes de programacin basados en texto. El panel de conectores se muestra junto al icono del
VI en esquina superior derecha de la ventana del panel frontal. No es posible acceder al panel de
conectores desde el icono de la ventana del diagrama de bloques.

Abrir un VI existente

Seleccione Browse en la lista Open de la ventana Getting Started para navegar hasta un VI
existente y abrirlo.
Consejo Los VIs que modifique en este curso se encuentran en el directorio
<Exercises>\LabVIEW Core 1.

Cuando se cargue el VI, podr aparecer un cuadro de dilogo de estado similar al siguiente
ejemplo.

1-12 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-5. Cuadro de dilogo que indica el estado de la carga de VIs

La seccin Loading enumera los subVIs del VI segn se cargan en memoria y muestra el nmero
de subVIs cargados hasta ahora. Puede cancelar la carga en cualquier momento, haciendo clic en
el botn Stop.
Si LabVIEW no puede encontrar inmediatamente un subVI, empezar a buscar en todos los
directorios especificados en la ruta de bsqueda del VI. Puede modificar la ruta de bsqueda del
VI seleccionando ToolsOptions y despus Paths en la lista Category.
LabVIEW puede hacer caso omiso de un subVI haciendo clic en el botn Ignore Item, o puede
hacer clic en el botn Browse para buscar el subVI que falte.

Guardar un VI

Para guardar un nuevo VI, seleccione FileSave. Si ya guard su VI, seleccione FileSave As para
acceder al cuadro de dilogo Save As. Desde el cuadro de dilogo Save As, puede crear una copia
del VI o eliminar el VI original y sustituirlo por el nuevo.

National Instruments | 1-13

Leccin 1

Explorando LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-6. Cuadro de dilogo Save As

Consulte el tema Save As Dialog Box de la Ayuda de LabVIEW para mostrar


informacin detallada sobre cada opcin del cuadro de dilogo Save As.

Nota

D. Panel frontal

Cuando abra un VI nuevo o existente, aparecer la ventana del panel frontal del VI. La ventana del
panel frontal es la interfaz del usuario para el VI. La figura 1-7 muestra un ejemplo de una ventana
de panel frontal.

1-14 | ni.com

Manual de Curso LabVIEW Core 1

Figura 1-7. Ejemplo de un panel frontal


1
3

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Ventana del panel frontal

Barra de herramientas

Paleta de controles

Controles e indicadores

Puede crear el panel frontal con controles e indicadores, que son los terminales interactivos de
entrada y salida del VI, respectivamente. Ejemplos de controles son mandos, botones de comando,
diales y otros dispositivos de entrada. Los indicadores son grficos, LED y otras visualizaciones.
Los controles simulan dispositivos de entrada de instrumentos y ofrecen datos al diagrama de
bloques del VI. Los indicadores simulan dispositivos de salida de instrumentos y muestran datos
que adquiere o genera el diagrama de bloques.
La imagen 1-7 contiene los siguientes objetos: dos controles: Number of Measurements y Delay
(sec). Tiene un indicador: un XY graph llamado Temperature Graph.

El usuario puede cambiar el valor de entrada de los controles Number of Measurements y Delay
(sec). El usuario puede ver el valor que genera el VI en el indicador Temperature Graph. El VI
genera los valores para los indicadores basndose en el cdigo creado en el diagrama de bloques.
Aprender esto en la seccin Controles e indicadores numricos.
Cada control o indicador tiene un tipo de datos asociado. Por ejemplo, el control deslizante
horizontal Delay (sec) es un tipo de datos numrico. Los tipos de datos ms utilizados son
numrico, booleano y cadena de caracteres. Aprender otros tipos de datos en la leccin 3,
Implementacin de un VI.

National Instruments | 1-15

Leccin 1

Explorando LabVIEW

Controles e indicadores numricos


El tipo de datos numrico puede representar nmeros de varios tipos, como entero o real. Los dos
objetos numricos comunes son el control numrico y el indicador numrico, como se ve en la
figura 1-8. Objetos como los medidores y los dials tambin representan datos numricos.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-8. Controles e indicadores numricos

1
2

Botones de incremento / decremento


Control numrico

Indicador numrico

Para introducir o cambiar valores en un control numrico, haga clic en los botones de incremento
y decremento con la herramienta de operaciones o haga doble clic en el nmero con la herramienta
de etiquetado o de operaciones, escriba un nuevo nmero y pulse la tecla <Intro>.

Controles e indicadores booleanos

El tipo de datos booleano representa datos que slo tienen dos estados posibles, como TRUE y
FALSE u ON y OFF. Use los controles e indicadores booleanos para escribir y mostrar valores
booleanos. Los objetos booleanos simulan conmutadores, botones de comando y LED. Los objetos
booleanos de tipo conmutador vertical y de tipo LED redondo aparecen en la figura 1-9.
Figura 1-9. Controles e indicadores booleanos

Controles e indicadores de cadena de caracteres

El tipo de datos cadena de caracteres es una secuencia de caracteres ASCII. Use controles de
cadena de caracteres para recibir texto del usuario como una contrasea o un nombre de usuario.
Use indicadores de cadena de caracteres para mostrar texto al usuario. Los objetos de cadena de
caracteres ms comunes son tablas y cuadros de entrada de texto, como se ve en la figura 1-10.

1-16 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-10. Controles e indicadores de cadena de caracteres

Paleta de controles

La Paleta de Controles contiene los controles e indicadores que utiliza para crear el panel frontal.
Se accede a la Paleta de Controles desde la ventana del panel frontal seleccionando View
Controls Palette. La Paleta de Controles se divide en varias categoras; puede mostrar alguna de
ellas o todas segn sus necesidades. La figura 1-11 muestra la paleta Controls con todas las
categoras mostradas y la categora Silver expandida. Durante este curso, la mayora de ejercicios
utilizan controles de la categora Silver.
Figura 1-11. Paleta de Controles

National Instruments | 1-17

Leccin 1

Explorando LabVIEW

Para mostrar u ocultar categoras (subpaletas), seleccione el botn Customize en la paleta y


seleccione o deseleccione en la opcin Change Visible Palettes.

Barra de herramientas de la ventana del panel frontal

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Cada ventana tiene una barra de herramientas asociada. Use los botones de la barra de herramientas
de la ventana del panel frontal para ejecutar y modificar el VI.
La siguiente barra de herramientas aparece en la ventana del panel frontal.

Haga clic en el botn Run para ejecutar un VI. LabVIEW compila el VI, si es necesario. Puede
ejecutar un VI si el botn Run aparece como una flecha blanca continua, como se ve abajo. La
flecha blanca continua tambin indica que puede utilizar el VI como un subVI si crea un panel de
conectores para el VI.

Mientras se ejecuta el VI, el botn Run aparece como se muestra abajo si el VI es de alto nivel, lo
que significa que no tiene VIs que le llamen y por lo tanto no es un subVI.

Si el VI que se est ejecutando es un subVI, el botn Run aparece como se muestra abajo.

El botn Run aparece roto cuando el VI que est creando o modificando contiene errores. Si el
botn Run sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI est roto
y no puede ejecutarse. Haga clic en este botn para mostrar la ventana Error list, que enumera
todos los errores y advertencias.

Haga clic en el botn Run Continuously para ejecutar el VI hasta que anule o pause la ejecucin.
Tambin puede hacer clic en el botn de nuevo para desactivar la ejecucin continua.

1-18 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Mientras se ejecuta el VI, aparece el botn Abort Execution. Haga clic en este botn para detener
el VI inmediatamente si no hay otro modo de detenerlo. Si ms de un VI de alto nivel en ejecucin
utiliza el VI, el botn aparece atenuado.

El botn Abort Execution detiene inmediatamente el VI, antes de que


termine la iteracin actual. Si aborta un VI que utiliza recursos externos, como el
hardware externo, podra dejar los recursos en un estado desconocido por no
restablecerlos o liberarlos correctamente. Disee VIs con un botn de parada para evitar
este problema.
Precaucin

Haga clic en el botn Pause para pausar un VI en ejecucin. Cuando haga clic en el botn Pause,
LabVIEW resaltar en el diagrama de bloques la ubicacin donde paus la ejecucin y el botn
Pause aparecer en rojo. Haga clic en el botn Pause de nuevo para seguir ejecutando el VI.

Seleccione el men desplegable Text Settings para cambiar los ajustes de fuente para las partes
seleccionadas del VI, como el tamao, estilo y color.

Seleccione el men desplegable Align Objects para alinear objetos a lo largo de los ejes, como el
vertical, el borde superior, borde izquierdo, etc.

Seleccione el men desplegable Distribute Objects para espaciar objetos uniformemente,


incluidos los espacios, la compresin, etc.

Seleccione el men desplegable Resize Objects para cambiar varios objetos del panel frontal al
mismo tamao.

National Instruments | 1-19

Leccin 1

Explorando LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Seleccione el men desplegable Reorder cuando tenga objetos solapados y desee definir cul est
enfrente o detrs de otro. Seleccione uno de los objetos con la herramienta de posicionamiento y
despus seleccione Move Forward, Move Backward, Move To Front o Move To Back.

Introduzca trminos de bsqueda para localizar contenido en la Ayuda de LabVIEW.

Seleccione el botn Show Context Help Window para cambiar la visualizacin de la ventana
Context Help.

Enter Text aparece para recordarle que existe un nuevo valor para sustituir a uno antiguo. El botn
Enter Text desaparece cuando hace clic en l, pulsa la tecla <Enter> o hace clic en el espacio de
trabajo del panel frontal o del diagrama de bloques.

Consejo La tecla <Intro> del teclado numrico termina una entrada de texto, mientras
que la tecla <Intro> principal aade una nueva lnea. Para modificar este
comportamiento, seleccione ToolsOptions, seleccione Environment de la lista
Category y marque la opcin End text entry with Enter key .

E. Diagrama de bloques

Entre los objetos del diagrama de bloques se incluyen los terminales, subVIs, funciones,
estructuras y cables, los cuales transfieren datos entre otros objetos del diagrama de bloques.

1-20 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-12. Ejemplo de un diagrama de bloques y el panel frontal correspondiente

Terminales de indicador

Cables

Nodos

Terminales de control

Terminales

Los objetos de la ventana del panel frontal aparecen como terminales en el diagrama de bloques.
Los terminales son puertos de entrada y de salida que intercambian informacin entre el panel
frontal y el diagrama de bloques. Los terminales son anlogos a los parmetros y constantes de
lenguajes de programacin basados en texto. Existen terminales de control o de indicador y
terminales de nodo. Los terminales de control y de indicador estn asociados a los controles e
indicadores del panel frontal. Los datos que introduce en los controles del panel frontal (a y b en
el panel frontal anterior) entran en el diagrama de bloques mediante los terminales de control. A
continuacin, los datos entran en las funciones Add y Subtract. Cuando las funciones Add y
Subtract completan sus clculos, producen nuevos valores de datos. Los valores de datos fluyen a
los terminales indicadores, donde actualizan los indicadores del panel frontal (a+b y a-b en el panel
frontal anterior).
Los terminales de la figura 1-12 pertenecen a los controles e indicadores del panel frontal. Como
los terminales representan las entradas y salidas de su VI, los subVIs y las funciones tambin tienen
terminales, mostrados abajo. Por ejemplo, los paneles de conectores de las funciones Add y
Subtract tienen tres terminales de nodo. Para mostrar los terminales de la funcin en el diagrama
de bloques, haga clic con el botn derecho en el nodo de la funcin y seleccione Visible Items
Terminals en el men contextual.

National Instruments | 1-21

Leccin 1

Explorando LabVIEW

Controles, indicadores y constantes


Los controles, indicadores y constantes actan como entradas y salidas del algoritmo del diagrama
de bloques. Considere la implementacin del algoritmo para el rea de un tringulo:
rea = .5 * Base * Altura

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

En este algoritmo, Base y Altura son entradas y rea es una salida, como se ve en la figura 1-13.
Figura 1-13. Panel Frontal del rea de un tringulo

El usuario no cambiar ni acceder a la constante .5, por lo que no aparecer en el panel frontal a
menos que se incluya como documentacin del algoritmo.

La figura 1-14 muestra una posible implementacin de este algoritmo en un diagrama de bloques
de LabVIEW. Este diagrama de bloques tiene cuatro terminales distintos constituidos por dos
controles, una constante y un indicador.

Figura 1-14. Diagrama de bloques del rea de un tringulo con vista de iconos de los terminales

Controles

Indicador

Constante

Tenga en cuenta que los terminales del diagrama de bloques Base (cm) y Altura (cm) tienen un
aspecto distinto del terminal rea (cm2). Existen dos caractersticas distintivas entre un control y
un indicador en el diagrama de bloques. La primera es una flecha en el terminal que indica la
direccin del flujo de datos. Los controles tienen flechas que muestran los datos que salen del
terminal, mientras que el indicador tiene una flecha que muestra los datos que entran al terminal.

1-22 | ni.com

Manual de Curso LabVIEW Core 1

La segunda caracterstica distintiva es el borde alrededor del terminal. Los controles tienen un
borde ms grueso y los indicadores uno ms fino.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede ver terminales con o sin la vista de icono. La figura 1-15 muestra el mismo diagrama de
bloques sin utilizar la vista de icono de los terminales; sin embargo, existen las mismas
caractersticas distintivas entre los controles y los indicadores.
Figura 1-15. Diagrama de bloques del rea de un tringulo sin vista de iconos de los terminales

Nodos del diagrama de bloques

Los nodos son objetos del diagrama de bloques que tienen entradas o salidas y realizan operaciones
cuando se ejecuta un VI. Son anlogos a las instrucciones, operadores, funciones y subrutinas
en lenguajes de programacin basados en texto. Los nodos pueden ser funciones, subVIs o
estructuras. Las estructuras son elementos de control de procesos, como las estructuras Case,
los bucles For o los bucles While. Las funciones Add y Subtract de la figura 1-12 son nodos de
funcin.

Funciones

Las funciones son los elementos operativos fundamentales de LabVIEW. Las funciones no tienen
ventanas de panel frontal ni de diagrama de bloques pero s paneles de conectores. Al hacer doble
clic en una funcin slo se selecciona sta. Una funcin tiene un fondo amarillo plido en su icono.

SubVIs

Los subVIs son VIs que crea para usar dentro de otro VI o a los que accede en la paleta Functions.
Cualquier VI puede utilizarse como un subVI. Al hacer doble clic en un subVI del diagrama de
bloques, aparece la ventana del panel frontal. El panel frontal incluye controles e indicadores. El
diagrama de bloques incluye cables, iconos, funciones, posiblemente subVIs y otros objetos de
LabVIEW. La esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama
de bloques muestra el icono para el VI. Es el icono que aparece cuando sita el VI en un diagrama
de bloques como un subVI.

Los subVIs tambin pueden ser VIs Express. Los VIs Express son nodos que requieren un cableado
mnimo porque los configura con cuadros de dilogo. Use VIs Express para tareas comunes de
medicin. Puede guardar la configuracin de un VI Express como un subVI. Consulte el tema
Express VIs de la ayuda de LabVIEW para mostrar informacin detallada sobre la creacin de un
subVI a partir de una configuracin de un VI Express.

National Instruments | 1-23

Leccin 1

Explorando LabVIEW

LabVIEW usa iconos de colores para distinguir entre VIs Express y otros VIs del diagrama de
bloques. Los iconos para VIs Express aparecen en el diagrama de bloques como iconos rodeados
de un campo azul mientras que los iconos de subVIs tienen un campo amarillo.

Nodos expandibles frente a iconos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede mostrar VIs y VIs Express como iconos o como nodos expandibles. Los nodos expandibles
aparecen como iconos rodeados de un campo de color. Los subVIs aparecen con un campo amarillo
y los VIs Express con un campo azul. Use iconos si desea conservar espacio en el diagrama de
bloques. Use nodos expandibles para facilitar el cableado y para ayudar en la documentacin de
diagramas de bloques. De forma predeterminada, los subVIs aparecen como iconos en el diagrama
de bloques y los VIs Express aparecen como nodos expandibles. Para mostrar un subVI o VI
Express como un nodo expandible, haga clic con el botn derecho en el subVI o VI Express y quite
la marca junto al elemento del men contextual View As Icon.
Puede cambiar el tamao del nodo expandible para facilitar ms el cableado, pero tambin requiere
un espacio considerable en el diagrama de bloques. Complete los pasos siguientes para cambiar el
tamao de un nodo en el diagrama de bloques:
1. Mueva la herramienta de posicionamiento sobre el nodo. Aparecen los controladores de
tamao arriba y abajo del nodo.

2. Mueva el cursor sobre un controlador de tamao para cambiar el cursor al de cambio de


tamao.

3. Use el cursor de cambio de tamao para arrastrar el borde del nodo hacia abajo para mostrar
ms terminales.
4. Suelte el botn del ratn.

Para cancelar una operacin de cambio de tamao, arrastre el borde del nodo ms all de la ventana
del diagrama de bloques antes de soltar el botn del ratn.
La figura 1-16 muestra el VI Basic Function Generator como un nodo expandible con un tamao
diferente.
Figura 1-16. VI Basic Function Generator en varios modos de visualizacin

1-24 | ni.com

Manual de Curso LabVIEW Core 1

Si muestra un subVI o VI Express como un nodo expandible, no puede ver los


terminales de ese nodo ni habilitar el acceso a la base de datos para ese nodo.

Nota

Cables

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Con los cables se transfieren datos entre objetos del diagrama de bloques. En la figura 1-12, los
cables conectan los terminales de control y de indicador a la funcin Add y Subtract. Cada cable
tiene un solo origen de datos, pero puede cablearlo a numerosos VIs y funciones que leen los datos.
Los cables tienen distintos colores, estilos y grosores, en funcin de sus tipos de datos.
Un cable roto aparece como una lnea negra discontinua con una X roja en el medio, como se ve
abajo. Los cables se rompen por varias razones, como al intentar cablear dos objetos con tipos de
datos incompatibles.

La tabla 1-1 muestra los tipos de cable ms comunes.

Tabla 1-1. Tipos de cables comunes

Tipo de cable

Escalar

Array 1D

Array 2D

Color

Numrico

Naranja (coma flotante),


Azul (nmero entero)

Boleano

Verde

Cadena de
caracteres

Rosa

En LabVIEW se usan cables para conectar varios terminales entre s y pasar datos a un VI. Debe
conectar los cables a las entradas y salidas que sean compatibles con los datos que se transfieren
con el cable. Por ejemplo, no puede cablear una salida de array a una entrada numrica. Adems,
la direccin de los cables debe ser correcta. Debe conectar los cables slo a una entrada y al menos
a una salida. Por ejemplo, no puede cablear dos indicadores entre s. Los componentes que
determinan la compatibilidad del cableado son el tipo de datos del control o el indicador y el tipo
de datos del terminal.

Tipos de datos

Los tipos de datos indican qu objetos, entradas y salidas pueden cablearse entre s. Por ejemplo,
si un conmutador tiene un borde verde, puede cablear un conmutador a cualquier entrada con una
etiqueta verde en un VI Express. Si un mando tiene un borde naranja, puede cablear un mando a
cualquier entrada con una etiqueta naranja. Sin embargo, no puede cablear un mando naranja a una
entrada con una etiqueta verde. Tenga en cuenta que los cables tienen el mismo color que el
terminal.

National Instruments | 1-25

Leccin 1

Explorando LabVIEW

Cableado automtico de objetos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Cuando mueve un objeto seleccionado cerca de otros objetos del diagrama de bloques, LabVIEW
traza cables temporales para mostrarle conexiones vlidas. Cuando suelta el botn del ratn para
colocar el objeto en el diagrama de bloques, LabVIEW conecta automticamente los cables.
Tambin puede cablear automticamente objetos que ya estn en el diagrama de bloques.
LabVIEW conecta los terminales que combinan mejor y no conecta los que no combinan.
Cambie el cableado automtico pulsando la barra espaciadora mientras mueve un objeto con la
herramienta de posicionamiento.

De forma predeterminada, el cableado automtico se activa cuando selecciona un objeto de la


paleta Functions o cuando copia un objeto que ya est en el diagrama de bloques pulsando la tecla
<Ctrl> y arrastrando el objeto. El cableado automtico se desactiva de forma predeterminada
cuando usa la herramienta de posicionamiento para mover un objeto que ya est en el diagrama de
bloques.

Puede ajustar la configuracin del cableado automtico seleccionando ToolsOptions y despus


Block Diagram en la lista Category.

Cableado manual de objetos

Cuando pasa la herramienta de cableado sobre un terminal, aparecer una ayuda con el nombre del
terminal. Adems, el terminal parpadea en la ventana Context Help y en el icono para ayudarle a
comprobar que est cableando en el terminal correcto. Para cablear objetos entre s, pase la
herramienta de cableado por el primer terminal, haga clic, pase el cursor sobre el segundo terminal
y haga clic de nuevo. Despus de cablear, puede hacer clic con el botn derecho en el cable y
seleccionar Clean Up Wire desde el men contextual para que LabVIEW elija automticamente
una ruta para el cable. Si tiene que eliminar cables rotos, pulse <Ctrl-B> para eliminar todos los
cables rotos del diagrama de bloques.

Paleta de funciones

La paleta Functions contiene los VIs, funciones y constantes que utiliza para crear el diagrama de
bloques. Se accede a la paleta Functions desde el diagrama de bloques seleccionando View
Functions Palette. La paleta Functions se divide en varias categoras; puede mostrar u ocultar
categoras segn sus necesidades. La figura 1-17 muestra una paleta Functions con todas las
categoras mostradas y la categora Programming expandida. Durante este curso, trabajar
principalmente en la categora Programming, pero tambin usar otras categoras o subpaletas.

1-26 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-17. Paleta de funciones

Para mostrar u ocultar categoras, seleccione el botn Customize en la paleta y seleccione o


deseleccione la opcin Change Visible Palettes.

Barra de herramientas del diagrama de bloques

Cuando ejecuta un VI, aparece una serie de botones en la barra de herramientas del diagrama de
bloques que puede utilizar para depurar el VI. La siguiente barra de herramientas aparece en el
diagrama de bloques.

Haga clic en el botn Highlight Execution para mostrar una animacin de la ejecucin del
diagrama de bloques cuando ejecute el VI. Observe el flujo de datos a travs del diagrama de
bloques. Haga clic en el botn de nuevo para desactivar el resaltado de la ejecucin.

National Instruments | 1-27

Leccin 1

Explorando LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Haga clic en el botn Retain Wire Values para guardar los valores de los cables en cada punto
del flujo de ejecucin de modo que cuando coloque una sonda en el cable, pueda conservar
inmediatamente el valor ms reciente que pas por el cable. Debe ejecutar correctamente el VI al
menos una vez antes de poder conservar los valores de los cables.

Haga clic en el botn Step Into para abrir un nodo y pausar la ejecucin. Haciendo clic en el botn
Step Into de nuevo, se ejecuta la primera accin y se pausa la ejecucin en siguiente accin del
subVI o de la estructura. Tambin puede pulsar las teclas <Ctrl> y la flecha abajo. Ejecutar paso a
paso un VI permite revisar el VI nodo a nodo. Cada nodo parpadea para indicar cundo est listo
para ejecutarse.

Haga clic en el botn Step Over para ejecutar un nodo y pausar la ejecucin en el siguiente nodo.
Tambin puede pulsar las teclas <Ctrl> y la flecha derecha. Al pasar por encima del nodo, ejecuta
el nodo pero no paso a paso.

Haga clic en el botn Step Out para terminar de ejecutar el nodo actual y pausar la ejecucin.
Cuando se termina de ejecutar el VI, se atena el botn Step Out. Tambin puede pulsar las teclas
<Ctrl> y la flecha arriba. Al salir de un nodo, se completa la ejecucin paso a paso del nodo y se
pasa al siguiente nodo.

Haga clic en el botn Clean Up Diagram para redirigir automticamente todos los cables
existentes y reordenar objetos del diagrama de bloques para generar un diseo ms limpio. Para
configurar las opciones de limpieza seleccione ToolsOptions para mostrar el cuadro de dilogo
Options y seleccione Block Diagram de la lista Category. Puede configurar las opciones en la
seccin Block Diagram Cleanup.

El botn Warning aparece si un VI incluye una advertencia y marc la casilla de verificacin


Show Warnings en la ventana Error List. Una advertencia indica que existe un posible problema
con el diagrama de bloques, pero no impide que se ejecute el VI.

1-28 | ni.com

Manual de Curso LabVIEW Core 1

Utilidades de ayuda de LabVIEW


Use la ventana Context Help, la Ayuda de LabVIEW y el NI Example Finder para ayudarle a crear
y modificar VIs. Consulte la Ayuda de LabVIEW y los manuales para obtener informacin
adicional acerca de LabVIEW.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Ventana Context Help

La ventana Context Help muestra informacin bsica sobre los diferentes objetos de LabVIEW
cuando mueve el cursor sobre cada uno de ellos. Para ver la ventana Context Help, seleccione
HelpShow Context Help, pulse las teclas <Ctrl-H> o haga clic en el botn Show Context Help
Window de la barra de herramientas.

Cuando mueva el cursor sobre los objetos del panel frontal y del diagrama de bloques, la ventana
Context Help mostrar el icono para subVIs, funciones, constantes, controles e indicadores,
con cables acoplados a cada terminal. Cuando mueva el cursor sobre las opciones del cuadro de
dilogo, la ventana Context Help mostrar sus descripciones.

En la ventana Context Help, las etiquetas de terminales obligatorios aparecen en negrita, los
terminales recomendados como texto sin formato y los opcionales aparecen atenuados. Las
etiquetas de terminales opcionales no aparecen si hace clic en el botn Hide Optional Terminals
and Full Path en la ventana Context Help.

Figura 1-18. Ventana Context Help

National Instruments | 1-29

Leccin 1

Explorando LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Haga clic en el botn Show Optional Terminals and Full Path situado en la esquina inferior
izquierda de la ventana Context Help para ver los terminales opcionales de un panel de conectores
y la ruta completa de un VI. Los terminales opcionales aparecen como cables cortados,
informndole de que existen otras conexiones. El modo detallado muestra todos los terminales,
como en la figura 1-19.

Figura 1-19. Ventana Context Help detallada

Haga clic en el botn Lock Context Help para bloquear el contenido actual de la ventana Context
Help. Cuando se bloquea el contenido, si mueve el cursor sobre otro objeto, no cambiar el
contenido de la ventana. Para desbloquear la ventana, haga clic de nuevo en el botn. Tambin
puede acceder a esta opcin desde el men Help.

Si existe un tema en la Ayuda de LabVIEW asociado a un objeto que se describe en la ventana


Context Help, aparecer un enlace azul Detailed help en la ventana Context Help. Asimismo,
el botn More Help se encontrar activado. Haga clic en el enlace o en el botn para mostrar
LabVIEW Help y obtener informacin adicional sobre el objeto.

LabVIEW Help

Puede acceder a la Ayuda de LabVIEW haciendo clic en el botn More Help de la ventana Context
Help , seleccionando HelpLabVIEW Help, o haciendo clic en el enlace azul Detailed Help de la
ventana Context Help. Tambin puede hacer clic con el botn derecho en un objeto y seleccionar
Help en el men contextual.

1-30 | ni.com

Manual de Curso LabVIEW Core 1

LabVIEW Help contiene descripciones detalladas de la mayora de las paletas, mens,


herramientas, VIs y funciones. La Ayuda de LabVIEW tambin incluye instrucciones paso a paso
para utilizar las funciones de LabVIEW. La Ayuda de LabVIEW incluye enlaces a los siguientes
recursos:
LabVIEW Documentation Resources, que describe documentos en lnea e impresos para
ayudar a los usuarios nuevos y con experiencia e incluye versiones en PDF de todos los
manuales de LabVIEW.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Recursos de soporte tcnico en el sitio Web de National Instruments, como NI Developer Zone,
KnowledgeBase y Product Manuals Library (Biblioteca de Manuales de Producto).

NI Example Finder

Use NI Example Finder para explorar o buscar ejemplos instalados en su ordenador o en


NI Developer Zone en ni.com/zone. Estos ejemplos demuestran cmo utilizar LabVIEW para
realizar numerosas tareas de prueba, medidas, control y diseo. Seleccione HelpFind Examples
o haga clic en el enlace Find Examples de la seccin Examples de la ventana Getting Started
para lanzar NI Example Finder.

Los ejemplos pueden mostrarle cmo utilizar VIs o funciones especficas. Puede hacer clic con el
botn derecho en un VI o funcin del diagrama de bloques o en una paleta fijada y seleccionar
Examples desde el men contextual para ver un tema de ayuda con enlaces a ejemplos para ese VI
o funcin. Puede modificar un VI de ejemplo para ajustarse a una aplicacin o puede copiar y pegar
desde uno o ms ejemplos en un VI que haya creado.

National Instruments | 1-31

Leccin 1

Explorando LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-20. NI Example Finder

F. Bsqueda de controles, VIs y funciones

Cuando selecciona ViewControls o ViewFunctions para abrir las paletas Controls y


Functions, aparecen dos botones en la parte superior de la paleta.

Search: cambia la paleta al modo de bsqueda para poder realizar bsquedas de texto y encontrar
controles, VIs o funciones en las paletas. Con la paleta en el modo de bsqueda, haga clic en el
botn Return para salir del modo de bsqueda y volver a la paleta.

Customize Ofrece opciones para seleccionar un formato para la paleta actual, mostrando u
ocultando categoras para todas las paletas y clasificando elementos de los formatos Text y
Tree alfabticamente. Seleccione Options del men contextual para mostrar la pgina
Controls/Functions Palettes del cuadro de dilogo Options , donde puede seleccionar un formato
para todas las paletas. Este botn slo aparece si hace clic en la chincheta de la esquina superior
izquierda de una paleta para fijarla.

1-32 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Hasta que se familiarice con la ubicacin de los VIs y las funciones, busque la funcin o VI con el
botn Search. Por ejemplo, si desea buscar la funcin Random Number, haga clic en el botn
Search en la paleta Functions y empiece a escribir Random Number en el cuadro de texto de la
parte superior de la paleta. LabVIEW muestra todos los elementos coincidentes que empiecen por
el texto escrito o que lo contengan. Puede hacer clic en uno de los resultados de bsqueda y
arrastrarlo al diagrama de bloques, como en la figura 1-21.
Figura 1-21. Bsqueda de un objeto en la paleta Functions

Haga doble clic en el resultado de bsqueda para resaltar su ubicacin en la paleta. Si se trata de
un objeto que vaya a usar con frecuencia, puede aadirlo a su categora Favorites. Haga clic con el
botn derecho en el objeto de la paleta y seleccione Add Item to Favorites, como se ve en la
figura 1-22.

National Instruments | 1-33

Leccin 1

Explorando LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-22. Aadir un elemento a la categora Favorites de una paleta

Parecido al botn de Search, usted puede usar el cuadro de dilogo Quick Drop para especificar
una paleta de objetos por nombre y emplazar el objeto en el diagrama de bloques o en el panel
frontal. Adems de las paletas de objetos, usted puede tambin especificar objetos de proyecto por
nombre en el cuadro de dilogo Quick Drop.

Para mostrar el cuadro de dilogo Quick Drop, presione <Ctrl-Space> o seleccione ViewQuick
Drop. Escriba el nombre del objeto que quiere aadir al diagrama de bloques o al panel frontal.
LabVIEW mostrar los resultados en la lista Name Match List. Para adjuntar el objeto
seleccinelo con el cursor, presione la tecla <Enter>, haga doble-clic en el nombre del objeto en la
lista, o haga clic en el diagrama de bloques o el panel frontal. Haga clic en el lugar en el diagrama
de bloques o en el panel frontal donde quiera aadir el objeto.

1-34 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-23. Buscando un objeto en el cuadro de dilogo Quick Drop

G. Seleccin de una herramienta

Puede crear, modificar y depurar VIs utilizando las herramientas que ofrece LabVIEW. Una
herramienta es un modo de funcionamiento especial del cursor del ratn. El modo de
funcionamiento del cursor se corresponde con el icono de la herramienta seleccionada. LabVIEW
elige qu herramienta seleccionar en funcin de la ubicacin actual del ratn.
Figura 1-24. Paleta Tools

Puede elegir manualmente la herramienta que necesita seleccionndola en la


paleta Tools. Seleccione ViewTools Palette para mostrar la paleta Tools.

Consejo

National Instruments | 1-35

Leccin 1

Explorando LabVIEW

Herramienta de operaciones

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Cuando el cursor del ratn cambia al icono mostrado abajo, la herramienta de operaciones est
operativa. Use la herramienta de operaciones para cambiar los valores de un control. Por ejemplo,
en la figura 1-25 la herramienta de operaciones mueve el puntero del control deslizante horizontal.
Cuando el ratn pasa por el puntero, el cursor accede automticamente a la herramienta de
operaciones.

Figura 1-25. Uso de la herramienta de operaciones

La herramienta de operaciones se utiliza principalmente en la ventana del panel frontal, pero


tambin puede utilizar esta herramienta de la ventana del diagrama de bloques para cambiar el
valor de una constante booleana.

Herramienta de posicionamiento

Cuando el cursor del ratn cambia al icono mostrado abajo, la herramienta de posicionamiento est
operativa. Use la herramienta de posicionamiento para seleccionar objetos o cambiar su tamao.
Por ejemplo, en la figura 1-26 la herramienta de posicionamiento selecciona el control numrico
Number of Measurements. Tras seleccionar un objeto, puede moverlo, copiarlo o eliminarlo.
Cuando el ratn pasa por el borde de un objeto, el cursor accede automticamente a la herramienta
de posicionamiento.

1-36 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-26. Uso de la herramienta de posicionamiento para seleccionar un objeto

Si el ratn pasa por encima de un nodo de cambio de tamao de un objeto, el modo del cursor
cambia para indicar que puede cambiar su tamao, como se ve en la figura 1-27. Observe que el
cursor se encuentra sobre una esquina del grfico XY en un nodo de cambio de tamao y el modo
del cursor cambia a una flecha de dos puntas.
Figura 1-27. Uso de la herramienta de posicionamiento para cambiar el tamao de un objeto

National Instruments | 1-37

Leccin 1

Explorando LabVIEW

Puede utilizar la herramienta de posicionamiento en la ventana del panel frontal y en el diagrama


de bloques.

Herramienta de etiquetado

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Cuando el cursor del ratn cambia al icono mostrado abajo, la herramienta de etiquetado est
operativa. Use la herramienta de etiquetado para escribir texto en un control, para modificar texto
y para crear etiquetas libres. Por ejemplo, en la figura 1-28 la herramienta de etiquetado escribe
texto en el control numrico Number of Measurements. Cuando el ratn pasa por el interior del
control, el cursor accede automticamente a la herramienta de etiquetado. Haga clic una vez para
situar un cursor dentro del control. A continuacin, haga doble clic para seleccionar el texto actual.

Figura 1-28. Uso de la herramienta de etiquetado

Cuando no est en una zona especfica de una ventana del panel frontal o una ventana del diagrama
de bloques que accede a un determinado modo del ratn, el cursor aparecer como una cruz. Si se
habilita la seleccin de herramienta automtica, puede hacer doble clic en cualquier espacio abierto
para acceder a la herramienta de etiquetado y crear una etiqueta libre.

Herramienta de cableado

Cuando el cursor del ratn cambia al icono mostrado abajo, la herramienta de cableado est
operativa. Use la herramienta de cableado para cablear objetos entre s que estn en el diagrama de
bloques. Por ejemplo, en la figura 1-29 la herramienta de cableado cablea el terminal Number of

1-38 | ni.com

Manual de Curso LabVIEW Core 1

Measurements al terminal de contaje para el bucle For. Cuando el ratn pasa por el punto de salida
o entrada de un terminal o por un cable, el cursor accede automticamente a la herramienta de
cableado.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-29. Uso de la herramienta de cableado

La herramienta de cableado funciona principalmente con la ventana del diagrama de bloques y


cuando crea un panel de conectores en la ventana del panel frontal.

Otras herramientas a las que se accede desde la paleta


Puede acceder a las herramientas de operaciones, posicionamiento, etiquetado y cableado
directamente desde la paleta Tools, en lugar de usar el modo de seleccin automtica de la
herramienta. Seleccione ViewTools Palette para mostrar la paleta Tools.
Figura 1-30. La paleta Tools

National Instruments | 1-39

Leccin 1

Explorando LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El elemento superior de la paleta Tools es el botn Automatic Tool Selection. Cuando se


selecciona, LabVIEW elige automticamente una herramienta en funcin de la ubicacin de su
cursor. Puede desactivar la seleccin automtica de la herramienta deseleccionando el elemento o
seleccionando otro elemento de la paleta. Existen otras herramientas en la paleta, descritas abajo:

Use la herramienta Object Shortcut Menu para acceder a un men contextual del objeto con el
botn izquierdo del ratn.

Use la herramienta de desplazamiento para desplazarse por las ventanas sin utilizar barras de
desplazamiento.

Use la herramienta de puntos de interrupcin para establecer puntos de interrupcin en VI,


funciones, nodos, cables y estructuras para pausar la ejecucin en esa ubicacin.

Use la herramienta de sonda para crear sondas en cables del diagrama de bloques. Use la
herramienta de sonda para comprobar valores intermedios de un VI que produce resultados
cuestionables o inesperados.

Use la herramienta de copiar color para copiar colores y pegarlos con la herramienta de color.

Use la herramienta de color y el color escogido para darle color a un objeto. La herramienta de
color tambin muestra los ajustes de color de primer plano y de fondo actuales.

Seleccione la herramienta de color y haga clic con el botn derecho en un objeto o espacio de
trabajo para ver el selector de color.

1-40 | ni.com

Manual de Curso LabVIEW Core 1

H. Flujo de datos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

LabVIEW sigue un modelo de flujo de datos para ejecutar VIs. Se ejecuta un nodo del diagrama
de bloques cuando recibe todas las entradas necesarias. Cuando se ejecuta un nodo, produce datos
de salida y pasa los datos al siguiente nodo de la ruta del flujo de datos. El movimiento de los datos
a travs de los nodos determina el orden de ejecucin de los VIs y las funciones del diagrama de
bloques.
Visual Basic, C++, JAVA y la mayora del resto de lenguajes de programacin basados en texto
siguen un modelo de flujo de control de la ejecucin del programa. En el flujo de control, el orden
secuencial de los elementos del programa determina el orden de ejecucin de un programa.

Para ver un ejemplo de programacin de flujo de datos, piense en un diagrama de bloques que suma
dos nmeros y despus resta 50,00 del resultado de la suma, como en la figura 1-31. En este caso,
el diagrama de bloques se ejecuta de izquierda a derecha, no porque los objetos estn situados en
ese orden, sino porque la funcin Subtract no puede ejecutarse hasta que la funcin Add termine
de ejecutarse y pase los datos a la funcin Subtract. Recuerde que un nodo se ejecuta slo cuando
existen datos de todos sus terminales de entrada y suministra datos a los terminales de salida slo
cuando el nodo termina su ejecucin.
Figura 1-31. Ejemplo de programacin de flujo de datos

En la figura 1-32, piense en qu segmento de cdigo se ejecutara primero, la funcin Add,


Random Number o Divide. No puede saberlo, ya que las entradas de las funciones Add y Divide
estn disponibles a la vez, mientras que la funcin Random Number no tiene entradas. En una
situacin en la que un segmento de cdigo debe ejecutarse antes que otro y en la que no existe
dependencia de datos entre las funciones, use otros mtodos de programacin, como clusters de
errores, para forzar el orden de ejecucin. Consulte la leccin 5, Creando y aprovechando
estructuras de datos para obtener informacin adicional acerca de los clusters de error.
Figura 1-32. Ejemplo de flujo de datos para segmentos de cdigos mltiples

National Instruments | 1-41

Leccin 1

Explorando LabVIEW

I. Creacin de un VI simple

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

La mayora de los VIs de LabVIEW desempean tres tareas principales: adquirir ciertos tipos de
datos, analizar los datos adquiridos y presentar el resultado. Cuando cada una de estas partes es
simple, puede completar todo el VI con muy pocos objetos en el diagrama de bloques. Los VIs
Express estn diseados especficamente para completar operaciones comunes y muy utilizadas.
En esta seccin aprender algunos VIs Express que adquieren, analizan y presentan datos. Despus
aprender a crear un VI simple que utiliza estas tres tareas, como se ve en la figura 1-33.
Figura 1-33. Ventana del panel frontal y del diagrama de bloques de
ejemplo de adquisicin, anlisis y presentacin

En la paleta Functions, los VIs Express estn agrupados en la categora Express. Los VIs Express
utilizan el tipo de datos dinmico para pasar datos entre s.

1-42 | ni.com

Manual de Curso LabVIEW Core 1

Adquirir
Los VIs Express usados para las tareas de Adquisicin incluyen lo siguiente: Asistente DAQ,
Asistente de Instrumentos E/S, Seal Simulada, y Lectura desde un archivo de Medidas.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

DAQ Assistant
El DAQ Assistant adquiere datos con un dispositivo de adquisicin de datos. Debe utilizar este VI
Express con frecuencia a lo largo de este curso. Hasta que aprenda ms de la adquisicin de datos,
slo usar un canal del dispositivo de adquisicin de datos, CH0. Este canal est conectado al sensor
de temperatura en el BNC 2120. Puede tocar el sensor de temperatura para cambiar la lectura de
temperatura en el sensor.

Instrument I/O Assistant

El Instrument I/O Assistant adquiere datos de control de instrumentos, normalmente desde una
interfaz GPIB o de serie.

Simulate Signal

El VI Express Simulate Signal genera datos simulados como una onda sinusoidal.

Read From Measurement File

El VI Express Read From Measurement File lee un archivo que se cre utilizando el VI Express
Write To Measurement File. Concretamente lee los formatos de archivo LVM o TDM. Este VI
Express no lee archivos ASCII. Consulte la leccin 6, Administrando archivos y recursos
hardware para obtener informacin adicional acerca de leer datos de un archivo.

Analizar

Los VIs Express utilizados para la tarea Analizar incluyen los siguientes: Amplitude and Level
Measurements, Statistics y Tone Measurements.

National Instruments | 1-43

Leccin 1

Explorando LabVIEW

Amplitude and Level Measurements

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El VI Express Amplitude and Level Measurements mide la tensin en una seal. Mide la CC,
RMS, pico mximo, pico mnimo, de pico a pico, promedio del ciclo y RMS del ciclo.

Statistics

El VI Express Statistics calcula los datos estadsticos de una forma de onda. Incluye los valores
medio, suma, desviacin estndar y extremos.

Spectral Measurements

El VI Express Spectral Measurements realiza la medicin espectral de una forma de onda, como la
magnitud y la densidad espectral de potencia.

Medidas de tonos

El VI Express Tone Measurements busca un nico tono con la mxima frecuencia o la mayor
amplitud. Tambin busca la frecuencia y la amplitud de un nico tono.

Filter

El VI Express Filter procesa una seal mediante filtros y ventanas. Los filtros usados incluyen lo
siguiente: Pasoalto, Pasobajo, Pasobanda, Bloqueobanda, y Suavizado (Smoothing). Las ventanas
utilizadas son Butterworth, Chebyshev, Chebyshev inverso, Elptico y Bessel.

Presentar

Presente resultados utilizando VIs Express que realicen una funcin, como el VI Express Write to
Measurement File o indicadores que presentan datos en la ventana del panel frontal. Los
indicadores que ms se suelen utilizar para esta tarea son los grficos Waveform Chart, Waveform
Graph y XY Graph. Los VIs Express habituales son VI Express Write to Measurement File, VI
Express Build Text, DAQ Assistant e Instrument I/O Assistant. En este caso, el DAQ Assistant y
el Instrument I/O Assistant proporcionan datos de salida desde el ordenador al dispositivo DAQ o
un instrumento externo.

1-44 | ni.com

Manual de Curso LabVIEW Core 1

Write to Measurement File

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El VI Express Write to Measurement File escribe un archivo en formato de archivo LVM o TDMS.
Consulte la leccin 6, Administrando archivos y recursos hardware para obtener informacin
adicional acerca de escribir en archivos de medida.

Build Text

El VI Express Build Text crea texto, normalmente para mostrar en la ventana del panel frontal o
para exportar a un archivo o instrumento. Consulte la leccin 6, Administrando archivos y recursos
hardware para obtener informacin adicional acerca de crear cadenas de caracteres.

Ejecutar un VI

Tras configurar los VI Express y cablearlos, puede ejecutar el VI. Cuando termine de crear el VI,
haga clic en el botn Run en la barra de herramientas para ejecutar el VI.

Mientras se est ejecutando el VI, el icono del botn Run cambia a la figura mostrada abajo. Tras
terminar la ejecucin, el botn Run cambia a su estado original y los indicadores del panel frontal
contendrn datos.

Errores del botn Run

Si un VI no se ejecuta, es un VI roto o no ejecutable. El botn Run aparece roto cuando el VI que


est creando o modificando contiene errores.

Si el botn sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI est roto
y no puede ejecutarse.

Normalmente esto significa que una entrada necesaria no est cableada o que un cable est roto.
Pulse el botn Run roto para acceder a la ventana Error list. La ventana Error list muestra cada
error y describe el problema. Puede hacer doble clic en un error para acceder a l directamente.
Consulte la leccin 2, Resolucin de problemas y depuracin de VIs para obtener informacin
adicional acerca de depurar VIs.

National Instruments | 1-45

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Cuestionario
Consulte la figura 1-34 para responder a las preguntas de este cuestionario.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 1-34. Preguntas de flujos de datos

1. Qu funcin se ejecuta primero? Add or Subtract?


a. Add

b. Subtract

c. No se sabe

2. Qu funcin se ejecuta primero? Sine or Divide?


a. Sine

b. Divide

c. No se sabe

3. Qu funcin se ejecuta primero? Random Number, Divide or Add?


a. Random Number
b. Divide
c. Add

d. No se sabe

4. Qu funcin se ejecuta despus? Random Number, Subtract or Add?


a. Random Number
b. Subtract
c. Add

d. No se sabe

5. Cules son las tres partes de un VI?


a. Ventana del panel frontal

b. Ventana del diagrama de bloques


c. Proyecto

d. Panel de iconos y conectores

National Instruments | 1-47

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Autorrevisin: Respuestas

1. Qu funcin se ejecuta primero? Add or Subtract?


a. Add

b. Subtract

c. No se sabe

2. Qu funcin se ejecuta primero? Sine or Divide?


a. Sine

b. Divide

c. No se sabe

3. Qu funcin se ejecuta primero?


a. Random Number
b. Divide
c. Add

d. No se sabe

4. Qu funcin se ejecuta despus? Random, Subtract or Add?


a. Random Number
b. Subtract
c. Add

d. No se sabe

5. Cules son las tres partes de un VI?


a. Ventana del panel frontal

b. Ventana del diagrama de bloques


c. Proyecto

d. Panel de iconos y conectores

National Instruments | 1-49

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Leccin 1
Explorando LabVIEW

Notas

1-50 | ni.com

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Resolucin de problemas y
depuracin de VIs

Para ejecutar un VI, debe cablear todos los subVIs, funciones y estructuras con los tipos de datos
correctos para los terminales. A veces un VI produce datos o se ejecuta de un modo inesperado.
Puede utilizar LabVIEW para configurar cmo se ejecuta un VI y para identificar problemas con
la organizacin del diagrama de bloques o con los datos que pasan por el diagrama de bloques.

Temas

A. Correccin de VIs rotos


B. Tcnicas de depuracin

C. Datos sin definir o inesperados


D. Manejo de Errores

National Instruments | 2-1

Leccin 2

Resolucin de problemas y depuracin de VIs

A. Correccin de VIs rotos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Si un VI no se ejecuta, es un VI roto o no ejecutable. El botn Run aparece roto cuando el VI que


est creando o modificando contiene errores.

Si el botn sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI est roto
y no puede ejecutarse.

Buscar causas de VIs rotos

Las advertencias no impiden que ejecute un VI. Estn diseadas para ayudarle a evitar posibles
problemas en VIs. Sin embargo, los errores pueden romper un VI. Debe resolver los errores antes
de poder ejecutar el VI.

Haga clic en el botn Run o seleccione ViewError List para averiguar por qu se ha roto un VI.
La ventana Error list muestra cada uno de los errores. La seccin Items with errors muestra los
nombres de todos los elementos en memoria, como libreras de proyectos y VIs que contienen
errores. Si dos o ms elementos tienen el mismo nombre, esta seccin muestra la ubicacin en
concreto de cada elemento. La seccin errors and warnings muestra los errores y las advertencias
del VI que seleccione en la seccin Items with errors. La seccin Details describe los errores y
en algunos casos recomienda cmo corregirlos. Haga clic en el botn Help para ver un tema de
LabVIEW Help que describa el error en detalle e incluya instrucciones paso a paso para corregirlo.
Haga clic en el botn Show Error o haga doble clic en la descripcin del error para resaltar la zona
del diagrama de bloques o del panel frontal que contenga el error.

2-2 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 2-1. Ejemplo de cuadro de dilogo Error List

Causas habituales de VIs rotos

Esta lista contiene razones habituales de rotura de un VI mientras lo modifica:

El diagrama de bloques contiene un cable roto por un desajuste de tipos de datos o un extremo
suelto o desconectado. Consulte el tema Correcting Broken VIs de la Ayuda de LabVIEW para
obtener informacin acerca de corregir cables rotos.

Un terminal obligatorio del diagrama de bloques no est cableado. Consulte el tema Using
Wires to Link Block Diagram Objects en la Ayuda de LabVIEW para obtener informacin
acerca de configurar entradas y salidas obligatorias.

Un subVI est roto o modific su panel de conectores tras colocar su icono en el diagrama de
bloques del VI. Consulte el tema Creating SubVIs de LabVIEW Help para obtener informacin
acerca de subVIs.

B. Tcnicas de depuracin

Si un VI no est roto, pero obtiene datos inesperados, puede utilizar las siguientes tcnicas para
identificar y corregir problemas con el VI o el flujo de datos del diagrama de bloques:

Cablee los parmetros de salida y entrada de error en la base de la mayora de los VIs y
funciones integrados. Estos parmetros detectan errores encontrados en cada nodo del
diagrama de bloques e indican si ocurri un error y dnde. Tambin puede utilizar estos
parmetros en los VIs que cree.

Para eliminar todas las advertencias del VI, seleccione ViewError List y marque la casilla de
verificacin Show Warnings para ver todas las advertencias del VI. Determine las causas y
corrjalas en el VI.

National Instruments | 2-3

Leccin 2

Resolucin de problemas y depuracin de VIs

Haga triple clic en el cable con la herramienta de posicionamiento para resaltar toda su ruta y
asegurarse de que los cables se conecten a los terminales apropiados.

Use la ventana Context Help para comprobar los valores predeterminados de cada funcin y
subVI en el diagrama de bloques. Los VIs y las funciones pasan los valores predeterminados
si no estn cableadas las entradas recomendadas u opcionales. Por ejemplo, una entrada
booleana podra configurarse en TRUE si no est cableada.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Use el cuadro de dilogo Find para buscar subVIs, texto y otros objetos para corregir en el VI.

Seleccione ViewVI Hierarchy para buscar subVIs sin cablear. A diferencia de las funciones
sin cablear, los VIs sin cablear no siempre generan errores a menos que configure una entrada
como obligatoria. Si coloca por error un subVI sin cablear en el diagrama de bloques, se ejecuta
cuando lo hace el diagrama de bloques. Por lo tanto, el VI podra realizar acciones adicionales.

Resalte las ejecuciones para ver el movimiento de datos por el diagrama de bloques.

Ejecute paso a paso el VI para ver cada accin suya en el diagrama de bloques.

Use la herramienta de sonda para observar valores de datos intermedios y para comprobar la
salida de errores de VIs y funciones, en especial las que realizan E/S.

Haga clic en el botn Retain Wire Values en la barra de herramientas del diagrama de bloques
para conservar los valores del cable, que utilizar con sondas. Esta funcin permite comprobar
fcilmente valores de datos que se transfirieron por ltima vez por algn cable.

Use puntos de interrupcin para pausar la ejecucin, para poder ejecutar paso a paso o insertar
sondas.

Suspenda la ejecucin de un subVI para modificar valores de controles e indicadores, para


controlar el nmero de veces que se ejecuta o para volver al principio de la ejecucin del subVI.

Determine si los datos que pasa una funcin o subVI estn sin definir. Esto suele suceder con
los nmeros. Por ejemplo, en un punto del VI una operacin podra haber dividido un nmero
por cero, devolviendo Inf (infinito), mientras que las siguientes funciones o subVIs esperaban
nmeros.

Si el VI se ejecuta con ms lentitud de la esperada, confirme que desactiv resaltar la ejecucin


en subVIs. Asimismo, cierre los paneles frontales y los diagramas de bloques del subVI cuando
no los est utilizando, ya que las ventanas abiertas pueden afectar a la velocidad de ejecucin.

Compruebe la representacin de controles e indicadores para ver si se est produciendo


desbordamiento, porque convirti un nmero de coma flotante en un nmero entero o ste en
un nmero entero de menos bits. Por ejemplo, podra cablear un nmero entero de 16 bits en
una funcin que slo acepte nmeros enteros de 8 bits. Esto hace que la funcin convierta el
nmero entero de 16 bits en una representacin de 8 bits, con lo que podra perder datos.

Determine si algn bucle For ejecuta accidentalmente cero iteraciones y produce arrays vacos.

Compruebe que inicializ correctamente registros de desplazamiento, a menos que deseara que
guardaran datos desde una ejecucin del bucle a otra posterior.

Compruebe el orden de los elementos de clusters en los puntos de origen y de destino.


LabVIEW detecta los desajustes de tipos de datos y de tamaos de cluster durante la edicin,
pero no detecta desajustes de elementos del mismo tipo.

2-4 | ni.com

Manual de Curso LabVIEW Core 1

Compruebe el orden de ejecucin de los nodos.

Verifique que el VI no contenga subVIs ocultos. Podra haber ocultado un subVI


accidentalmente colocndolo directamente sobre otro nodo o disminuyendo el tamao de una
estructura sin mantener a la vista el subVI.

Contraste el conjunto de subVIs que utiliza el VI con los resultados de ViewBrowse


RelationshipsThis VIs SubVIs y ViewBrowse RelationshipsUnopened SubVIs para
determinar si existen subVIs adicionales. Abra tambin la ventana VI Hierarchy para ver los
subVIs de un VI. Para ayudarle a evitar resultados incorrectos por VIs ocultos, especifique
entradas obligatorias para los VIs.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Resaltado de ejecucin

Vea una animacin de la ejecucin del diagrama de bloques haciendo clic en el botn Highlight
Execution.

El resaltado de la ejecucin muestra el movimiento de datos en el diagrama de bloques desde un


nodo a otro utilizando las burbujas que se mueven a lo largo de los cables. Use el resaltado de la
ejecucin junto con la ejecucin paso a paso para ver cmo se mueven los valores de datos de nodo
a nodo a travs de un VI.
(Mdulo MathScript RT) En los nodos MathScript, el resaltado de la ejecucin muestra la

progresin desde una lnea de script a otra mediante una flecha azul que parpadea junto a la lnea
que se est ejecutando actualmente.
Nota

El resaltado de la ejecucin reduce enormemente la velocidad de ejecucin

del VI.

Figura 2-2. Ejemplo de uso de resaltado de la ejecucin

National Instruments | 2-5

Leccin 2

Resolucin de problemas y depuracin de VIs

Ejecucin paso a paso

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Ejecute paso a paso un VI para ver cada una de sus acciones en el diagrama de bloques mientras
se ejecuta el VI. Los botones de ejecucin paso a paso, mostrados a continuacin, afectan a la
ejecucin slo en un VI o subVI en el modo de ejecucin paso a paso.

Entre en el modo de ejecucin paso a paso haciendo clic en el botn Step Into o Step Over en la
barra de herramientas del diagrama de bloques. Mueva el cursor sobre el botn Step Into, Step
Over o Step Out para ver una ayuda que describe el siguiente paso si hace clic en ese botn. Puede
ejecutar los subVIs paso a paso o ejecutarlos de forma normal.
Cuando ejecuta un VI paso a paso, los nodos parpadean para indicar que estn listos para
ejecutarse. Si ejecuta un VI paso a paso con el resaltado de ejecucin activado, aparecer un
smbolo de ejecucin en los iconos de los subVIs que se estn ejecutando en ese momento.

Herramientas de sonda

Use la herramienta de sonda para comprobar valores intermedios en un cable mientras se ejecuta
un VI.

Use la herramienta de sonda si tiene un diagrama de bloques complicado con una serie de
operaciones, alguna de las cuales podra producir datos incorrectos. Use la herramienta de sonda
con el resaltado de la ejecucin, la ejecucin paso a paso y los puntos de interrupcin para
determinar si los datos son incorrectos y en qu punto. Si dispone de datos, la sonda
inmediatamente actualiza y muestra los datos en la Probe Watch Window durante el resaltado de
la ejecucin, la ejecucin paso a paso o cuando pause en un punto de interrupcin. Cuando se pause
la ejecucin en un nodo por la ejecucin paso a paso o por un punto de interrupcin, tambin puede
sondar el cable que acaba de ejecutar para ver el valor que fluy por ese cable.

Si quiere que una sonda muestre los datos que fluyen por un cable durante la
ejecucin de un VI, haga clic en el botn Retain Wire Values en la barra de herramientas
del diagrama de bloques.

Consejo

Tipos de sondas

Puede comprobar los valores intermedios de un cable cuando se ejecuta un VI utilizando una sonda
genrica, un indicador de la paleta Controls para ver los datos, una sonda suministrada, una sonda
suministrada personalizada o creando una nueva sonda.

2-6 | ni.com

Manual de Curso LabVIEW Core 1

Nota

(Mdulo MathScript RT) Puede ver los datos de un script en un nodo MathScript

mientras se ejecuta un VI utilizando la sonda LabVIEW MathScript.

Genricas

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Use la sonda genrica para ver los datos que pasan por un cable. Haga clic con el botn derecho en
un cable y seleccione Custom ProbeGeneric Probe desde el men contextual para usar la sonda
genrica.
La sonda genrica muestra los datos. No puede configurar la sonda genrica para responder a los
datos.

LabVIEW muestra la sonda genrica cuando hace clic con el botn derecho en un cable y
selecciona Probe, a menos que ya especificara una sonda personalizada o suministrada para el tipo
de datos.

Puede depurar una sonda personalizada de modo similar a un VI. Sin embargo, una sonda no puede
sondar su propio diagrama de bloques, ni el diagrama de bloques de cualquiera de sus subVIs. Al
depurar sondas, use la sonda genrica.

Uso de indicadores para ver datos

Tambin puede utilizar un indicador para ver los datos que pasan por un cable. Por ejemplo, si ve
datos numricos, puede utilizar un grfico como sonda para ver los datos. Haga clic con el botn
derecho en un cable y seleccione Custom ProbeControls desde el men contextual y seleccione
el indicador que desea usar. Tambin puede hacer clic en el icono Select a Control de la Paleta de
Controles y seleccionar cualquier control personalizado o definicin de tipo guardado en el
ordenador en un directorio compartido de un servidor. LabVIEW trata las definiciones de tipos
como controles personalizados cuando los utiliza para ver datos sondados.
Si el tipo de datos del indicador que seleccione no coincide con el tipo de datos del cable donde
hizo clic con el botn derecho, LabVIEW no colocar el indicador en el cable.

Suministradas

Las sondas suministradas son VIs que muestran informacin exhaustiva sobre los datos que pasan
por un cable. Por ejemplo, la sonda VI Refnum devuelve informacin sobre el nombre del VI, su
ruta y el valor hexadecimal de la referencia. Tambin puede utilizar una sonda suministrada para
responder en funcin de los datos que pasan por un cable. Por ejemplo, use una sonda Error en un
cluster de error para recibir el estado, el cdigo, el origen y la descripcin del error y especificar si
desea configurar un punto de interrupcin condicional si tiene lugar un error o una advertencia.

Las sondas suministradas aparecen en la parte superior del men contextual Custom Probe. Haga
clic con el botn derecho en un cable y seleccione Custom Probe desde el men contextual para
seleccionar una sonda suministrada. Slo aparecen en el men contextual las sondas que coinciden
con el tipo de datos del cable donde hizo clic con el botn derecho.

National Instruments | 2-7

Leccin 2

Resolucin de problemas y depuracin de VIs

Consulte el VI Using Supplied Probes en labview\examples\general\probes.llb para ver


un ejemplo de uso de sondas suministradas.

Personalizadas

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Use el cuadro de dilogo Create New Probe para crear una sonda en funcin de una sonda
existente o para crear una nueva. Haga clic con el botn derecho en un cable y seleccione Custom
ProbeNew desde el men contextual para ver el cuadro de dilogo Create New Probe. Cree una
sonda cuando desee tener ms control sobre cmo LabVIEW sonda los datos que fluyen por un
cable. Cuando crea una nueva sonda, el tipo de datos de la sonda coincide con el tipo de datos del
cable donde hizo clic con el botn derecho. Si desea modificar la sonda que cre, debe abrirla desde
el directorio donde la guard.
Tras seleccionar una sonda desde el men contextual Custom Probe, navegue hasta l utilizando
la opcin de la paleta Select a Control o cree una nueva sonda con el cuadro de dilogo Create
New Probe. Esa sonda ser la predeterminada para ese tipo de datos y LabVIEW la cargar cuando
haga clic con el botn derecho en un cable y seleccione Probe en el men contextual. LabVIEW
slo carga las sondas que coinciden exactamente con el tipo de datos del cable donde hizo clic con
el botn derecho. Es decir, una sonda numrica de coma flotante de doble precisin no puede
sondar un cable de un nmero entero sin signo de 32 bits, aunque LabVIEW puede convertir los
datos.
Si desea que una sonda personalizada sea la predeterminada para un tipo de datos
concreto, guarde la sonda en el directorio user.lib\_probes\default. No guarde
sondas en el directorio vi.lib\_probes porque LabVIEW sobrescribir esos archivos
cuando actualice o reinstale.

Nota

Puntos de interrupcin

Use la herramienta Breakpoint para establecer puntos de interrupcin en VIs, nodos o cables y
pausar la ejecucin en esa ubicacin.

Cuando configura un punto de interrupcin en un cable, la ejecucin se pausa una vez que los datos
pasan por el cable y el botn Pause aparece rojo. Site un punto de interrupcin en el diagrama de
bloques para pausar la ejecucin una vez que se ejecuten todos los nodos del diagrama de bloques.
El borde del diagrama de bloques aparece rojo y parpadea para reflejar la colocacin de un punto
de interrupcin.
Cuando un VI se pausa en un punto de interrupcin, LabVIEW pone en primer plano el diagrama
de bloques y usa un marco para resaltar el nodo, cable o lnea de script que contiene el punto de
interrupcin. Cuando mueve el cursor sobre un punto de interrupcin, la zona negra del cursor de
la herramienta de punto de interrupcin aparece blanca.

2-8 | ni.com

Manual de Curso LabVIEW Core 1

Cuando llega a un punto de interrupcin durante la ejecucin, el VI se pausa y el botn Pause


aparece rojo. Puede realizar las siguientes acciones:
Seguir paso a paso la ejecucin con los botones de ejecucin paso a paso.

Sondar cables para comprobar los valores intermedios.

Cambiar los valores de los controles del panel frontal.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Haga clic en el botn Pause para seguir ejecutando hasta el prximo punto de interrupcin o
hasta que termine de ejecutarse el VI.

Suspender la ejecucin

Suspenda la ejecucin de un subVI para modificar valores de controles e indicadores, para


controlar el nmero de veces que se ejecuta el subVI antes de volver al que le llama o para volver
al principio de la ejecucin del subVI. Puede hacer que todas las llamadas a un subVI empiecen
con la ejecucin suspendida o puede suspender una llamada concreta a un subVI.
Para suspender todas las llamadas a un subVI, bralo y seleccione OperateSuspend when
Called. El subVI se suspender automticamente cuando lo llame otro VI. Si selecciona este
elemento de men cuando ejecute paso a paso, el subVI no se suspender inmediatamente. El
subVI se suspender cuando lo llamen.

Para suspender una llamada a un subVI concreto, haga clic derecho en el nodo del subVI en el
diagrama de bloques y seleccione SubVI Node Setup en el men contextual. Active la casilla de
verificacin Suspend when called para suspender la ejecucin slo en esa instancia del subVI.
La ventana VI Hierarchy, que se abre seleccionando ViewVI Hierarchy, indica si un VI est
pausado o suspendido.
Un smbolo de flecha indica un VI que se est ejecutando con normalidad o paso a paso.

Un smbolo de pausa indica un VI pausado o suspendido.

Un smbolo de pausa verde, o un smbolo hueco en blanco y negro, indica un VI que se pausa
cuando le llaman.

Un smbolo de pausa rojo, o un smbolo relleno en blanco y negro, indica un VI que se est
pausando.

Un smbolo de signo de exclamacin indica que el subVI est suspendido.

Nota

Un VI puede suspenderse y pausarse a la vez.

National Instruments | 2-9

Leccin 2

Resolucin de problemas y depuracin de VIs

Determinar la instancia actual de un subVI

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Cuando pausa un subVI, el men desplegable Call list de la barra de herramientas muestra la
cadena de llamadas desde el VI superior al subVI. Esta lista no es la misma que ve cuando
selecciona ViewBrowse RelationshipsThis VIs Callers, que enumera todos los VIs que
llaman al subVI independientemente de si se estn ejecutando o no. Use el men Call list para
determinar la instancia actual del subVI si el diagrama de bloques contiene ms de una instancia.
Cuando selecciona un VI del men Call list, se abre su diagrama de bloques y LabVIEW resalta
la instancia actual del subVI.
Tambin puede utilizar la funcin Call Chain para ver la cadena de VIs que llaman al VI actual
hasta el VI de nivel superior.

C. Datos sin definir o inesperados

Los datos sin definir, que son NaN (no un nmero) o Inf (infinito), invalidan todas las operaciones
siguientes. Las operaciones de coma flotante devuelven los dos siguientes valores simblicos que
indican clculos imperfectos o resultados sin sentido:

NaN (no un nmero) representa un valor de coma flotante que producen las operaciones no

vlidas, como obtener la raz cuadrada de un nmero negativo.

Inf (infinito) representa un valor de coma flotante que producen las operaciones vlidas, como

dividir un nmero entre cero.

LabVIEW no comprueba las condiciones de desbordamiento o subdesbordamiento de valores


enteros. El desbordamiento y el subdesbordamiento para nmeros de coma flotante se rige por
IEEE 754, norma para la aritmtica de coma flotante de tipo binario.

Las operaciones de coma flotante propagan con fiabilidad NaN e Inf. Cuando convierte explcita
o implcitamente NaN o Inf en valores enteros o booleanos, los valores no tienen sentido. Por
ejemplo, dividir 1 entre cero produce Inf. Convertir Inf en un nmero entero de 16 bits produce
el valor 32.767, que parece ser un valor normal.

Antes de convertir datos en tipos de datos de nmeros enteros, use la herramienta de sonda para
comprobar los valores intermedios de coma flotante y ver su validez. Compruebe si hay NaN
cableando la funcin Not A Number/Path/Refnum?, al valor que sospecha que no es vlido.

No confe en valores especiales como NaN, Inf o arrays vacos para determinar si un VI produce
datos sin definir. Confirme que el VI produce datos definidos haciendo que el VI informe de un
error si encuentra una situacin que probablemente produzca datos sin definir.

Por ejemplo, si crea un VI que utiliza un array de entrada para auto-indexar un bucle For, determine
qu desea que haga el VI cuando el array de entrada est vaco: producir un cdigo de error de
salida, sustituir datos definidos por el valor que cree el bucle o utilizar una estructura Case que no
ejecute el bucle For si el array est vaco.

2-10 | ni.com

Manual de Curso LabVIEW Core 1

D. Gestin de errores
Aunque confe mucho en el VI que cree, no puede predecir todos los problemas que puede
encontrar un usuario. Sin un mecanismo para comprobar los errores, slo sabe que el VI no
funciona correctamente. La comprobacin de errores indica dnde y por qu se generan los errores.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

La gestin de errores es el mecanismo para anticipar, detectar y resolver advertencias y errores. La


gestin de errores es un componente esencial en el desarrollo de aplicaciones de LabVIEW. Con
la gestin de errores rpidamente localiza la fuente de errores de programacin. Sin ella, podra
observar un comportamiento inesperado pero necesitara un esfuerzo para encontrar el origen del
problema.

La gestin de errores tambin es muy valiosa cuando prueba una aplicacin, para garantizar que su
informe de errores sea significativo y que el cdigo de gestin de errores detenga con seguridad su
aplicacin cuando ocurra un error. Por ejemplo, durante la prueba de estrs est configurando
valores o condiciones que estn ms all de la capacidad operativa normal de su aplicacin, lo que
a menudo produce errores. Cuando ocurre dicho error, quiere cerrar correctamente la aplicacin.
La gestin de errores sigue siendo importante despus de desplegar una aplicacin. La gestin de
errores puede ayudar a detectar diferencias entre el sistema y el entorno (como en sistemas de
archivos, memoria y recursos del disco). National Instruments recomienda encarecidamente usar
tcnicas de gestin de errores.

Gestin de errores automtica

De forma predeterminada, LabVIEW controla automticamente cualquier error cuando un VI se


ejecuta suspendiendo la ejecucin, resaltando el subVI o la funcin donde ocurri el error y
mostrando un cuadro de dilogo de error. En el cuadro de dilogo de error, cada error tiene un
cdigo numrico para identificarlo y un mensaje de error especfico para mostrarlo al usuario.

Para desactivar la gestin de errores automtica para el VI actual, seleccione FileVI Properties
y seleccione Execution en el men desplegable Category. Para desactivar la gestin de errores
automtica de cualquier VI nuevo que cree, seleccione ToolsOptions y Block Diagram en la lista
Category. Para desactivar la gestin de errores automtica de un subVI o funcin de un VI, cablee
su parmetro error out al parmetro error in de otro subVI o funcin o a un indicador error out.

Gestin manual de errores

Puede elegir manejar los errores sin usar el manejo de errores automtico. Por ejemplo, si vence el
tiempo lmite de un VI de entrada y salida del diagrama de bloques, quiz no desee que se detenga
toda la aplicacin y mostrar un cuadro de dilogo de error. Quiz desee tambin que el VI vuelva
a intentarlo durante cierto tiempo.

National Instruments | 2-11

Leccin 2

Resolucin de problemas y depuracin de VIs

En LabVIEW puede tomar estas decisiones de control de errores en el diagrama de bloques del VI,
usando los siguientes mtodos:
Use el VI gestor de errores de LabVIEW y las funciones de la paleta Dialog & User Interface
para notificar a los usuarios. Por ejemplo, si LabVIEW encuentra un error, puede mostrar el
mensaje de error en varios tipos de cuadros de dilogo.

Use clusters de error y los parmetros error in y error out de la mayora de VIs y funciones
para manejar los errores. Por ejemplo, cuando un error es detectado puede solucionar el error
programticamente y despus cablear la salida error out del VI o funcin a la entrada error in
del VI Clear Errors.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Consejo Use el gestor de errores junto con las herramientas de depuracin para buscar
y gestionar errores.

Clusters de error

Los VIs y las funciones producen errores de uno de dos modos: con cdigos de error numricos o
con cluster de error. Normalmente las funciones usan cdigos de error numricos y los VIs usan
clusters de error, habitualmente con entradas y salidas de error. Use los controles e indicadores de
clusters de error para crear entradas y salidas de error en subVIs.
Consejo Todos los cluster de error en el diagrama de bloques tpicamente proveen la
misma funcionalidad estndar de error in y error out.

Los clusters error in y error out incluyen los siguientes componentes de informacin:

status es un valor booleano que produce TRUE si ocurri un error.

code es un nmero entero con signo de 32 bits que identifica el error numricamente. Un
cdigo de error que no sea cero junto con un status de FALSE indica una advertencia en lugar
de un error.

source es una cadena de caracteres que identifica dnde ocurri el error.

Errores

Un error est definido como un cluster de error con un valor de status TRUE, sin importar el valor
de cdigo.
Si LabVIEW detecta un error, el nodo pasa el error al siguiente nodo sin ejecutar esa parte del
cdigo.

Advertencias

Una advertencia est definida como un cluster de error con un valor code diferente de cero y un
valor de status FALSE. Aunque la mayora de los errores tienen valores de cdigo negativo y las
advertencias tienen valores de cdigo positivo, no es una verdad universal. Por lo tanto, debe
confiar en el valor de status y en el valor de code para detectar errores y advertencias.

2-12 | ni.com

Manual de Curso LabVIEW Core 1

Las advertencias normalmente se consideran menos graves que los errores. Algunas APIs y
funciones, como la funcin Match Regular Expression, slo informan de errores. Sin embargo,
otras APIs como VISA API para controlar instrumentos independientes slo informan de
advertencias.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

A diferencia de cuando ocurre un error, los nodos se ejecutan con normalidad incluso cuando
LabVIEW detecta una advertencia. Aunque el cdigo se ejecute con normalidad, es importante que
durante el desarrollo monitorice las advertencias para garantizar un comportamiento correcto de su
aplicacin.

Cuadro de dilogo Explain Error

Cuando ocurre un error, haga clic con el botn derecho en el borde del clster y seleccione Explain
Error del men contextual para abrir el cuadro de dilogo Explain Error. El cuadro de dilogo
Explain Error contiene informacin sobre el error. El men contextual incluye una opcin
Explain Warning si el VI contiene advertencias pero no errores.

Tambin puede acceder al cuadro de dilogo Explain Error desde el men HelpExplain Error.

Deteccin e informe de errores

La gestin de errores en LabVIEW sigue el modelo de flujo de datos. Al igual que los valores de
datos fluyen por un VI, tambin lo hace la informacin de errores.

Para implementar una buena gestin de errores, debe determinar las acciones que llevar a cabo
cuando ocurra un error en cualquier punto de su aplicacin. Para empezar, debe utilizar los
terminales de error en funciones y VIs. Como el cluster de error se implementa como un parmetro
de control de flujo, debe propagar errores cableando el cluster de salida del error out del primer
nodo que desee ejecutar al error in en el cluster del siguiente nodo que desee ejecutar. Debe seguir
este procedimiento para las secuencias de nodos.
Mientras se ejecuta el VI, LabVIEW comprueba si hay errores en cada nodo. Si LabVIEW no
encuentra errores, el nodo se ejecuta con normalidad. Si LabVIEW detecta un error o advertencia,
el nodo pasa el error al siguiente nodo. Cualquier subVIs que cree, debe implementar tambin este
control de flujo.
Cuando realiza cualquier tipo de entrada y salida (E/S), piense que pueden
ocurrir errores. Casi todas las funciones de E/S devuelven informacin de error. Incluya
la comprobacin de errores en los VIs, especialmente para operaciones de E/S (archivo,
serie, instrumentacin, adquisicin de datos y comunicacin) y cree un mecanismo para
gestionar bien los errores.
Consejo

National Instruments | 2-13

Leccin 2

Resolucin de problemas y depuracin de VIs

Propagando errores y advertencias

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Para garantizar que la informacin de advertencia se propague correctamente, es importante


utilizar registros de desplazamiento para cables del cluster de error en bucles para que la
informacin de advertencia se propague por todas las iteraciones. Consulte la figura 2-3 para ver
el uso correcto del registro de desplazamiento para propagar errores y advertencias a sucesivas
iteraciones del bucle.
Figura 2-3. Uso de Registros de Desplazamiento para Propagar Errores y Advertencias

Uniendo errores y advertencias

Use la funcin Merge Error para unir los valores del cluster error out desde secuencias paralelas.
Consulte la figura 2-4 para ver un ejemplo de unin de informacin de error desde secuencias de
nodos paralelos.
Figura 2-4. Unin de Errores Desde Varias Fuentes

Al final de su aplicacin, una vez unidas todas las fuentes de error en un cluster de error, debe
informar de los errores al usuario mediante el VI Simple Error Handler u otro mecanismo de
informe de errores.

VI Simple Error Handler

Por defecto, el VI Simple Error Handler muestra un cuadro de dilogo con una descripcin de
errores ocurridos y no informa de advertencias. Sin embargo, el VI Simple Error Handler puede
configurarse para otro comportamiento de gestin de errores. Puede seleccionar el tipo de cuadro
de dilogo con estas opciones:

No dialogNo muestra un cuadro de dilogo. Esto resulta til si desea tener control
programtico en la gestin de errores.

OK message (por defecto)Muestra un cuadro de dilogo con un solo botn OK. Una vez
que el usuario reconozca el cuadro de dilogo, el VI devuelve el control al VI principal.

2-14 | ni.com

Manual de Curso LabVIEW Core 1

Continue or stop messageMuestra un cuadro de dilogo con botones, que el usuario puede
utilizar para continuar o detener. Si el usuario selecciona Stop, el VI llama a la funcin Stop
para detener la ejecucin.

OK message with warningsMuestra un cuadro de dilogo con cualquier advertencia y un


solo botn OK. Una vez que el usuario reconozca el cuadro de dilogo, el VI devuelve el
control al VI principal.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Continue/Stop + WarningsMuestra un cuadro de dilogo con botones y advertencias, que


el usuario puede utilizar para continuar o detener. Si el usuario selecciona Stop, el VI llama a
la funcin Stop para detener la ejecucin.

Rangos de cdigos de error

Los VIs y las funciones en LabVIEW pueden devolver cdigos de error numricos. Cada producto
o grupo de VIs define un rango de cdigos de error. Consulte el tema Ranges of LabVIEW Error
Codes de la Ayuda de LabVIEW para ver las tablas de cdigos de error que muestra los cdigos de
error numricos y descripciones de cada producto y grupo de VIs.

Adems de definir los rangos de cdigos de error, LabVIEW reserva algunos rangos de cdigos de
error para que los utilice en su aplicacin. Puede definir cdigos de error personalizados en el rango
de -8999 a -8000, 5000 a 9999 o 500.000 a 599.999.

Algunos cdigos de error numricos son utilizados por ms de un grupo de VIs y funciones. Por
ejemplo, el error 65 es un cdigo de error de serie, que indica un tiempo lmite del puerto serie, y
un cdigo de error de red, que indica que ya se ha establecido una conexin de red.

National Instruments | 2-15

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Cuestionario
1. Cul de los siguientes resultar en una flecha rota?
a. Un subVI est roto

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. El diagrama incluye una divisin entre cero


c. Una entrada requerida de un subVI no est cableada

d. Una terminal Booleana est cableada a un indicador numrico

2. Cules de los siguientes elementos forman parte del contenido del cluster de error?
a. Status: Booleano

b. Error: Cadena de caracteres

c. Code: Nmeros enteros de 32 bits


d. Source: Cadena de caracteres

3. Todos los errores tienen cdigos de error negativo y todas las advertencias tienen cdigos de
error positivos.
a. Verdadero
b. Falso

4. La funcin Merge Errors concatena informacin de error desde varios orgenes.


a. Verdadero
b. Falso

National Instruments | 2-17

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Respuestas
1. Cul de los siguientes resultar en una flecha rota?
a. Un subVI est roto

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. El diagrama incluye una divisin entre cero


c. Una entrada requerida de un subVI no est cableada

d. Una terminal Booleana est cableada a un indicador numrico

2. Cules de los siguientes elementos forman parte del contenido del cluster de error?
a. Status: Booleano

b. Error: Cadena de caracteres

c. Code: Nmeros enteros de 32 bits


d. Source: Cadena de caracteres

3. Todos los errores tienen cdigos de error negativo y todas las advertencias tienen cdigos de
error positivos.
a. Verdadero
b. Falso

4. La funcin Merge Errors concatena informacin de error desde varios orgenes.


a. Verdadero
b. Falso

National Instruments | 2-19

Leccin 2

Resolucin de problemas y depuracin de VIs

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Notas

2-20 | ni.com

Implementacin de un VI

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Esta leccin le ensea cmo implementar cdigo en LabVIEW. Se explicar cmo disear una
interfaz de usuario, elegir un tipo de datos, documentar su cdigo, usar estructuras de bucles como
los bucles While y For, aadir temporizacin por software a su cdigo, mostrar sus datos como una
curva y tomar decisiones en su cdigo utilizando una estructura Case.

Temas

A. Panel frontal

B. Tipos de datos de LabVIEW


C. Documentacin de cdigo
D. Bucles While
E. Bucles For

F. Temporizacin de VIs

G. Retroalimentacin de datos en los bucles


H. Graficando datos Waveform Chart
I. Estructuras Case

National Instruments | 3-1

Leccin 3

Implementacin de un VI

A. Panel frontal
En la fase de diseo del mtodo de desarrollo de software se identifican las entradas y salidas del
problema. Esta identificacin conduce directamente al diseo de la ventana del panel frontal.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Las entradas para el diseo pueden venir de las siguientes acciones:

adquiriendo desde un dispositivo de adquisicin de datos o un multmetro

leyendo directamente desde un fichero

manipulando controles en el panel frontal

Puede mostrar las entradas del problema en el panel frontal con controles numricos, booleanos o
cadenas de caracteres pero no todas las entradas aparecen en el panel frontal.
Puede ver las salidas del problema con indicadores, como grficos o LEDs o registrar las salidas
en un fichero. Tambin puede extraer datos de un dispositivo con la generacin de seales.

Diseo de controles e indicadores

Al elegir controles e indicadores, asegrese de que sean apropiados para la tarea que desee realizar.
Por ejemplo, cuando quiera determinar la frecuencia de una onda sinusoidal, elija un control de
disco; cuando desee ver la temperatura, elija un indicador de termmetro.

Etiquetas

Etiquete con claridad los controles e indicadores. Estas etiquetas ayudan a los usuarios a identificar
el objetivo de cada control e indicador. Asimismo, el etiquetado claro ayuda a documentar su
cdigo en el diagrama de bloques. Las etiquetas de controles e indicadores se corresponden con los
nombres de los terminales del diagrama de bloques, como se muestra en la figura 3-1.
Figura 3-1. Los Controles e Indicadores del Panel Frontal aparecen en el Diagrama de Bloques

Ventana del panel frontal

3-2 | ni.com

Diagrama de bloques

Manual de Curso LabVIEW Core 1

Opciones de controles e indicadores

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede configurar valores predeterminados para los controles. La figura 3-2 muestra un valor
predeterminado de 35 C para el control Upper Temperature. Configurando un valor
predeterminado puede adoptar un valor razonable para un VI si el usuario no configura otro
valor durante el tiempo de ejecucin.
Complete los siguientes pasos para configurar un valor predeterminado de un control o un
indicador:
1. Escriba el valor deseado.

2. Haga clic con el botn derecho en el control o indicador y seleccione Data OperationsMake
Current Value Default en el men contextual.
Figura 3-2. Configuracin de valores predeterminados

Consejo

Tambin puede reinicializar los valores a sus valores predeterminados.

Para inicializar o reinicializar todos los controles e indicadores en el panel


frontal al mismo tiempo, seleccione EditMake Current Values Default o Edit
Reinitialize to Default Values desde el men de LabVIEW.
Consejo

National Instruments | 3-3

Leccin 3

Implementacin de un VI

B. Tipos de datos de LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Existen muchos tipos de datos. Ya aprendi tipos de datos numricos, booleanos y de cadena de
caracteres en la leccin 1, Explorando LabVIEW. Otros tipos de datos son los enumerados, los
dinmicos y otros. Incluso dentro de los tipos de datos numricos se distingue entre nmeros
enteros y fraccionales.

Terminales del diagrama de bloques y tipo de datos

Los terminales del diagrama de bloques comunican visualmente al usuario informacin sobre el
tipo de datos que representan. Por ejemplo, en la figura 3-3, Altura (cm) es un dato numrico en
coma flotante y doble precisin. Esto se indica por el color del terminal, naranja, y por el texto del
terminal, DBL.
Figura 3-3. Ejemplo de Tipo de Datos del Terminal

Los nombres de las terminales corresponden a las etiquetas de los controles e


indicadores en el panel frontal. Haga clic con el botn derecho en un terminal y
seleccione Find control o Find indicator en el men contextual para localizar un control
o un indicador en el panel frontal.

Consejo

Mens contextuales

Todos los objetos de LabVIEW tienen asociados mens contextuales, conocidos tambin como
mens abreviados, mens emergentes y mens de botn derecho. Cuando cree un VI, use los
elementos del men contextual para cambiar el aspecto o el comportamiento de los objetos del
panel frontal y del diagrama de bloques. Para acceder al men contextual, haga clic con el botn
derecho en el objeto.

3-4 | ni.com

Manual de Curso LabVIEW Core 1

La figura 3-4 muestra un men contextual para un control y un terminal.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-4. Menus de acceso directo para objetos en el panel frontal y diagrama de bloques

Cuadros de dilogo de propiedades

Los objetos tambin tienen cuadros de dilogo de propiedades que puede utilizar para cambiar
el aspecto o el comportamiento de los objetos. Haga clic con el botn derecho en un objeto y
seleccione Properties en el men contextual para acceder al cuadro de dilogo de propiedades de
un objeto. La figura 3-5 muestra el cuadro de dilogo de propiedades para el terminal Height (cm)
mostrado en la figura 3-4. Las opciones disponibles en el cuadro de dilogo de propiedades para
un objeto son similares a las opciones del men contextual de ese objeto.

National Instruments | 3-5

Leccin 3

Implementacin de un VI

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-5. Cuadro de dilogo de propiedades para una terminal numrica

Puede seleccionar varios objetos en el panel frontal o en el diagrama de bloques y modificar las
propiedades que compartan los objetos. Para seleccionar varios objetos, use la herramienta de
posicionamiento para arrastrar un rectngulo de seleccin alrededor de todos los objetos que desee
modificar o mantenga pulsada la tecla <Mays> mientras hace clic en cada objeto. Haga clic con
el botn derecho en un objeto de la seleccin y seleccione Properties en el men contextual para
acceder al cuadro de dilogo Properties. El cuadro de dilogo Properties slo muestra pestaas y
propiedades que comparten los objetos que seleccione. Seleccione objetos similares para mostrar
ms pestaas y propiedades. Si selecciona objetos que no comparten ninguna propiedad comn, el
cuadro de dilogo Properties no mostrar pestaas ni propiedades.

3-6 | ni.com

Manual de Curso LabVIEW Core 1

Tipos de datos numricos


El tipo de dato numrico representa nmeros de varias clases. Para cambiar el tipo de
representacin de un nmero, haga clic con el botn derecho en el control, indicador o constante
y seleccione Representation, como se ve en la figura 3-6.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-6. Representacin numrica

Cuando cablea dos o ms entradas numricas de distintas representaciones a una funcin, sta
normalmente devuelve los datos en la representacin ms grande o amplia. Las funciones obligan
las representaciones ms pequeas a las representaciones ms amplias posibles antes de la
ejecucin. LabVIEW coloca un punto de coercin en el terminal donde la conversin toma lugar.
Consulte la seccin Conversin numrica, para obtener informacin adicional.

El tipo de dato numrico incluye estas subcategoras de representacin: nmeros en coma flotante,
nmeros enteros con signo, nmeros enteros sin signo y nmeros complejos.

National Instruments | 3-7

Leccin 3

Implementacin de un VI

Nmeros en coma flotante


Los nmeros en coma flotante representan nmeros fraccionales. En LabVIEW, los nmeros en
coma flotante se representan con el color naranja.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Precisin simple (SGL): los nmeros en coma flotante de precisin simple tienen un formato de
precisin simple de 32 bits IEEE. Use nmeros de precisin simple, coma flotante cuando el ahorro
de memoria es importante y no sobrecargara el rango de los nmeros.

Doble precisin (DBL): los nmeros en coma flotante de doble precisin tienen un formato de
precisin doble de 64 bits IEEE. La doble precisin es el formato predeterminado para objetos
numricos. Use los nmeros en coma flotante de doble precisin para la mayora de las situaciones
Precisin extendida (EXT)Cuando guarda nmeros de precisin extendida al disco, LabVIEW
los almacena en una plataforma independiente con formato de 128-bit format. En memoria, el
tamao y precisin varan dependiendo de la plataforma. Use nmeros coma flotante de precisin
extendida solo cuando sea necesario. El rendimiento de la aritmtica de precisin extendida vara
entre plataformas.

Tipo de datos de punto fijo

El tipo de datos de punto fijo es numrico y representa un conjunto de nmeros racionales que
utilizan dgitos binarios o bits. A diferencia del tipo de datos en coma flotante, que permite que
vare el nmero total de bits que usa LabVIEW para representar nmeros, puede configurar los
nmeros de punto fijo para que usen siempre un nmero concreto de bits. As, el hardware y
los destinos que slo pueden almacenar y procesar datos con un nmero limitado o fijo de bits
podrn almacenar y procesar los nmeros. Puede especificar el rango y la precisin de nmeros de
punto fijo.
Para representar un nmero racional con el tipo de datos de punto fijo, el
denominador del nmero racional debe ser una potencia de 2, porque el sistema de
nmeros binarios es de base 2.
Nota

Use el tipo de datos de punto fijo cuando no necesite la funcionalidad dinmica de la representacin
de coma flotante o cuando desee trabajar con un destino que no admita la aritmtica de coma
flotante, como un destino FPGA.
Especifique la codificacin, la longitud de palabra y la longitud de palabra entera de un nmero de
punto fijo cuando desee que el nmero se adapte a cierto tamao de bits.

Codificacin: la codificacin binaria del nmero de punto fijo. Puede seleccionarse con signo o
sin signo. Si se selecciona con signo, el bit del signo es siempre el primero en la cadena de
caracteres de bits que representa los datos.

Longitud de palabra: el nmero total de bits de la cadena de caracteres de bits que usa LabVIEW
para representar todos los valores posibles de los datos de punto fijo. LabVIEW acepta una
longitud mxima de palabra de 64 bits. Ciertos destinos pueden limitar los datos a longitudes

3-8 | ni.com

Manual de Curso LabVIEW Core 1

menores de palabra. Si abre un VI en un destino y el VI contiene datos de punto fijo con longitudes
de palabra mayores que las que puede aceptar el destino, el VI contendr cables rotos. Consulte la
documentacin de un destino para determinar la mxima longitud de palabra que acepta.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Longitud de palabra entera: el nmero de bits enteros en una cadena de caracteres de bits que
usa LabVIEW para representar todos los posibles valores del dato de punto fijo o, dada una
posicin inicial a la izquierda o a la derecha del bit ms significativo, el nmero de bits a desplazar
la coma binaria y llegar al bit ms significativo. La longitud de palabra del nmero entero puede
ser mayor que la longitud de palabra, y puede ser positivo o negativo.

Nmeros enteros

Los nmeros enteros representan los nmeros naturales. Los nmeros enteros con signo pueden
ser positivos o negativos. Use los tipos de datos de nmeros enteros sin signo cuando sepa que
el nmero entero es siempre positivo. En LabVIEW, los nmeros enteros se representan con el
color azul.

Cuando LabVIEW convierte los nmeros en coma flotante en nmeros enteros, el VI redondea al
nmero entero ms cercano. Si el valor de entrada est en medio de dos enteros, la funcin
redondea al nmero entero par mas cercano.

Byte (I8): los nmeros enteros Byte tienen 8 bits de almacenamiento y un intervalo de -128 a 127.
Word (I16): los nmeros enteros Word tienen 16 bits de almacenamiento y un intervalo de -32.768
a 32.767.
Long (I32): los nmeros enteros Long tienen 32 bits de almacenamiento y un intervalo de
-2.147.483.648 a 2.147.483.647. En la mayora de los casos es mejor utilizar un nmero entero de
32 bits.
Quad (I64): los nmeros enteros Quad tienen 64 bits de almacenamiento y un intervalo de -1e19
a 1e19.
Byte (U8): los nmeros enteros sin signo Byte tienen 8 bits de almacenamiento y un intervalo de
0 a 255.

Word (U16): los nmeros enteros sin signo Word tienen 16 bits de almacenamiento y un intervalo
de 0 a 65.535.
Long (U32): los nmeros enteros sin signo Long tienen 32 bits de almacenamiento y un intervalo
de 0 a 4.294.967.295.

Quad (U64): los nmeros enteros sin signo Quad tienen 64 bits de almacenamiento y un intervalo
de 0 a 2e19.

National Instruments | 3-9

Leccin 3

Implementacin de un VI

Nmeros complejos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Los nmeros complejos son versiones concatenadas de nmeros en coma flotante con una parte
real e imaginaria. En LabVIEW, como los nmeros complejos son un tipo de nmero en coma
flotante, los nmeros complejos tambin se representan con el color naranja. Existen tres partes en
los nmeros complejos.
Complejo simple (CSG): los nmeros complejos de coma flotante de precisin simple constan de
valores reales e imaginarios y tienen un formato de precisin simple de 32 bits IEEE.
Complejo doble (CDB): los nmeros complejos de coma flotante de doble precisin constan de
valores reales e imaginarios y tienen un formato de doble precisin de 64 bits IEEE.
Complejo ampliado (CXT): los nmeros complejos de coma flotante de precisin ampliada
constan de valores reales e imaginarios y tienen un formato de precisin ampliada IEEE. En la
memoria, el tamao y la precisin de nmeros de precisin ampliada varan en funcin de la
plataforma. En Windows tienen un formato de precisin ampliada de 128 bits IEEE.

Conversin numrica

LabVIEW puede representar tipos de datos numricos como nmeros enteros con signo o sin
signo, valores numricos coma flotante o valores numricos complejos. Normalmente, cuando
cablea tipos distintos de representaciones en las entradas de una funcin, sta devuelve una salida
en el formato ms grande o amplio. Si usa un nmero entero con signo con un nmero entero sin
signo, lo convertir al nmero entero sin signo. Si usa un nmero entero sin signo con uno en coma
flotante, lo convertir a coma flotante. Si usa un nmero en coma flotante con un nmero complejo,
lo convertir al nmero complejo. Si usa dos nmeros del mismo tipo con distinto ancho de bits,
LabVIEW realizar la conversin al mayor de los dos anchos de bits.
Si el nmero de bits es el mismo, LabVIEW elige nmeros enteros sin signo en vez de con signo.
Por ejemplo, si cablea un DBL y un I32 a una funcin Multiply, el resultado es un DBL, como se
muestra en la figura 3-7. LabVIEW realizar la conversin al nmero entero con signo de 32 bits
porque utiliza menos bits que el valor numrico de doble precisin y de coma flotante. La entrada
inferior de la funcin Multiply muestra un punto rojo, llamado punto de conversin, que indica que
LabVIEW est realizando una conversin de datos.

3-10 | ni.com

Manual de Curso LabVIEW Core 1

Figura 3-7. Ejemplo de conversin numrica

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Punto de conversin

Valores booleanos

LabVIEW almacena datos booleanos como valores de 8 bits. Si el valor de 8 bits es cero, el valor
booleano es FALSE. Cualquier valor que no sea cero representar TRUE. En LabVIEW, el color
verde representa datos booleanos.

Los valores booleanos tambin tienen una accin mecnica asociada a ellos. Las dos acciones
principales son bloquear y conmutar. Puede seleccionar uno de los siguientes comportamientos de
botn:

Switch when pressed: cambia el valor del control cada vez que hace clic en l con la
herramienta de operaciones. La frecuencia con la que el VI lee el control no afecta a este
comportamiento.

Switch when released: cambia el valor del control slo despus de soltar el botn del ratn
mientras hace clic dentro del lmite grfico del control. La frecuencia con la que el VI lee el
control no afecta a este comportamiento.

Switch until released: cambia el valor del control cuando hace clic en l y conserva el nuevo
valor hasta que suelte el botn del ratn. En este momento, el control vuelve a su valor
predeterminado, al igual que el funcionamiento del timbre de una puerta. La frecuencia con la
que el VI lee el control no afecta a este comportamiento. No puede seleccionar este
comportamiento para un control de botones de radio.

Latch when pressed: cambia el valor del control cuando hace clic en l y conserva el nuevo
valor hasta que el VI lo lea una vez. En este momento, el control vuelve a su valor
predeterminado, aunque siga pulsando el botn del ratn. Este comportamiento es similar al de
un disyuntor y es til para detener un bucle While o para que el VI realice una accin slo una
vez cada vez que ajuste el control. No puede seleccionar este comportamiento para un control
de botones de radio.

Latch when released: cambia el valor del control slo despus de soltar el botn del ratn
dentro del lmite grfico del control. Cuando el VI lo lee una vez, el control vuelve a su valor
predeterminado. Este comportamiento funciona del mismo modo que los botones de los
cuadros de dilogo y del sistema. No puede seleccionar este comportamiento para un control
de botones de radio.

Latch until released: cambia el valor del control cuando hace clic en l y conserva el valor
hasta que el VI lo lea una vez o suelte el botn del ratn, en funcin de lo que ocurra en ltimo
lugar. No puede seleccionar este comportamiento para un control de botones de radio.

National Instruments | 3-11

Leccin 3

Implementacin de un VI

Para saber ms de la accin mecnica, experimente con el VI Mechanical Action of Booleans en


el NI Example Finder.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-8. Accin mecnica booleana

Cadenas de caracteres

Una cadena de caracteres es una secuencia de caracteres ASCII visualizables y no visualizables.


Las cadenas de caracteres tienen un formato independiente de las plataformas para la informacin
y los datos. Algunas de las aplicaciones ms comunes de las cadenas de caracteres son:

Generacin de mensajes de texto simples

Control de instrumentos enviando comandos de texto al instrumento y devolviendo valores de


datos en forma de cadenas de caracteres ASCII o binarias que despus convierte en valores
numricos.

Almacenamiento de datos numricos en disco. Para almacenar datos numricos en un fichero


ASCII, primero debe convertir los datos numricos en cadenas de caracteres antes de escribir
los datos en un fichero del disco.

Peticin o visualizacin de datos con cuadros de dilogo

En el panel frontal, las cadenas aparecen como tablas, cuadros de entrada de texto y etiquetas.
LabVIEW incluye VIs y funciones integradas que puede utilizar para manipular cadenas de
caracteres, como dar formato a cadenas de caracteres, analizar cadenas de caracteres y otras
modificaciones.
Consulte el tema ASCII Codes en LabVIEW Help para obtener informacin acerca de cdigos
ASCII y funciones de conversin.
En LabVIEW, las cadenas de caracteres se representan con el color rosa.

3-12 | ni.com

Manual de Curso LabVIEW Core 1

Haga clic con el botn derecho en el control o indicador de una cadena de caracteres del panel
frontal para seleccionar entre los tipos de visualizacin que aparecen en la tabla . La tabla tambin
muestra un ejemplo de mensaje para cada tipo de visualizacin.
Tabla 3-1. Tipos de visualizacin de cadenas de caracteres

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Tipo de
visualizacin

Descripcin

Mensaje

Visualizacin
normal

Muestra caracteres imprimibles


utilizando la fuente del control.
Los caracteres no visualizables
normalmente aparecen como
cuadros.

Existen cuatro tipos de


visualizacin. \ es una
barra invertida.

Visualizacin de
cdigos \

Muestra cdigos de barra invertida


para todos los caracteres no
visualizables.

There\sare\sfour\sdisplay\
stypes.\n\\\sis\sa\
sbackslash.

Visualizacin de
contrasea

Muestra un asterisco (*) para cada


carcter, incluidos los espacios.

**************************
*******************

Visualizacin
hexadecimal

Muestra el valor ASCII de cada


carcter en hexadecimal en lugar
del carcter.

5468
666F
6179
5C20
6B73

6572
7572
2074
6973
6C61

6520
2064
7970
2061
7368

6172
6973
6573
2062
2E

6520
706C
2E0A
6163

LabVIEW almacena cadenas de caracteres como un puntero a una estructura que contiene un valor
con una longitud de 4 bytes seguido de un array 1D de nmeros enteros de bytes (caracteres de
8 bits).

National Instruments | 3-13

Leccin 3

Implementacin de un VI

Enums

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Un enum (indicador, constante o control enumerado) es una combinacin de tipos de datos. Un


enum representa una pareja de valores, una cadena de caracteres y un numrico, donde el enum
puede ser uno de una lista de valores. Por ejemplo, si cre un tipo de enum llamado Mes, las parejas
de valores posibles para una variable Mes son Enero-0, Febrero-1, etc. hasta Diciembre-11. La
figura 3-9 muestra un ejemplo de estas parejas de datos en el cuadro de dilogo Properties para un
control enumerado.
Figura 3-9. Propiedades para el control enumerado Mes

3-14 | ni.com

Manual de Curso LabVIEW Core 1

Los enums resultan tiles porque es ms fcil manipular nmeros en el diagrama de bloques que
cadenas de caracteres. La figura 3-10 muestra el control enumerado Mes (Month), la seleccin de
una pareja de datos en el control enumerado y el terminal correspondiente del diagrama de bloques.
Figura 3-10. Control enumerado Mes (Month)
2

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Control del panel frontal

Seleccin de un elemento

Terminal del diagrama de bloques

Dinmicos

El tipo de datos dinmico almacena la informacin que genera o adquiere un VI Express. El tipo
de datos dinmico aparece como un terminal azul oscuro, mostrado abajo. La mayora de VIs
Express aceptan o devuelven el tipo de datos dinmico. Puede cablear el tipo de datos dinmico a
cualquier indicador o entrada que acepte datos numricos, de forma de onda o booleanos. Cablee
el tipo de datos dinmico a un indicador que pueda presentar mejor los datos. Ejemplos de
indicadores son grficos tipo graph, grficos tipo chart o indicadores numricos.

La mayora del resto de VIs y funciones de LabVIEW no aceptan el tipo de datos dinmico. Para
utilizar un VI o funcin integrada para analizar o procesar los datos que incluye el tipo de datos
dinmico, debe convertir el tipo de datos dinmico.

Use el VI Express Convert from Dynamic Data para convertir el tipo de datos dinmico en tipos
de datos numricos, de forma de onda y de array para usar con otros VIs y funciones. Cuando
coloca el VI Express Convert from Dynamic Data en el diagrama de bloques, aparece el cuadro de
dilogo Configure Convert from Dynamic Data. El cuadro de dilogo Configure Convert from
Dynamic Data muestra opciones para especificar cmo desea dar formato a los datos que devuelve
el VI Express Convert from Dynamic Data.

National Instruments | 3-15

Leccin 3

Implementacin de un VI

Cuando cablea un tipo de datos dinmico a un indicador de array, LabVIEW aade


automticamente el VI Express Convert from Dynamic Data al diagrama de bloques. Haga doble
clic en el VI Express Convert from Dynamic Data para abrir el cuadro de dilogo Configure
Convert from Dynamic Data y controlar cmo aparecern los datos en el array.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

C. Documentacin de cdigo

Los desarrolladores profesionales que mantienen y modifican VIs conocen el valor de una buena
documentacin. Documente bien el diagrama de bloques para facilitar las futuras modificaciones
del cdigo. Adems, documente bien la ventana del panel frontal para explicar el objetivo del VI
y los objetos del panel frontal.

Use ayudas, descripciones, propiedades de VI y un buen diseo para documentar las ventanas del
panel frontal.

Ayudas y descripciones

Las ayudas son breves descripciones que aparecen cuando mueve el cursor sobre un control o
indicador mientras se ejecuta un VI. Por ejemplo, podra aadir una ayuda para indicar que una
temperatura es en grados Celsius o explicar cmo funciona una entrada en un algoritmo. Las
descripciones ofrecen informacin adicional sobre controles e indicadores especficos. Las
descripciones aparecen en la ventana Context Help cuando mueve el cursor sobre el objeto. Para
aadir ayudas y descripciones a controles, haga clic con el botn derecho en el control o indicador
y seleccione Description and Tip desde el men contextual.

Propiedades de VI

Use el componente Documentation del cuadro de dilogo VI Properties para crear descripciones
de VIs y enlazar desde VIs a ficheros HTML o a ficheros de ayuda compilados. Para ver VI
Properties, haga clic con el botn derecho en el icono del VI en el panel frontal o en el diagrama
de bloques y seleccione VI Properties desde el men contextual o seleccione FileVI Properties.
Despus seleccione Documentation en el men desplegable Categories. No puede acceder a este
cuadro de dilogo mientras se ejecuta un VI.
Esta pgina incluye los siguientes componentes:

VI description: contiene el texto que aparece en la ventana Context Help cuando mueve el
cursor sobre el icono de VI. Use las etiquetas <B> y </B> alrededor de cualquier texto de la
descripcin al que desee dar formato en negrita. Tambin puede utilizar la propiedad VI
Description para modificar la descripcin del VI programticamente.

Help tag: contiene el nombre del fichero HTML o la palabra clave del ndice del tema que
desea vincular en un fichero de ayuda compilado. Tambin puede utilizar la propiedad
Help:Document Tag para configurar la etiqueta de ayuda programticamente.

3-16 | ni.com

Manual de Curso LabVIEW Core 1

Help path: contiene la ruta al fichero HTML o al fichero de ayuda compilado que desea
vincular desde la ventana Context Help. Si este campo est vaco, el enlace Detailed help no
aparecer en la ventana Context Help y se atenuar el botn Detailed help.

Browse: muestra un cuadro de dilogo de fichero que se utiliza para navegar hasta un fichero
HTML o hasta un fichero de ayuda compilado para utilizarlo como ruta de ayuda.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Nombre de controles e indicadores

Si da nombres lgicos y descriptivos a controles e indicadores, facilitar el uso de los paneles


frontales. Por ejemplo, si llama a un control Temperature, un usuario quiz no sepa qu unidades
utilizar. Sin embargo, si lo llama Temperature C, aadir ms informacin al panel frontal.
Ahora sabr que debe introducir temperaturas en unidades mtricas.

Programacin grfica

Aunque la naturaleza grfica de LabVIEW ayuda a la autodocumentacin de diagramas de


bloques, los comentarios adicionales ayudan a la hora de modificar sus VIs posteriormente. Existen
dos tipos de comentarios de diagrama de bloques: los que describen la funcin u operacin de
algoritmos y comentarios que explican la finalidad de los datos que pasan por los cables. Ambos
tipos de comentarios aparecen en el siguiente diagrama de bloques. Puede insertar etiquetas
estndares con la herramienta de etiquetado, o insertando una etiqueta libre desde la subpaleta
FunctionsProgrammingStructuresDecorations. De forma predeterminada las etiquetas
libres tienen un color de fondo amarillo.
Figura 3-11. Documentar un diagrama de bloques

Use las siguientes pautas para comentar los VIs:

Use comentarios en el diagrama de bloques para explicar lo que est realizando el cdigo.

Aunque el cdigo de LabVIEW puede autodocumentarse porque es grfico, use etiquetas libres
para describir cmo funciona el diagrama de bloques.

Utilice etiquetas para identificar objetos en el panel frontal y el diagrama de bloques.


LabVIEW incluye dos tipos diferentes de etiquetasetiquetas propias y etiquetas libres. Las
etiquetas propias pertenecen a un objeto particular y se mueven con l y se usan para describir

National Instruments | 3-17

Leccin 3

Implementacin de un VI

dicho objeto nicamente. Las etiquetas libres no pertenecen a ningn objeto, y puede crearlas,
moverlas, rotarlas o borrarlas independientemente.
No muestre etiquetas en llamadas de funcin y de subVIs, ya que suelen ser grandes y poco
manejables. Un desarrollador que observe el diagrama de bloques puede encontrar el nombre
de una funcin o subVI en la ventana Context Help.

Utilice etiquetas propias con conexiones largas para identificar su uso. Etiquetar cables resulta
til para los que proceden de registros de desplazamiento y para cables largos que pueden
abarcar todo el diagrama de bloques. Consulte la seccin Estructuras Case de esta leccin para
obtener informacin adicional acerca de los registros de desplazamiento.

Etiquete estructuras para especificar su funcionalidad principal.

Etiquete constantes para especificar su naturaleza.

Use etiquetas libres para documentar algoritmos que usa en los diagramas de bloques. Si usa
un algoritmo de un libro u otra referencia, incluya la informacin de referencia.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

D. Bucles While

Al igual que un bucle Do o un bucle Repeat-Until en lenguajes de programacin basados en texto,


un bucle While, mostrado en la figura 3-12, ejecuta un subdiagrama hasta que ocurra una
condicin.
La siguiente ilustracin muestra un bucle While en LabVIEW, un diagrama de flujo equivalente a
la funcionalidad del bucle While, y un ejemplo de pseudocdigo de la funcionalidad del bucle
While.
Figura 3-12. Bucle While
Code

No

Repeat (code);

Condition
met?

Code

Until Condition met;


End;

Yes

End

Bucle While de LabVIEW

Diagrama de flujo

Pseudocdigo

El bucle While se encuentra en la paleta Structures. Seleccione el bucle While en la paleta y


despus use el cursor para arrastrar un rectngulo de seleccin alrededor de la seccin del diagrama
de bloques que desee repetir. Cuando suelte el botn del ratn, un lmite de bucle While encerrar
la seccin que seleccion.

Aada objetos del diagrama de bloques al bucle While arrastrndolos y soltndolos dentro de ste.

3-18 | ni.com

Manual de Curso LabVIEW Core 1

Consejo

El bucle While siempre se ejecuta al menos una vez.

El bucle While ejecuta el subdiagrama hasta que el terminal condicional, un terminal de entrada,
reciba un valor booleano especfico. El bucle While no incluye un contaje de iteraciones
configurado y se ejecuta hasta el infinito si la condicin nunca ocurre.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Si un terminal condicional es Stop if True, coloca el terminal de un control booleano fuera de un


bucle While, y si el control es FALSE cuando se inicia el bucle, provocar un bucle infinito, como
se muestra en el siguiente ejemplo. Tambin provoca un bucle infinito si el terminal condicional es
Continue if True y el control fuera del bucle se configura en TRUE, como se muestra en la
figura 3-13.
Figura 3-13. Bucle infinito

Si cambia el valor del control, no detendr el bucle infinito, porque el valor slo se lee una vez,
antes de que empiece el bucle. Para detener un bucle infinito, debe abortar el VI haciendo clic en
el botn Abort Execution en la barra de herramientas.

Tambin puede realizar un control de errores bsicos con el terminal condicional de un bucle
While. Cuando cablea un cluster de error al terminal condicional, slo pasa al terminal el valor True
o False del parmetro status del cluster de error. Asimismo, los elementos del men contextual
Stop if True y Continue if True cambian a Stop if Error y Continue while Error.
La terminal de iteracin es una terminal de salida que contiene el numero de iteraciones
completadas.

El contaje de iteraciones para el bucle While siempre empieza en cero.

En el siguiente diagrama de bloques, el bucle While se ejecuta hasta que la salida de la funcin
Random Number sea mayor o igual que 0,9 y el control Enable sea True. La funcin And
devuelve True slo si ambas entradas son True. De lo contrario, devolver False.

National Instruments | 3-19

Leccin 3

Implementacin de un VI

En el siguiente ejemplo, existe mayor posibilidad de un bucle infinito. Generalmente, el


comportamiento deseado es que se cumpla una condicin para detener el bucle, en lugar de
necesitar que se cumplan ambas condiciones.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-14. Posible bucle infinito

Tneles a travs de Estructuras

Los tneles suministran datos hacia dentro y hacia fuera de las estructuras como bucles While. El
tnel aparece como un bloque slido en el borde del bucle While. El bloque es del color del tipo
de datos cableado al tnel. Los datos salen de un bucle cuando ste termina. Cuando un tnel
introduce datos en un bucle, ste se ejecuta slo cuando los datos llegan al tnel.
En el siguiente diagrama de bloques, el terminal de iteracin se conecta a un tnel. El valor del
tnel no entra en el indicador Iterations hasta que el bucle While termine de ejecutarse.
Figura 3-15. Tnel del bucle While

Slo aparece en el indicador Iterations el ltimo valor del terminal de iteracin.

Usando bucles While para chequeo y manejo de errores

Puede cablear un cluster de error al terminal condicional de un bucle While o un bucle For con un
terminal condicional para detener la iteracin del bucle. Cuando cablea un cluster de error al
terminal condicional, slo pasa al terminal el valor TRUE o FALSE del parmetro status del
cluster de error. Si ocurre un error, el bucle se detendr.
Si cablea un cluster de error al terminal condicional, los elementos del men contextual Stop if
True y Continue if True cambiarn a Stop on Error y Continue while Error.

3-20 | ni.com

Manual de Curso LabVIEW Core 1

En la figura 3-16, el cluster de error y un botn de parada se utilizan para determinar cundo
detener el bucle. ste es el mtodo recomendado para detener la mayora de los bucles.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-16. Detener un bucle While

E. Bucles For

Un bucle For, mostrado abajo, ejecuta un subdiagrama cierto nmero de veces. La figura 3-17
muestra un bucle For en LabVIEW, un diagrama de flujo equivalente a la funcionalidad del bucle
For, y un ejemplo de pseudocdigo de la funcionalidad del bucle For.
Figura 3-17. Bucle For
N=100

i=0

N=100;

i=i+1

i=0;

Code

i=N?

No

Until i=N:

Code

Repeat (code; i=i+1);

Yes

End;

End

Bucle For de LabVIEW

Diagrama de flujo

Pseudocdigo

El bucle For se encuentra en la paleta Structures. Tambin puede colocar un bucle While en el
diagrama de bloques; haga clic con el botn derecho en el borde del bucle While y seleccione
Replace with For Loop en el men contextual para cambiar un bucle While por uno For. La
terminal de contaje es una terminal de entrada cuyo valor indica cuntas veces debe repetir el
subdiagrama.

La terminal de iteracin es una terminal de salida que contiene el numero de iteraciones


completadas.

National Instruments | 3-21

Leccin 3

Implementacin de un VI

El contaje de iteraciones para el bucle For siempre empieza en cero.


El bucle For de la figura 3-18 genera un nmero aleatorio cada segundo durante 100 segundos y
muestra los nmeros aleatorios en un indicador numrico.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-18. Ejemplo de bucle For

Aadir un terminal condicional a un bucle For

Si es necesario, puede aadir un terminal condicional para configurar un bucle For para que se
detenga cuando ocurra un error o una condicin booleana. Un bucle For con un terminal
condicional se ejecuta hasta que ocurra la condicin o hasta que se completen todas las iteraciones,
lo que suceda primero. Los bucles For que configure para una salida condicional tendrn un
smbolo rojo en el terminal de contaje y un terminal condicional en la esquina inferior derecha. Tras
configurar el bucle For para salir condicionalmente, el bucle aparece similar a la figura 3-19. El
siguiente bucle For genera un nmero aleatorio cada segundo hasta que transcurran 100 segundos
o hasta que el usuario haga clic en el botn de parada.
Figura 3-19. Bucle For configurado para una salida condicional

Para aadir un terminal condicional a un bucle For, haga clic con el botn derecho del borde del
bucle For y seleccione Conditional Terminal en el men contextual. A continuacin, cablee el
terminal condicional y el terminal de contaje.

3-22 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-20. Aadir un terminal condicional a un bucle For

Usando bucles For para chequeo y manejo de errores

En un bucle For con un terminal condicional, tambin debe cablear un valor al terminal de contaje
o autoindexar un array de entrada para configurar un nmero mximo de iteraciones. El bucle For
se ejecuta hasta que ocurra un error o hasta que se complete el nmero de iteraciones configurado.
Consulte la seccin Usando bucles While para chequeo y manejo de errores, para obtener
informacin adicional.

Conversin numrica en bucles For

Como se describi en Conversin numrica, cuando cablea diferentes tipos de datos a la entrada
de una funcin, la funcin generalmente retorna el tipo de dato ms amplio. Sin embargo, si cablea
un valor numrico coma flotante de precisin doble a la terminal de cuenta de 32-bit en un bucle
For, LabVIEW coerciona el valor numrico ms grande a un nmero entero con signo de 32-bit
ms pequeo. Aunque la conversin es contraria a los estndares normales de conversin, es
necesaria, ya que un bucle For slo puede ejecutarse un nmero entero de veces.

National Instruments | 3-23

Leccin 3

Implementacin de un VI

Figura 3-21. Conversin en un bucle For

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Punto de conversin

Para un mejor rendimiento, evite la conversin utilizando tipos de datos coincidentes o


convirtiendo programticamente a tipos de datos coincidentes, como en la figura 3-22.
Figura 3-22. Evitando la coercin utilizando tipos de datos coincidentes

Comparando bucles For y bucles While

Los bucles For y los bucles While difieren de varias maneras. Consulte la tabla 3-3 para obtener
una lista de diferencias entre bucles For y bucles While.
Tabla 3-2. Comparando bucles For y bucles While

Bucle For

Bucle While

Se ejecuta un nmero de veces a menos que se


agregue una terminal condicional

Detiene la ejecucin solo si el valor en la


terminal condicional alcanza esa condicin

Puede ejecutarse cero veces

Debe ejecutarse al menos una vez

Los tneles automticamente dan un array de


datos

Los tneles automticamente dan el ltimo


valor

F. Temporizacin de VIs

Cuando un bucle termina de ejecutar una iteracin, inmediatamente empieza a ejecutar la siguiente,
a menos que llegue a una condicin de parada. Normalmente tendr que controlar la frecuencia
o temporizacin de la iteracin. Por ejemplo, si est adquiriendo datos y desea hacerlo cada
10 segundos, necesita poder temporizar las iteraciones del bucle para que ocurran cada
10 segundos.

3-24 | ni.com

Manual de Curso LabVIEW Core 1

Aunque no necesite que la ejecucin ocurra con cierta frecuencia, debe facilitar al procesador
tiempo para completar otras tareas, como responder a la interfaz del usuario. Esta seccin explica
mtodos para temporizar los bucles.

Funciones de espera

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Coloque una funcin de espera dentro de un bucle para que un VI se desactive durante cierto
tiempo. Esto permite al procesador abordar otras tareas durante el tiempo de espera. Las funciones
de espera usan el reloj de milisegundos del sistema operativo.
La funcin Wait Until Next ms Multiple controla un contador de milisegundos y espera hasta que
ste alcance un mltiplo de la cantidad que especifique. Use esta funcin para sincronizar
actividades. Site esta funcin en un bucle para controlar la velocidad de ejecucin de ste. Para
que esta funcin sea efectiva, el tiempo de ejecucin del cdigo debe ser inferior al tiempo
especificado para esta funcin. El tiempo de ejecucin de la primera iteracin del bucle es
indeterminado.

La funcin Wait (ms) espera hasta que el contador de milisegundos cuente una cantidad igual a la
entrada que especifique. Esta funcin garantiza que la velocidad de ejecucin del bucle se
corresponda al menos con el valor que especifique a la entrada de la funcin.

El VI Express Time Delay acta de modo similar a la funcin Wait (ms) pero con
clusters de error integrados. Consulte la leccin 2, Resolucin de problemas y
depuracin de VIs para obtener informacin adicional acerca de los clusters de error.
Nota

Tiempo transcurrido

En algunos casos, resulta til determinar cunto tiempo transcurre despus de un punto en su VI.
El VI Express Elapsed Time indica el tiempo transcurrido tras el instante de inicio especificado.
Este VI Express controla el tiempo mientras que el VI sigue ejecutndose. Este VI Express no
facilita al procesador el tiempo para completar otras tareas. Utilizar el VI Express Elapsed Time
en el proyecto del curso Weather Station.

National Instruments | 3-25

Leccin 3

Implementacin de un VI

G. Retroalimentacin de datos en los bucles

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Al programar con bucles, a menudo debe acceder a datos de iteraciones anteriores del bucle en
LabVIEW. Por ejemplo, si est adquiriendo un dato en cada iteracin de un bucle y debe hallar el
promedio cada cinco datos, debe conservar los datos de iteraciones anteriores del bucle.
Nota Los nodos de realimentacin son otro mtodo para conservar informacin de una
iteracin anterior. Consulte el tema Feedback Node de la Ayuda de LabVIEW para
obtener informacin adicional acerca de nodos de realimentacin.

Registros de desplazamiento

Los registros de desplazamiento son similares a las variables estticas en lenguajes de


programacin basados en texto.

Use registros de desplazamiento cuando desee pasar valores de iteraciones anteriores a la siguiente
iteracin a travs del bucle. Un registro de desplazamiento aparece como un par de terminales
directamente opuestos entre s en los lados verticales del borde del bucle.

El terminal de la derecha del bucle contiene una flecha hacia arriba y almacena datos al completar
una iteracin. LabVIEW transfiere los datos conectados al lado derecho del registro en la siguiente
iteracin. Despus de que se ejecute el bucle, el terminal del lado derecho del bucle devuelve el
ltimo valor almacenado en el registro de desplazamiento.
Cree un registro de desplazamiento haciendo clic con el botn derecho en el borde izquierdo o
derecho de un bucle y seleccionando Add Shift Register en el men contextual.

Un registro de desplazamiento transfiere cualquier tipo de datos y cambia automticamente al tipo


de datos del primer objeto cableado al registro de desplazamiento. Los datos que cablee a los
terminales de cada registro de desplazamiento deben ser del mismo tipo.

Puede aadir ms de un registro de desplazamiento a un bucle. Si tiene varias operaciones que usan
valores de iteraciones previas dentro del bucle, use varios registros de desplazamiento para
almacenar los valores de datos de los distintos procesos en la estructura, como se muestra en la
siguiente figura.

3-26 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-23. Uso de varios registros de desplazamiento

Inicializacin de registros de desplazamiento

Al inicializar un registro de desplazamiento, se restablece el valor que transmite el registro de


desplazamiento a la primera iteracin del bucle cuando se ejecuta un VI. Inicialice un registro de
desplazamiento cableando un control o constante al terminal del registro de desplazamiento en el
lado izquierdo del bucle, como se muestra en la figura 3-24.
Figura 3-24. Registro de desplazamiento inicializado

En la figura 3-24, el bucle For se ejecuta cinco veces, incrementando el valor que lleva el registro
de desplazamiento en uno cada vez. Tras cinco iteraciones del bucle For, el registro de
desplazamiento pasa el valor final, 5, al indicador y el VI finaliza su ejecucin. Cada vez que
ejecute el VI, el registro de desplazamiento empieza con un valor de 0.

Si no inicializa el registro de desplazamiento, el bucle usa el valor escrito en el registro de


desplazamiento cuando se ejecut por ltima vez el bucle o, si ste nunca se ejecut, usa el valor
predeterminado del tipo de dato.

Use un registro de desplazamiento sin inicializar para conservar la informacin de estado entre las
siguientes ejecuciones de un VI. La figura 3-25 muestra un registro de desplazamiento sin
inicializar.
Figura 3-25. Registro de desplazamiento sin inicializar

National Instruments | 3-27

Leccin 3

Implementacin de un VI

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

En la figura 3-25, el bucle For se ejecuta cinco veces, incrementando el valor que lleva el registro
de desplazamiento en uno cada vez. La primera vez que ejecute el VI, el registro de desplazamiento
empieza con un valor de 0, que es el valor predeterminado de un nmero entero de 32 bits. Tras
cinco iteraciones del bucle For, el registro de desplazamiento pasa el valor final, 5, al indicador
y el VI finaliza su ejecucin. La siguiente vez que ejecute el VI, el registro de desplazamiento
comenzar con un valor de 5, que era el ltimo valor de la ejecucin anterior. Tras cinco iteraciones
del bucle For, el registro de desplazamiento pasa el valor final, 10, al indicador. Si ejecuta de nuevo
el VI, el registro de desplazamiento empieza con un valor de 10, y as sucesivamente. Los registros
de desplazamiento sin inicializar conservan el valor de la iteracin anterior hasta que cierre el VI.

Registros de desplazamiento apilados

Los registros de desplazamiento apilados permiten acceder a datos de iteraciones anteriores al


bucle. Los registros de desplazamiento apilados almacenan valores de varias iteraciones anteriores
y llevan esos valores a las siguientes iteraciones. Para crear un registro de desplazamiento apilado,
haga clic con el botn derecho en el terminal izquierdo y seleccione Add Element en el men
contextual.
Los registros de desplazamiento apilados slo pueden utilizarse en el lado izquierdo del bucle,
porque el terminal derecho transfiere los datos generados slo desde la iteracin actual a la
siguiente, como se muestra en la figura 3-26.
Figura 3-26. Uso de registros de desplazamiento apilados

Si aade otro elemento al terminal izquierdo del diagrama de bloques anterior, los valores de las
dos ltimas iteraciones se transmiten a la siguiente iteracin, almacenndose el valor de iteracin
ms reciente en el registro de desplazamiento superior. El terminal inferior almacena los datos que
le llegan de la iteracin anterior.

H. Graficando datos Waveform Chart

El grfico tipo waveform chart es un tipo especial de indicador numrico que muestra una o ms
curvas de datos, normalmente adquiridos a una velocidad constante. Los grficos tipo waveform
chart pueden mostrar una o varias curvas. La figura 3-27 muestra los elementos de un grfico tipo
waveform chart de varias curvas. Se muestran dos grficos: Raw Data y Running Avg.

3-28 | ni.com

Manual de Curso LabVIEW Core 1

Figura 3-27. Elementos de un Waveform Chart


6

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

1
2

Etiqueta
Escala Y

3
4

Escala X
Leyenda de la escala

5
6

Paleta del grfico


Leyenda de la curva

Configure cmo se actualiza el grfico para mostrar nuevos datos. Haga clic con el botn derecho
en el grfico y seleccione AdvancedUpdate Mode desde el men contextual para configurar el
modo de actualizacin del grfico. El grfico utiliza los siguientes modos para mostrar datos:

Strip Chart: muestra los datos mviles desplazndose continuamente de izquierda a derecha
por el grfico con los datos antiguos a la izquierda y con los nuevos a la derecha. Un strip chart
es similar a un registrador de cinta de papel. Strip Chart es el modo de actualizacin
predeterminado.

Scope Chart: muestra un elemento de datos, como un impulso o una onda, desplazndose
parcialmente por el grfico de izquierda a derecha. Para cada nuevo valor, el grfico traza el
valor a la derecha del ltimo valor. Cuando la curva llega al borde derecho de la zona de
trazado, LabVIEW borra la curva y empieza a trazar de nuevo desde el borde izquierdo. La
visualizacin de un scope chart es similar a la de un osciloscopio.

Sweep Chart: funciona de modo parecido a un scope chart salvo que muestra los datos
antiguos a la derecha y los nuevos a la izquierda separados por una lnea vertical. LabVIEW no
borra la curva en un sweep chart cuando sta llega al borde derecho de la zona de trazado. Un
sweep chart es similar a la visualizacin de un electrocardiograma.

National Instruments | 3-29

Leccin 3

Implementacin de un VI

La figura 3-28 muestra un ejemplo de cada modo de actualizacin del grfico. El scope chart y el
sweep chart tienen visualizaciones de retrazado parecidas a un osciloscopio. Como retrazar una
curva requiere menos esfuerzo, el scope chart y el sweep chart muestran curvas mucho ms
rpidamente que el strip chart.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 3-28. Modos de actualizacin de grficos

Cableado de grficos

Puede cablear una salida escalar directamente a un grfico tipo waveform chart. El terminal del
grfico tipo waveform chart de la figura 3-29 coincide con el tipo de datos de entrada.
Figura 3-29. Cableado de una sola curva a un grfico tipo waveform chart

Los grficos tipo waveform chart pueden mostrar varias curvas juntas usando la funcin Bundle
situada en la paleta Cluster, Class & Variant. En la figura 3-30, la funcin Bundle une las salidas
de los tres VIs en la curva del grfico tipo waveform chart.
Figura 3-30. Cableado de varias curvas a un grfico tipo waveform chart

El terminal del grfico tipo waveform chart cambia para coincidir con la salida de la funcin
Bundle. Para aadir ms curvas, use la herramienta de posicionamiento para cambiar el tamao de
la funcin Bundle.

3-30 | ni.com

Manual de Curso LabVIEW Core 1

I. Estructuras Case

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Una estructura Case tiene dos o ms subdiagramas o casos.

Slo se ve un subdiagrama a la vez y la estructura ejecuta slo un caso cada vez. Un valor de
entrada determina qu subdiagrama ejecutar. La estructura Case es similar a las declaraciones
switch o a las declaraciones if...then...else en lenguajes de programacin basados en texto.

La etiqueta del selector de caso en la parte superior de la estructura Case contiene en el centro el
nombre del valor de seleccin que se corresponde con el caso actual y las flechas de incremento y
decremento a cada lado.

Haga clic en las flechas de incremento y decremento para desplazarse por los casos disponibles.
Tambin puede hacer clic en la flecha junto al nombre del caso y seleccionar un caso del men
desplegable.
Cablee un valor de entrada, o selector, a la terminal de seleccin para determinar qu caso se
ejecuta.

Debe cablear un nmero entero, un valor booleano, una cadena de caracteres o un valor de tipo
enumerado en el terminal de seleccin. Puede colocar el terminal de seleccin en cualquier parte
del borde izquierdo de la estructura Case. Si el tipo de dato del terminal de seleccin es booleano,
la estructura tiene un caso True y uno False. Si el terminal de seleccin es un nmero entero, cadena
de caracteres o valor de tipo enumerado, la estructura puede tener cualquier nmero de casos.
Nota Por defecto, los valores de cadenas de caracteres que cablee al terminal de
seleccin distinguen maysculas de minsculas. Para permitir coincidencias sin
distincin de maysculas y minsculas, cablee un valor de cadena de caracteres al
terminal de seleccin, haga clic con el botn derecho en el borde de la estructura Case y
seleccione Case Insensitive Match en el men contextual.

Si no especifica un caso predeterminado para que la estructura Case controle valores fuera de
rango, debe enumerar explcitamente cada valor de entrada posible. Por ejemplo, si el selector es
un nmero entero y especifica casos para 1, 2 y 3, debe especificar un caso predeterminado a
ejecutar si el valor de entrada es 4 u otro valor de nmero entero sin especificar.

National Instruments | 3-31

Leccin 3

Implementacin de un VI

No puede especificar un caso predeterminado si cablea un control booleano al


selector. Si hace clic con el botn derecho en la etiqueta del selector de caso, Make This
The Default Case no aparecer en el men contextual. Seleccione el valor TRUE o
FALSE en el control booleano para determinar qu caso ejecutar.
Nota

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Para convertir una estructura Case en una estructura Stacked Sequence, haga clic con el botn
derecho en la estructura Case Sequence y seleccione Replace with Stacked Sequence en el men
contextual.
Haga clic con el botn derecho en el borde de la estructura Case para aadir, duplicar, eliminar o
reordenar casos y para seleccionar un caso predeterminado.

Seleccionar un caso

La figura 3-31 muestra un VI que utiliza una estructura Case para ejecutar cdigo diferente en
funcin de si un usuario selecciona C o F como unidades de temperatura. El diagrama de bloques
superior muestra el caso True en primer plano. En el diagrama de bloques intermedio, se selecciona
el caso False. Para seleccionar un caso, escriba el valor en el identificador del selector de caso o
use la herramienta de etiquetado para modificar los valores. Tras seleccionar otro caso, se
aparecer en el diagrama de bloques, como se muestra en el diagrama de bloques inferior de la
figura 3-31.
Figura 3-31. Cambiar la visualizacin de caso de una estructura Case

Si introduce un valor selector que no es del mismo tipo que el objeto cableado al terminal de
seleccin, el valor aparece en rojo. Esto indica que el VI no se ejecutar hasta que elimine o
modifique el valor. Asimismo, debido al posible error de redondeo inherente de la aritmtica de

3-32 | ni.com

Manual de Curso LabVIEW Core 1

coma flotante, no puede utilizar nmeros en coma flotante como valores de seleccin de caso. Si
cablea un valor en coma flotante al caso, LabVIEW redondear el valor al nmero entero ms
cercano. Si escribe un valor en coma flotante en la etiqueta del selector de caso, el valor aparecer
rojo para indicar que debe eliminar o modificar el valor antes de que pueda ejecutarse la estructura.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Tneles de entrada y salida en estructuras Case

Puede crear varios tneles de entrada y salida para una estructura Case. Las entradas estn
disponibles en todos los casos, pero los casos no necesitan utilizar cada entrada. No obstante, debe
definir un tnel de salida para cada caso.
Considere el siguiente ejemplo: una estructura Case en el diagrama de bloques tiene un tnel de
salida, pero en al menos uno de los casos no hay valor de salida cableado al tnel. Si ejecuta este
caso, LabVIEW no sabr qu valor devolver para la salida. LabVIEW indica este error dejando el
centro del tnel en blanco. El caso sin cablear podra no ser el caso que se est viendo en el
diagrama de bloques.

Para corregir este error, muestre los casos que contienen el tnel de salida sin cablear y cablee una
salida al tnel. Tambin puede hacer clic con el botn derecho en el tnel de salida y seleccionar
Use Default If Unwired en el men contextual para utilizar el valor predeterminado para el tipo
de datos del tnel en todos los tneles sin cablear. Cuando se cablea la salida en todos los casos, el
tnel de salida aparece relleno con el color del tipo de dato asociado al mismo.

Evite usar la opcin Use Default If Unwired. Si usa esta opcin, no documentar bien el diagrama
de bloques y podr confundir a otros programadores que utilizan su cdigo. La opcin Use Default
If Unwired tambin dificulta la depuracin del cdigo. Si usa esta opcin, tenga en cuenta que el
valor predeterminado utilizado es el del tipo de datos que est conectado al tnel. Por ejemplo, si
el tnel es un tipo de datos booleano, el valor predeterminado es FALSE. Consulte la tabla 3-3 para
ver una lista de valores predeterminados para los tipos de datos.
Tabla 3-3. Valores predeterminados de tipos de datos

Tipo de datos

Valor predeterminado

Numrico

Booleano

FALSE

Cadena de caracteres

vacio ()

National Instruments | 3-33

Leccin 3

Implementacin de un VI

Ejemplos
En los siguientes ejemplos, los valores numricos pasan por tneles a la estructura Case y se suman
o restan, en funcin del valor cableado al terminal de seleccin.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Estructura Case booleana


La figura 3-32 muestra una estructura Case booleana. Los casos se solapan entre s para simplificar
la ilustracin.
Figura 3-32. Estructura Case booleana

Si el control booleano cableado al terminal de seleccin es True, el VI suma los valores numricos.
De lo contrario, el VI resta los valores numricos.
En situaciones donde simplemente debe elegir entre dos valores basado en la entrada de un
booleano, la instruccion Select puede ser usada en vez de la estructura Boolean Case.

Estructura Case de nmero entero

La figura 3-33 muestra una estructura Case de nmero entero.

Figura 3-33. Estructura Case de nmero entero

3-34 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Numeric es un control de anillo de texto situado en la paleta Text Controls que asocia valores
numricos con elementos de texto. Si el nmero entero cableado al terminal de seleccin es
0 (add), el VI suma los valores numricos. Si el valor es 1 (subtract), el VI resta los valores
numricos. Si Numeric es cualquier otro valor distinto de 0 (add) o 1 (subtract), el VI suma los
valores numricos, porque se es el caso predeterminado.

Estructura Case de cadena de caracteres

La figura 3-34 muestra una estructura Case de cadena de caracteres.

Figura 3-34. Estructura Case de cadena de caracteres

Si String es add, el VI suma los valores numricos. Si String es subtract, el VI resta los valores
numricos.

Estructura Case enumerada

La figura 3-35 muestra una estructura Case enumerada.

Figura 3-35. Estructura Case enumerada

Un control de tipo enumerado facilita a los usuarios una lista de elementos para seleccionar. El tipo
de datos de un control de tipo enumerado incluye informacin sobre los valores numricos y
etiquetas de cadenas de caracteres del control. El selector de caso muestra la etiqueta de la cadena
de caracteres para cada elemento del control de tipo enumerado cuando selecciona Add Case For
Every Value en el men contextual de la estructura Case. La estructura Case ejecuta el

National Instruments | 3-35

Leccin 3

Implementacin de un VI

subdiagrama de caso apropiado en funcin del elemento actual del control de tipo enumerado. En
el diagrama de bloques anterior, si Enum es add, el VI suma los valores numricos. Si Enum es
subtract, el VI resta los valores numricos.

Uso de estructuras Case para gestionar errores

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El siguiente ejemplo muestra una estructura Case donde un cluster de error define los casos.
Figura 3-36. Caso No Error

Figura 3-37. Caso Error

Cuando cablea un cluster de error a la terminal de seleccin de una estructura Case, la etiqueta del
selector de caso muestra dos casosError y No Error, y el borde de la estructura Case cambia
de colorrojo para Error y verde para No Error. Si ocurre un error, la estructura Case ejecuta
el subdiagrama Error.

Cuando cablea un clster de error al terminal de seleccin, la estructura Case slo reconoce el
elemento booleano status del cluster.

3-36 | ni.com

Manual de Curso LabVIEW Core 1

Autorrevisin: Cuestionario
1. Si una entrada de una funcin est marcada con un punto rojo (conocido como punto de
coercin), qu es lo que indica el punto?
a. Se han transferido datos dentro de la estructura.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Un bucle For fue configurado con un terminal condicional.

c. Un terminal de iteraciones de un bucle For no est cableado.

d. El valor transferido al nodo fue convertido a una representacin diferente.

2. Cules de las siguientes estructuras deben ejecutarse al menos una vez?


a. Bucle While
b. Bucle For

3. Qu elemento de los siguientes slo est disponible en el diagrama de bloques?


a. Control

b. Constante
c. Indicador

d. Panel de conectores

4. Qu accin mecnica hace que un control booleano en el estado FALSE cambie a TRUE
cuando hace clic en l y permanezca TRUE hasta que lo libere y LabVIEW haya ledo el valor?
a. Switch until released

b. Switch when released


c. Latch until released

d. Latch when released

National Instruments | 3-37

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Respuestas
1. Si una entrada de una funcin est marcada con un punto rojo (conocido como punto de
coercin), qu es lo que indica el punto?
a. Se han transferido datos dentro de la estructura.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Un bucle For fue configurado con un terminal condicional.

c. Un terminal de iteraciones de un bucle For no est cableado.

d. El valor transferido al nodo fue convertido a una representacin diferente.

2. Cules de las siguientes estructuras deben ejecutarse al menos una vez?


a. Bucle While
b. Bucle For

3. Qu elemento de los siguientes slo est disponible en el diagrama de bloques?


a. Control

b. Constante
c. Indicador

d. Panel de conectores

4. Qu accin mecnica hace que un control booleano en el estado FALSE cambie a TRUE
cuando hace clic en l y permanezca TRUE hasta que lo libere y LabVIEW haya ledo el valor?
a. Switch until released

b. Switch when released


c. Latch until released

d. Latch when released

National Instruments | 3-39

Leccin 3

Implementacin de un VI

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Notas

3-40 | ni.com

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Desarrollo de aplicaciones
modulares

Esta leccin describe cmo desarrollar aplicaciones modulares. La potencia de LabVIEW reside
en la naturaleza jerrquica del VI. Tras crear un VI, puede utilizarlo en el diagrama de bloques de
otro VI. No existen lmites en el nmero de capas de la jerarqua. El uso de la programacin
modular ayuda a gestionar cambios y depurar el diagrama de bloques rpidamente.

Temas

A. Comprensin de la modularidad

B. Creacin del panel de iconos y conectores


C. Uso de subVIs

National Instruments | 4-1

Leccin 4

Desarrollo de aplicaciones modulares

A. Comprensin de la modularidad
La modularidad define el grado en que un programa se compone de mdulos diferenciados de
modo que un cambio en un mdulo tenga un impacto mnimo en otros mdulos. Los mdulos de
LabVIEW se denominan subVIs.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Un VI dentro de otro VI se denomina subVI. Un subVI corresponde a una subrutina en lenguajes


de programacin basados en texto. Cuando hace doble clic en un subVI, aparece un panel frontal
y un diagrama de bloques en lugar de un cuadro de dilogo donde poder configurar opciones.
El panel frontal incluye controles e indicadores. El diagrama de bloques incluye cables, iconos del
panel frontal, funciones, posiblemente subVIs y otros objetos de LabVIEW que tambin podran
parecerle familiares.

La esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques
muestra el icono para el VI. Es el mismo icono que aparece cuando sita el VI en el diagrama de
bloques.
Cuando cree VIs, quiz piense que realiza ciertas operaciones frecuentemente. Considere usar
subVIs o bucles para realizar esa operacin repetitivamente. Por ejemplo, el siguiente diagrama de
bloques contiene dos operaciones idnticas.
Figura 4-1. Diagrama de bloques con dos operaciones idnticas

Figura 4-2. Diagrama de bloques con subVIs para operaciones idnticas

4-2 | ni.com

Manual de Curso LabVIEW Core 1

El ejemplo llama al VI Temperature como un subVI dos veces en su diagrama de bloques y


funciona del mismo modo que el diagrama de bloques anterior. Tambin puede reutilizar el subVI
en otros VIs.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Los siguientes pseudocdigos y diagramas de bloques demuestran la analoga entre subVIs y


subrutinas.
Cdigo de funcin

function average (in1, in2, out) {


out = (in1 + in2)/2.0; }

Diagrama de bloques del subVI

Cdigo para llamar al programa

main { average (point1, point2,


pointavg) }

Diagrama de bloques del VI Calling

B. Creacin del panel de iconos y conectores

Tras crear un panel frontal y un diagrama de bloques del VI, cree el icono y el panel de conectores
para poder utilizar el VI como un subVI. El icono y el panel de conectores se corresponden con el
prototipo de funcin en lenguajes de programacin basados en texto. Cada VI muestra un icono en
la esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques.

Un icono de VI es una representacin grfica de un VI. Puede contener texto, imgenes o una
combinacin de ambos. Si utiliza un VI como un subVI, el icono identifica el subVI en el diagrama
de bloques del VI. Si aade el VI a una paleta, el icono del VI tambin aparece en la paleta
Functions. Puede hacer doble clic en el icono de la ventana del panel frontal o en la del diagrama
de bloques para personalizarlo o modificarlo.
Se recomienda personalizar el icono, aunque es opcional. Si usa el icono
predeterminado de LabVIEW, no afectar a la funcionalidad.

Nota

Tambin debe crear un panel de conectores, para usar el VI como un subVI.

El panel de conectores es un conjunto de terminales que se corresponde con los controles e


indicadores de ese VI, similar a la lista de parmetros de una llamada a una funcin en lenguajes
de programacin basados en texto. El panel de conectores define las entradas y salidas que puede
cablear al VI para que pueda usarlo como un subVI. Un panel de conectores recibe datos en sus

National Instruments | 4-3

Leccin 4

Desarrollo de aplicaciones modulares

terminales de entrada, los pasa al cdigo del diagrama de bloques mediante los controles del panel
frontal y recibe los resultados en sus terminales de salida desde los indicadores del panel frontal.

Creacin de un icono

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Los iconos son representaciones grficas de VIs.


Cada VI muestra un icono en la esquina superior derecha de la ventana del panel frontal y de la
ventana del diagrama de bloques.

El icono del VI predeterminado contiene un nmero que indica cuntos VIs (hasta nueve VIs)
nuevos abri tras lanzar LabVIEW. Para desactivar esta numeracin, seleccione Tools
OptionsFront Panel y desmarque la casilla de verificacin Use numbers in icons of new VIs
(1 through 9).

Un icono puede contener texto o imgenes. Si utiliza un VI como un subVI, el icono identifica el
subVI en el diagrama de bloques del VI. Si aade el VI a una paleta, el icono del VI tambin
aparece en la paleta Functions.

Use el cuadro de dilogo Icon Editor para modificar un icono de un VI. Haga doble clic sobre el
icono en la esquina superior derecha de una ventana del panel frontal o del diagrama de bloques
para que aparezca el cuadro de dilogo Icon Editor.

Cree un icono para representar un VI o control personalizado grficamente. Use el cuadro de


dilogo Icon Editor para crear o modificar iconos.

Puede utilizar banners para identificar VIs relacionados. National Instruments recomienda crear y
guardar un banner en forma de plantilla. A continuacin, puede utilizar esta plantilla para un icono
de VI relacionado y modificar el cuerpo del icono del VI para suministrar informacin sobre el VI
en cuestin.

Guardar un banner como una plantilla

Complete estos pasos para guardar un banner como una plantilla de icono para un VI.

1. Haga doble clic sobre el icono en la esquina superior derecha de una ventana del panel frontal
o del diagrama de bloques, o haga clic derecho en el icono y seleccione Edit Icon en el men
contextual, para que aparezca el cuadro de dilogo Icon Editor.

2. Pulse las teclas <Ctrl-A> para seleccionar todas las capas de usuario del icono y pulse la tecla
<Delete> para eliminar la seleccin. El icono predeterminado es una capa de usuario individual
denominada VI Icon.
3. En la pgina Templates, seleccione la plantilla de icono _blank.png en la categora VI
Frameworks. Puede examinar plantillas por categora o por palabra clave.

4-4 | ni.com

Manual de Curso LabVIEW Core 1

4. Use la herramienta de relleno a la derecha del cuadro de dilogo Icon Editor para rellenar el
banner del icono con un color.
5. Use la herramienta de texto para escribir texto en el banner del icono. Mientras el texto est
activo, puede mover el texto pulsando las teclas de flecha.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

6. Seleccione FileSave AsTemplate para mostrar el cuadro de dilogo Save Icon As y guardar
el icono como una plantilla para un uso posterior. LabVIEW guarda las plantillas de iconos
como ficheros .png de 256 colores.

Creacin de un icono de VI desde una plantilla

Complete estos pasos para crear un icono de VI que utilice la plantilla que cre.

1. Pulse las teclas <Ctrl-A> para seleccionar todas las capas de usuario del icono y pulse la tecla
<Delete> para eliminar la seleccin.
2. En la pgina Templates, seleccione la plantilla que cre. Puede examinar plantillas por
categora o por palabra clave.

3. En la pgina Icon Text, escriba hasta cuatro lneas de texto de icono para el cuerpo del icono.
Puede configurar la fuente, alineacin, tamao y color del texto. Si marca la casilla de
verificacin Center text vertically, el cuadro de dilogo Icon Editor centra el texto del icono
verticalmente en el cuerpo del icono.
4. En la pgina Glyphs, arrastre y suelte smbolos en la zona Preview.

Pulse la tecla <F> o <R> para voltear un smbolo horizontalmente o girarlo en sentido horario,
respectivamente, mientras lo mueve. Tambin puede hacer doble clic en un smbolo para
colocarlo en la esquina superior izquierda del icono. Puede examinar smbolos por categora o
por palabra clave.

5. Use la herramienta de mover para mover cualquier smbolo. Cada smbolo se encuentra en una
capa distinta y por lo tanto se mueve independientemente. Tenga en cuenta que el resto del
icono se atena cuando selecciona un smbolo, para poder identificar qu seleccin est
moviendo.
6. Use las herramientas de edicin a la derecha del cuadro de dilogo Icon Editor para modificar
ms el icono, si es necesario.

El cuadro de dilogo Icon Editor crea una nueva capa de usuario para cada uso no consecutivo
de las herramientas de edicin. Seleccione LayersCreate New Layer para crear una nueva
capa de usuario durante los usos consecutivos de las herramientas de edicin.

No puede modificar la plantilla del icono o el texto del icono con las herramientas
de edicin de la derecha del cuadro de dilogo Icon Editor. Use la pgina Templates y
la pgina Icon Text para modificar la plantilla del icono y el texto del icono
respectivamente.
Nota

National Instruments | 4-5

Leccin 4

Desarrollo de aplicaciones modulares

7. (Opcional) Seleccione LayersShow Layers Page para ver la pgina Layers. Use esta pgina
para configurar el nombre, opacidad, visibilidad y orden de las capas del icono.
8. Haga clic en el botn OK para guardar la informacin del icono con el VI y cerrar el cuadro de
dilogo Icon Editor.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Tambin puede arrastrar un grfico desde cualquier parte del sistema de archivos y soltarlo en
la esquina superior derecha de la ventana del panel frontal para usar el grfico como un icono
del VI. Puede arrastrar y soltar archivos .png, .bmp o .jpg.
Si modifica un icono arrastrando y soltando un grfico del sistema de archivos,
LabVIEW crear una capa de usuario denominada VI Icon para el grfico y eliminar
cualquier otra informacin existente del icono del cuadro de dilogo Icon Editor.
Nota

Configuracin del panel de conectores

Defina conexiones asignando un control o indicador del panel frontal a cada terminal del panel de
conectores. El panel de conectores se muestra junto al icono del VI en esquina superior derecha de
la ventana del panel frontal. Cuando se abre LabVIEW, se ve un panel de conectores
predeterminado.

Cada rectngulo del panel de conectores representa una terminal. Use los rectngulos para asignar
entradas y salidas. El panel de conectores predeterminados 4 2 2 4. Tambin puede
seleccionar un patrn diferente haciendo clic con el botn derecho en el panel de conectores y
seleccionando Patterns en el men contextual. Si anticipa cambios en el VI que requieran una
entrada o salida nueva, mantenga el panel de conectores predeterminado para dejar terminales extra
desasignadas.
El panel frontal de la figura 4-3 tiene cuatro controles y un indicador, por lo que LabVIEW muestra
cuatro terminales de entrada y uno de salida en el panel de conectores.
Figura 4-3. Panel frontal del VI Slope

4-6 | ni.com

Manual de Curso LabVIEW Core 1

Seleccin y modificacin de modelos de terminales

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Seleccione otro modelo de terminales haciendo clic con el botn derecho en el panel de conectores
y seleccionando Patterns en el men contextual. Por ejemplo, puede seleccionar un modelo de
panel de conectores con terminales adicionales. Puede dejar los terminales adicionales sin conectar
hasta que los necesite. Esta flexibilidad permite realizar cambios con un efecto mnimo en la
jerarqua de los VIs.
Tambin puede tener ms controles o indicadores en el panel frontal que terminales. Puede asignar
hasta 28 terminales a un panel de conectores.
El modelo que se usa ms se muestra abajo. Este modelo se utiliza como estndar para ayudar a
simplificar el cableado.

La figura 4-4 muestra un ejemplo de la distribucin estndar utilizada para modelos de terminales.
Las entradas y salidas superiores se suelen usar para pasar referencias y las entradas y salidas
inferiores para el control de errores.
Figura 4-4. Ejemplo de modelo de terminales

Evite usar paneles de conectores con ms de 16 terminales. Aunque los modelos


de paneles de conectores con ms terminales pudieran parecer tiles, son muy difciles
de cablear. Si necesita pasar ms datos, use clusters.

Nota

Asignacin de terminales a controles e indicadores

Tras seleccionar un modelo para usar en el panel de conectores, puede asignar un control o
indicador del panel frontal a cada terminal del panel de conectores. Cuando asigna controles e
indicadores al panel de conectores, coloque entradas en la izquierda y salidas a la derecha para
evitar modelos de cableado complicados o confusos.

Para asignar un terminal a un control o indicador del panel frontal, haga clic en un terminal del
panel de conectores y despus en el control o indicador del panel frontal que desee asignar a ese
terminal. Haga clic en un espacio abierto de la ventana del panel frontal. El terminal cambia al color
del tipo de datos del control para indicar que conect el terminal.
Tambin puede seleccionar el control o indicador primero y despus seleccionar el terminal.

National Instruments | 4-7

Leccin 4

Desarrollo de aplicaciones modulares

Aunque use la herramienta de cableado para asignar terminales del panel de


conectores a controles e indicadores del panel frontal, no se dibujan cables entre el panel
de conectores y estos controles e indicadores.
Nota

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

C. Uso de subVIs
Para colocar un subVI en el diagrama de bloques, haga clic en el botn Select a VI en la paleta
Functions. Navegue al VI que desee usar como subVI y haga doble clic para colocarlo en el
diagrama de bloques.

Tambin puede colocar un VI que se encuentre abierto en el diagrama de bloques de otro VI


abierto. Use la herramienta de posicionamiento para hacer clic en el icono de la esquina superior
derecha del panel frontal o diagrama de bloques del VI que desee usar como subVI y arrastre el
icono al diagrama de bloques del otro VI.

Apertura y modificacin de subVIs

Para ver el panel frontal de un subVI desde el VI que llama, use la herramienta de operaciones o
de posicionamiento para hacer doble clic en el subVI del diagrama de bloques. Para ver el diagrama
de bloques de un subVI desde el VI que llama, pulse la tecla <Ctrl> y use la herramienta de
operaciones o de posicionamiento para hacer doble clic en el subVI del diagrama de bloques.
Puede modificar un subVI usando la herramienta de operaciones o de posicionamiento para hacer
doble clic en el subVI del diagrama de bloques. Cuando guarde el subVI, los cambios afectarn a
todas las llamadas al subVI, no slo a la copia actual.

Configuracin de entradas y salidas obligatorias,


recomendadas y opcionales

En la ventana Context Help, las etiquetas de terminales obligatorios aparecen en negrita, los
terminales recomendados como texto sin formato y los opcionales aparecen atenuados. Las
etiquetas de terminales opcionales no aparecen si hace clic en el botn Hide Optional Terminals
and Full Path en la ventana Context Help.

Puede designar qu entradas y salidas son obligatorias, recomendadas y opcionales para evitar que
los usuarios olviden cablear terminales del subVI.

Haga clic con el botn derecho en un terminal del panel de conectores y seleccione This
Connection Is en el men contextual. Una marca de verificacin indica la configuracin del
terminal. Seleccione Required, Recommended u Optional. Tambin puede seleccionar Tools
OptionsFront Panel y activar la casilla de verificacin Connector pane terminals default
to required. Esta opcin configura los terminales del panel conector en Required en lugar de
Recommended. Esto se aplica a conexiones realizadas con la herramienta de cableado y a subVIs
creados utilizando Create SubVI.

4-8 | ni.com

Manual de Curso LabVIEW Core 1

Puede seleccionar Dynamic Dispatch Input (Required) o Dynamic Dispatch


Output (Recommended) para VIs de miembros de distribucin dinmica.

Nota

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Para entradas de terminales, required (obligatorio) significa que el diagrama de bloques donde
coloc el subVI se romper si no cablea las entradas necesarias. Required no est disponible para
salidas del terminal. Para entradas y salidas de terminales, recommended (recomendado) u optional
(opcional) significa que el diagrama de bloques donde coloc el subVI puede ejecutarse si no
cablea los terminales recomendados u opcionales. Si no cablea los terminales, el VI no genera
ninguna advertencia.

Las entradas y salidas de VIs de vi.lib ya estn marcadas como Required, Recommended u
Optional. LabVIEW configura entradas y salidas de VIs que cree como Recommended de forma
predeterminada. Configure un terminal como obligatorio slo si el VI debe tener esa entrada para
ejecutarse correctamente.

Gestin de errores en SubVIs

Usted pasa errores dentro y fuera de un subVI utilizando clusters de error. Con una estructura Case,
gestiona los errores pasados al subVI con un los casos No Error y Error.
El caso No Error, como se muestra en la figura 4-5, contiene el cdigo para el funcionamiento
normal del subVI.
Figura 4-5. Caso No Error del subVI Sample

National Instruments | 4-9

Leccin 4

Desarrollo de aplicaciones modulares

El caso Error, como se muestra en la figura 4-6, normalmente pasa el error desde el control de
cluster error in al indicador de cluster error out y contiene cualquier cdigo necesario para
gestionar el error.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 4-6. Caso Error del subVI Sample

Evite utilizar el VI Simple Error Handler y el VI General Error Handler dentro de subVIs. Si es
necesario, use estos VIs en el VI que llama, como se ve en la figura 4-7.
Figura 4-7. Diagrama de bloques del VI Calling

Creacin de un subVI desde un VI existente

Puede simplificar el diagrama de bloques de un VI convirtiendo secciones de aqul en subVIs.


Convierta una seccin de un VI en un subVI utilizando la herramienta de posicionamiento para
seleccionar la seccin del diagrama de bloques que desee reutilizar y seleccionando EditCreate
SubVI. Un icono para el nuevo subVI sustituir a la seccin seleccionada del diagrama de bloques.
LabVIEW crea controles e indicadores para el nuevo subVI, configura automticamente el panel
de conectores en funcin del nmero de terminales de controles y de indicadores seleccionado y
cablea el subVI a los cables existentes.

4-10 | ni.com

Manual de Curso LabVIEW Core 1

La figura 4-8 muestra cmo convertir una seleccin en un subVI.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 4-8. Creacin de un nuevo subVI

El nuevo subVI usa un modelo predeterminado para el panel de conectores y un icono tambin
predeterminado. Haga doble clic en el subVI para modificar el panel de conectores y el icono y
para guardar el subVI.

No seleccione ms de 28 objetos para crear un subVI porque 28 es el nmero


mximo de conexiones en un panel de conectores. Si su panel frontal contiene ms de
28 controles e indicadores que desea usar programticamente, agrupe algunos en un
cluster y asigne ste a un terminal del panel de conectores.
Nota

National Instruments | 4-11

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Cuestionario
1. En un subVI, que configuracin provoca un error si el terminal no se cablea?
a. Required

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Recommended
c. Optional

2. Debe crear un icono para usar un VI como un subVI.


a. Verdadero
b. Falso

National Instruments | 4-13

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Respuestas
1. En un subVI, que configuracin provoca un error si el terminal no se cablea?
a. Required

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Recommended
c. Optional

2. Debe crear un icono personalizado para usar un VI como un subVI.


a. Verdadero
b. Falso

No necesita crear un icono personalizado para utilizar un VI como un subVI, pero es muy
recomendable aumentar la legibilidad de su cdigo.

National Instruments | 4-15

Leccin 4

Desarrollo de aplicaciones modulares

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Notas

4-16 | ni.com

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Creando y aprovechando
estructuras de datos

En ocasiones es conveniente agrupar datos relacionados entre s. Use arrays y clusters para agrupar
datos relacionados en LabVIEW. Los arrays combinan datos del mismo tipo en una estructura de
datos; los clusters combinan datos de diferente tipo en una estructura de datos. Use definiciones
tipo para definir clusters y arrays personalizados. Esta leccin explica arrays, clusters y
definiciones tipo, as como aplicaciones donde su uso puede resultar beneficioso.

Temas
A. Arrays

B. Funciones de array comunes


C. Polimorfismo

D. Autoindexado
E. Clusters

F. Definiciones tipo

National Instruments | 5-1

Leccin 5

Creando y aprovechando estructuras de datos

A. Arrays
Un array consta de elementos y dimensiones. Los elementos son los datos que conforman el array.
Una dimensin es la longitud, altura o profundidad de un array. Un array puede tener una o ms
dimensiones y un mximo de (231) - 1 elementos por dimensin, si lo permite la memoria.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede crear arrays de tipos de datos numricos, booleanos, rutas, cadenas de caracteres, forma de
onda y cluster. Use arrays cuando trabaje con un conjunto de datos similares y cuando realice
clculos repetitivos. Los arrays son ideales para almacenar datos que recopile de formas de onda o
datos generados en bucles, donde cada iteracin de un bucle produce un elemento del array.
Los ndices de array en LabVIEW estn basados en cero. El ndice del primer
elemento del array, independientemente de su dimensin, es cero.
Nota

Restricciones

No puede crear arrays de arrays. Sin embargo, puede usar un array multidimensional o crear un
array de clusters donde cada cluster contenga uno o ms arrays. Asimismo, no puede crear un array
de controles subpanel, controles de pestaas, controles .NET, controles ActiveX, grficos tipo
chart o grficos tipo XY graph de varias curvas. Consulte la seccin de clusters de esta leccin
para obtener informacin adicional acerca de los clusters.

Un ejemplo de un array simple es un array de texto que enumera los doce meses del ao. LabVIEW
representa esto como un array 1D de cadenas de caracteres con doce elementos.

Los elementos de array estn ordenados. Un array utiliza un ndice para que pueda acceder
fcilmente a un elemento concreto. El ndice est basado en cero, lo que significa que est en el
intervalo de 0 a n - 1, siendo n el nmero de elementos del array. Por ejemplo, n = 12 para los doce
meses del ao, de modo que el intervalo del ndice es de 0 a 11. Marzo es el tercer mes, por lo que
su ndice es 2.

La figura 5-1 muestra un ejemplo de un array de valores numricos. El primer elemento que
aparece en el array (3.00) est en el ndice 1 y el segundo elemento (1.00) est en el ndice 2.
El elemento del ndice 0 no aparece en esta imagen, porque el elemento 1 est seleccionado en la
visualizacin del ndice. El elemento seleccionado en el ndice siempre hace referencia al elemento
que aparece en la esquina superior izquierda de la visualizacin del array.
Figura 5-1. Control array de valores numricos
1

ndice

5-2 | ni.com

Elementos

Manual de Curso LabVIEW Core 1

Creacin de controles e indicadores de tipo array

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Cree un control o indicador de array en el panel frontal aadiendo una estructura array al panel
frontal, como se muestra en el siguiente panel frontal, y arrastrando un objeto o elemento de datos,
que puede ser un control o indicador numrico, booleano, de cadena de caracteres, de ruta, de
refnum o de cluster, en la estructura array.
Figura 5-2. Colocar un control numrico en una estructura array

Si intenta arrastrar un control o indicador no vlido a la estructura array, no podr colocar el control
o el indicador en la estructura array.
Debe insertar un objeto en la estructura array antes de usar el array en el diagrama de bloques. De
lo contrario, el terminal del array aparecer negro, con un parntesis vaco y no tendr tipos de
datos asociados a l.

Creacin de constantes de arrays

Para crear una constante de array en el diagrama de bloques, seleccione una constante de array en
la paleta de Funciones , coloque la estructura array en el diagrama de bloques y coloque una
constante de cadena de caracteres, una constante numrica, una constante booleana o una constante
de cluster en la estructura array. Puede utilizar una constante de array para almacenar datos de
constantes o para comparar con otro array.

Arrays bidimensionales

Un array 2D almacena elementos en una cuadrcula. Requiere un ndice de columna y un ndice


de fila para buscar un elemento, ambos basados en cero. La figura 5-3 muestra un array 2D de
8 columnas por 8 filas, que contiene 8 8 = 64 elementos.
Figura 5-3. Array 2D
Column Index

Row Index

1
2
3
4
5
6
7

National Instruments | 5-3

Leccin 5

Creando y aprovechando estructuras de datos

Para aadir un array multidimensional al panel frontal, haga clic con el botn derecho en la pantalla
del ndice y seleccione Add Dimension en el men contextual. Tambin puede cambiar el tamao
del ndice hasta que tenga tantas dimensiones como desee.

Inicializacin de arrays

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede inicializar un array o dejarlo sin inicializar. Para inicializar un array, debe definir el nmero
de elementos de cada dimensin y el contenido de cada elemento. Un array sin inicializar contiene
un nmero fijo de dimensiones pero ningn elemento. La figura 5-4 muestra un control de array
2D sin inicializar. Observe que todos los elementos estn atenuados. Esto indica que el array no
est inicializado.
Figura 5-4. Array 2D sin inicializar

En la figura 5-5, seis elementos estn inicializados.

Figura 5-5. Array 2D inicializado con seis elementos

En un array 2D, tras inicializar un elemento de una fila, los elementos restantes de sta se
inicializan y se rellenan con el valor predeterminado para el tipo de dato. Por ejemplo, en la
figura 5-6, si escribe 4 en el elemento de la primera columna, tercera fila, los elementos de la
segunda y tercera columna de la tercera fila se rellenan automticamente con un 0.
Figura 5-6. Un array autopopulado con ceros

5-4 | ni.com

Manual de Curso LabVIEW Core 1

B. Funciones de array comunes


LabVIEW agrupa las funciones que usted puede utilizar para manipular arrays en la paleta Array.
Las siguientes funciones son las funciones ms comunes cuando se trabaja con arrays.
Array SizeProvee el nmero de elementos en cada dimensin de array. El panel de
conectores muestra el tipo de datos predeterminado para esta funcin polimrfica.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Initialize ArrayCrea un array de dimensin n en el cual cada elemento est inicializado al


valor de element. Use la herramienta de posicionamiento para cambiar el tamao de la funcin
y aumentar el nmero de dimensiones (elemento, fila, columna, pgina, etc) del array de salida.
El panel de conectores muestra el tipo de datos predeterminado para esta funcin polimrfica.

Array SubsetProvee una porcin de array empezando en index y conteniendo length


elementos.

Build ArrayConcatena mltiples arrays o agrega elementos a un array de n dimensiones.


Tambin puede usar la funcin Replace Array Subset para modificar un array existente. El
panel de conectores muestra el tipo de datos predeterminado para esta funcin polimrfica.

Index ArrayProvee el elemento o subarray de n-dimension array en index. Cuando cablea


un array a esta funcin, la funcin cambia su tamao automticamente para mostrar index
entradas para cada dimensin en el array que cableo a n-dimension array. Tambin puede
agregar terminales adicionales al elemento o subarray cambiando el tamao de la funcin. El
panel de conectores muestra el tipo de datos predeterminado para esta funcin polimrfica.

National Instruments | 5-5

Leccin 5

Creando y aprovechando estructuras de datos

C. Polimorfismo

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Polimorfismo es la habilidad de VIs y funciones de adaptarse automticamente para aceptar


diferentes tipos de datos. Las funciones son polimrficas en diferentes gradosninguna, algunas
o todas sus entradas pueden ser polimrficas. Algunas entradas de funciones aceptan valores
numricos o booleanos. Algunas aceptan valores numricos o cadenas de caracteres. Algunas
aceptan no solo valores escalares pero tambin arrays de valores numricos, clusters de valores
numricos, arrays de clusters de valores numricos y ms. Algunas aceptan solamente arrays
unidimensionales aunque los elementos del array pueden ser de cualquier tipo. Algunas funciones
aceptan todo tipo de datos, incluyendo valores numricos complejos.

Polimorfismo para funciones aritmticas

Las funciones aritmticas aceptan entrada de datos numricos. Con algunas excepciones detalladas
en la descripcin de las funciones, la salida predeterminada tiene la misma representacin que la
entrada o si las entradas tienen diferentes representaciones, la salida predeterminada ser igual a la
representacin ms larga de las entradas. Por ejemplo, si aade un entero de 8-bits y un entero de
16-bits, la salida predeterminada es un entero de 16-bits. Si configura la salida de una funcin
numrica, la configuracin que especifique sobre escribe el comportamiento predeterminado.
Las funciones aritmticas trabajan con nmeros, arrays de nmeros, clusters de nmeros, arrays de
clusters de nmeros, nmeros complejos y ms. Una definicin formal de tipo de entrada permitido
es la siguiente:
Tipo numrico = escalar numrico O array [tipo numrico] O cluster [tipos numricos]

Los escalares numricos pueden ser nmeros coma flotante, enteros o nmeros complejos coma
flotante. LabVIEW no permite usar arrays de arrays.

Los arrays pueden tener cualquier nmero de dimensiones de cualquier tamao. Los clusters
pueden tener cualquier nmero de elementos. El tipo de salida de las funciones es del mismo tipo
de representacin numrica que la entrada. Para las funciones con una entrada, las funciones
operan en cada elemento del array o cluster.
Para las funciones con dos entradas, puede usar las siguientes combinaciones:

SimilarAmbas entradas tienen la misma estructura y la salida tiene la misma estructura que
las entradas.

Un escalarUna entrada es un escalar numrico, la otra es un array o cluster y la salida es un


array o cluster.

Array deUna entrada es un array numrico, la otra es el tipo numrico y la salida es un array.

Para entradas similares, LabVIEW lleva acabo la funcin en los elementos respectivos de las
estructuras. Por ejemplo, LabVIEW puede sumar dos arrays elemento por elemento. Ambos arrays
deben tener la misma dimensin. Puede sumar arrays de diferente nmero de elementos, la salida
de dicha suma tiene el mismo nmero de elementos que la entrada ms pequea. Los clusters deben
tener el mismo nmero de elementos y los elementos respectivos deben ser del mismo tipo.

5-6 | ni.com

Manual de Curso LabVIEW Core 1

Para operaciones que involucran un escalar y un array o un cluster, LabVIEW realiza la funcin en
el escalar y los respectivos elementos de la estructura. Por ejemplo, LabVIEW puede restar un
nmero de todos los elementos de un array, sin importar la dimensin del array.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Para operaciones que involucran un tipo numrico y un array de ese tipo, LabVIEW realiza la
funcin en cada uno de los elementos del array. Por ejemplo, un grfico es un array de puntos y un
punto es un cluster con dos tipos numricos, X y Y. Para compensar un grfico por 5 unidades en
la direccin X y por 8 unidades en la direccin Y puede aadir un punto, (5,8), al grfico.
La figura 5-7 muestra las posibles combinaciones polimrficas de la funcin Add.
Figura 5-7. Combinaciones polimrficas de la funcin Add.

Polimorfismo para funciones booleanas

Las funciones lgicas aceptan datos de entrada booleanos, numricos y clusters de error. Si la
entrada es numrica, LabVIEW realiza una operacin bit a bit. Si entrada es un nmero entero, la
salida tiene la misma representacin. Si la entrada es un nmero coma flotante, LabVIEW lo
redondea a un nmero entero de 32-bits y la salida es un nmero entero de 32-bits. Si la entrada es
un cluster de error, LabVIEW pasa solo el valor TRUE o FALSE del parmetro status del cluster
de error a la terminal de entrada.
La funciones lgicas funcionan con arrays de nmeros o valores booleanos, clusters de nmeros o
valores booleanos, arrays de clusters de nmeros o valores booleanos y ms.
Una definicin formal del tipo de entrada permitido es la siguiente, excepto que los nmeros
complejos y arrays de arrays no son permitidos:

Tipo lgico = escalar booleano O escalar numrico O array [tipo lgico] O cluster [tipos lgicos]

National Instruments | 5-7

Leccin 5

Creando y aprovechando estructuras de datos

Las funciones lgicas con dos entradas pueden tener la misma combinacin de entradas que las
funciones aritmticas. Sin embargo, las funciones lgicas tienen la restriccin adicional de que las
operaciones bsicas solo pueden ser entre dos valores booleanos o dos nmeros. Por ejemplo, no
puede tener una AND entre un valor booleano y un nmero. La figura 5-8 muestra algunas
combinaciones de valores booleanos para la funcin AND.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 5-8. Combinaciones de valores booleanos para la funcin AND

D. Autoindexado

Si cablea un array a o desde un bucle For o While, puede vincular cada iteracin del bucle en un
elemento de ese array habilitando el autoindexado. La imagen del tnel cambia de un cuadrado
relleno a la imagen para indicar el autoindexado. Haga clic con el botn derecho en el tnel y
seleccione Enable Indexing o Disable Indexing desde el men contextual para cambiar el estado
del tnel.

Entradas de array y autoindexado

Si habilita el autoindexado en un array cableado a un terminal de entrada de un bucle For,


LabVIEW configurar el terminal de contaje en el tamao del array, por lo que no tiene que cablear
el terminal de contaje. Dado que puede utilizar bucles For para procesar arrays elemento por
elemento LabVIEW habilita el autoindexado de forma predeterminada para todos los arrays que
cablee a un bucle For. Puede desactivar el autoindexado si no necesita procesar arrays, elemento
por elemento.

5-8 | ni.com

Manual de Curso LabVIEW Core 1

En la figura 5-9, el bucle For se ejecuta un nmero de veces equivalente al nmero de elementos
del array. Normalmente, si el terminal de contaje del bucle For no est cableado, la flecha de
ejecucin aparece rota. Sin embargo, en este caso la flecha de ejecucin no aparece rota.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 5-9. Array utilizado para configurar el contaje de bucles For

Si habilita el autoindexado para ms de un tnel o si cablea el terminal de contaje, el nmero


real de iteraciones ser el equivalente a la menor de las elecciones. Por ejemplo, si dos arrays
autoindexados entran en el bucle, con 10 y 20 elementos respectivamente, y cablea un valor de
15 al terminal de contaje, el bucle se seguir ejecutando slo 10 veces, indexando todos los
elementos del primer array pero slo los 10 primeros elementos del segundo array.

Salidas de array y autoindexado

Cuando autoindexa un tnel de salida de un array, el array de salida recibe un nuevo elemento de
cada iteracin del bucle. Por lo tanto, el tamao de los arrays de salida autoindexados es siempre
igual al nmero de iteraciones del bucle For.

El cable del tnel de salida al indicador de array aparece ms grueso cuando se produce el cambio
a un array en el borde del bucle, y el tnel de salida contiene corchetes que representan a un array,
como en la figura 5-10.
Figura 5-10. Salida autoindexada

National Instruments | 5-9

Leccin 5

Creando y aprovechando estructuras de datos

Haga clic con el botn derecho en el borde del bucle y seleccione Enable Indexing o Disable
Indexing en el men contextual para habilitar o deshabilitar el autoindexado. El autoindexado de
bucles While est deshabilitado de forma predeterminada.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Por ejemplo, deshabilite el autoindexado si necesita que slo el ltimo valor salga por el tnel.

Creacin de arrays bidimensionales

Puede usar dos bucles For, anidados uno dentro del otro, para crear un array 2D. El bucle For
externo crea los elementos de la fila, mientras que el interno crea los elementos de la columna,
como en la figura 5-11.
Figura 5-11. Creacin de un array 2D

Autoindexado con un tnel condicional

Usted puede determinar que valores LabVIEW escribe a la salida de un tnel de un bucle basado
en una condicin que especifica haciendo clic con el botn derecho en la salida del tnel y
seleccionando Tunnel ModeConditional en el men contextual.

En la figura 5-12, el array Input Array contiene los siguientes elementos: 7, 2, 0, 3, 1, 9, 5, y 7.


Debido al tnel condicional, el array Values less than 5 contiene solamente los elementos 2, 0, 3
y 1 despus que este bucle completa todas las iteraciones.
Figura 5-12. Bucle For autoindexado con tnel condicional

5-10 | ni.com

Manual de Curso LabVIEW Core 1

Grficos tipo Waveform graph


Los VIs con un grfico normalmente acumulan los datos en un array y despus los trazan en el
grfico. La figura 5-13 muestra los elementos de un grfico tipo waveform graph.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 5-13. Grfico Waveform Graph


1

11

3
4

10

1
2
3

Leyenda de la curva
Cursor
Marca de cuadrcula

4
5
6

Marca de minicuadrcula
Leyenda de la escala
Desplazador del cursor

7
8
9

Leyenda del cursor


Paleta del grfico
Escala X

10 Escala Y
11 Etiqueta

Los grficos situados en la paleta Graph Indicators incluyen los tipos waveform graph y
XY graph. El tipo waveform graph slo representa funciones de una nica variable, como en
y = f(x), con puntos distribuidos uniformemente en el eje x, como las formas de onda adquiridas
variables con el tiempo. Los grficos XY muestran cualquier conjunto de puntos, muestreados
uniformemente o no.

Cambie el tamao de la leyenda de la curva para ver varias curvas. Use varias curvas para ahorrar
espacio en el panel frontal y comparar curvas. Los grficos tipo XY y waveform se adaptan
automticamente a varias curvas.

Grficos tipo Waveform graph de una sola curva

El grfico tipo waveform graph acepta varios tipos de datos para grficos de una sola curva. El
grfico tipo graph acepta un solo array de valores, interpreta los datos como puntos del grfico
e incrementa el ndice x en uno empezando por x = 0. Asimismo acepta un cluster con un valor
inicial x, un valor delta x y un array de datos y. Por ltimo, tambin acepta el tipo de datos de forma
de onda, que contiene los datos, tiempo de inicio y el valor delta t de una forma de onda.

Consulte el VI Waveform Graph en labview\examples\general\graphs\gengraph.llb


para ver ejemplos de los tipos de datos que acepta un grfico tipo waveform graph.

National Instruments | 5-11

Leccin 5

Creando y aprovechando estructuras de datos

Grficos tipo waveform graph de varias curvas

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El grfico tipo waveform graph acepta varios tipos de datos para mostrar varias curvas. Acepta
un array 2D de valores, donde cada fila de sta es una sola curva. El grfico interpreta los datos
como puntos del mismo e incrementa el ndice x en uno, empezando por x = 0. Cablee un tipo de
datos de array 2D al grfico tipo graph, haga clic en ste con el botn derecho y seleccione
Transpose Array en el men contextual para tratar cada columna del array como una curva. Esto
resulta especialmente til cuando muestrea varios canales de un dispositivo DAQ, porque ste
puede devolver los datos como arrays 2D con cada canal almacenado como una columna distinta.
Consulte el grfico (Y) Multi Plot 1 en el VI Waveform Graph de labview\examples\
general\graphs\gengraph.llb para ver un ejemplo de un grfico que acepta este tipo de
datos.

El grfico tipo waveform graph tambin acepta un cluster con un valor inicial x, un valor delta x
y un array 2D de datos y. El grfico interpreta los datos y como puntos del mismo e incrementa el
ndice x por el valor delta x, empezando por el valor x inicial. Este tipo de datos resulta til para
mostrar varias seales que se muestrean a la misma velocidad regular. Consulte el grfico (Xo =
10, dX = 2, Y) Multi Plot 2 en el VI Waveform Graph de labview\examples\general\
graphs\gengraph.llb para ver un ejemplo de un grfico que acepta este tipo de datos.

El grfico tipo waveform graph acepta un array de curvas donde el array contiene clusters. Cada
cluster contiene un array 1D que alberga los datos y. El array interno describe los puntos de una
curva y el externo tiene un cluster para cada curva. El panel frontal de la figura 5-14 muestra este
array de clusters y.
Figura 5-14. Array del cluster y

Use un array de curva en lugar de un array 2D si el nmero de elementos de cada curva es distinto.
Por ejemplo, cuando muestrea datos de varios canales con distintos tiempos para cada uno, use esta
estructura de datos en lugar de un array 2D porque cada fila de un array 2D debe tener el mismo
nmero de elementos. El nmero de elementos de los arrays interiores de un array de clusters puede
variar. Consulte el grfico (Y) Multi Plot 2 en el VI Waveform Graph de labview\examples\
general\graphs\gengraph.llb para ver un ejemplo de un grfico que acepta este tipo de
datos.

El grfico tipo waveform graph acepta un cluster de un valor inicial x, un valor delta x y un array
que contiene clusters. Cada cluster contiene un array 1D que alberga los datos y. Use la funcin
Bundle para unir los arrays en clusters y use la funcin Build Array para crear los clusters
resultantes en un array. Consulte la leccin Clusters, para obtener informacin adicional acerca
de los clusters y la funcin Bundle.

5-12 | ni.com

Manual de Curso LabVIEW Core 1

Tambin puede utilizar la funcin Build Cluster Array, que crea arrays de clusters que contienen
las entradas que especifique. Consulte el grfico (Xo = 10, dX = 2, Y) Multi Plot 3 en el VI
Waveform Graph de labview\examples\general\graphs\gengraph.llb para ver un
ejemplo de un grfico que acepta este tipo de datos.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El grfico tipo waveform graph acepta un array de clusters de un valor x, un valor delta x y un
array de datos y. ste es el ms general de los tipos de datos de grficos tipo waveform graph de
varias curvas, porque puede indicar un nico punto de inicio e incrementar la escala x de cada
curva. Consulte el grfico (Xo = 10, dX = 2, Y) Multi Plot 1 en el VI Waveform Graph de
labview\examples\general\graphs\gengraph.llb para ver un ejemplo de un grfico
que acepta este tipo de datos.

El grfico tipo waveform graph tambin acepta el tipo de datos dinmicos, que se usa con los
VIs Express. Adems de los datos asociados con una seal, el tipo de datos dinmicos incluye
atributos con informacin sobre la seal, como el nombre de la seal o la fecha y la hora en que se
adquirieron los datos. Los atributos especifican cmo aparece la seal en el grfico. Cuando el tipo
de datos dinmico incluye varios canales, el grfico muestra una curva para cada canal y da formato
automticamente a la leyenda de la curva y la marca de hora de la escala x.

Grficos XY de una sola curva

El grfico XY acepta tres tipos de datos para grficos XY de una sola curva. El grfico XY acepta
un cluster que contiene un array x y un array y. Consulte el grfico (X and Y arrays) Single Plot
en el VI XY Graph de labview\examples\general\graphs\gengraph.llb para ver un
ejemplo de un grfico que acepta este tipo de datos.

El grfico XY tambin acepta un array de puntos, donde un punto es un cluster que contiene
un valor x y un valor y. Consulte el grfico (Array of Pts) Single Plot en el VI XY Graph de
labview\examples\general\graphs\gengraph.llb para ver un ejemplo de un grfico
que acepta este tipo de datos. El grfico XY tambin acepta un array de datos complejos, donde la
parte real se traza en el eje x y la parte imaginaria en el eje y.
Consulte la seccin Clusters, para obtener informacin adicional acerca los clusters.

Grficos XY waveform graph de varias curvas

El grfico XY acepta tres tipos de datos para mostrar varias curvas. Acepta un array de curvas,
donde una curva es un cluster que contiene un array x y un array y. Consulte el grfico (X and Y
arrays) Multi Plot en el VI XY Graph de labview\examples\general\graphs\
gengraph.llb para ver un ejemplo de un grfico que acepta este tipo de datos.

El grfico XY tambin acepta un array de clusters de curvas, siendo una curva un array de puntos.
Un punto es un cluster que contiene un valor x y un valor y. Consulte el grfico (Array of Pts) Multi
Plot en el VI XY Graph de labview\examples\general\graphs\gengraph.llb para ver
un ejemplo de un grfico que acepta este tipo de datos. El grfico XY tambin acepta un array
clusters de curvas, siendo una curva un array de datos complejos, donde la parte real se traza en el
eje x y la parte imaginaria en el eje y.
Consulte la seccin Clusters, para obtener informacin adicional acerca los clusters.

National Instruments | 5-13

Leccin 5

Creando y aprovechando estructuras de datos

E. Clusters
Los clusters agrupan elementos de datos de tipos mixtos. Un ejemplo de un cluster es el cluster de
error de LabVIEW, que combina un valor booleano, uno numrico y una cadena de caracteres. Un
cluster es similar a un registro o una estructura en lenguajes de programacin basados en texto.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Unir varios elementos de datos en clusters elimina el abarrotamiento de cables en el diagrama


de bloques y reduce el nmero de terminales del panel de conectores que necesitan los subVIs.
El panel de conectores tiene como mucho 28 terminales. Si su panel frontal contiene ms de
28 controles e indicadores que desee pasar a otro VI, agrupe algunos en un cluster y asigne ste a
un terminal del panel de conectores.

La mayora de los clusters del diagrama de bloques tiene un terminal y un patrn de cables rosa.
Los clusters de error tienen un terminal y un patrn de cables amarillo oscuro. Los clusters de
valores numricos, a veces denominados puntos, tienen un terminal y un patrn de cables marrn.
Puede cablear clusters numricos marrones a funciones Numeric, como Add o Square Root, para
realizar la misma operacin simultneamente en todos los elementos del cluster.

Orden de elementos del cluster

Aunque los elementos del cluster y del array estn ordenados, con la funcin Unbundle debe
desunir todos los elementos del cluster enseguida. Puede utilizar la funcin Unbundle By Name
para desunir elementos del cluster por nombre. Si utiliza la funcin Unbundle By Name, cada
elemento del cluster debe tener una etiqueta. Los clusters tambin difieren de los arrays en que
tienen un tamao fijo. Al igual que un array, un cluster puede ser control o indicador. Un cluster no
puede contener una mezcla de controles e indicadores.

Creacin de controles e indicadores de clusters

Cree un control o indicador de clusters en el panel frontal aadiendo una estructura cluster al panel
frontal, como se muestra en el siguiente panel frontal, y arrastrando un objeto o elemento de datos,
que puede ser un control o indicador numrico, booleano, de cadena de caracteres, de ruta, refnum
o cluster, en la estructura cluster.
Cambie el tamao de la estructura cluster arrastrando el cursor mientras coloca sta.
Figura 5-15. Creacin de un control de cluster

5-14 | ni.com

Manual de Curso LabVIEW Core 1

La imagen 5-16 es un ejemplo de un cluster que contiene tres controles: Un string, un interruptor
Booleano, y un numrico. Un cluster puede ser un control o un indicador. No puede contener una
mezcla de controles e indicadores.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 5-16. Ejemplo de control de cluster

Crear constantes de clusters

Para crear una constante de cluster en el diagrama de bloques, seleccione una constante de cluster
en la paleta Funciones , coloque la estructura cluster en el diagrama de bloques y coloque una
constante de cadena de caracteres, una constante booleana o una constante de cluster en la
estructura cluster. Puede utilizar una constante de cluster para almacenar datos de constantes o para
comparar con otro cluster.
Si tiene un control o indicador de cluster en la ventana del panel frontal y desea crear una constante
de cluster que contenga los mismos elementos en el diagrama de bloques, puede arrastrar ese
cluster desde la ventana del panel frontal al diagrama de bloques o hacer clic con el botn derecho
en la ventana del diagrama de bloques y seleccionar CreateConstant en el men contextual.

Orden de clusters

Los elementos de clusters tienen un orden lgico no relacionado con su posicin en la estructura.
El primer objeto que coloca en el cluster es el elemento 0, el segundo es el elemento 1, etc. Si
elimina un elemento, el orden se ajusta automticamente. El orden del cluster determina el orden
en que aparecen los elementos como terminales en las funciones Bundle y Unbundle en el
diagrama de bloques. Puede ver y modificar el orden del cluster haciendo clic derecho en su borde
y seleccionando Reorder Controls In Cluster en el men contextual.

National Instruments | 5-15

Leccin 5

Creando y aprovechando estructuras de datos

La barra de herramientas y el cluster cambian, como en la figura 5-17.


Figura 5-17. Reordenar un cluster

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

1
2

Botn de confirmar
Botn de cancelar

3
4

Cursor de orden del cluster


Orden del cluster

Nuevo orden

El cuadro blanco de cada elemento muestra su lugar actual en el orden del cluster. El cuadro negro
muestra el nuevo lugar en el orden para un elemento. Para establecer la posicin de un elemento
en el cluster, escriba el nmero de orden nuevo en el cuadro de texto Click to set to y haga clic
en el elemento. La posicin del elemento en el cluster cambia, y se ajusta el orden del resto de
elementos del cluster. Guarde los cambios haciendo clic en el botn Confirm de la barra de
herramientas. Vuelva al orden original haciendo clic en el botn Cancel.

Redimensionando clusters

Complete los siguientes pasos para encoger clusters con el fin de acomodar sus contenidos.

1. Haga clic con el botn derecho en el borde del cluster y seleccione AutosizingSize to Fit en
el men contextual.

2. Aada otro elemento al cluster. Cuando AutoSizingSize to Fit est seleccionado, el cluster se
redimensiona si es necesario cuando aade un elemento al cluster.
3. Haga clic con el botn derecho en el borde del cluster y seleccione AutoSizingArrange
Horizontally o AutoSizingArrange Vertically en el men contextual para organizar los
elementos en el cluster horizontal o verticalmente.

5-16 | ni.com

Manual de Curso LabVIEW Core 1

Uso de funciones de cluster


Use las funciones de cluster para crear y manipular clusters. Por ejemplo, puede realizar tareas
similares a las siguientes:
Extraer elementos de datos individuales de un cluster.

Aadir elementos de datos individuales a un cluster.

Dividir un cluster en sus elementos de datos individuales.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Use la funcin Bundle para ensamblar un cluster, use la funcin Bundle y la funcin Bundle by
Name para modificar un cluster y use la funcin Unbundle y la funcin Unbundle By Name para
desensamblar clusters.

Tambin puede colocar las funciones Bundle, Bundle by Name, Unbundle y Unbundle by Name
en el diagrama de bloques haciendo clic con el botn derecho en un terminal del cluster en el
diagrama de bloques y seleccionando Cluster, Class & Variant Palette en el men contextual.
Las funciones Bundle y Unbundle contienen automticamente el nmero correcto de terminales.
Las funciones Bundle by Name y Unbundle by Name aparecen con el primer elemento del cluster.
Use la herramienta de posicionamiento para cambiar el tamao de las funciones Bundle by Name
y Unbundle by Name para mostrar los otros elementos del cluster.

Ensamblaje de clusters

Use la funcin Bundle para ensamblar un cluster desde elementos individuales o para cambiar los
valores de elementos individuales de un cluster existente sin tener que especificar nuevos valores
para todos los elementos. Use la herramienta de posicionamiento para cambiar el tamao de la
funcin o haga clic con el botn derecho en una entrada de elemento y seleccione Add Input en el
men contextual.
Figura 5-18. Ensamblaje de un cluster en el diagrama de bloques

Desensamblaje de clusters

Use la funcin Unbundle para dividir un cluster en sus elementos individuales.

Use la funcin Unbundle by Name para devolver los elementos del cluster cuyos nombres
especifique. El nmero de terminales de salida no depende del nmero de elementos del cluster de
entrada.

Mientras que funcin Unbundle muestra todas las partes del cluster, la funcin Unbundle by Name
puede ser configurada para mostrar elementos especficos de un solo cluster. Para seleccionar
cuales elementos la funcin Unbundle by Name debe mostrar, use la herramienta operacional y

National Instruments | 5-17

Leccin 5

Creando y aprovechando estructuras de datos

haga clic en la terminal de salida de la funcin y seleccione un elemento del men desplegable.
Tambin puede hacer clic con el botn derecho en el terminal de salida y seleccionar el elemento
del men contextual Select Item.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Por ejemplo, si usa la funcin Unbundle con el cluster de la figura 5-19, tiene cuatro terminales de
salida que corresponden con los cuatro controles del cluster. Debe conocer el orden del cluster para
poder asociar el terminal booleano correcto del cluster desunido con el correspondiente interruptor
en el cluster. En este ejemplo, los elementos estn ordenados de arriba a abajo empezando por el
elemento 0. Si usa la funcin Unbundle by Name, puede tener un nmero arbitrario de terminales
de salida y acceder a elementos individuales por nombre en cualquier orden.
Figura 5-19. Unbundle y Unbundle By Name

Modificacin de un cluster

Si cablea la entrada del cluster, puede cablear slo los elementos que desee cambiar. Por ejemplo,
el cluster Input Cluster de la figura 5-20 contiene tres controles.
Figura 5-20. Funcin Bundle utilizada para modificar un cluster

Si conoce el orden del cluster, puede usar la funcin Bundle para cambiar el valor Command
cableando los elementos de la figura 5-20.

Tambin puede utilizar la funcin Bundle by Name para sustituir o acceder a elementos etiquetados
de un cluster existente. La funcin Bundle by Name acta como la funcin Bundle, pero en lugar
de hacer referencia a elementos del cluster por su orden en el cluster, hace referencia a ellos por
sus etiquetas propietarias. Puede acceder slo a elementos con etiquetas propietarias. El nmero de
entradas no tiene por qu coincidir con el nmero de elementos de output cluster.
Mientras que funcin Bundle muestra todas las partes del cluster, la funcin Bundle by Name
puede ser configurada para mostrar elementos especficos de un solo cluster. Para seleccionar
cuales elementos la funcin Bundle by Name debe mostrar, use la herramienta operacional y haga

5-18 | ni.com

Manual de Curso LabVIEW Core 1

clic en la terminal de salida de la funcin y seleccione un elemento del men desplegable. Tambin
puede hacer clic con el botn derecho en el terminal de salida y seleccionar el elemento del men
contextual Select Item.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

En la figura 5-21, puede utilizar la funcin Bundle by Name para actualizar los valores de
Command y Function con los valores de New Command y New Function.
Figura 5-21. Funcin Bundle By Name utilizada para modificar un cluster

Use la funcin Bundle by Name para estructuras de datos que podran cambiar durante el
desarrollo. Si aade un nuevo elemento al cluster o modifica su orden, no necesita volver a cablear
la funcin Bundle by Name porque los nombres siguen siendo vlidos.

Clusters de error

LabVIEW contiene un cluster personalizado llamado cluster de error. LabVIEW usa los clusters
de error para pasar informacin de error.
Consulte la leccin 2, Resolucin de problemas y depuracin de VIs de este manual y el tema
Handling Errors de la Ayuda de LabVIEW para obtener informacin adicional acerca del uso de
clusters de error.

F. Definiciones tipo

Puede usar definiciones tipo para definir clusters y arrays personalizados. Una definicin tipo es
una copia maestra de un tipo de dato personalizado (control personalizado, indicador o constante)
que mltiples VIs pueden usar. Cuando usa una definicin tipo, usted puede actualizar todas las
copias de un tipo de dato personalizado en una sola edicin.

Controles e indicadores personalizados

Use controles e indicadores personalizados para ampliar el conjunto de objetos disponibles del
panel frontal. Puede crear controles e indicadores personalizados para una aplicacin que varan
cosmticamente de los controles e indicadores predeterminados de LabVIEW. Puede guardar un
control o indicador personalizado que cre en un directorio o LLB y usar el control o indicador
personalizado en otros paneles frontales. Tambin puede crear un icono para el control o indicador
personalizado y aadirlo a la paleta Controls.
Consulte el tema Creating Custom Controls, Indicators, and Type Definitions de la Ayuda de
LabVIEW para obtener informacin adicional acerca de crear y usar controles personalizados y
definiciones tipo.

National Instruments | 5-19

Leccin 5

Creando y aprovechando estructuras de datos

Use la ventana del Editor de Controles para personalizar controles e indicadores. Por ejemplo,
puede cambiar el tamao, color y posicin relativa de los elementos de un control o indicador e
importar imgenes en stos.
Puede ver la ventana del Editor de Controles de estos modos:
Haga clic con el botn derecho en un control o indicador del panel frontal y seleccione
AdvancedCustomize en el men contextual.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Use la herramienta de posicionamiento para seleccionar un control o indicador del panel frontal
y seleccionar EditCustomize Control.

Use el cuadro de dilogo New.

El Editor de Controles aparece con el objeto del panel frontal seleccionado en su ventana. El Editor
de Controles tiene dos modos: edicin y personalizacin.
La barra de herramientas de la ventana del Editor de Controles indica si est en el modo de edicin
o de personalizacin. La ventana del Editor de Controles se abre en el modo de edicin. Haga clic
en el botn Change to Customize Mode para cambiar al modo de personalizacin. Para volver al
modo de edicin, haga click sobre el botn Change to Edit Mode. Puede cambiar entre modos
seleccionando OperateChange to Customize Mode o OperateChange to Edit Mode.

Use el modo de edicin para cambiar el tamao o color de un control o indicador y para seleccionar
opciones de su men contextual, como hara en el modo de edicin de un panel frontal.
Use el modo de personalizacin para realizar grandes cambios en controles e indicadores
cambiando cada parte de un control o indicador.

5-20 | ni.com

Manual de Curso LabVIEW Core 1

Modo de edicin

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

En el modo de edicin puede hacer clic con el botn derecho en el control y manipular sus ajustes
como hara en el entorno de programacin de LabVIEW.

1
2
3
4

Modo de edicin
Estado de definiciones tipo
Texto
Alinear objetos

5
6
7

Distribuir objetos
Cambiar el tamao de objetos
Reordenar objetos

Modo de personalizacin

En el modo de personalizacin puede mover de sitio cada componente del control. Para ver una
lista de lo que puede manipular en el modo de personalizacin, seleccione WindowShow Parts
Window.

1
2
3
4

Modo de personalizacin
Estado de definiciones tipo
Texto
Alinear objetos

5
6
7

Distribuir objetos
Cambiar el tamao de objetos
Reordenar objetos

Una forma de personalizar un control es cambiar su estado de definicin tipo. Puede guardar
un control como un control, una definicin tipo o una definicin tipo estricta, en funcin de la
seleccin que se vea en el anillo Type Def. Status. La opcin de control es la misma que un control
que seleccionara de la paleta Controls. Puede modificarla del modo que necesite, y cada copia que
realice y cambie conservar sus propiedades individuales.

Guardar controles personalizados

Tras crear un control personalizado, puede guardarlo para usarlo despus. De forma
predeterminada los controles guardados en el disco tienen una extensin .ctl.

Tambin puede usar el Editor de Controles para guardar controles con sus propios ajustes
predeterminados. Por ejemplo, puede usar el Editor de Controles para modificar los ajustes
predeterminados de un grfico tipo waveform graph, guardarlo y despus utilizarlo en otros VIs.

National Instruments | 5-21

Leccin 5

Creando y aprovechando estructuras de datos

Definiciones tipo

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Use definiciones tipo y definiciones tipo estrictas para vincular todas las copias de un control o
indicador personalizado a un archivo de control o indicador personalizado guardado. Puede
realizar cambios en todas las copias del control o indicador personalizado modificando slo el
archivo de control o indicador personalizado, lo cual resulta til si usa el mismo control o indicador
personalizado en varios VIs.
Cuando coloca un control o indicador personalizado en un VI, no existe conexin entre el control
o indicador personalizado que guard y la copia del control o indicador personalizado en el VI.
Cada copia de un control o indicador personalizado es independiente del resto. Por lo tanto, los
cambios que realice en un control o indicador personalizado no afectan a los VIs que ya utilizan
ese control o indicador personalizado. Si desea vincular copias de un control o indicador
personalizado con el archivo de control o indicador personalizado, guarde el control o indicador
personalizado como una definicin tipo o una definicin tipo estricta. Todas las copias de una
definicin tipo o de una definicin tipo estricta se vinculan con el archivo original desde donde
las cre.

Cuando guarda un control o indicador personalizado como una definicin tipo o una definicin tipo
estricta, cualquier cambio de tipo de dato que realice en la definicin tipo o tipo estricta afecta a
todas las copias de la definicin tipo o tipo estricta en todos los VIs que la utilicen. Asimismo, los
cambios de aspecto que realice en una definicin tipo estricta afectan a todas las copias de la
definicin tipo estricta del panel frontal.
Las definiciones tipo identifican el tipo de dato correcto para cada copia de un control o
indicador personalizado. Cuando cambia el tipo de dato de una definicin tipo, se actualizarn
automticamente todas las copias de la definicin tipo. En otras palabras, el tipo de dato de las
copias de la definicin tipo cambia en cada VI en el que se haya usado. No obstante, como las
definiciones tipo identifican slo el tipo de dato, slo se actualizarn los valores que formen parte
del tipo de dato. Por ejemplo, en controles numricos, el rango de datos no forma parte del tipo de
dato. Por lo tanto, las definiciones tipo de controles numricos no definen el rango de datos para
las copias de las definiciones tipo. Asimismo, como los elementos de los controles de anillo no
definen el tipo de dato, los cambios en los nombres de los elementos de un control de anillo en una
definicin tipo no cambian los nombres de los elementos en las copias de la definicin tipo. Sin
embargo, si cambia los nombres de los elementos de la definicin tipo para un control de tipo
enumerado, las copias se actualizan porque los nombres del elemento forman parte del tipo de dato.
Una copia de una definicin tipo puede tener su propio ttulo, etiqueta, descripcin, ayuda, valor
predeterminado, tamao, color o estilo de control o indicador nico, como en el caso de un mando
en lugar de un control deslizante.

Si cambia el tipo de dato de una definicin tipo, LabVIEW convierte el antiguo valor
predeterminado de las copias de la definicin tipo al nuevo tipo de dato, si es posible. LabVIEW
no puede conservar el valor predeterminado de la copia si el tipo de dato cambia a un tipo
incompatible, como sustituir un control o indicador numrico por un control o indicador de cadena
de caracteres. Cuando cambia el tipo de dato de una definicin tipo a un tipo de dato incompatible
con la definicin tipo anterior, LabVIEW configura el valor predeterminado de copias como
el valor predeterminado que especifique en el archivo .ctl. Si no especifica un valor

5-22 | ni.com

Manual de Curso LabVIEW Core 1

predeterminado, LabVIEW usar el valor predeterminado del tipo de dato. Por ejemplo, si cambia
una definicin tipo de un tipo numrico a un tipo de cadena de caracteres, LabVIEW sustituye
cualquier valor predeterminado asociado con el antiguo tipo de dato numrico por cadenas de
caracteres vacas.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Definiciones tipo estrictas

Una definicin tipo estricta fuerza que la copia sea idntica a la definicin de tipo estricta, excepto
en el ttulo, etiqueta, descripcin, ayuda y valor predeterminado. Al igual que las definiciones tipo,
el tipo de dato de una definicin tipo estricta permanece invariable en cualquier lugar donde use la
definicin tipo estricta. Las definiciones tipo estrictas tambin definen otros valores, como pueden
ser la comprobacin de rango en controles numricos y los nombres de los elementos en controles
de anillo. Las nicas propiedades de VI Server disponibles para las definiciones de tipo estrictas
son las que afectan al aspecto del control o indicador, como Visible, Disabled, Key Focus,
Blinking, Position y Bounds.
No puede impedir que una copia de una definicin tipo estricta se actualice automticamente, a
menos que elimine el vnculo entre la copia y la definicin tipo estricta.

Las definiciones tipo y las definiciones tipo estrictas crean un control predeterminado utilizando
un cluster de varios controles. Si necesita aadir un nuevo control y pasar un nuevo valor a cada
subVI, puede aadir el nuevo elemento al control cluster del control personalizado. Esto evita tener
que aadir el nuevo control al panel frontal de cada subVI y realizar un nuevo cableado y nuevos
terminales.

National Instruments | 5-23

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Cuestionario
1. Puede crear un array de arrays.
a. Verdadero

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Falso
2. Tiene dos arrays cableados a la entrada de un bucle For. El autoindexado est habilitado en
ambos tneles. Un array tiene 10 elementos y el segundo tiene cinco. Un valor de 7 se cablea
al terminal Count, como se ve en la figura 5-22. Cul es el valor del indicador Iterations tras
ejecutar este VI?
Figura 5-22. Cul es el valor del indicador Iteration?

3. Cul de los siguientes ajustes de un control personalizado define los tipos de dato de todas las
instancias de un control pero permite diferentes colores y estilos de fuentes?
a. Control

b. Definiciones tipo

c. Definiciones tipo estrictas


d. Control cluster

4. Usted tiene datos de entrada representando un crculo: posicin X, posicin Y y radio. En el


futuro, necesita modificar sus datos para incluir el color del crculo.
Qu estructura de datos debera usar para representar el crculo en su aplicacin?
a. Tres controles separados para las dos posiciones y el radio.
b. Un cluster que contiene todos los datos.

c. Un control personalizado que contiene un cluster.


d. Un tipo de definicin que contiene un cluster.
e. Un arreglo con tres elementos.

National Instruments | 5-25

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Respuestas
1. Puede crear un array de arrays.
a. Verdadero

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Falso
No puede arrastrar un tipo de datos array a una estructura array. Sin embargo, puede crear
arrays bidimensionales.

2. Tiene dos arrays cableados a la entrada de un bucle For. El autoindexado est habilitado en
ambos tneles. Un array tiene 10 elementos y el segundo tiene cinco. Un valor de 7 se cablea
al terminal Count, como se ve en la figura 5-23. Cul es el valor del indicador Iterations tras
ejecutar este VI?
Figura 5-23. Cul es el valor del indicador Iteration?

Valor de Iterations = 4

LabVIEW no supera el tamao del array. Esto ayuda a proteger de errores de programacin.
Las funciones matemticas de LabVIEW actan del mismo modo: si cablea un array de 10
elementos a la entrada x de la funcin Add, y un array de 5 elementos a la entrada y de la
funcin Add, la salida ser un array de 5 elementos.

Aunque el bucle For se ejecuta 5 veces, las iteraciones estn basadas en cero, por lo que el valor
del indicador Iterations es 4.

3. Cul de los siguientes ajustes de un control personalizado define los tipos de dato de todas las
instancias de un control pero permite diferentes colores y estilos de fuentes?
a. Control

b. Definiciones tipo

c. Definiciones tipo estrictas


d. Control cluster

National Instruments | 5-27

Leccin 5

Creando y aprovechando estructuras de datos

4. Usted tiene datos de entrada representando un crculo: posicin X, posicin Y y radio. En el


futuro, necesita modificar sus datos para incluir el color del crculo.
Cual estructura de datos debera usar para representar el crculo en su aplicacin?
a. Tres controles separados para las dos posiciones y el radio.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Un cluster que contiene todos los datos.


c. Un control personalizado que contiene un cluster.
d. Un tipo de definicin que contiene un cluster.
e. Un arreglo con tres elementos.

5-28 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Notas

National Instruments | 5-29

Leccin 5

Creando y aprovechando estructuras de datos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Notas

5-30 | ni.com

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Administrando archivos y recursos


hardware

Hasta el momento ha aprendido a adquirir datos y visualizarlos, pero el almacenamiento de los


datos suele ser muy importante en cualquier proyecto. Tambin ha aprendido a instalar su hardware
y a configurarlo en el Measurement & Automation Explorer. En esta leccin aprender a almacenar
datos, programar una aplicacin DAQ bsica utilizando la API DAQmx y controlar instrumentos
independientes con la API VISA y controladores de instrumentos en LabVIEW.

Temas

A. Entendiendo recursos hardware y software


B. E/S de ficheros

C. Adquiriendo mediciones con sistema DAQ


D. Controlando Instrumentos

National Instruments | 6-1

Leccin 6

Administrando archivos y recursos hardware

A. Entendiendo recursos hardware y software

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Un recurso es un archivo direccionable, dispositivo de hardware, objeto o conexin de red


disponible en el sistema. El sistema identifica recursos usando rutas, nombres, puertos u otros
identificadores. Al usar estos identificadores y los VIs y funciones que LabVIEW provee, usted
puede programar su sistema para acceder estos recursos.

Accediendo recursos en LabVIEW

Un recurso operacional tpico involucra las siguiente operaciones como se muestra en la figura 6-1:
1. Crear el recurso.

2. Leer y escribir en el recurso.


3. Cerrar el recurso.

4. Revisar errores en un recurso.

Figura 6-1. Operacin tpica de un recurso

1
2
3
4

Abrir, inicializar o crear el recursoLabVIEW crea un nmero de referencia (refnum) como un


identificador nico de el recurso
Leer/Escribir a un recurso
Cerrar recursoEl refnum se vuelve obsoleto
Verificacin de erroresMuestra cualquier error del recurso

Los nombres de funciones o VIs asociados con crear un recurso generalmente


incluyen uno de los siguientes verbos: abrir (open), inicializar (initialize) o crear (create).
La funcin o VI que crea el recurso toma la ruta del recurso o el nombre del dispositivo
como una entrada y luego crea un identificador nico al recurso.

Consejo

Nmeros de referencia (Refnums)

Un nmero de referencia, o refnum, es un identificador nico para un recurso. Cuando abre un


fichero, dispositivo o conexin de red, LabVIEW crea un refnum asociado a ellos. Todas las
operaciones que realice en ficheros, dispositivos o conexiones de red abiertos usan los refnums
para identificar cada objeto. Use el control refnum para pasar un refnum hacia adentro o afuera de
un VI. Por ejemplo, use un control refnum para modificar los contenidos de un archivo al que el
refnum se est referenciando sin cerrar y reabrir el archivo.
Debido a que el refnum es un apuntador temporal a un recurso abierto, es solamente vlido por el
periodo mientras est abierto. Si cierra el recurso, LabVIEW desasocia el refnum del recurso y el
refnum se vuelve obsoleto. Si vuelve a abrir el recurso, LabVIEW crea un nuevo refnum que es
diferente del primer refnum. LabVIEW asigna memoria para un recurso que est asociado a un
refnum. Cierre el refnum para liberar el recurso de la memoria.

6-2 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

LabVIEW recuerda informacin asociada a cada refnum, como la ubicacin actual para la lectura
o escritura al objeto y el grado de acceso del usuario, por lo que puede realizar operaciones
concurrentes pero independientes en un solo recurso. Si un VI abre un objeto mltiples veces, cada
operacin de apertura devuelve un refnum diferente. LabVIEW automticamente cierra refnums
cuando finaliza la ejecucin de un VI pero es una buena prctica de programacin cerrar los
refnums tan pronto como haya terminado de usarlos para manejar eficientemente memoria y otros
recursos. Cierre refnums en orden opuesto al que los abri. Por ejemplo, si obtiene un refnum a un
objeto A e invoca un mtodo en objeto A para obtener un refnum a un objeto B, cierre el refnum
al objeto B primero y luego cierre el refnum al objeto A.

Ejemplos de APIs Refnum

Cuando se est comunicando con un dispositivo DAQ usando el API DAQmx, nos referimos a esa
referencia como una tarea (task). Una tarea es una coleccin de uno o ms canales virtuales con
tiempo, triggering y otras propiedades. Una tarea representa una medida o generacin que desee
realizar.
Cuando se controla un instrumento usando el API VISA, nos referimos a la referencia como una
sesin de VISA. La sesin de VISA es mantenida por el control VISA resource name.
La figura 6-2 ilustra varios APIs diferentes y refnums usados para accesar recursos.
Figura 6-2. Ejemplo Cableando un Refnum

National Instruments | 6-3

Leccin 6

Administrando archivos y recursos hardware

B. E/S de ficheros
Las operaciones de E/S de ficheros pasan datos desde y hacia archivo. Use los VIs y funciones de
E/S de ficheros para manejar todos los aspectos de E/S de archivos.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Comprender la E/S de ficheros

Una operacin tpica de E/S de ficheros incluye el siguiente proceso mostrado en la figura 6-3.
1. Cree o abra un fichero. Tras abrir el fichero, un identificador nico denominado refnum
representar el fichero.
2. La funcin o el VI File I/O lee en el fichero o escribe en l.
3. Cierre el fichero.

Figura 6-3. Pasos de una operacin tpica de E/S de ficheros

1
2

Apertura de fichero
Lectura/escritura en fichero

3
4

Cierre de fichero
Comprobacin de errores

Formatos de ficheros

LabVIEW puede utilizar o crear los siguientes formatos de archivo: Binario, ASCII, LVM,
y TDMS.

Binario: los ficheros binarios son el formato de fichero subyacente del resto de formatos de
fichero.

ASCII: un fichero ASCII es un tipo especfico de fichero binario y es un estndar que utilizan
la mayora de los programas. Consta de una serie de cdigos ASCII. Los ficheros ASCII
tambin se denominan ficheros de texto.

LVM: el fichero de datos de medicin de LabVIEW (.lvm) es un fichero de texto delimitado


con tabulaciones que puede abrir con una aplicacin de hoja de clculo o un editor de texto. El
fichero .lvm incluye informacin sobre los datos, como la fecha y la hora en que se generaron.
Este formato de ficheros es un tipo especfico de un fichero ASCII creado para LabVIEW.

TDMS: este formato de ficheros es un tipo especfico de un fichero binario creado para
productos de National Instruments. Consta de dos ficheros distintos: uno binario que contiene
datos y almacena propiedades sobre los datos y un fichero de ndice binario que ofrece
informacin consolidada sobre todos los atributos y punteros del fichero binario.

En este curso aprender a crear ficheros de texto (ASCII). Use ficheros de texto cuando desee
acceder al fichero desde otra aplicacin, si el espacio en disco y la velocidad de E/S de ficheros no
es crucial, si no necesita realizar lecturas o escrituras de acceso aleatorio y si la precisin numrica
no es importante.

6-4 | ni.com

Manual de Curso LabVIEW Core 1

Utiliz un fichero LVM en la leccin 1, Explorando LabVIEW. Para conocer ms acerca de


ficheros binarios y TDMS, consulte la Ayuda de LabVIEW o el curso LabVIEW Core 2.

E/S de ficheros de alto nivel

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Algunos VIs de E/S de fichero realizan los tres pasos de un proceso de E/S de ficheros: abrir,
leer/escribir y cerrar. Si un VI realiza los tres pasos, se denomina VI de alto nivel. Sin embargo,
estos VIs quiz no sean tan eficientes como las funciones y los VIs de bajo nivel diseados para
partes concretas del proceso. Si est escribiendo en un fichero en un bucle, use los VIs de E/S de
ficheros de bajo nivel. Si est escribiendo en un fichero en una nica operacin, puede utilizar los
VIs de E/S de ficheros de alto nivel.
LabVIEW incluye los siguientes VIs de E/S de ficheros de alto nivel:

Write to Spreadsheet File: convierte un array 2D o 1D de nmeros de doble precisin en una


cadena de caracteres de texto y escribe sta en un nuevo fichero ASCII o anexa los datos de la
cadena de caracteres en un fichero existente. Tambin puede transponer los datos. El VI abre o
crea el fichero antes de escribir en l y lo cierra despus. Puede utilizar este VI para crear un
fichero de texto legible para la mayora de aplicaciones de hojas de clculo.

Read From Spreadsheet File: lee un nmero concreto de lneas o filas de un fichero de texto
numrico empezando por un desplazamiento de caracteres concreto y convierte los datos en
un array 2D de nmeros de doble precisin. El VI abre el fichero antes de leerlo y lo cierra
despus. Puede utilizar este VI para leer un fichero de hoja de clculo guardado en formato de
texto.

Write to Measurement File: un VI Express que escribe datos en un formato de fichero de


medidas basado en texto (.lvm) o un fichero de medidas binario (.tdms). Puede especificar
el mtodo de guardado, el formato de fichero (.lvm o .tdms), el tipo de encabezado y el
delimitador.

Read from Measurement File: un VI Express que lee datos de un formato de fichero de
medidas basado en texto (.lvm) o un fichero de medidas binario (.tdms). Puede especificar
el nombre del fichero, el formato del fichero y el tamao de segmentos.
Consejo Evite colocar los VIs de alto nivel en bucles, ya que los VIs realizan
operaciones de apertura y cierre cada vez que los ejecuta.

Comprender la E/S de ficheros de bajo nivel

Los VIs y funciones de E/S de fichero de bajo nivel realizan slo una parte del proceso de E/S de
fichero cada uno. Por ejemplo, existe una funcin para abrir un fichero ASCII, otra para leerlo y
otra para cerrarlo. Use funciones de bajo nivel cuando la E/S de fichero est realizndose en un
bucle.

Flujo continuo de datos a disco con funciones de bajo nivel

Tambin puede utilizar funciones de E/S de fichero para operaciones de flujo continuo de datos a
disco, que ahorran recursos de memoria al reducir el nmero de veces que la funcin interacta con

National Instruments | 6-5

Leccin 6

Administrando archivos y recursos hardware

el sistema operativo para abrir y cerrar el fichero. El flujo continuo de datos a disco es una tcnica
para mantener los ficheros abiertos mientras realiza varias operaciones de escritura, por ejemplo,
dentro de un bucle.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Si cablea un control de ruta o una constante a la funcin Write to Text File, la funcin Write to
Binary File o el VI Write To Spreadsheet File, aade el retardo de abrir y cerrar el fichero cada vez
que se ejecuta la funcin o el VI. Los VIs pueden ser ms eficientes si evita abrir y cerrar los
mismos ficheros con frecuencia.

Para evitar abrir y cerrar el mismo fichero, debe pasar un refnum al fichero en el bucle. Cuando
abre un fichero, dispositivo o conexin de red, LabVIEW crea un refnum asociado a ellos. Todas
las operaciones que realice en ficheros, dispositivos o conexiones de red abiertos usan los refnums
para identificar cada objeto.

Los ejemplos de la figura 6-4 y 6-5 muestran las ventajas de usar el flujo continuo de datos a disco.
En la figura 6-4, el VI debe abrir y cerrar el fichero durante cada iteracin del bucle. La figura 6-5
usa el flujo continuo de datos a disco para reducir el nmero de veces que debe interactuar el VI
con el sistema operativo para abrir y cerrar el fichero. Al abrir el fichero una vez antes de que
empiece el bucle y cerrarlo cuando termina el bucle, ahorra dos operaciones de fichero en cada
iteracin del bucle.
Figura 6-4. Ejemplo sin flujo continuo de datos a disco

Figura 6-5. Ejemplo con flujo continuo de datos a disco

6-6 | ni.com

Manual de Curso LabVIEW Core 1

Directorio LabVIEW Data

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede utilizar el directorio predeterminado LabVIEW Data para almacenar los ficheros de datos
que genere LabVIEW, como ficheros .lvm o .txt. LabVIEW instala el directorio LabVIEW
Data en el directorio de ficheros predeterminado de su sistema operativo para ayudarle a organizar
y encontrar los ficheros de datos que genere LabVIEW. De forma predeterminada, el VI Express
Write LabVIEW Measurement File almacena los ficheros .lvm que genera en este directorio, y el
VI Express Read LabVIEW Measurement File lee desde este directorio. La constante Default Data
Directory y la propiedad Application:Default:Data Directory tambin devuelven el directorio
LabVIEW Data de forma predeterminada.

Seleccione ToolsOptions y Paths en la lista Category para especificar un directorio de


datos predeterminado distinto. El directorio de datos predeterminado difiere del directorio
predeterminado, el cual usted especifica para nuevos VIs, controles personalizados, plantillas
de VI u otros documentos LabVIEW que cree.

C. Adquiriendo mediciones con sistema DAQ

Un sistema de adquisicin de datos (DAQ) usa un dispositivo de adquisicin de datos para pasar
una seal elctrica acondicionada a un ordenador para el anlisis software y registro de datos.
Puede elegir un dispositivo de adquisicin de datos que use un bus PCI, un bus PCI Express, un
bus PXI o el puerto USB o IEEE 1394 del ordenador. Esta seccin explica el hardware utilizado en
un sistema de adquisicin de datos y cmo configurar los dispositivos.

National Instruments | 6-7

Leccin 6

Administrando archivos y recursos hardware

Un sistema DAQ tpico tiene tres tipos bsicos de hardware: un bloque de terminales, un cable y
un dispositivo DAQ, como en la figura 6-6.
Figura 6-6. Sistema DAQ tpico
2

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

4
3

NATIONAL
INSTRUMENTS

NATIONAL
INSTRUMENTS

1
2
3

Seal
Bloque de terminales
Cable

4
5

Dispositivo DAQ
Ordenador

Tras haber convertido un fenmeno fsico en una seal medible con o sin el acondicionamiento de
seal, debe adquirir esa seal. Para adquirir una seal, necesita un bloque de terminales, un cable,
un dispositivo DAQ y un ordenador. Esta combinacin de hardware puede transformar un
ordenador estndar en un sistema de medida y automatizacin.

Uso de un bloque de terminales y un cable

Un bloque de terminales permite conectar seales. Consta de terminales de tornillo o de muelle


para conectar seales y un conector para acoplar un cable que conecte el bloque de terminales a un
dispositivo DAQ. Los bloques de terminales tienen 100, 68 o 50 terminales. El tipo de bloque de
terminales que debe elegir depende de dos factores: el dispositivo y el nmero de seales que est
midiendo. Un bloque de terminales con 68 terminales ofrece ms terminales de tierra para conectar
una seal que un bloque de terminales con 50 terminales. Tener ms terminales de tierra evita tener
que solapar cables para alcanzar un terminal de tierra, lo que puede provocar interferencias entre
las seales.

Los bloques de terminales pueden apantallarse o no. Los bloques de terminales apantallados
mejoran la proteccin contra el ruido. Algunos bloques de terminales contienen caractersticas
adicionales, como compensacin de unin fra, que son necesarias para medir correctamente un
termopar.

6-8 | ni.com

Manual de Curso LabVIEW Core 1

Un cable transporta la seal desde el bloque de terminales al dispositivo DAQ. Los cables tienen
configuraciones de 100, 68 y 50 pines. Elija una configuracin en funcin del bloque de terminales
y el dispositivo DAQ que est usando. Los cables, al igual que los bloques de terminales, pueden
apantallarse o no.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Consulte la seccin DAQ del catlogo de National Instruments o ni.com/products para obtener
informacin adicional acerca de tipos especficos de bloques de terminales y cables.

BNC-2120

La figura 6-7 muestra el BNC 2120, el cual puede ser usado para completar los ejercicios en este
curso.

National Instruments | 6-9

Leccin 6

Administrando archivos y recursos hardware

Figura 6-7. BNC-2120


1

NATIONAL
INSTRUMENTS

ANALOG INPUTS
Floating
Source (FS)

+
_

Ground Ref.
Source (GS)

+
_

AI 3

RES

PWR

BNC-2120

24

BNC

TIMING I/O

2
3
PFI 0 / P1.0

23

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

3
4

1. RES+
2. AI GND
3. AI SENSE
4. RES-

Temp.
Ref.

BNC

Quadrature
Encoder

Thermo
couple

BNC

96 Pulses/Rev

22

PULSES

21

UP /DN

AI 0

FS

GS

AI 1

FS

PFI 1 / P1.1

GS

PFI 2 / P1.2
PFI 3 / P1.3
PFI 4 / P1.4
PFI 5 / P1.5

AI 3

AI 2

PFI 6 / P1.6

FS

GS

FS

GS

PFI 7 / P1.7

PFI 8 / P2.0

20

PFI 9 / P2.1

PFI 12 / P2.4

AI 4

FS

GS

AI 5

FS

PFI 13 / P2.5

GS

PFI 14 / P2.6
+5 V

D GND

AI 6

FS

GS

USER-DEFINED
SIGNALS*

AI 7

FS

GS

19

ANALOG OUTPUTS

USER 1

18

USER 2

AO

AO 0

AO 1

*For BNC connections, wire


anyTiming I/O or Digital I/O
screw terminals here.

FUNCTION GENERATOR
Frequency Selection

10

DIGITAL I/O

0.1-10 kHz

1-100 kHz

13-1000 kHz

17

P0.7
P0.6

11

P0.5
P0.4

12

Sine/Triangle

TTL Square Wave

P0.3

16

P0.2

13

P0.1

14
15

1
2
3
4
5
6
7
8
9
10

P0.0

D GND

LO
HI
Amplitude Adjust

Interruptor RES/BNC (AI 3)


Clema para Medida de Resistencia
Conector de Entrada de Termopar
Referencia de Temperatura
Interruptor BNC/Temp. (AI 0)
Interruptor BNC/Termopar (AI 1)
Conectores de Entrada Analgica BNC
Interruptores FS/GS
Conectores de Salida Analgica BNC
Interruptor de Seleccin de Rango de
Frecuencia
11 Conector BNC Seno/Triangulo
12 Conector BNC Onda Cuadrada TTL

6-10 | ni.com

LO
HI
Frequency Adjust

13 Interruptor Forma de Onda Seno/


Triangulo
14 Mando de Ajuste de Frecuencia
15 Mando de Ajuste de Amplitud
16 Direccin de lneas de E/S digital
17 LEDs E/S Digital
18 Clemas Definidas por Usuario
19 Conectores BNC Definidas por Usuario
20 Clemas de E/S temporizadas
21 Clemas de Encoder de Cuadratura
22 Mando de Encoder de Cuadratura
23 Conectores BNC de E/S temporizadas
24 LED Indicador de Alimentacin

Manual de Curso LabVIEW Core 1

Uso de dispositivos DAQ


La mayora de los dispositivos DAQ tienen cuatro elementos estndares: entrada analgica, salida
analgica, E/S digital y contadores.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede transferir la seal que mide con el dispositivo DAQ al ordenador a travs de distintas
estructuras de bus. Por ejemplo, puede utilizar un dispositivo DAQ que se conecte al bus PCI o
PCI Express de un ordenador, un dispositivo DAQ conectado al zcalo PCMCIA de un ordenador
porttil o un dispositivo DAQ conectado al puerto USB de un ordenador. Tambin puede usar
PXI/CompactPCI para crear un sistema de medida porttil, verstil y robusto.

Si no dispone de un dispositivo DAQ, puede simular uno en Measurement & Automation Explorer
(MAX) para completar la prueba de su software. Aprender a simular un dispositivo en la seccin
Simulacin de un dispositivo DAQ de esta leccin.
Consulte la seccin DAQ del catlogo de NI o ni.com/products para obtener informacin
adicional acerca de tipos especficos de dispositivos DAQ.

Entrada analgica

La entrada analgica es el proceso de medir una seal analgica y transferir la medida a un


ordenador para su anlisis, visualizacin o almacenamiento. Una seal analgica es una seal que
vara continuamente. La entrada analgica se utiliza mucho para medir la tensin o la corriente.
Puede usar numerosos tipos de dispositivos para realizar la entrada analgica, como dispositivos
multifuncin DAQ (MIO), digitalizadores de alta velocidad, multmetros digitales (DMM) y
dispositivos de adquisicin de seales dinmicas (DSA).

La adquisicin de una seal analgica con un ordenador requiere un proceso conocido como
conversin analgico-digital, que capta la seal elctrica y la traduce en datos digitales para que el
ordenador pueda realizar el procesamiento. Los conversores analgico-digital (ADCs) son
componentes de circuito que convierten un nivel de tensin en una serie de unos y ceros.

Los ADCs muestrean la seal analgica en cada flanco de subida y bajada de un reloj de muestreo.
En cada ciclo, el ADC toma una instantnea de la seal analgica, para que sta pueda medirse y
convertirse en un valor digital. Un reloj de muestreo controla la velocidad a la que se toman las
muestras de la seal de entrada. Como la seal de entrada o desconocida es una seal real con
precisin infinita, el ADC realiza una aproximacin a la seal con precisin fija. Una vez que el
ADC obtiene esta aproximacin, sta puede convertirse a una serie de valores digitales. Algunos
mtodos de conversin no requieren este paso, porque la conversin genera un valor digital
directamente cuando el ADC alcanza la aproximacin.

Salida analgica

La salida analgica es el proceso de generar seales elctricas desde el ordenador. La salida


analgica se genera realizando la conversin digital-analgico (D/A). Los tipos de salida analgica
disponibles para una tarea son tensin y corriente. Para realizar una tarea de tensin o corriente,
debe instalar un dispositivo compatible que pueda generar ese tipo de seal.

National Instruments | 6-11

Leccin 6

Administrando archivos y recursos hardware

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

La conversin digital-analgico es lo opuesto a la conversin analgico-digital. En la conversin


digital-analgico el ordenador genera los datos. Los datos pueden haberse adquirido antes
utilizando la entrada analgica o pueden haberse generado por software del ordenador. Un
conversor digital-analgico (DAC) acepta estos datos y los usa para variar en el tiempo la tensin
en un pin de salida. El DAC genera una seal analgica que el DAC puede enviar a otros
dispositivos o circuitos.
Un DAC tiene un reloj de actualizacin que indica al DAC cundo generar un nuevo valor. La
funcin del reloj de actualizacin es similar a la del reloj de muestreo para un ADC. En cada ciclo
de reloj, el DAC convierte un valor digital en una tensin analgica y genera una tensin de salida
en uno de los pines. Cuando se usa con un reloj de alta velocidad, el DAC puede crear una seal
que parece variar constantemente y de manera suave.

E/S digital

Las seales digitales son seales elctricas que transfieren datos digitales por un cable. Estas
seales normalmente tienen slo dos estados: on y off, tambin conocidos como alto y bajo, o 1 y
0. Cuando enva una seal digital por un cable, el emisor aplica tensin en el cable y el receptor
usa el nivel de tensin para determinar el valor que se est enviando. El intervalo de tensin para
cada valor digital depende del estndar de nivel de tensin que se use. Las seales digitales tienen
muchos usos, siendo la aplicacin ms sencilla controlar o medir dispositivos de estado digitales o
finitos como interruptores y LEDs. Las seales digitales tambin pueden transferir datos y puede
utilizarlas para programar dispositivos o comunicarse entre stos. Adems, puede usar seales
digitales como relojes o triggers para controlar o sincronizar otras medidas.
Puede usar las lneas digitales de un dispositivo DAQ para adquirir un valor digital. Esta
adquisicin se basa en la temporizacin software. En algunos dispositivos puede configurar las
lneas individualmente para medir o generar muestras digitales. Cada lnea se corresponde con un
canal en la tarea.
Puede usar los puertos digitales de un dispositivo DAQ para adquirir un valor digital desde
un conjunto de lneas digitales. Esta adquisicin se basa en la temporizacin software. Puede
configurar los puertos individualmente para medir o generar muestras digitales. Cada puerto se
corresponde con un canal en la tarea.

Contadores

Un contador es un dispositivo de temporizacin digital. Normalmente se utilizan contadores para


contar eventos, medir frecuencias, medir periodos, medir posiciones y generar pulsos.

Cuando configura un contador para el contaje de eventos simple, el contador aumenta cuando se
recibe un flanco activo en la fuente. Para que el contador aumente en un flanco activo, el contador
debe armarse o iniciarse. Un contador tiene un nmero fijo hasta donde puede contar, determinado
por la resolucin del contador. Por ejemplo, un contador de 24 bits puede contar hasta:
2(resolucin del contador) - 1 = 224 - 1 = 16.777.215

6-12 | ni.com

Manual de Curso LabVIEW Core 1

Cuando un contador de 24 bits alcanza el valor de 16.777.215, ha llegado al contaje terminal. El


siguiente flanco activo obliga al contador a reiniciarse y empezar en 0.

Uso del software DAQ

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Los dispositivos de adquisicin de datos de National Instruments disponen de un controlador que


comunica el dispositivo y el software de aplicacin. Puede usar LabVIEW para comunicarse con
estos controladores. NI-DAQmx contiene VIs, funciones y herramientas de desarrollo para
controlar dispositivos de medicin. Consulte la seccin Programando con DAQ en LabVIEW, para
obtener informacin adicional acerca como programar con DAQmx.
Adems, puede utilizar MAX para configurar sus dispositivos de adquisicin de datos. En esta
seccin, aprender acerca de motores controladores y del uso de MAX para configurar su
dispositivo de adquisicin de datos.

Configuracin del hardware DAQ

Antes de usar un dispositivo de adquisicin de datos, debe confirmar que el software puede
comunicarse con el dispositivo configurando los dispositivos. Los dispositivos ya estn
configurados en los ordenadores de este curso.

Windows

El Administrador de configuracin de Windows ayuda a realizar un seguimiento del hardware


instalado en el ordenador, como los dispositivos DAQ de National Instruments. Si tiene
un dispositivo Plug & Play (PnP), como un dispositivo MIO Serie E, el Administrador de
configuracin de Windows detecta y configura automticamente el dispositivo. Si dispone de un
dispositivo que no sea PnP, o un dispositivo legacy, debe configurar el dispositivo manualmente
con la opcin Agregar nuevo hardware en el Panel de control de Windows.

Puede comprobar la configuracin de Windows accediendo al Administrador de dispositivos.


Puede ver Data Acquisition Devices, que muestra todos los dispositivos DAQ instalados en el
ordenador. Haga doble clic en un dispositivo DAQ para ver un cuadro de dilogo con pginas por
pestaas. La pestaa General muestra informacin general sobre el dispositivo. La pestaa Driver
especifica la versin y la ubicacin del controlador para el dispositivo DAQ. La pestaa Details
muestra informacin adicional sobre la configuracin del hardware. La pestaa Resources
especifica los recursos del sistema para el dispositivo, como los niveles de interrupcin, DMA y
direccin base para dispositivos configurables por software.

Measurement & Automation Explorer

MAX establece todos los parmetros de configuracin de dispositivos y canales. Tras instalar un
dispositivo DAQ en el ordenador, debe ejecutar esta utilidad de configuracin. MAX lee la
informacin que registra el Administrador de dispositivos en el registro de Windows y asigna
un nmero de dispositivo lgico a cada dispositivo DAQ. Use el nmero de dispositivo para hacer
referencia al dispositivo de LabVIEW. Acceda a MAX haciendo doble clic en el icono del
escritorio o seleccionando ToolsMeasurement & Automation Explorer en LabVIEW.

National Instruments | 6-13

Leccin 6

Administrando archivos y recursos hardware

La siguiente ventana es la ventana principal de MAX. MAX tambin constituye la herramienta


para la configuracin de equipos SCXI y SCC.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 6-8. Ventana principal de MAX

1: AT-MIO-64E-3

Los parmetros de dispositivos que puede ajustar con esta utilidad de configuracin dependen del
dispositivo. MAX guarda el nmero de dispositivo lgico y los parmetros de configuracin en el
registro de Windows.

La capacidad plug & play de Windows detecta y configura automticamente dispositivos DAQ sin
conmutadores de configuracin, como el NI PCI-6024E, cuando instala un dispositivo en el
ordenador.

Simulacin de un dispositivo DAQ

Puede crear dispositivos simulados NI-DAQmx en NI-DAQmx 7.4 o posterior. Con los
dispositivos simulados NI-DAQmx puede probar productos de NI en su aplicacin sin el hardware.
Cuando adquiera el hardware posteriormente, puede importar la configuracin del dispositivo
simulado NI-DAQmx en el dispositivo fsico usando el MAX Portable Configuration Wizard.
Con los dispositivos simulados NI-DAQmx tambin puede exportar una configuracin de un
dispositivo fsico en un sistema que no tenga el dispositivo fsico instalado. A continuacin, con el
dispositivo simulado NI-DAQmx, puede trabajar en sus aplicaciones en un sistema porttil y, al
volver al sistema original, puede importar fcilmente su trabajo en la aplicacin.

6-14 | ni.com

Manual de Curso LabVIEW Core 1

Programando con DAQ en LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Ya comprende los transductores, seales, configuracin de dispositivos DAQ y MAX. Ahora


puede empezar a aprender a usar LabVIEW para crear una aplicacin de adquisicin de datos.
NI-DAQmx es compatible con paquetes de software distintos de LabVIEW, pero este curso slo
describe el desarrollo de aplicaciones DAQ con LabVIEW.

DAQmx Name Controls

La paleta DAQmx Name Controls incluye controles para el nombre de tarea, nombre de canal,
canal fsico, terminal, nombre de escala, nombre de dispositivo y conmutador. Tambin puede
crear estos controles haciendo clic con el botn derecho en el terminal de entrada correspondiente
en un VI DAQmx y seleccionando CreateControl. Para obtener ms informacin sobre estos
controles, consulte NI-DAQmx Help.
Figura 6-9. Paleta DAQmx Name Controls

VIs DAQmx - Data Acquisition

Use los VIs NI-DAQmx con los dispositivos hardware NI-DAQ para crear aplicaciones de
instrumentos, adquisicin y control. Consulte la gua DAQ Getting Started Guide o el fichero
NI-DAQ Readme para ver la lista completa de dispositivos que admite NI-DAQmx.
La paleta DAQmx - Data Acquisition incluye las siguientes constantes y VIs.

Constantes

Constante DAQmx Task NameMuestra todas las tareas que cree y guarde utilizando el DAQ
Assistant. Haga clic derecho en la constante y seleccione I/O Name Filtering en el men
contextual para limitar las tareas que se muestran en la constante y para limitar lo que puede
introducir en ella.

Constante DAQmx Global ChannelMuestra todos los canales globales que cree y guarde
utilizando el DAQ Assistant. Haga clic y seleccione Browse para seleccionar varios canales.
Haga clic derecho en la constante y seleccione I/O Name Filtering en el men contextual para
limitar los canales que se muestran en la constante y para limitar lo que puede introducir en ella.

National Instruments | 6-15

Leccin 6

Administrando archivos y recursos hardware

VIs
VI DAQmx Create Virtual ChannelCrea un canal virtual o conjunto de canales virtuales y
los aade a una tarea. Las copias de este VI polimrfico corresponden al tipo E/S del canal,
como entrada analgica, salida digital o salida de contador; la medida o generacin a realizar,
como la medida de temperatura, generacin de tensin o contaje de eventos; y, en algunos
casos, el sensor a utilizar, como un termopar o RTD para la medida de temperatura.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Esta funcin configura los mismos ajustes que configura en MAX al crear un canal virtual. Use
esta funcin si el operador de su programa pudiera cambiar peridicamente la conexin del
canal fsico, pero no otros ajustes importantes, como el modo de configuracin del terminal o
la escala personalizada aplicada. Use el men desplegable del canal fsico para especificar el
nmero de dispositivo DAQ y el canal fsico real al que est conectado su seal.

VI DAQmx ReadLee muestras de la tarea o canales que especifique. Las copias de este VI
polimrfico especifican qu formato de las muestras hay que devolver, si hay que leer una sola
muestra o varias a la vez y si hay que leer de uno o varios canales. Puede seleccionar una copia
haciendo clic derecho en el VI DAQmx Read y eligiendo Select Type para incluir ms opciones
de configuracin para operaciones de lectura.

VI DAQmx WriteEscribe muestras en la tarea o canales que especifique. Las copias de este
VI polimrfico especifican qu formato de las muestras hay que escribir, si hay que escribir una
sola muestra o varias y si hay que escribir en uno o varios canales. Puede seleccionar una copia
haciendo clic derecho en el VI DAQmx Write y eligiendo Select Type para incluir ms
opciones de configuracin para operaciones de escritura.

VI DAQmx Wait Until DoneEspera a que se complete la medida o generacin. Use este VI
para que la operacin especificada se complete antes de que detenga la tarea.

VI DAQmx Timing Configura el nmero de muestras que hay que adquirir o generar y crea
un bfer cuando es necesario. Las copias de este VI polimrfico corresponden al tipo de
temporizacin que se utilizar en la tarea.

VI DAQmx TriggerConfigura la activacin de la tarea. Las copias de este VI polimrfico


corresponden al trigger y al tipo de trigger que hay que configurar.

VI DAQmx Start TaskTransiciona la tarea al estado de ejecucin para empezar a medir o a


generar. Debe usar este VI para algunas aplicaciones y es opcional para otras.

VI DAQmx Stop TaskDetiene la tarea y la devuelve al estado en que se encontraba sta antes
de que utilizara el VI DAQmx Start Task o el VI DAQmx Write con la entrada autostart
configurada a TRUE.

VI DAQmx Clear TaskBorra la tarea. Antes de borrar, este VI detiene la tarea, si es


necesario, y libera los recursos que reserva aqulla. No puede utilizar una tarea tras borrarla, a
menos que vuelva a crearla.

6-16 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 6-10. Paleta DAQmx Data Acquisition

D. Controlando Instrumentos

Cuando usa un ordenador para automatizar un sistema de prueba, no se limita al tipo de


instrumento que puede controlar. LabVIEW permite controlar virtualmente cualquier tipo de
instrumento incluyendo amplificadores, analizadores, calibradores, osciloscopios, fuentes de
poder, generadores de seales, sensores y ms.

Puede mezclar y combinar instrumentos de varias categoras. Las categoras ms comunes de


interfaces de instrumentos son GPIB, USB, Ethernet, serie e instrumentos modulares. Otros tipos
de instrumentos son adquisicin de imgenes, control de movimiento, puerto paralelo, NI-CAN y
otros dispositivos. Este curso se enfoca en GPIB.

Cuando usa ordenadores para controlar instrumentos, debe entender las propiedades de los
mismos, como los protocolos de comunicacin que usar y los comandos que el dispositivo espera.
Refierase al manual de programacin del instrumento o al manual de usuario para informacin
acerca las propiedades de un instrumento.

Beneficios del control de instrumentos

LabVIEW hace fcil controlar y adquirir datos de cualquier instrumento desde cualquier bus. Usted
puede automatizar mediciones de varios dispositivos, analizar los datos cuando los adquiere y
luego guardarlos al disco. Esta automatizacin puede ahorrar enormes cantidades de tiempo y
dinero. Tambin, usar una sola aplicacin para controlar mltiples tareas e instrumentos permite
consolidar y sincronizar esas tareas.
LabVIEW tiene muchas herramientas que ayudan a simplificar la programacin para control de
instrumentos incluyendo controladores de instrumentos, ejemplos, wizards y VIs Express. Estas
herramientas le pueden ayudar a hacer ms con su tiempo, reduciendo tareas repetitivas que
consumen mucho tiempo y dejando que usted se enfoque en el desarrollo de secciones particulares
de su aplicacin. Usted puede descargar controladores de instrumentos para casi cualquier
instrumento sin costo.

National Instruments | 6-17

Leccin 6

Administrando archivos y recursos hardware

GPIB

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El estndar ANSI/IEEE 488.1-1987, tambin conocido como General Purpose Interface Bus
(GPIB), describe una interfaz estndar para la comunicacin entre instrumentos y controladores de
varios proveedores. Los instrumentos GPIB ofrecen a los ingenieros de pruebas y de fabricacin
la mayor seleccin de proveedores e instrumentos para aplicaciones de prueba de propsito
general o especializadas en mercados verticales. Los instrumentos GPIB suelen utilizarse como
instrumentos independientes de sobremesa donde las medidas se toman a mano. Puede automatizar
estas medidas con un ordenador para controlar los instrumentos GPIB.
IEEE 488.1 contiene informacin sobre especificaciones elctricas, mecnicas y funcionales. El
estndar ANSI/IEEE 488.2-1992 ampla IEEE 488.1 al definir un protocolo de comunicacin de
bus, un conjunto comn de cdigos y formatos de datos y un conjunto genrico de comandos
comunes de dispositivo.

GPIB es una interfaz digital de comunicacin paralela de 8 bits con velocidades de transferencia
de datos de 1 Mbyte/s o ms, utilizando un protocolo de enlace de tres cables. El bus admite un
controlador de sistema, normalmente un ordenador, y hasta 14 instrumentos adicionales.

El protocolo GPIB categoriza dispositivos como controladores, transmisores u oyentes para


determinar qu dispositivo tiene un control activo del bus. Cada dispositivo tiene una direccin
primaria GPIB nica entre 0 y 30. El controlador define los enlaces de comunicacin, responde
a dispositivos que requieren servicio, enva comandos GPIB y transmite o recibe control del bus.
Los controladores ordenan a los transmisores transmitir y colocar datos en el bus GPIB. Puede
direccionar slo un dispositivo a la vez para transmitir. El controlador direcciona al oyente para
escuchar y leer datos del bus GPIB. Puede direccionar varios dispositivos para escuchar.

Terminacin de transferencia de datos

La terminacin informa a los oyentes de que se han transferido todos los datos. Puede terminar una
transferencia de datos GPIB de estos tres modos:

El bus GPIB incluye una lnea de hardware End Or Identify (EOI) que puede activarse con el
ltimo byte de datos. ste es el mtodo preferido.

Colocar un carcter especfico end-of-string (EOS) al final de la cadena de caracteres de datos.


Algunos instrumentos usan este mtodo en lugar de la activacin de la lnea EOI o adems
de ella.

El oyente cuenta los bytes transferidos mediante el protocolo de enlace y deja de leer cuando
el oyente llega a un lmite de contaje de bytes. Este mtodo suele ser el de terminacin
predeterminado porque la transferencia se detiene en el OR lgico de EOI, EOS (si se usa) junto
con el contaje de bytes. Como precaucin, el contaje de bytes del oyente suele elegirse mayor
que el contaje de bytes esperado, para no perder ninguna muestra.

6-18 | ni.com

Manual de Curso LabVIEW Core 1

Velocidad de transferencia de datos


Para conseguir la mayor velocidad de transferencia de datos para la que se dise el bus GPIB,
debe limitar el nmero de dispositivos del bus y la distancia fsica entre dispositivos.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede obtener velocidades de datos ms rpidas con dispositivos y controladores HS488. HS488
es una extensin de GPIB que admiten la mayora de los controladores de NI.
Nota Consulte el sitio web de soporte de GPIB de National Instruments ni.com/
support/gpibsupp.htm para obtener informacin adicional acerca del bus GPIB.

Configurando un instrumento GPIB

La arquitectura software para el control de instrumentos mediante LabVIEW es similar a la


arquitectura para DAQ. Las interfaces de instrumentos como GPIB incluyen varios controladores.
Use MAX para configurar la interfaz.
La mayora de los controladores GPIB disponibles para descargar estn
disponibles en ni.com/support/gpib/versions.htm. Instale siempre la versin
ms reciente de estos controladores a menos que las notas de la versin indiquen lo
contrario.
Nota

MAX (Windows: GPIB)

Use MAX para configurar y probar la interfaz GPIB. MAX interacta con las herramientas de
diagnstico y configuracin instaladas con el controlador y tambin con el registro de Windows y
el Administrador de dispositivos. El software a nivel de controlador toma la forma de una DLL y
contiene todas las funciones que se comunican directamente con la interfaz GPIB. Los VIs y las
funciones de Instrument I/O llaman directamente al software del controlador.

National Instruments | 6-19

Leccin 6

Administrando archivos y recursos hardware

Lance MAX haciendo doble clic en el icono del escritorio o seleccionando Tools
Measurement & Automation Explorer en LabVIEW. El siguiente ejemplo muestra una interfaz
GPIB en MAX tras hacer clic en el botn Scan For Instruments de la barra de herramientas.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 6-11. Interfaz GPIB en Measurement & Automation Explorer

Configure los objetos que aparecen en MAX haciendo clic con el botn derecho en cada uno y
seleccionando una opcin del men contextual.

Puerto serie

La comunicacin serie transmite datos entre un ordenador y un dispositivo perifrico, como un


instrumento programable u otro ordenador. La comunicacin serie utiliza un transmisor para enviar
datos bit por bit por una sola lnea de comunicacin a un receptor. Use este mtodo cuando las
velocidades de transferencia de datos sean bajas o tenga que transferir datos a larga distancia. La

6-20 | ni.com

Manual de Curso LabVIEW Core 1

mayora de los ordenadores tiene uno o ms puertos serie, por lo que no necesita hardware
adicional aparte de un cable para conectar el instrumento al ordenador o para conectar dos
ordenadores entre s.
Figura 6-12. Ejemplo de instrumento serie

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

1
3

76.6F

Instrumento RS-232

Cable RS-232

Puerto serie

Debe especificar cuatro parmetros para la comunicacin serie: la velocidad en baudios de la


transmisin, el nmero de bits de datos que codifican un carcter, el sentido del bit de paridad
opcional y el nmero de bits de parada. Una trama de caracteres empaqueta cada carcter
transmitido como un nico bit de inicio seguido de los bits de datos.

La velocidad en baudios mide la rapidez de movimiento de los datos entre instrumentos que usan
la comunicacin serie.

Los bits de datos se transmiten al revs y hacia atrs, lo que significa que se usa la lgica invertida
y el orden de transmisin es del bit menos significativo (LSB) al bit ms significativo (MSB). Para
interpretar los bits de datos en una trama de caracteres, debe leer de derecha a izquierda y leer 1
para tensin negativa y 0 para tensin positiva.
Un bit de paridad opcional sigue a los bits de datos en la trama de caracteres. El bit de paridad, si
se encuentra, tambin sigue lgica invertida. Este bit se incluye como un medio para comprobar
errores. Especifique con antelacin si la paridad de la transmisin ser par o impar. Si elige que la
paridad sea impar, el bit de paridad se configura para que el nmero de 1s se sumen para crear un
nmero impar entre los bits de datos y el bit de paridad.
La ltima parte de la trama de caracteres consta de 1, 1,5 o 2 bits de parada que siempre se
representan con una tensin negativa. Si no se transmiten ms caracteres, la lnea permanece en
estado negativo (MARK). La transmisin de la siguiente trama de caracteres, en su caso, empieza
con un bit de inicio de tensin positiva (SPACE).

National Instruments | 6-21

Leccin 6

Administrando archivos y recursos hardware

La siguiente figura muestra una trama de caracteres tpica que codifica la letra m.
Figura 6-13. Trama de caracteres para la letra m
Idle

Start
Bit

Data
Bits

Parity
Bit

Stop
Bits

Idle

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Space
Mark

Bit Time

Character Frame

RS-232 usa slo dos estados de tensin, llamados MARK y SPACE. En ese esquema de
codificacin de dos estados, la velocidad en baudios es idntica al nmero mximo de bits de
informacin, incluyendo los bits de control, que se transmiten por segundo.

MARK es una tensin negativa y SPACE una positiva. La ilustracin anterior muestra el aspecto
de la seal idealizada en un osciloscopio. sta es la tabla de verdad para RS-232:
Seal > +3 V = 0
Seal < -3 V = 1

El nivel de seal de salida normalmente oscila entre +12 V y -12 V. La zona muerta entre +3 V y
-3 V est diseada para absorber el ruido de lnea.

Un bit de inicio seala el principio de cada trama de caracteres. Es una transicin de tensin
negativa (MARK) a positiva (SPACE). Su duracin en segundos es la inversa de la velocidad en
baudios. Si el instrumento est transmitiendo a 9.600 baudios, la duracin del bit de inicio y cada
bit siguiente ser de unos 0,104 ms. Toda la trama de caracteres de once bits se transmitira en
aproximadamente 1,146 ms.
La interpretacin de los bits de datos para la transmisin produce 1101101 (binario) o 6D
(hexadecimal). Una tabla de conversin ASCII muestra que se trata de la letra m.

Esta transmisin utiliza paridad impar. Existen cinco unos entre los bits de datos, ya un nmero
impar, por lo que el bit de paridad se configura en 0.

Velocidad de transferencia de datos

Puede calcular la velocidad de transmisin mxima en caracteres por segundo para una
configuracin de comunicacin predeterminada dividiendo la velocidad en baudios entre los bits
por trama de caracteres.

En el ejemplo anterior hay un total de once bits por trama de caracteres. Si la velocidad de
transmisin se configura en 9.600 baudios, conseguir 9.600/11 = 872 caracteres por segundo.
Observe que esta es la velocidad de transmisin mxima de caracteres. El hardware de un extremo
u otro del enlace serie quiz no pueda alcanzar estas velocidades, por varios motivos.

6-22 | ni.com

Manual de Curso LabVIEW Core 1

Estndares de puerto serie


Los siguientes ejemplos son los estndares ms recomendados de comunicacin por puerto serie:
RS232 (estndar ANSI/EIA-232) se utiliza con numerosos fines, como conectar un ratn,
impresora o mdem. Tambin se utiliza con la instrumentacin industrial. Debido a las mejoras
en cables y controladores de lnea, las aplicaciones suelen aumentar el rendimiento de RS232
por encima de la distancia y la velocidad en la lista de estndares. RS232 se limita a conexiones
punto a punto entre los dispositivos y puertos serie del ordenador.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

RS422 (estndar AIA RS422A) usa una seal elctrica diferencial al contrario de las seales
desequilibradas (de un solo hilo) referenciadas a tierra de RS232. La transmisin diferencial,
que usa dos lneas cada una para transmitir y recibir seales, produce ms inmunidad al ruido
y mayores distancias de transmisin en comparacin con RS232.

RS485 (estndar EIA-485) es una variacin de RS422 que permite conectar hasta 32
dispositivos a un solo puerto y definir las caractersticas elctricas necesarias para garantizar
tensiones de seal adecuadas con la mxima carga. Con esta capacidad multipunto mejorada,
puede crear redes de dispositivos conectados a un solo puerto serie RS485. La capacidad de
inmunidad al ruido y multipunto convierten al RS485 en una eleccin atractiva en aplicaciones
industriales que requieren varios dispositivos distribuidos y conectados en red a un ordenador
u otro controlador para la recopilacin de datos y otras operaciones.

Programacin de control de instrumentos

VISA es una API de alto nivel que llama a controladores de bajo nivel. VISA puede controlar
instrumentos GPIB, USB, Ethernet, puerto serie y otras interfaces y realiza las llamadas apropiadas
de controlador en funcin del tipo de instrumento utilizado. Al depurar problemas de VISA,
recuerde que un posible problema de VISA podra estar en la instalacin de uno de los
controladores a los que VISA llama.
En LabVIEW, VISA es una biblioteca de funciones que puede utilizar para comunicarse con
una variedad de interfaces E/S que cualquier instrumento puede proveer. Debido a esto, no necesita
usar otras paletas de E/S para programar un instrumento. Por ejemplo, algunos dispositivos
ofrecen mltiples tipos de interfaces como Ethernet, USB y GPIB en el mismo instrumento. Si el
controlador de instrumento de LabVIEW estuviera escrito con funciones de la paleta Instrument
I/OGPIB, los VIs del controlador de instrumento no funcionaran para el mismo instrumento con
interfaz USB. VISA resuelve este problema ofreciendo un solo conjunto de funciones vlidas para
cualquier tipo de interfaz. Por lo tanto, numerosos controladores de instrumento de LabVIEW usan
VISA como lenguaje de E/S.

Terminologa de programacin de VISA

La siguiente terminologa es similar a la que usan los VIs de controladores de instrumento:

Resource: cualquier instrumento del sistema, como los puertos serie y paralelo.

Session: debe abrir una sesin VISA con un recurso para comunicarse con l, al igual que un
canal de comunicacin. Cuando abra una sesin en un recurso, LabVIEW mostrar un nmero
de sesin VISA, que es un refnum nico para ese instrumento. Debe utilizar el nmero de
sesin en todas las funciones posteriores VISA.

National Instruments | 6-23

Leccin 6

Administrando archivos y recursos hardware

Instrument Descriptor: nombre exacto de un recurso. El descriptor especifica el tipo de


interfaz (GPIB, USB, TCP/IP, ASRL), la direccin del dispositivo (direccin lgica o direccin
primaria) y el tipo de sesin VISA (INSTR o Event).

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El descriptor del instrumento es similar a un nmero de telfono; el recurso es similar a la persona


con la que desea hablar y la sesin es similar a la lnea de telfono. Cada llamada usa su propia
lnea y cruzar stas produce un error. La tabla 6-1 muestra la sintaxis adecuada para el descriptor
del instrumento para algunas interfaces diferentes.
Tabla 6-1. Sintaxis para varias interfaces de instrumentos

Interfaz

Sintaxis

Puerto serie asncrono

ASRL[device][::INSTR]

GPIB

GPIB[device]::primary address[::secondary
address][::INSTR]

Instrumento VXI mediante un


controlador embebido o MXIbus

VXI[device]::VXI logical address[::INSTR]

Controlador GPIB-VXI

GPIB-VXI[device][::GPIB-VXI primary
address]::VXI logical address[::INSTR]

Puede utilizar un alias que asignar en MAX en lugar del descriptor del instrumento.

Las funciones de comunicacin VISA ms utilizadas son las funciones VISA Write y VISA Read.
En la mayora de los instrumentos debe enviar informacin en forma de comando o consulta antes
de poder volver a leer informacin del instrumento. Por lo tanto, la funcin VISA Write suele ir
seguida de una funcin VISA Read. Las funciones VISA Write y VISA Read funcionan con
cualquier tipo de comunicacin de instrumento y son las mismas independientemente de si realiza
una comunicacin GPIB o serie. No obstante, dado que para la comunicacin serie debe configurar
parmetros adicionales, debe iniciar la comunicacin del puerto serie con el VI VISA Configure
Serial Port.

Controladores de instrumento

Imagine el siguiente escenario. Escribi un VI de LabVIEW que se comunica con un osciloscopio


concreto de su laboratorio. Desafortunadamente, el osciloscopio ya no funciona y debe sustituirlo.
Sin embargo, este osciloscopio concreto ya no se fabrica. Encontr otra marca de osciloscopio que
desea comprar, pero su VI ya no funciona con el nuevo osciloscopio. Debe rescribir su VI.
Cuando utiliza un controlador de instrumento, el controlador contendr el cdigo especfico para
el instrumento. Por lo tanto, si cambia de instrumento, debe sustituir slo los VIs del controlador
de instrumento por los VIs del nuevo controlador de instrumento, lo que reduce enormemente su
tiempo de desarrollo. Los controladores de instrumento facilitan ms el mantenimiento de las
aplicaciones de prueba, ya que los controladores contienen todas las E/S de un instrumento en una

6-24 | ni.com

Manual de Curso LabVIEW Core 1

biblioteca, separada de otro cdigo. Cuando actualice el hardware, actualizar la aplicacin resulta
ms fcil porque el controlador del instrumento contiene todo el cdigo especfico para ese
instrumento.

Comprensin de los controladores de instrumento

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

En LabVIEW, un controlador de instrumento plug and play es un conjunto de VIs que controlan
un instrumento programable. Cada VI corresponde con una operacin de instrumento, como
configurar, activar y leer medidas para el instrumento. Los controladores de instrumento ayudan a
los usuarios a empezar a usar instrumentos desde un ordenador y les ahorran el tiempo de
desarrollo y el coste, ya que los usuarios no tienen que aprender el protocolo de programacin para
cada instrumento. Con controladores de instrumento de cdigo abierto y bien documentados,
puede personalizar su funcionamiento para mejorar el rendimiento. Un diseo modular facilita la
personalizacin del controlador.

Ubicacin de los controladores de instrumento

Puede ubicar la mayora de los controladores de instrumento plug & play de LabVIEW en el
Instrument Driver Finder. Puede acceder al Instrument Driver Finder de LabVIEW seleccionando
ToolsInstrumentationFind Instrument Drivers o HelpFind Instrument Drivers. El
Instrument Driver Finder extrae controladores de la red extensiva de controladores de instrumentos
que puede encontrar en ni.com\idnet. Cuando instale un controlador de instrumento, se aade
al NI Example Finder un programa de ejemplo que usa el controlador.

VI Example Instrument Driver

El diagrama de bloques de la figura 6-14 inicializa el multmetro digital (DMM) Agilent 34401,
usa un VI de configuracin para elegir la resolucin y el rango, seleccionar la funcin y habilitar o
deshabilitar el rango automtico, usa un VI de datos para leer una sola medida, cierra el
instrumento y comprueba el estado de los errores. Todas las aplicaciones que utilizan un
controlador de instrumento tienen una secuencia similar de eventos: Inicializacin, Configuracin,
Lectura de Datos, y Cierre.
Figura 6-14. Ejemplo de controlador de instrumento de DMM Agilent 34401

Este programa ejemplo est disponible en el NI Example Finder cuando instala el controlador de
instrumento plug & play de LabVIEW para el DMM Agilent 34401.

National Instruments | 6-25

Leccin 6

Administrando archivos y recursos hardware

Muchos instrumentos programables tienen un gran nmero de funciones y modos. Con esta
complejidad, es necesario un modelo de diseo consistente que ayude a los desarrolladores de
controladores de instrumento y a los usuarios finales que desarrollan aplicaciones de control de
instrumentos.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Los VIs de un controlador de instrumento se organizan en seis categoras. Estas categoras se


resumen en la siguiente tabla.
Categora

Descripcin

Inicializar

El VI Initialize establece comunicacin con el instrumento y es el primer VI


del controlador de instrumento al que se llama.

Configurar

Los VIs Configure son rutinas de software que configuran el instrumento


para realizar operaciones especficas. Tras llamar a estos VIs, el
instrumento est listo para realizar medidas o estimular un sistema.

Accin/Estado

Los VIs Action/Status ordenan al instrumento realizar una accin (por


ejemplo, armar un trigger) u obtener el estado actual de las operaciones
pendientes o del instrumento.

Datos

Los VIs de datos transfieren datos al instrumento o desde l.

Utilidad

Los VIs Utility realizan varias operaciones auxiliares, como reinicio y


autodiagnstico.

Cerrar

El VI Close termina la conexin software con el instrumento. Es el ltimo


VI del controlador de instrumento al que se llama.

6-26 | ni.com

Manual de Curso LabVIEW Core 1

Autorrevisin: Cuestionario
1. Despus de abrir un archivo, qu salida devuelve la funcin Open/Create/Replace File?
a. Ruta del archivo

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Nombre del archivo


c. Refnum out
d. Task out

2. Qu es MAX (Measurement & Automation Explorer)?

a. Una herramienta para configurar y probar dispositivos DAQ

b. Una herramienta para probar comunicacin con instrumentos


c. Un VI Express configurable

d. Una ventana para ver archivos de proyectos de LabVIEW

3. Cules de las siguientes opciones son ventajas del control de instrumentos?


a. Procesos automticos
b. Ahorro de tiempo

c. Una plataforma para varias tareas

d. Limitado slo a un tipo de instrumento

4. VISA es una API de alto nivel que llama a controladores de bajo nivel.
a. Verdadero
b. Falso

National Instruments | 6-27

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Respuestas
1. Despus de abrir un archivo, qu salida devuelve la funcin Open/Create/Replace File?
a. Ruta del archivo

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Nombre del archivo


c. Refnum out
d. Task out

2. Qu es MAX (Measurement & Automation Explorer)?

a. Una herramienta para configurar y probar dispositivos DAQ

b. Una herramienta para probar comunicacin con instrumentos


c. Un VI Express configurable

d. Una ventana para ver archivos de proyectos de LabVIEW

3. Cules de las siguientes opciones son ventajas del control de instrumentos?


a. Procesos automticos
b. Ahorro de tiempo

c. Una plataforma para varias tareas

d. Limitado slo a un tipo de instrumento

4. VISA es una API de alto nivel que llama a controladores de bajo nivel.
a. Verdadero
b. Falso

National Instruments | 6-29

Leccin 6

Administrando archivos y recursos hardware

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Notas

6-30 | ni.com

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Usando algoritmos de mquinas de


estado y secuenciales

Lo primero para desarrollar un proyecto en LabVIEW es explorar las arquitecturas que existen en
LabVIEW. Los arquitecturas son esenciales para crear un buen diseo software. Las arquitecturas
ms comunes se suelen agrupar en modelos de diseo.

A medida que un modelo de diseo gana aceptacin, resulta ms fcil reconocer cundo se ha
utilizado uno. Este reconocimiento le ayuda a usted y a otros desarrolladores a leer y modificar VIs
que se basan en modelos de diseo.
Existen numerosos modelos de diseo para VIs de LabVIEW. La mayora de las aplicaciones usan
al menos uno. En este curso explorar el modelo de diseo de mquina de estados. Aprenda ms
sobre modelos de diseo en el curso LabVIEW Core 2.

Temas

A. Programacin secuencial
B. Programacin de estado
C. Mquinas de estados

National Instruments | 7-1

Leccin 7

Usando algoritmos de mquinas de estado y secuenciales

A. Programacin secuencial

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Muchos de los VIs que escribe en LabVIEW cumplen tareas secuenciales. El modo de programar
estas tareas secuenciales puede ser muy distinto. Observe el diagrama de bloques de la figura 7-1.
En este diagrama de bloques, se adquiere una seal de tensin, un cuadro de dilogo indica al
usuario que active la alimentacin, la seal de tensin se adquiere de nuevo y al usuario se le indica
que debe apagar la alimentacin. No obstante, en este ejemplo no hay nada en el diagrama de
bloques que fuerce el orden de ejecucin de estos eventos. Cualquiera de estos eventos podra
suceder el primero.
Figura 7-1. Tareas sin secuenciar

En LabVIEW puede completar tareas secuenciales colocando cada una en un subVI y ordenando
los subVIs en el orden en que desee que se ejecuten usando los cables del cluster de error. Sin
embargo, en este ejemplo slo dos de las tareas tienen un cluster de error. Con los clusters de error
puede forzar el orden de ejecucin de los dos DAQ Assistants, pero no las funciones One Button
Dialog, como en la figura 7-2.
Figura 7-2. Tareas secuenciadas parcialmente

7-2 | ni.com

Manual de Curso LabVIEW Core 1

Puede usar una estructura Sequence para forzar el orden de operaciones de los objetos del diagrama
de bloques. Una estructura Sequence contiene uno o ms subdiagramas, o marcos, que se ejecutan
en orden secuencial; un marco no puede empezar la ejecucin hasta que se haya completado la
ejecucin de todo el cdigo del marco anterior. La figura 7-3 muestra un ejemplo de este VI que
usa una estructura Sequence para forzar el orden de ejecucin.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 7-3. Tareas secuenciadas con una estructura Sequence

Para aprovechar el paralelismo inherente de LabVIEW, evite abusar del uso de estructuras
Sequence. La estructuras Sequence garantizan el orden de ejecucin, pero prohben operaciones
paralelas. Otra desventaja de usar estructuras Sequence es que no puede detenerse la ejecucin en
medio de la secuencia. Un buen modo de usar las estructuras Sequence para este ejemplo aparece
en la figura 7-4.
Figura 7-4. Tareas secuenciadas con estructuras Sequence y un cluster de error

Sin embargo, el mejor modo de escribir este VI es encerrar las funciones One Button Dialog en una
estructura Case y cablear el cluster de error al selector de caso.

National Instruments | 7-3

Leccin 7

Usando algoritmos de mquinas de estado y secuenciales

Use con moderacin las estructuras Sequence porque no realizan la comprobacin de errores y la
ejecucin de la secuencia contina incluso aunque se detecten errores. Base su desarrollo en el flujo
de datos ms que en las estructuras Sequence para controlar el orden de ejecucin.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 7-5. Tareas secuenciadas con un cluster de error y estructuras Case

B. Programacin de estado

Aunque una estructura Sequence y subVIs cableados secuencialmente cumplen la tarea, los VIs
suelen requerir programacin ms compleja:

Qu ocurre si debe cambiar el orden de la secuencia?

Qu ocurre si debe repetir un elemento de la secuencia ms a menudo que los otros?

Qu ocurre si algunos elementos de la secuencia se ejecutan slo ante ciertas condiciones?

Qu ocurre si debe detener el programa inmediatamente, en lugar de esperar hasta el final de


la secuencia?

Aunque su programa no tenga ninguno de los requisitos anteriores, siempre existe la posibilidad
de que el programa sea modificado en el futuro. Por este motivo, una arquitectura de programacin
de estado es una buena eleccin, aunque bastara con una estructura de programacin secuencial.

C. Mquinas de estados

El modelo de diseo de la mquina de estados es comn y muy til en LabVIEW. Puede usar el
modelo de diseo de mquina de estados para implementar cualquier algoritmo que pueda describir
explcitamente un diagrama de estado o un diagrama de flujo. Una mquina de estado normalmente
implementa un algoritmo moderadamente complejo de toma de decisiones, como una rutina de
diagnstico o una monitorizacin de proceso.
Una mquina de estados, que se define mejor como una mquina de estados finitos, consta de una
serie de estados y una funcin de transicin que indica cul es el siguiente estado. Las mquinas
de estados tienen numerosas variaciones. Las dos mquinas de estados finitos ms comunes son
Mealy y Moore. Una mquina Mealy realiza una accin para cada transicin. Una mquina Moore
realiza una accin concreta para cada estado del diagrama de transicin de estados. La plantilla del
modelo de diseo de la mquina de estados en LabVIEW implementa un algoritmo que describe
una mquina Moore.

7-4 | ni.com

Manual de Curso LabVIEW Core 1

Aplicacin de mquinas de estados

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Use mquinas de estados en aplicaciones donde se distingan los estados. Cada estado puede llevar
a uno o ms estados o finalizar el flujo del proceso. Una mquina de estados depende de la entrada
del usuario o del resultado del estado actual para determinar qu estado ir despus. Muchas
aplicaciones requieren un estado de inicializacin seguido de un estado predeterminado, donde
pueden realizarse numerosas acciones. Las acciones realizadas pueden depender de entradas y
estados anteriores y actuales. Un estado de cierre normalmente realiza acciones de limpieza.
Las mquinas de estados se suelen utilizar para crear interfaces de usuario. En una interfaz de
usuario, varias acciones del usuario envan la interfaz de usuario a varios segmentos de
procesamiento. Cada segmento de procesamiento acta como un estado en la mquina de estados.
Cada segmento puede llevar a otro segmento para el procesamiento o esperar a otra accin por
parte del usuario. En una aplicacin de interfaz de usuario, la mquina de estados monitoriza
constantemente las acciones del usuario para conocer la siguiente accin a realizar.
La prueba de procesos es otra aplicacin comn del modelo de diseo de la mquina de estados.
En una prueba de proceso, un estado representa cada segmento del proceso. En funcin del
resultado de cada prueba del proceso, podra llamarse a otro estado. Esto puede suceder
continuamente, lo que produce un anlisis profundo del proceso que est probando.
La ventaja de usar una mquina de estados es que puede crear VIs en LabVIEW fcilmente una
vez creado un diagrama de transicin de estados.

Infraestructura de la mquina de estados

Trasladar el diagrama de transicin de estados a un diagrama de bloques de LabVIEW requiere los


siguientes componentes de infraestructura:

Bucle While: ejecuta continuamente los estados.

Estructura Case: contiene un caso para cada estado y el cdigo para ejecutar en cada estado.

Registro de desplazamiento: contiene la informacin de transicin de estados.

Cdigo de funcionalidad de estado: implementa la funcin del estado.

Cdigo de transicin: determina el siguiente estado de la secuencia.

National Instruments | 7-5

Leccin 7

Usando algoritmos de mquinas de estado y secuenciales

La figura 7-6 muestra la estructura bsica de una mquina de estados implementada en LabVIEW
para un sistema de adquisicin de datos de temperatura.
Figura 7-6. Infraestructura bsica de una mquina de estados de LabVIEW

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

State
Functionality
Code

Transition
Code

Bucle While

Registro de desplazamiento

Estructura Case

El bucle While implementa el flujo del diagrama de transicin de estados. Cada estado se
representa con casos en la estructura Case. Un registro de desplazamiento en el bucle While realiza
el seguimiento del estado actual y comunica el estado actual con la entrada de la estructura Case.

Control de mquinas de estados

El mejor mtodo para controlar la inicializacin y transicin de mquinas de estados es el control


de tipo enumerado. Los enums se utilizan ampliamente como selectores de caso en mquinas de
estados. Sin embargo, si el usuario intenta aadir o eliminar un estado del control de tipo
enumerado, se rompen los cables restantes conectados a las copias de este control de tipo
enumerado. Es uno de los obstculos ms comunes al implementar mquinas de estados con
controles de tipo enumerado. Una solucin a este problema es crear un control de tipo enumerado
con tipo definido. As, todas las copias de control de tipo enumerado se actualizarn
automticamente si aade o elimina un estado.

Transicin de mquinas de estados

Existen numerosos modos de controlar qu caso ejecuta una estructura Case en una mquina de
estados. Elija el mtodo que se adapte mejor a la funcin y complejidad de su mquina de estados.
De los mtodos para implementar transiciones en mquinas de estados, el ms comn y fcil de
usar es el cdigo de transicin de estructura Case individual, que puede utilizarse como transicin
entre cualquier nmero de estados. Este mtodo permite una arquitectura de mquina de estados
ms escalable, legible y mantenible. Los otros mtodos pueden resultar tiles en situaciones
concretas, y es importante que se familiarice con ellos.

7-6 | ni.com

Manual de Curso LabVIEW Core 1

Transicin predeterminada

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Para la transicin predeterminada, no se requiere cdigo para determinar el siguiente estado,


porque slo hay un estado posible que ocurrir a continuacin. La figura 7-7 muestra un modelo
de diseo que usa una transicin predeterminada implementada para un sistema de adquisicin de
datos de temperatura.
Figura 7-7. Transicin predeterminada individual

Transicin entre dos estados

El siguiente mtodo implica tomar una decisin en una transicin entre dos estados. Para ello se
suelen utilizar varios modelos. La figura 7-8 muestra la funcin Select utilizada para la transicin
entre dos estados.
Figura 7-8. Cdigo de transicin de la funcin Select

Este mtodo funciona bien si sabe que cada estado siempre transiciona entre dos estados. Sin
embargo, este mtodo limita la escalabilidad de la aplicacin. Si necesitara modificar el estado para
la transicin entre ms de dos estados, esta solucin no funcionara y requerira una modificacin
considerable del cdigo de transicin.

National Instruments | 7-7

Leccin 7

Usando algoritmos de mquinas de estado y secuenciales

Transicin entre dos o ms estados


Cree una arquitectura ms escalable utilizando uno de los siguientes mtodos para la transicin
entre estados.

Estructura Case: use una estructura Case en lugar de la funcin Select para el cdigo de
transicin.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

La figura 7-9 muestra la transicin de la estructura Case implementada para un sistema de


adquisicin de datos de temperatura.
Figura 7-9. Cdigo de transicin de la estructura Case

Una ventaja de usar una estructura Case es que el cdigo se autodocumenta. Como cada caso
de la estructura Case corresponde a un elemento del enum, resulta fcil leer y comprender el
cdigo. Una estructura Case tambin es escalable. A medida que crece la aplicacin, puede
aadir ms transiciones a un estado concreto aadiendo ms casos a la estructura Case para ese
estado. Una desventaja de usar una estructura Case es que no se ve todo el cdigo a la vez.
Debido a la naturaleza de la estructura Case, no se puede ver de una vez toda la funcionalidad
del cdigo de transicin.

Array de transicin: si tiene que ver ms cdigo del que permite la estructura Case, puede
crear un array de transicin para todas las transiciones que tengan lugar.

La figura 7-10 muestra el array de transicin implementado para un sistema de adquisicin de


datos de temperatura.
Figura 7-10. Cdigo de transicin del Array de transicin

Decision Making Code

7-8 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

En este ejemplo, el cdigo de toma de decisin facilita el ndice que describe el siguiente
estado. Por ejemplo, si el cdigo debe avanzar al siguiente estado Error Handler, el cdigo de
toma de decisin genera el nmero 1 para la entrada index de la funcin Index Array. Este
modelo de diseo hace el cdigo de transicin escalable y fcil de leer. Una desventaja de este
modelo es que debe tener cuidado al desarrollar el cdigo de transicin porque el array tiene
un ndice cero.

Caso de Estudio: Proyecto del curso

El proyecto del curso adquiere una temperatura cada medio segundo, analiza cada temperatura para
determinar si es demasiado alta o baja y alerta al usuario si hay peligro de golpe de calor o
congelacin. El programa registra los datos si hay una advertencia. Si el usuario no ha hecho clic
en el botn de parada, se repetir todo el proceso. La figura 7-11 muestra el diagrama de transicin
de estados para el proyecto del curso.
Figura 7-11. Diagrama de transicin de estados para el proyecto del curso

Initialize

Acquistion

Time Elapsed = TRUE


and
Stop = FALSE

Analysis

Warning = TRUE

Data log

Time Elapsed = FALSE


and
Stop = FALSE

Time
Check

Warning = FALSE

Stop = TRUE

National Instruments | 7-9

Leccin 7

Usando algoritmos de mquinas de estado y secuenciales

Las figuras 7-12 a la 7-15 ilustran los estados de la mquina de estados que implementa el
diagrama de transicin de estados detallado en la figura 7-11.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 7-12. Estado de adquisicin

Figura 7-13. Estado de anlisis

Figura 7-14. Estado de registro de datos

7-10 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 7-15. Estado de comprobacin del tiempo

National Instruments | 7-11

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Cuestionario
1. Cuando utiliza una estructura Sequence, puede parar la ejecucin en medio de una secuencia.
a. Verdadero

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Falso

2. Cul de los siguientes elementos son ventajas de usar una mquina de estados en lugar de una
estructura secuencial?
a. Puede cambiar el orden de la secuencia.

b. Puede repetir elementos en la secuencia.

c. Puede configurar condiciones para determinar cundo debe ejecutarse un elemento de la


secuencia.
d. Puede detener el programa en cualquier punto de la secuencia.

National Instruments | 7-13

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Respuestas
1. Cuando utiliza una estructura Sequence, puede parar la ejecucin en medio de una secuencia.
a. Verdadero

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Falso

2. Cul de los siguientes elementos son ventajas de usar una mquina de estados en lugar de una
estructura secuencial?
a. Puede cambiar el orden de la secuencia.

b. Puede repetir elementos en la secuencia.

c. Puede configurar condiciones para determinar cundo debe ejecutarse un elemento


de la secuencia.
d. Puede detener el programa en cualquier punto de la secuencia.

National Instruments | 7-15

Leccin 7

Usando algoritmos de mquinas de estado y secuenciales

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Notas

7-16 | ni.com

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Resolviendo desafos de flujo de


datos con variables

LabVIEW es un sistema de flujo de datos. Como tal, usted generalmente usa principios de diseo
de flujo de datos al desarrollar su cdigo. Sin embargo, en algunas situaciones, como al
comunicarse entre bucles paralelos, debe romper el modelo de ejecucin de flujo de datos pasando
informacin entre ubicaciones en el cdigo que no puede conectar con un cable.
En esta leccin aprender acerca de variables en general y variables locales, especficamente para
manejar el uso especial de casos donde la ejecucin mediante flujo de datos no funciona. Tambin
aprender sobre problemas de programacin cuando se usan variables y como vencer estos
desafos.
Debido a que las variables no son parte del modelo de ejecucin mediante flujo de datos, selas
con cuidado. El mal uso de variables puede hacer que el cdigo sea difcil de leer, lleve a
comportamiento inesperado en VIs y rendimiento lento.

Temas

A. Comunicacin entre bucles paralelos

B. Escribiendo a controles y leyendo de indicadores


C. Variables

D. Condiciones de carrera

National Instruments | 8-1

Leccin 8

Resolviendo desafos de flujo de datos con variables

A. Comunicacin entre bucles paralelos


En este curso el paralelismo hace referencia a ejecutar varias tareas a la vez. Piense en el ejemplo
de crear y mostrar dos ondas sinusoidales con distintas frecuencias. Con el paralelismo, coloque
una onda sinusoidal en un bucle y la segunda onda sinusoidal en otro bucle.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Un reto al programar tareas paralelas es pasar datos entre varios bucles sin crear una dependencia
de datos. Por ejemplo, si pasa los datos usando un cable, los bucles ya no sern paralelos. En el
ejemplo de la onda sinusoidal mltiple, quiz desee compartir un mecanismo de parada simple
entre los bucles, como en la figura 8-1.
Figura 8-1. Panel frontal de bucles paralelos

Compruebe lo que sucede cuando intenta compartir datos entre bucles paralelos con un cable
usando diferentes mtodos.

Mtodo 1 (incorrecto)

Coloque el terminal Stop Button fuera de ambos bucles y cablelo a cada terminal condicional,
como en la figura 8-2. El Loop Control es una entrada de datos de ambos bucles, por lo que el
terminal Stop Button se lee slo una vez, antes de que cualquier bucle While empiece a ejecutarse.
Si False pasa a los bucles, los bucles While se ejecutan indefinidamente. Hacer clic en el botn
Stop no detendr el VI, porque el clic en el botn no se lee durante la iteracin de cada bucle.

8-2 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 8-2. Ejemplo de mtodo 1 de bucles paralelos

Mtodo 2 (incorrecto)

Introduzca el terminal Stop Button dentro del Loop 1 para que se lea en cada iteracin del Loop
1, como se muestra en el siguiente diagrama de bloques. Aunque el Loop 1 termina correctamente,
el Loop 2 no se ejecuta hasta que recibe todas sus entradas de datos. El Loop 1 no pasa los datos
fuera del bucle hasta que se detenga el bucle, por lo que el Loop 2 debe esperar al valor final del
Stop Button, disponible cuando termine el Loop 1. Por lo tanto, los bucles no se ejecutan en
paralelo. Asimismo, el Loop 2 se ejecuta slo para una iteracin porque su terminal condicional
recibe un valor True del interruptor Stop Button del Loop 1.
Figura 8-3. Ejemplo de mtodo 2 de bucles paralelos

Mtodo 3 (solucin)

Si pudiera leer el valor del control de bucle desde un archivo, ya no dependera de un flujo de datos
entre los bucles, ya que cada bucle puede acceder al archivo de forma independiente. Sin embargo,
leer y escribir en archivos puede ser lento, al menos en cuanto a tiempo de procesador.
Otra forma de realizar esta tarea de comunicarse entre bucles paralelos es buscar la ubicacin
donde los datos de control del bucle estn almacenados en la memoria y leer esa ubicacin de
memoria directamente. Una variable local permite hacer esto al leer del mismo control del panel
frontal en ms de una ubicacin en el diagrama. Luego en esta leccin usted aprender como crear
y usar una variable local que se comunica entre dos bucles paralelos.

National Instruments | 8-3

Leccin 8

Resolviendo desafos de flujo de datos con variables

B. Escribiendo a controles y leyendo de indicadores


Adems de comunicarse entre dos bucles ejecutndose en paralelo, hay otros desafos de flujo de
datos que se pueden vencer con variables locales.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Puede usar una variable local para actualizar un solo indicador del panel frontal desde ms de una
ubicacin en el diagrama de bloques. Por ejemplo, si tiene un VI con dos bucles While, puede
actualizar un indicador del panel frontal para mostrar cual bucle se est ejecutando es ese momento.

Con una variable local puede escribir o leer desde un control o indicador del panel frontal. En
efecto, con una variable local puede acceder a un objeto del panel frontal tanto una entrada como
una salida. Por ejemplo, si la interfaz de usuario requiere que los usuarios inicien la sesin, puede
borrar las solicitudes Login y Password cada vez que un nuevo usuario inicie la sesin. Use una
variable local para leer desde los controles de cadena de caracteres Login y Password cuando un
usuario inicie la sesin y para escribir cadenas de caracteres vacas en estos controles cuando el
usuario cierre la sesin.

C. Variables

En LabVIEW, el orden de ejecucin de los mismos no est determinado por el orden secuencial de
los comandos sino por el flujo de datos. Por lo tanto, puede crear diagramas de bloque que tengan
operaciones simultneas. Por ejemplo, puede ejecutar dos bucles For simultneamente y mostrar
los resultados en el panel frontal, como se ve en la figura 8-4.
Figura 8-4. Mostrando el resultado de dos bucles For en el panel frontal

Sin embargo, si usa cables para pasar datos entre bucles paralelos, ya no funcionarn en paralelo.
Las operaciones entre bucles paralelos pueden ser dos bucles paralelos en el mismo diagrama de
bloques sin dependencia de flujo de datos o dos VIs a los que se llame a la vez.

8-4 | ni.com

Manual de Curso LabVIEW Core 1

El diagrama de bloques de la figura 8-5 no ejecuta los dos bucles en paralelo debido al cable entre
los dos subVIs.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 8-5. Dependencia de datos que impone el cable

El cable crea una dependencia de datos, porque el segundo bucle no se inicia hasta que termine el
primero y pase los datos por su tnel. Para que los dos bucles se ejecuten a la vez, retire el cable.
Para pasar datos entre los subVIs, use otra tcnica, como una variable.

En LabVIEW, las variables son elementos del diagrama de bloques que le permiten acceder a otra
ubicacin o almacenar datos en ella. La ubicacin real de los datos depende del tipo de variable.
Las variables locales almacenan datos en los controles e indicadores del panel frontal. Las
variables globales y las variables compartidas tipo single-process almacenan datos en repositorios
especiales a los que puede accederse desde varios VIs. Las variables globales funcionales
almacenan datos en registros de desplazamiento del bucle While. Independientemente de dnde
almacene los datos la variable, todas las variables permiten eludir el flujo de datos normal pasando
datos de un lugar a otro sin necesidad de un cable de interconexin. Por este motivo, las variables
resultan tiles en arquitecturas paralelas, pero tambin tienen ciertos inconvenientes, como las
condiciones de carrera.

Variables Locales - Uso de variables en un solo VI


Las variables locales transfieren datos dentro de un solo VI.

En LabVIEW usted lee datos de un objeto del panel frontal o escribe datos en l usando su terminal
del diagrama de bloques. Sin embargo, un objeto del panel frontal slo tiene un terminal del
diagrama de bloques, y quiz su aplicacin necesite acceder a los datos de ese terminal desde ms
de una ubicacin.
Las variables locales y globales pasan informacin entre ubicaciones en la aplicacin que no se
pueden conectar con un cable. Use variables locales para acceder a objetos del panel frontal desde
ms de una ubicacin en un solo VI. Use variables globales para acceder y pasar datos entre
varios VIs.
Use un nodo de realimentacin para almacenar datos de un VI o ejecucin de bucle anterior.

Creacin de variables locales

Haga clic con el botn derecho en un objeto del panel frontal o en un terminal del diagrama de
bloques y seleccione CreateLocal Variable en el men contextual para crear una variable local.
Aparecer un icono de variable local para el objeto en el diagrama de bloques.

National Instruments | 8-5

Leccin 8

Resolviendo desafos de flujo de datos con variables

Tambin puede seleccionar una variable local en la paleta de Functions y colocarla en el diagrama
de bloques. El nodo de variable local an no est asociado con un control o indicador.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Para asociar una variable local con un control o indicador, haga clic con el botn derecho en el nodo
de la variable local y seleccione Select Item en el men contextual. El men contextual expandido
muestra todos los objetos del panel frontal que tienen etiquetas propietarias.
LabVIEW usa etiquetas propietarias para asociar variables locales con objetos del panel frontal.
Por lo tanto, etiquete controles e indicadores del panel frontal con etiquetas propietarias
descriptivas.

Lectura y escritura de variables

Tras crear una variable, puede leer datos desde una variable o escribir datos en ella. De forma
predeterminada, una variable nueva recibe datos. Este tipo de variable funciona como indicador y
es de escritura local o global. Cuando escribe datos nuevos en la variable local o global, el control
o indicador del panel frontal asociado se actualiza con los nuevos datos.

Tambin puede configurar una variable para que acte como una fuente de datos. Haga clic con el
botn derecho en la variable y seleccione Change To Read en el men contextual para configurar
la variable y que acte como un control. Cuando se ejecuta este nodo, el VI lee los datos en el
control o indicador del panel frontal asociado.

Para cambiar la variable de modo que reciba datos del diagrama de bloques en lugar de suministrar
datos, haga clic con el botn derecho en la variable y seleccione Change To Write en el men
contextual.

En el diagrama de bloques puede distinguir variables de lectura de variables de escritura del mismo
modo que distingue controles de indicadores. Una variable de lectura tiene un borde grueso similar
a un control. Una variable de escritura tiene un borde fino similar a un indicador.

Ejemplo de variable local

En la seccin Comunicacin entre bucles paralelos de esta leccin, vio un ejemplo de un VI que
usaba bucles paralelos. El panel frontal contena un nico interruptor que detena la generacin de
datos mostrada en dos grficos tipo graph. En el diagrama de bloques, los datos para cada grfico
tipo chart se generan en un bucle While individual para permitir la temporizacin separada de
cada bucle. El terminal Loop Control detena ambos bucles While. En este ejemplo, los dos bucles
deben compartir el interruptor para que se detengan ambos a la vez.

8-6 | ni.com

Manual de Curso LabVIEW Core 1

Para que ambos grficos tipo chart se actualicen segn lo esperado, los bucles While deben
funcionar en paralelo. Si conecta un cable entre los bucles While para pasar los datos de Stop
Button, los bucles While se ejecutarn en serie en lugar de en paralelo. La figura 8-6 muestra un
diagrama de bloques de este VI que usa una variable local para pasar los datos de Stop Button.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 8-6. Variable local utilizada para detener bucles paralelos

El bucle 2 lee una variable local asociada con el Stop Button. Cuando configura el interruptor en
False en el panel frontal, la terminal del bucle 1 escribe un valor False a la variable local Stop
Button en el terminal condicional en el bucle 1. El bucle 2 lee la variable local Stop Button y
escribe False en el terminal condicional del bucle 2. As, los bucles se ejecutan en paralelo y
terminan simultneamente cuando apaga el interruptor del panel frontal individual.

Con una variable local puede escribir o leer desde un control o indicador del panel frontal. Escribir
en una variable local es similar a pasar datos a cualquier otro terminal. Sin embargo, con una
variable local puede escribir en ella aunque sea un control o leer en ella aunque sea un indicador.
En efecto, con una variable local puede acceder a un objeto del panel frontal tanto una entrada
como una salida.
Por ejemplo, si la interfaz de usuario requiere que los usuarios inicien la sesin, puede borrar las
solicitudes Login y Password cada vez que un nuevo usuario inicie la sesin. Use una variable
local para leer desde los controles de cadena de caracteres Login y Password cuando un usuario
inicie la sesin y para escribir cadenas de caracteres vacas en estos controles cuando el usuario
cierre la sesin.

Variables globales y compartidas - Usando variables entre


VIs

Puede usar variables para acceder y pasar datos entre varios VIs que se ejecutan simultneamente.
Una variable local comparte datos dentro de un VI. Una variable global tambin comparte datos,
pero entre varios VIs. Por ejemplo, suponga que tiene dos VIs ejecutndose simultneamente. Cada
VI contiene un bucle While y escribe puntos de datos en un grfico tipo waveform chart. El
primer VI contiene un control booleano para terminar ambos VIs. Puede usar una variable global
para terminar ambos bucles con un solo control booleano. Si ambos bucles estuvieran en un solo
diagrama de bloques dentro del mismo VI, podra usar una variable local para terminar los bucles.
Tambin puede utilizar una variable compartida tipo single-process del mismo modo que usa una
variable global. Una variable compartida es similar a una variable local o global, pero permite

National Instruments | 8-7

Leccin 8

Resolviendo desafos de flujo de datos con variables

compartir datos en una red. Una variable compartida puede ser tipo single-process o publicada en
red. Aunque las variables compartidas publicadas en red van ms all del mbito de este curso, con
la variable compartida tipo single-process podr cambiar ms tarde a una variable compartida
publicada en red.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Use una variable global para compartir datos entre VIs en el mismo ordenador, especialmente si no
usa un archivo de proyecto. Use una variable compartida tipo single-process si necesita compartir
la informacin de la variable entre VIs en varios ordenadores en el futuro.

Creacin de variables globales

Use variables globales para acceder y pasar datos entre varios VIs que se ejecutan
simultneamente. Las variables globales son objetos de LabVIEW integrados. Cuando crea una
variable global, LabVIEW crea automticamente un VI global especial, que tiene panel frontal
pero no diagrama de bloques. Aada controles e indicadores al panel frontal del VI global para
definir los tipos de datos de las variables globales que contiene. Este panel frontal es un contenedor
desde donde varios VIs pueden acceder a datos.
Por ejemplo, suponga que tiene dos VIs que se ejecutan simultneamente. Cada VI contiene un
bucle While y escribe puntos de datos en un grfico tipo waveform chart. El primer VI contiene
un control booleano para terminar ambos VIs. Debe usar una variable global para terminar ambos
bucles con un solo control booleano. Si ambos bucles estuvieran en un solo diagrama de bloques
dentro del mismo VI, podra usar una variable local para terminar los bucles.
Seleccione una variable global en la paleta Functions y colquela en el diagrama de bloques.

Haga doble clic en el nodo de la variable global para ver el panel frontal del VI global. Coloque
controles e indicadores en este panel frontal del mismo modo que en un panel frontal estndar.
LabVIEW usa etiquetas propietarias para identificar variables globales. Por lo tanto, etiquete
controles e indicadores del panel frontal con etiquetas propietarias descriptivas.

Puede crear varios VIs globales nicos, cada uno con un objeto del panel frontal o, si desea agrupar
variables similares, puede crear un VI global con varios objetos del panel frontal.
Un VI global con varios objetos es ms eficaz, porque puede agrupar variables relacionadas. El
diagrama de bloques de un VI puede incluir varios nodos de variables globales que estn asociados
con controles e indicadores del panel frontal de un VI global. Puede colocar VIs globales en otros
VIs del mismo modo que coloca subVIs en otros VIs. Cada vez que coloca un nuevo nodo de
variable global en un diagrama de bloques, LabVIEW crea un nuevo VI global asociado slo con
ese nodo de variable global y copias de l.

8-8 | ni.com

Manual de Curso LabVIEW Core 1

La figura 8-7 muestra la ventana del panel frontal de un VI global con un valor numrico, una
cadena de caracteres y un cluster que contiene un control numrico y otro booleano. La barra de
herramientas no muestra los botones Run, Stop u otros relacionados como una ventana normal de
un panel frontal.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 8-7. Ventana del panel frontal de un VI global

Tras terminar de colocar objetos en el panel frontal del VI global, gurdelo y vuelva al diagrama
de bloques del VI original. A continuacin, debe seleccionar el objeto en el VI global al que desee
acceder. Haga clic en el nodo de variable global y seleccione un objeto del panel frontal en el men
contextual. El men contextual muestra todos los objetos del panel frontal del VI global que tienen
etiquetas propietarias. Tambin puede hacer clic con el botn derecho en el nodo de variable global
y seleccionar un objeto del panel frontal del men contextual Select Item.
Tambin puede usar la herramienta de operaciones y de etiquetado para hacer clic en el nodo de
variable global y seleccionar el objeto del panel frontal del men contextual.

Si desea usar esta variable global en otros VIs, seleccione la opcin Select a VI en la paleta de
Funciones. Por defecto, la variable global se asocia con el primer objeto del panel frontal con una
etiqueta propietaria que coloc en el VI global. Haga clic con el botn derecho en el nodo de la
variable global que coloc en el diagrama de bloques y seleccione un objeto del panel frontal en el
men contextual Select Item para asociar la variable global con los datos de otro objeto del panel
frontal.

National Instruments | 8-9

Leccin 8

Resolviendo desafos de flujo de datos con variables

Creacin de variables compartidas tipo single-process

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Debe utilizar un archivo de proyecto para usar una variable compartida. Para crear una variable
compartida tipo single-process, haga clic con el botn derecho en My Computer en la ventana
Project Explorer y seleccione NewVariable. Aparecer el cuadro de dilogo Shared Variable
Properties, como en la figura 8-8.
Figura 8-8. Cuadro de dilogo Shared Variable Properties

En Variable Type, seleccione Single Process. D a la variable un nombre y un tipo de datos. Tras
crear la variable compartida, aparecer automticamente en una nueva biblioteca de su archivo de
proyecto. Guarde la librera. Puede aadir otras variables compartidas a esta biblioteca si es
necesario. Puede arrastrar y soltar la variable desde el listado de la ventana Project Explorer
directamente en el diagrama de bloques. Use el men contextual para cambiar entre escritura o
lectura. Use los clusters de error de la variable para imponer el flujo de datos.

Inicializacin de variables

Para inicializar una variable local o global, compruebe que sta contenga valores de datos
conocidos antes de que se ejecute el VI. De lo contrario, las variables podran contener datos que
hagan que el VI funcione incorrectamente. Si la variable depende de un resultado de computacin
para el valor inicial, asegrese de que LabVIEW escriba el valor para la variable antes de que
intente acceder a sta para cualquier otra accin. Cablear la accin de escritura en paralelo con el
resto del VI puede provocar una condicin de carrera.

8-10 | ni.com

Manual de Curso LabVIEW Core 1

Para que se ejecute primero, puede aislar el cdigo que escribe el valor inicial de la variable en el
primer marco de una estructura de secuencia o en un subVI y cablear el subVI para que se ejecute
primero en el flujo de datos del diagrama de bloques, como se muestra en la figura 8-9.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Figura 8-9. Inicializacin de variables

Si no inicializa la variable antes de que el VI lea sta por primera vez, la variable contendr el valor
predeterminado del objeto del panel frontal asociado.

Evitando problemas de programacin inherentes con


variables

Las variables locales y globales son conceptos avanzados de LabVIEW. Inherentemente no forman
parte del modelo de ejecucin del flujo de datos de LabVIEW. Algunos de los problemas de
programacin con variables pueden incluir los siguientes:

Hace que el cdigo del diagrama de bloques sea difcil de leerAl romper el modelo de flujo
de datos, no se pueden usar cables para seguir el flujo de los datos.

Lleva a comportamientos inesperados en los VIsUsar variables en lugar de panel de


conectores o usar variables para acceder valores en cada cuadro de una estructura Sequence es
una mala prctica por que puede causar comportamiento inesperado en VIs.

Redimiento lentoEl uso excesivo de variables locales y globales, como usarlas para evitar
cables largos a travs del diagrama de bloques o usarlas en lugar de flujo de datos, disminuye
el rendimiento.

National Instruments | 8-11

Leccin 8

Resolviendo desafos de flujo de datos con variables

La figura 8-10 y la figura 8-11 ilustran dos formas de programar el mismo ejemplo. La figura 8-10
ilustra un uso pobre de variables mientras que la figura 8-11 ilustra un diseo ms ptimo. El
ejemplo de la figura muestra una aplicacin de semforo implementada como una mquina de
estados. Cada estado actualiza las luces para la siguiente etapa de la secuencia de luces.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

En el estado que se muestra en la figura 8-10, el trfico este y oeste tiene una luz verde, mientras
que el trfico norte y sur tiene una roja. Esta etapa espera 4 segundos, como muestra la funcin
Wait (ms).
Figura 8-10. Demasiadas variables utilizadas

8-12 | ni.com

Manual de Curso LabVIEW Core 1

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

El ejemplo de la figura 8-11 cumple la misma tarea, pero con mayor eficiencia y utilizando un
mejor diseo. Observe que este ejemplo es mucho ms sencillo de leer y comprender que el
anterior, principalmente al reducirse el uso de variables. Al colocar los indicadores en el bucle
While fuera de la estructura Case, los indicadores pueden actualizarse tras cada estado sin utilizar
una variable. Este ejemplo es menos difcil de modificar para ampliar la funcionalidad, como
aadir seales de giro a la izquierda, que el ejemplo anterior.
Figura 8-11. Variables reducidas

D. Condiciones de carrera

Una condicin de carrera ocurre cuando la temporizacin de eventos o la programacin de tareas


afecta involuntariamente a un valor de salida o de datos. Las condiciones de carrera suponen un
problema comn en los programas que ejecutan varias tareas en paralelo y comparten datos entre
ellos.

Las condiciones de carrera son difciles de identificar y de depurar, porque el resultado depende
del orden en que el sistema operativo ejecuta tareas programadas y la temporizacin de eventos
externos. Usualmente, un cdigo con una condicin de carrera puede devolver el mismo resultado
miles de veces durante las pruebas pero aun as ser capaz de devolver un resultado diferente en
cualquier momento.
Para evitar condiciones de carrera, lo mejor es seguir estas tcnicas:

Control y limitacin de recursos compartidos

Secuenciando instrucciones apropiadamente especificando un orden de ejecucin.

Reduciendo el uso de variables.

National Instruments | 8-13

Leccin 8

Resolviendo desafos de flujo de datos con variables

Controlar y limitar recursos compartidos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Las condiciones de carrera son ms comunes cuando dos tareas tienen que leer y escribir a un
recurso. Un recurso es cualquier entidad compartida entre los procesos. Cuando se trata con
condiciones de carrera, los recursos compartidos ms comunes son el almacenamiento de datos,
como las variables. Otros ejemplos de recursos son archivos y referencias a recursos de hardware.
Cuando usted altera un recurso desde ubicaciones mltiples, se introduce la posibilidad de una
condicin de carrera. Por lo tanto, una forma ideal de evitar condiciones de carrera es minimizar
recursos compartidos y el nmero de escritores en los recursos compartidos restantes. En general,
no es perjudicial tener varios lectores y monitores para un recurso compartido. Sin embargo,
intente usar slo un escritor o controlador para un recurso compartido para evitar condiciones de
carrera.

Secuenciando instrucciones apropiadamente

El cdigo en el que el flujo de datos no se usa correctamente para controlar el orden de ejecucin
puede causar condiciones de carrera. Si no se establece una dependencia de datos, LabVIEW puede
programar tareas en cualquier orden, con lo que pueden surgir condiciones de carrera si las tareas
dependen entre s. Piense en el ejemplo de la figura 8-12.
Figura 8-12. Condicin de carrera simple

El cdigo de este ejemplo tiene cuatro posibles resultados, en funcin del orden en que se ejecuten
las operaciones.

Resultado 1: Value = (Value 5) + 2


1.
2.
3.
4.

El terminal lee Value.


Value 5 se almacena en Value.
La variable local lee Value 5.
(Value 5) + 2 se almacena en Value.

Resultado 2: Value = (Value 5) + 2


1.
2.
3.
4.

La variable local lee Value.


Value + 2 se almacena en Value.
El terminal lee Value +2.
(Value + 2) 5 se almacena en Value.

8-14 | ni.com

Manual de Curso LabVIEW Core 1

Resultado 3: Value = Value 5


El terminal lee Value.
La variable local lee Value.
Value + 2 se almacena en Value.
Value 5 se almacena en Value.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

1.
2.
3.
4.

Resultado 4: Value = Value + 2


1.
2.
3.
4.

El terminal lee Value.


La variable local lee Value.
Value 5 se almacena en Value.
Value + 2 se almacena en Value.

Aunque este cdigo se considera una condicin de carrera, el cdigo normalmente acta menos al
azar que el ejemplo de la primera condicin de carrera, porque LabVIEW suele asignar un orden
coherente a las operaciones. Sin embargo, debe evitar situaciones como sta porque el orden y el
comportamiento del VI puede variar. Por ejemplo, el orden puede cambiar al ejecutar el VI en
condiciones distintas o al actualizar el VI a una versin ms nueva de LabVIEW. Afortunadamente
las condiciones de carrera de este tipo se solucionan fcilmente controlando el flujo de datos.

National Instruments | 8-15

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Cuestionario
1. Debera usar variables en su VI siempre que sea posible.
a. Verdadero

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Falso

2. Cundo se controlan recursos, qu combinaciones de escritores y lectores reducen la


posibilidad de condiciones de carrera?
a. Un escritor, un lector

b. Un escritor, mltiples lectores


c. Mltiples escritores, un lector

d. Mltiples escritores, mltiples lectores

National Instruments | 8-17

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Manual de Curso LabVIEW Core 1

Autorrevisin: Respuestas
1. Debera usar variables en su VI siempre que sea posibe.
a. Verdadero

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

b. Falso
Debe usar variables slo cuando es necesario. Use cables para transferir datos siempre que
sea posible.

2. Cundo se controlan recursos, qu combinaciones de escritores y lectores reducen la


posibilidad de condiciones de carrera?
a. Un escritor, un lector

b. Un escritor, mltiples lectores


c. Mltiples escritores, un lector

d. Mltiples escritores, mltiples lectores

National Instruments | 8-19

Leccin 8

Resolviendo desafos de flujo de datos con variables

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Notas

8-20 | ni.com

Informacin Adicional y Recursos

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

Este apndice contiene informacin adicional sobre las opciones de soporte tcnico de National
Instruments y los recursos de LabVIEW.

Opciones de soporte tcnico de National Instruments

Inicie sesin con su perfil de usuario de National Instruments en ni.com para conseguir acceso
personalizado a sus servicios. Visite las siguientes secciones de ni.com para soporte tcnico y
servicios profesionales:

Soporte: el soporte tcnico en ni.com/support incluye los siguientes recursos:

Recursos tcnicos de autoayuda: para ver respuestas y soluciones, visite ni.com/


support y encontrar controladores y actualizaciones de software, una KnowledgeBase
donde puede realizar bsquedas, manuales de productos, asistentes para la solucin
de problemas paso a paso, miles de programas de ejemplo, notas de la aplicacin,
controladores de instrumentos, etc. Los usuarios registrados tambin reciben acceso a los
foros de debate de NI en ni.com/forums. Los ingenieros de aplicaciones de NI envan
una respuesta a cada pregunta que reciben en lnea.

Programa de Servicio Estndar: este programa permite disponer de acceso directo a los
ingenieros de aplicaciones de NI por telfono o por correo electrnico para recibir soporte
tcnico personalizado as como acceso exclusivo a mdulos de formacin a su propio ritmo
en ni.com/self-paced-training. Todos los clientes reciben automticamente un ao
de membreca en el programa de servicio estndar (SSP) con la compra de la mayora de
los productos de software y paquetes incluyendo NI Developer Suite. NI tambin ofrece
opciones flexibles de extensiones de contratos que garantizan que sus beneficios SSP sigan
disponibles por el tiempo que los necesite. Visite ni.com/ssp para ms informacin.
Para obtener informacin adicional acerca de otras opciones de soporte tcnico de su zona,
visite ni.com/services o contacte con su oficina local en ni.com/contact.

Integracin de sistemas: si tiene limitaciones de tiempo, recursos tcnicos internos limitados


u otros problemas con el proyecto, los miembros de National Instruments Alliance Partner
pueden ayudarle. Los NI Alliance Partners aglutinan a integradores de sistemas, consultores y
proveedores de hardware para ofrecer un servicio y conocimientos generales a los clientes. El
programa garantiza asistencia cualificada y especializada para el desarrollo de aplicaciones y
sistemas. Para saber ms, llame a su oficina local de NI o visite ni.com/alliance.

Tambin puede visitar la seccin Worldwide Offices de ni.com/niglobal para acceder a los
sitios Web de las filiales, que ofrecen informacin de contacto actualizada, nmeros de telfono de
soporte, direcciones de correo electrnico y eventos actuales.

National Instruments | A-1

Apndice A

Informacin Adicional y Recursos

Otros cursos de formacin de National Instruments

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

National Instruments ofrece varios cursos de formacin para usuarios de LabVIEW. Estos cursos
continan la formacin que recibi aqu y la amplan a otras zonas. Visite ni.com/training para
adquirir material de cursos o inscrbase para cursos prcticos presenciales en ubicaciones por el
mundo entero.

Certificacin de National Instruments

Conseguir una certificacin de NI reconoce su experiencia de haber trabajado con productos y


tecnologas de NI. La industria de la medicin y automatizacin, su empleador, los clientes y
colegas reconocen su credencial de certificacin de NI como un smbolo de las destrezas y
conocimientos que ha adquirido con la experiencia. Visite ni.com/training para obtener
informacin adicional acerca del programa de certificacin de NI.

Recursos de LabVIEW

Esta seccin describe cmo puede recibir informacin adicional sobre LabVIEW.

Comunidad NI

La comunidad NI es una comunidad en lnea que une a usuarios de todo el mundo para discutir,
compartir y aprender acerca de LabVIEW. Visite la comunidad NI para hacer preguntas, obtener
ideas y compartir cdigo de proyectos LabVIEW. Visite ni.com/community para ms
informacin.

Libros de LabVIEW

Se han escrito numerosos libros sobre la programacin y las aplicaciones de LabVIEW. El sitio
Web de National Instruments contiene una lista de todos los libros de LabVIEW y enlaces a lugares
para comprar estos libros. Visite http://zone.ni.com/devzone/cda/tut/p/id/5389 para
obtener informacin adicional.

A-2 | ni.com

Glosario
A
1. Adquisicin y medida de seales elctricas analgicas o digitales a
partir de sensores, transductores de adquisicin y sondas de prueba o
aparatos.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

adquisicin de datos
(DAQ)

2. Generacin de seales elctricas analgicas o digitales.

arrastrar

Utilizar el cursor de la pantalla para seleccionar, mover, copiar o


eliminar objetos.

barra de herramientas

Barra que contiene botones de comando para ejecutar y depurar VIs.

barra de mens

Barra horizontal que muestra los nombres de los mens principales de


una aplicacin. La barra de mens aparece bajo la barra de ttulo de una
ventana. Cada aplicacin tiene una barra de mens que la caracteriza,
aunque algunos mens y comandos son comunes en muchas
aplicaciones.

botn Run roto

Botn que sustituye al botn Run cuando un VI no puede ejecutarse


debido a errores.

Bucle For

Estructura de bucle iterativo que ejecuta su subdiagrama un nmero


determinado de veces. Equivalente al cdigo basado en texto:
For i = 0 to n - 1, do.....

Bucle While

Estructura de bucle que repite una seccin de cdigo hasta que ocurra
una condicin.

National Instruments | G-1

Glosario

C
Ruta de datos entre nodos.

cadena de caracteres

Representacin de un valor como texto.

canal

1. Fsico: un terminal o pin donde puede medir o generar una seal


analgica o digital. Un solo canal fsico puede incluir ms de un
terminal, como es el caso de un canal de entrada analgica diferencial
o un puerto digital de ocho lneas. Un contador tambin puede ser un
canal fsico, aunque el nombre del contador no es el del terminal donde
el contador mide o genera la seal digital.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

cable

2. Virtual: un conjunto de valores de propiedad que pueden incluir un


nombre, un canal fsico, conexiones de terminales de entrada, el tipo
de medida o generacin e informacin de escala. Puede definir canales
virtuales NI-DAQmx fuera de una tarea (global) o dentro de una tarea
(local). La configuracin de canales virtuales es opcional en versiones
Traditional NI-DAQ (Legacy) y anteriores, pero se integra en
cualquier medida que realice en NI-DAQmx. En Traditional NI-DAQ
(Legacy), usted configura canales virtuales en MAX. En NI-DAQmx,
puede configurar canales virtuales en MAX o en su programa, y puede
configurar canales como parte de una tarea o por separado.
3. Conmutador: un canal de conmutador representa cualquier punto de
conexin en un conmutador. Puede constar de uno o ms cables de
seal (normalmente uno, dos o cuatro), en funcin de la topologa del
conmutador. Un canal virtual no puede crearse con un canal de
conmutador. Los canales de conmutador slo pueden utilizarse en las
funciones y VIs NI-DAQmx Switch.

casilla de verificacin

Un cuadradito de un cuadro de dilogo que puede seleccionar o


desmarcar. Las casillas de verificacin normalmente se asocian con
varias opciones que puede configurar. Puede seleccionar ms de una
casilla de verificacin.

control

Objeto del panel frontal para introducir datos en un VI


interactivamente o en un subVI programticamente, como un mando,
botn de comando o dial.

controlador

Software que controla un dispositivo de hardware concreto, como un


dispositivo DAQ.

controlador de
instrumentos

Un conjunto de funciones de alto nivel que controlan y se comunican


con hardware de instrumentos en un sistema.

Controles e indicadores
booleanos

Objetos del panel frontal para manipular y mostrar datos booleanos


(TRUE o FALSE).

G-2 | ni.com

Manual de Curso LabVIEW Core 1

Objetos del panel frontal para manipular y mostrar datos numricos.

curva

Representacin grfica de un array de datos mostrado en un grfico


tipo graph o chart.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

controles e indicadores
numricos

DAQ

Ver adquisicin de datos (DAQ).

DAQ Assistant

Una interfaz grfica para configurar tareas de medida, canales y


escalas.

diagrama de bloques

Descripcin o representacin grfica de un programa o algoritmo. El


diagrama de bloques consta de iconos ejecutables denominados nodos
y cables que llevan datos entre los nodos. El diagrama de bloques es el
cdigo fuente del VI. El diagrama de bloques reside en la ventana del
diagrama de bloques del VI.

dispositivo

Un instrumento o controlador al que puede acceder como una nica


entidad que controla o monitoriza puntos de E/S del mundo real. Un
dispositivo se suele conectar a un ordenador host mediante algn tipo
de comunicacin de red. Ver tambin dispositivo DAQ y dispositivo
de medida.

dispositivo DAQ

Un dispositivo que adquiere o genera datos y puede contener varios


canales y dispositivos de conversin. Los dispositivos DAQ incluyen
dispositivos insertables, tarjetas PCMCIA y dispositivos DAQPad,
que se conectan a un ordenador por el puerto USB o IEEE 1394. Los
mdulos SCXI se consideran dispositivos DAQ.

dispositivo de medida

Dispositivos DAQ como los dispositivos E Series multifunction I/O


(MIO), mdulos de acondicionamiento de seal SCXI y mdulos de
conmutacin.

E/S

Entrada/Salida. La transferencia de datos a o desde un sistema


informtico con canales de comunicaciones, dispositivos de entrada de
operador o interfaces de control y adquisicin de datos.

escala

Parte de grfico y ciertos controles e indicadores numricos que


contiene una serie de marcas o puntos en intervalos conocidos para
denotar unidades de medida.

National Instruments | G-3

Glosario

Capacidad de las escalas de ajustarse al rango de valores trazados. En


las escalas grficas, la escala automtica determina valores de escala
mximos y mnimos.

estructura

Elemento de control de programa, como una estructura Flat Sequence,


estructura Stacked Sequence, estructura Case, bucle For, bucle While
o bucle Timed.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

escala automtica

etiqueta

Objeto de texto utilizado para nombrar o describir objetos o regiones


del panel frontal o del diagrama de bloques.

etiqueta de ayuda

Pequeos banners amarillos de texto que identifican el nombre del


terminal y facilitan su identificacin para el cableado.

Explorador de
proyectos ventana

Ventana donde puede crear y modificar proyectos de LabVIEW.

flujo de datos

Sistema de programacin que consta de nodos ejecutables que slo se


ejecutan cuando reciben todos los datos de entrada necesarios. Los
nodos producen datos de salida automticamente cuando se ejecutan.
LabVIEW es un sistema de flujo de datos. El movimiento de los datos
a travs de los nodos determina el orden de ejecucin de los VIs y las
funciones del diagrama de bloques.

forma de onda

Varias lecturas de tensin tomadas a una velocidad de muestreo


concreta.

funcin

Built-in elemento integrado, comparable a un operador, funcin o


declaracin en un lenguaje de programacin basado en texto.

General Purpose
Interface Bus

GPIB. Sinnimo de HP-IB. El bus estndar utilizado para controlar


instrumentos electrnicos con un ordenador. Tambin denominado
bus IEEE 488, porque se define mediante las normas
ANSI/IEEE 488-1978, 488.1-1987 y 488.2-1992.

grfico

Visualizacin 2D de una o ms curvas. Un grfico recibe y traza datos


como un bloque.

grfico tipo
waveform chart

Indicador que traza puntos de datos a cierta velocidad.

G-4 | ni.com

Manual de Curso LabVIEW Core 1

H
Cursor especial para realizar operaciones concretas.

herramienta de
cableado

Herramienta para definir rutas de datos entre terminales.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

herramienta

herramienta de
operaciones

Herramienta para introducir datos en controles o para operar sobre


ellos.

herramienta de
posicionamiento

Herramienta para mover y redimensionar objetos.

icono

Representacin grfica de un nodo en un diagrama de bloques.

indicador

Objeto del panel frontal que muestra salidas, como un grfico o LED.

Instrument I/O
Assistant

Complemento que lanza el VI Express Instrument I/O Assistant que se


comunica con instrumentos basados en mensajes y da formato grfico
a la respuesta.

instrumento virtual
(VI)

Programa de LabVIEW que modela el aspecto y la funcin de un


instrumento fsico.

LabVIEW

Laboratory Virtual Instrument Engineering Workbench. LabVIEW es


un lenguaje de programacin grfica que utiliza iconos en lugar de
lneas de texto para crear programas.

LED

Diodo-emisor de luz.

leyenda

Objeto que posee un grfico tipo graph o chart para mostrar los
nombres y los estilos de curvas de curvas de ese grfico.

MAX

Ver Measurement & Automation Explorer.

Measurement &
Automation Explorer

El entorno de configuracin y diagnstico de hardware estndar de


National Instruments para Windows.

mensaje de error

Indicacin de un fallo de funcionamiento de software o hardware o de


un intento de entrada de datos inaceptable.

National Instruments | G-5

Glosario

Men al que se accede haciendo clic derecho en un objeto. Los


elementos de men hacen referencia a ese objeto en concreto.

mens-desplegables

Mens accesibles desde una barra de mens. Los elementos de los


mens -desplegables suelen ser generales.

muestra

Punto de datos de salida o entrada digital o analgica simple.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

men contextual

NI-DAQ

Software controlador que incluyen todos los dispositivos NI DAQ y


componentes de acondicionamiento de seal. NI-DAQ es una amplia
biblioteca de VIs y funciones ANSI C que puede llamar desde un
entorno de desarrollo de aplicaciones (ADE), como LabVIEW, para
programar un dispositivo de medida de NI, como los dispositivos M
Series multifunction I/O (MIO) DAQ, mdulos de acondicionamiento
de seal y mdulos de conmutacin.

NI-DAQmx

El ltimo controlador de NI-DAQ con nuevos VIs, funciones y


herramientas de desarrollo para controlar dispositivos de medida. Las
ventajas de NI-DAQmx respecto a versiones anteriores de NI-DAQ
son el DAQ Assistant para configurar canales y tareas de medida para
un dispositivo que utilizar en LabVIEW, LabWindows/CVI y
Measurement Studio; simulacin NI-DAQmx para la mayora de los
dispositivos compatibles para probar y modificar aplicaciones con
menos funciones y VIs que las versiones anteriores de NI-DAQ.

nodo

Elemento de ejecucin de un programa. Los nodos son anlogos a las


instrucciones, operadores, funciones y subrutinas en lenguajes de
programacin basados en texto. En un diagrama de bloques los nodos
incluyen funciones, estructuras y subVIs.

objeto

Trmino genrico para cualquier elemento del panel frontal o


diagrama de bloques, como controles, indicadores, estructuras, nodos,
cables e imgenes importadas.

paleta

Muestra objetos o herramientas que puede utilizar para crear el panel


frontal o el diagrama de bloques.

Paleta de controles

Paleta que contiene controles, indicadores y objetos decorativos del


panel frontal.

G-6 | ni.com

Manual de Curso LabVIEW Core 1

Paleta que contiene VIs, funciones, estructuras del diagrama de


bloques y constantes.

panel frontal

Interfaz de usuario interactiva de un VI. El aspecto del panel frontal


imita a los instrumentos fsicos, como osciloscopios y multmetros.

predeterminadas

Valor preconfigurado. Muchas entradas de VI utilizan un valor


predeterminado si no especifica ninguno.

Propiedades
cuadros de dilogo

Cuadros de dilogo a los que se accede desde el men contextual de un


control o indicador que puede utilizar para configurar cmo aparece el
control o indicador en la ventana del panel frontal.

proyecto

Un conjunto de archivos de LabVIEW y no especficos de LabVIEW


que puede utilizar para crear especificaciones y descargar archivos en
otras plataformas.

PXI

PCI eXtensions for Instrumentation. Una plataforma modular de


instrumentacin basada en ordenador.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

paleta de funciones

subpaleta

Paleta a la que puede acceder desde otra paleta que est por encima de
la subpaleta en la jerarqua.

subVI

VI utilizado en el diagrama de bloques de otro VI. Comparable a una


subrutina.

tarea

Un conjunto de uno o ms canales, temporizacin, activacin y otras


propiedades en NI-DAQmx. Una tarea representa una medida o
generacin que desee realizar.

terminal

Objeto o regin en un nodo por el que pasan datos.

terminal condicional

Terminal de un bucle While que contiene un valor booleano que


determina si el VI realiza otra iteracin.

tipo de datos

Formato para informacin. En LabVIEW, los tipos de datos que acepta


la mayora de los VIs y funciones son numricos, array, booleanos,
rutas, cadenas de caracteres, refnum, enumeracin, forma de onda y
cluster.

National Instruments | G-7

Glosario

El tipo de datos que utilizan los VIs Express y que incluye los datos
asociados con una seal y atributos que ofrecen informacin sobre la
seal, como el nombre de sta o la fecha y hora en que LabVIEW
adquiri los datos. Los atributos especifican cmo aparece la seal en
el grfico tipo graph o chart.

Traditional NI-DAQ
(Legacy)

Un controlador ms antiguo con APIs desfasadas para crear


aplicaciones de adquisicin de datos, instrumentacin y control para
dispositivos DAQ ms antiguos de National Instruments. Slo puede
utilizar Traditional NI-DAQ (Legacy) en ciertas circunstancias.
Consulte el fichero NI-DAQ Readme para obtener informacin
adicional acerca de cundo utilizar Traditional NI-DAQ (Legacy),
incluida una lista completa de dispositivos, sistemas operativos y
versiones de lenguajes y software de aplicacin compatibles.

N
Pr atio
oh
n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n

tipo de datos
dinmico

ventana Context
Help

Ventana que muestra informacin bsica sobre los diferentes objetos


de LabVIEW cuando mueve el cursor sobre cada uno de ellos. Entre
los objetos con informacin de ayuda contextual se encuentran los VIs,
funciones, constantes, estructuras, paletas, propiedades, mtodos,
eventos y componentes de cuadros de dilogo.

ventana Error list

Ventana que muestra errores y advertencias que ocurren en un VI y en


algunos casos recomienda cmo corregirlos.

VI

Ver instrumento virtual (VI).

VI actual

VI cuyo panel frontal, diagrama de bloques o Icon Editor es la ventana


activa.

VI de plantilla

VI que contiene controles e indicadores comunes desde donde puede


crear varios VIs que realicen funciones similares. Acceda a los VIs
plantilla desde el cuadro de dilogo New.

VI Express

Un subVI diseado para ayudar en tareas de medidas comunes. Un VI


Express se configura mediante un cuadro de dilogo de configuracin.

VI roto

VI que no puede ejecutarse debido a errores; se representa con una


flecha rota en el botn Run roto.

G-8 | ni.com