Está en la página 1de 242

TM

LabVIEW Core 1

n
tri nts
Manual de Curso

ci
dis me
bu
su tru
Versin del software actual 2012
Edicin de Agosto 2012
Nmero de parte 325290D-0154
da Ins
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.
ibi al

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
n

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
Pr atio

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

Marcas comerciales
oh

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
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh

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


A. Certificacin de NI................................................................................................v
B. Descripcin del curso............................................................................................vi
C. Lo que necesita para empezar ...............................................................................vii

n
tri nts
D. Instalacin del software del curso.........................................................................viii
E. Objetivos del curso ...............................................................................................viii

ci
F. Convenciones del curso ........................................................................................ix

Leccin 1

dis me
Explorando LabVIEW

bu
A. Qu es LabVIEW? ..............................................................................................1-2
B. Explorador de proyectos .......................................................................................1-5
C. Partes de un VI......................................................................................................1-10
D.
E.
F.
G.
su tru
Panel frontal ..........................................................................................................1-14
Diagrama de bloques ............................................................................................1-20
Bsqueda de controles, VIs y funciones ...............................................................1-32
Seleccin de una herramienta ...............................................................................1-35
H. Flujo de datos........................................................................................................1-41
da Ins
I. Creacin de un VI simple .....................................................................................1-42

Leccin 2
Resolucin de problemas y depuracin de VIs
A. Correccin de VIs rotos ........................................................................................2-2
ibi al

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

Leccin 3
Pr atio

Implementacin de un VI
A. Panel frontal .........................................................................................................3-2
B. Tipos de datos de LabVIEW.................................................................................3-4
C. Documentacin de cdigo ....................................................................................3-16
D. Bucles While.........................................................................................................3-18
N

E. Bucles For .............................................................................................................3-21


F. Temporizacin de VIs...........................................................................................3-24
oh

G. Retroalimentacin de datos en los bucles .............................................................3-26


H. Graficando datos Waveform Chart ....................................................................3-28
I. Estructuras Case....................................................................................................3-31

National Instruments | iii


Contenido

Leccin 4
Desarrollo de aplicaciones modulares
A. Comprensin de la modularidad ...........................................................................4-2
B. Creacin del panel de iconos y conectores ...........................................................4-3
C. Uso de subVIs .......................................................................................................4-8

n
tri nts
Leccin 5
Creando y aprovechando estructuras de datos

ci
A. Arrays....................................................................................................................5-2
B. Funciones de array comunes.................................................................................5-5
C. Polimorfismo ........................................................................................................5-6

dis me
D. Autoindexado........................................................................................................5-8
E. Clusters .................................................................................................................5-14

bu
F. Definiciones tipo...................................................................................................5-19

Leccin 6
su tru
Administrando archivos y recursos hardware
A.
B.
Entendiendo recursos de hardware y software......................................................6-2
E/S de ficheros ......................................................................................................6-4
da Ins
C. Adquiriendo mediciones con sistema DAQ..........................................................6-7
D. Controlando Instrumentos ....................................................................................6-17

Leccin 7
Usando algoritmos de mquinas de estado y secuenciales
A. Programacin secuencial ......................................................................................7-2
ibi al

B. Programacin de estado ........................................................................................7-4


C. Mquinas de estados .............................................................................................7-4
n

Leccin 8
Pr atio

Resolviendo desafos de flujo de datos con variables


A. Comunicacin entre bucles paralelos ...................................................................8-2
B. Escribiendo a controles y leyendo de indicadores ................................................8-4
C. Variables ...............................................................................................................8-4
D. Condiciones de carrera..........................................................................................8-13
N

Apndice A
Informacin Adicional y Recursos
oh

Glosario

iv | ni.com
Gua del estudiante

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.

n
tri nts
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

ci
ni.com/training para consultar en lnea la programacin, el contenido, los centros de
formacin y la inscripcin en la clase del curso.

dis me
A. Certificacin de NI

bu
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

su tru
LabVIEW. Consulte ni.com/training para obtener informacin adicional acerca de la
certificacin de NI.
da Ins
New User Experienced User Advanced User
Courses

LabVIEW Core 1* LabVIEW Core 3* Managing Software


Engineering in LabVIEW
LabVIEW Core 2*
ibi al

LabVIEW Connectivity Advanced Architectures


in LabVIEW
Object-Oriented Design
and Programming
in LabVIEW
n

LabVIEW Performance
Certifications
Pr atio

Certified LabVIEW Certified LabVIEW Certified LabVIEW


Associate Developer Exam Developer Exam Architect Exam

Other Courses

LabVIEW Instrument Control LabVIEW Real-Time 1 LabVIEW Real-Time 2


LabVIEW FPGA LabVIEW DAQ and Signal Conditioning Modular Instruments Series
N

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

National Instruments | v
Gua del estudiante

B. Descripcin del curso


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

n
tri nts
manuales de ejercicios y del curso estn divididos en lecciones, descritas de este modo.

ci
En el manual del curso, cada leccin consta de lo siguiente:
Una introduccin que describe el objetivo de la leccin y lo que aprender

dis me
Una descripcin de los temas de la leccin

bu
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:

su tru
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.
da Ins
Nota Para ver actualizaciones y correcciones del manual de ejercicios y del curso,
consulte ni.com/info y escriba el Cdigo de Informacin Core1.

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

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
n

Aunque no disponga de este hardware, puede realizar los ejercicios. Se ofrecen otras instrucciones
Pr atio

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.
N
oh

vi | ni.com
Manual de Curso LabVIEW Core 1

C. Lo que necesita para empezar

Lecturas recomendadas
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.

n
tri nts
Para acceder a cada uno del material de lectura recomendado, consulte ni.com/info y escriba el

ci
Cdigo de Informacin que corresponda a cada tema:

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

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

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

su tru
Material del curso
Antes de empezar este curso, asegrese de tener todos estos elementos:

da Ins
Ordenador con Windows 7/Vista/XP

Dispositivo DAQ multifuncin configurado como Dev1 utilizando Measurement &


Automation Explorer (MAX)

BNC 2120, conectores y cable


ibi al

Interfaz GPIB

Simulador de instrumentos de NI y alimentacin elctrica


n

Full o Professional Development System 2012 o posterior de LabVIEW


Pr atio

DAQmx 9.5.5 o posterior

NI-488.2 3.0.2 o posterior

NI VISA 5.2 o posterior


N

Un cable GPIB
oh

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:

Directorio Descripcin

n
tri nts
Exercises Carpeta para guardar VIs creados durante el curso y para completar
ciertos ejercicios de ste; tambin incluye subVIs necesarios para

ci
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

dis me
Solutions Contiene las soluciones para todos los ejercicios del curso

bu
D. Instalacin del software del curso

su tru
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.
da Ins
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


ibi al

Nota
referencia a carpetas del directorio raz de su ordenador.
n

E. Objetivos del curso


Pr atio

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
N

Crear y guardar VI para poder utilizarlos como subVI


oh

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
tri nts
Desarrollar un controlador de instrumento
Desarrollar una aplicacin completa para cualquier estudiante de la clase; consulte el

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

dis me
F. Convenciones del curso

bu
Las siguientes convenciones aparecen en este manual del curso:

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

su tru 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.
da Ins
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
ibi al

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

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
Pr atio

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

monospace El texto con esta fuente indica texto o caracteres que debe escribir con el
oh

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

monospace bold 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
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh

x | ni.com
Explorando LabVIEW
1
Esta leccin muestra cmo navegar por el entorno LabVIEW. Describe el uso de mens, barras de

n
tri nts
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

ci
final de esta leccin, crear un VI simple que adquiera, analice y presente datos.

dis me
Temas

bu
A. Qu es LabVIEW?
B. Explorador de proyectos
C. Partes de un VI
su tru
D. Panel frontal
E. Diagrama de bloques
F. Bsqueda de controles, VIs y funciones
da Ins
G. Seleccin de una herramienta
H. Flujo de datos
I. Creacin de un VI simple
ibi al
n
Pr atio
N
oh

National Instruments | 1-1


Leccin 1 Explorando LabVIEW

A. Qu es LabVIEW?
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

n
tri nts
integradas para anlisis avanzados y visualizacin de datos para crear instrumentos virtuales que
puede personalizar de acuerdo a sus necesidades.

ci
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

dis me
tienen panel frontal y diagrama de bloques. El panel frontal es la interfaz de usuario. El diagrama

bu
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

su tru
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
da Ins
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
ibi al

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
n

aplicaciones de LabVIEW a una gran variedad de dispositivos real-time y FPGA.


Pr atio

Caractersticas de LabVIEW
Los programas de LabVIEW tienen las siguientes caractersticas:
Naturaleza grfica y compilada
Flujo de datos y/o programacin basada en eventos
N

Capacidades multi-objetivo y plataforma


oh

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

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

ci
Grfico y compilado
Aunque representado grficamente con iconos y cables en vez de texto, el cdigo G en el diagrama

dis me
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,

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

su tru
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
da Ins
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
ibi al

tambin permite otras actividades asncronas para influenciar la ejecucin del cdigo G en el
diagrama de bloques.
n

Capacidades multi-objetivo y plataforma


Con aplicaciones de LabVIEW, usted puede tener como objetivos procesadores multincleo y otros
Pr atio

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
N

usar el mismo cdigo si esta utilizando LabVIEW en sistemas Windows, Mac OS X o Linux.
oh

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


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

n
tri nts
embargo, LabVIEW tambin provee las opciones para mejorar el rendimiento.

ci
Lanzando el entorno LabVIEW
Cuando lance LabVIEW, aparecer la ventana Getting Started como se muestra en la figura 1-1.

dis me
Figura 1-1. Ventana Getting Started de LabVIEW

bu
su tru
da Ins
ibi al
n
Pr atio

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

La ventana Getting Started desaparece cuando abre un archivo existente o crea un archivo nuevo,
oh

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

n
tri nts
Algunos programas de LabVIEW, como VIs simples, no requieren crear un proyecto. Es necesario

ci
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

dis me
obtener informacin adicional acerca de usar proyectos con los mdulos de tiempo real, FPGA y

bu
PDA de LabVIEW.

Ventana del explorador de proyectos


su tru
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.
da Ins
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.
ibi al

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
n

PDS (Professional Development System) o el Application Builder de LabVIEW, puede usar


Build Specifications para configurar aplicaciones independientes, libreras compartidas,
Pr atio

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
N

Dependencies y Build Specifications. Puede aadir archivos bajo cada uno de los destinos.
oh

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

n
tri nts
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:

ci
FiltersMuestra solo resultados de cierto tipo, como plantillas o ejemplos de proyectos
para un objetivo especfico.

dis me
Additional SearchBusca palabras clave, ttulos y descripciones de los resultados
filtrados.

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

su tru
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.
da Ins
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


ibi al

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
n

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
Pr atio

herramientas.
N
oh

1-6 | ni.com
Manual de Curso LabVIEW Core 1

Figura 1-2. Ventana Project Explorer

1 2 3 4

n
tri nts
ci
dis me
bu
8 7 6 5

1
2
3
4
su tru
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
da Ins
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.
ibi al

Creacin de un proyecto en LabVIEW


n

Complete los pasos siguientes para crear un proyecto.


Pr atio

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

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


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

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.

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

n
tri nts
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

ci
desde el men Project Explorer para aadir un archivo.
Haga clic con el botn derecho en el destino y seleccione AddFolder (Auto-populating)

dis me
desde el men contextual para aadir una carpeta de relleno automtico. Tambin puede
seleccionar ProjectAdd To ProjectAdd Folder (Auto-populating) para aadir una carpeta

bu
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

su tru
(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
da Ins
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.

Nota 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.
ibi al

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
n

ProjectNew VI para aadir un VI nuevo.


Pr atio

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

Eliminar elementos de un proyecto


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

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


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

n
tri nts
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

ci
derecho en una carpeta o elemento bajo un destino y seleccionando Show in Items View o Show
in Files View en el men contextual.

dis me
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

bu
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

su tru
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
da Ins
. 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
ibi al

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
n

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
Pr atio

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
N

seleccione Open desde el men contextual para abrir el archivo en su editor predeterminado.
oh

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
Puede guardar un proyecto de LabVIEW de los siguientes modos:

n
tri nts
Seleccione FileSave Project.
Seleccione ProjectSave Project.

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

dis me
Debe guardar los nuevos archivos que no hayan sido guardados previamente en un proyecto antes

bu
de poder guardar ste. Cuando guarde un proyecto, LabVIEW no guardar dependencias como
parte del archivo del proyecto.

su tru
Nota Realice una copia de seguridad de un proyecto cuando vaya a hacer revisiones
importantes en l.

C. Partes de un VI
da Ins
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


ibi al

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.
n
Pr atio
N
oh

1-10 | ni.com
Manual de Curso LabVIEW Core 1

Figura 1-3. Panel frontal de VI

n
tri nts
ci
dis me
bu
su tru
Ventana de diagrama de bloques
da Ins
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


ibi al
n
Pr atio
N
oh

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.

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

n
tri nts
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

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

dis me
bu
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

su tru
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.
da Ins

Abrir un VI existente
Seleccione Browse en la lista Open de la ventana Getting Started para navegar hasta un VI
ibi al

existente y abrirlo.
n

Consejo Los VIs que modifique en este curso se encuentran en el directorio


<Exercises>\LabVIEW Core 1.
Pr atio

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

1-12 | ni.com
Manual de Curso LabVIEW Core 1

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

n
tri nts
ci
dis me
bu
La seccin Loading enumera los subVIs del VI segn se cargan en memoria y muestra el nmero

su tru
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
da Ins
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.
ibi al

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
n

del VI o eliminar el VI original y sustituirlo por el nuevo.


Pr atio
N
oh

National Instruments | 1-13


Leccin 1 Explorando LabVIEW

Figura 1-6. Cuadro de dilogo Save As

n
tri nts
ci
dis me
bu
su tru
da Ins
Nota 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.

D. Panel frontal
ibi al

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
n

de panel frontal.
Pr atio
N
oh

1-14 | ni.com
Manual de Curso LabVIEW Core 1

Figura 1-7. Ejemplo de un panel frontal

3
2

n
tri nts
ci
dis me
bu
1
su tru
Ventana del panel frontal 2 Barra de herramientas 3 Paleta de controles
da Ins
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.
ibi al

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

La imagen 1-7 contiene los siguientes objetos: dos controles: Number of Measurements y Delay
Pr atio

(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.
N

Cada control o indicador tiene un tipo de datos asociado. Por ejemplo, el control deslizante
oh

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.

Figura 1-8. Controles e indicadores numricos

n
tri nts
ci
1 2

dis me
3

bu
1 Botones de incremento / decremento 3 Indicador numrico
2 Control numrico

su tru
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>.
da Ins
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.
ibi al

Figura 1-9. Controles e indicadores booleanos


n
Pr atio

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

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

1-16 | ni.com
Manual de Curso LabVIEW Core 1

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

n
tri nts
ci
dis me
Paleta de controles

bu
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

su tru
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.
da Ins
Figura 1-11. Paleta de Controles
ibi al
n
Pr atio
N
oh

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


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.

n
tri nts
La siguiente barra de herramientas aparece en la ventana del panel frontal.

ci
dis me
Haga clic en el botn Run para ejecutar un VI. LabVIEW compila el VI, si es necesario. Puede

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

su tru
Mientras se ejecuta el VI, el botn Run aparece como se muestra abajo si el VI es de alto nivel, lo
da Ins
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.
ibi al
n

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
Pr atio

y no puede ejecutarse. Haga clic en este botn para mostrar la ventana Error list, que enumera
todos los errores y advertencias.
N

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

1-18 | ni.com
Manual de Curso LabVIEW Core 1

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.

n
tri nts
Precaucin 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

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

dis me
Haga clic en el botn Pause para pausar un VI en ejecucin. Cuando haga clic en el botn Pause,

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

su tru
Seleccione el men desplegable Text Settings para cambiar los ajustes de fuente para las partes
da Ins
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.
ibi al
n

Seleccione el men desplegable Distribute Objects para espaciar objetos uniformemente,


Pr atio

incluidos los espacios, la compresin, etc.

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

National Instruments | 1-19


Leccin 1 Explorando LabVIEW

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.

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

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

dis me
Context Help.

bu
su tru
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.
da Ins
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 .
ibi al

E. Diagrama de bloques
n

Entre los objetos del diagrama de bloques se incluyen los terminales, subVIs, funciones,
Pr atio

estructuras y cables, los cuales transfieren datos entre otros objetos del diagrama de bloques.
N
oh

1-20 | ni.com
Manual de Curso LabVIEW Core 1

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

n
tri nts
ci
dis me
bu
1
su tru
Terminales de indicador 2 Cables 3
4

Nodos
3 2

4
1

Terminales de control
da Ins
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
ibi al

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
n

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
Pr atio

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
N

Subtract tienen tres terminales de nodo. Para mostrar los terminales de la funcin en el diagrama
oh

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

En este algoritmo, Base y Altura son entradas y rea es una salida, como se ve en la figura 1-13.

n
tri nts
Figura 1-13. Panel Frontal del rea de un tringulo

ci
dis me
bu
su tru
da Ins
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.
ibi al

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

1 3 2
oh

1 Controles 2 Indicador 3 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.

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.

n
tri nts
Figura 1-15. Diagrama de bloques del rea de un tringulo sin vista de iconos de los terminales

ci
dis me
bu
Nodos del diagrama de bloques
su tru
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,
da Ins
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
ibi al

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

SubVIs
Pr atio

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
N

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

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


Puede mostrar VIs y VIs Express como iconos o como nodos expandibles. Los nodos expandibles

n
tri nts
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

ci
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

dis me
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.

bu
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

su tru
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
da Ins
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.
ibi al

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

La figura 1-16 muestra el VI Basic Function Generator como un nodo expandible con un tamao
diferente.
Pr atio

Figura 1-16. VI Basic Function Generator en varios modos de visualizacin


N
oh

1-24 | ni.com
Manual de Curso LabVIEW Core 1

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

Cables
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

n
tri nts
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.

ci
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

dis me
datos incompatibles.

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

su tru
Tipo de cable Escalar
Tabla 1-1. Tipos de cables comunes

Array 1D Array 2D Color


da Ins
Numrico Naranja (coma flotante),
Azul (nmero entero)

Boleano Verde
Cadena de Rosa
ibi al

caracteres

En LabVIEW se usan cables para conectar varios terminales entre s y pasar datos a un VI. Debe
n

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,
Pr atio

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
N

Los tipos de datos indican qu objetos, entradas y salidas pueden cablearse entre s. Por ejemplo,
oh

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


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.

n
tri nts
Cambie el cableado automtico pulsando la barra espaciadora mientras mueve un objeto con la

ci
herramienta de posicionamiento.

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

dis me
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

bu
cuando usa la herramienta de posicionamiento para mover un objeto que ya est en el diagrama de
bloques.

su tru
Puede ajustar la configuracin del cableado automtico seleccionando ToolsOptions y despus
Block Diagram en la lista Category.

Cableado manual de objetos


da Ins
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
ibi al

una ruta para el cable. Si tiene que eliminar cables rotos, pulse <Ctrl-B> para eliminar todos los
cables rotos del diagrama de bloques.
n

Paleta de funciones
Pr atio

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.
N
oh

1-26 | ni.com
Manual de Curso LabVIEW Core 1

Figura 1-17. Paleta de funciones

n
tri nts
ci
dis me
bu
su tru
da Ins

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


deseleccione la opcin Change Visible Palettes.
ibi al

Barra de herramientas del diagrama de bloques


Cuando ejecuta un VI, aparece una serie de botones en la barra de herramientas del diagrama de
n

bloques que puede utilizar para depurar el VI. La siguiente barra de herramientas aparece en el
diagrama de bloques.
Pr atio

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
N

bloques. Haga clic en el botn de nuevo para desactivar el resaltado de la ejecucin.


oh

National Instruments | 1-27


Leccin 1 Explorando LabVIEW

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.

n
tri nts
Haga clic en el botn Step Into para abrir un nodo y pausar la ejecucin. Haciendo clic en el botn

ci
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

dis me
para ejecutarse.

bu
Haga clic en el botn Step Over para ejecutar un nodo y pausar la ejecucin en el siguiente nodo.
su tru
Tambin puede pulsar las teclas <Ctrl> y la flecha derecha. Al pasar por encima del nodo, ejecuta
el nodo pero no paso a paso.
da Ins
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.
ibi al
n

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
Pr atio

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

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


oh

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.

Ventana Context Help

n
tri nts
La ventana Context Help muestra informacin bsica sobre los diferentes objetos de LabVIEW

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

dis me
bu
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,

su tru
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
da Ins
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.
ibi al

Figura 1-18. Ventana Context Help


n
Pr atio
N
oh

National Instruments | 1-29


Leccin 1 Explorando LabVIEW

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.

n
tri nts
Figura 1-19. Ventana Context Help detallada

ci
dis me
bu
su tru
da Ins
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
ibi al

puede acceder a esta opcin desde el men Help.


n

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


Pr atio

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

LabVIEW Help
oh

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

n
tri nts
manuales de LabVIEW.
Recursos de soporte tcnico en el sitio Web de National Instruments, como NI Developer Zone,

ci
KnowledgeBase y Product Manuals Library (Biblioteca de Manuales de Producto).

NI Example Finder

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

bu
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

su tru
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
da Ins
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.
ibi al
n
Pr atio
N
oh

National Instruments | 1-31


Leccin 1 Explorando LabVIEW

Figura 1-20. NI Example Finder

n
tri nts
ci
dis me
bu
su tru
da Ins

F. Bsqueda de controles, VIs y funciones


ibi al

Cuando selecciona ViewControls o ViewFunctions para abrir las paletas Controls y


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

Search: cambia la paleta al modo de bsqueda para poder realizar bsquedas de texto y encontrar
Pr atio

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
N

ocultando categoras para todas las paletas y clasificando elementos de los formatos Text y
oh

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

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.

n
tri nts
Figura 1-21. Bsqueda de un objeto en la paleta Functions

ci
dis me
bu
su tru
da Ins
ibi al

Haga doble clic en el resultado de bsqueda para resaltar su ubicacin en la paleta. Si se trata de
n

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
Pr atio

figura 1-22.
N
oh

National Instruments | 1-33


Leccin 1 Explorando LabVIEW

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

n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al

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
n

frontal. Adems de las paletas de objetos, usted puede tambin especificar objetos de proyecto por
nombre en el cuadro de dilogo Quick Drop.
Pr atio

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
N

de bloques o en el panel frontal donde quiera aadir el objeto.


oh

1-34 | ni.com
Manual de Curso LabVIEW Core 1

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

n
tri nts
ci
dis me
bu
su tru
G. Seleccin de una herramienta
da Ins
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


ibi al
n
Pr atio

Consejo Puede elegir manualmente la herramienta que necesita seleccionndola en la


N

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


oh

National Instruments | 1-35


Leccin 1 Explorando LabVIEW

Herramienta de operaciones
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.

n
tri nts
ci
Figura 1-25. Uso de la herramienta de operaciones

dis me
bu
su tru
da Ins
ibi al
n

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


Pr atio

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
N

operativa. Use la herramienta de posicionamiento para seleccionar objetos o cambiar su tamao.


oh

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

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

n
tri nts
ci
dis me
bu
su tru
da Ins
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


ibi al
n
Pr atio
N
oh

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

n
tri nts
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

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

dis me
bu
Figura 1-28. Uso de la herramienta de etiquetado

su tru
da Ins
ibi al
n
Pr atio

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
N

para acceder a la herramienta de etiquetado y crear una etiqueta libre.


oh

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.

Figura 1-29. Uso de la herramienta de cableado

n
tri nts
ci
dis me
bu
su tru
da Ins
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.
ibi al

Otras herramientas a las que se accede desde la paleta


Puede acceder a las herramientas de operaciones, posicionamiento, etiquetado y cableado
n

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.
Pr atio

Figura 1-30. La paleta Tools


N
oh

National Instruments | 1-39


Leccin 1 Explorando LabVIEW

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:

n
tri nts
Use la herramienta Object Shortcut Menu para acceder a un men contextual del objeto con el

ci
botn izquierdo del ratn.

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

su tru
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.
da Ins

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
ibi al

cuestionables o inesperados.
n
Pr atio

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.
N
oh

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

n
tri nts
Visual Basic, C++, JAVA y la mayora del resto de lenguajes de programacin basados en texto

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

dis me
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,

bu
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
su tru
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


da Ins

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


ibi al

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
n

dependencia de datos entre las funciones, use otros mtodos de programacin, como clusters de
Pr atio

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
N
oh

National Instruments | 1-41


Leccin 1 Explorando LabVIEW

I. Creacin de un VI simple
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

n
tri nts
aprender a crear un VI simple que utiliza estas tres tareas, como se ve en la figura 1-33.

ci
Figura 1-33. Ventana del panel frontal y del diagrama de bloques de
ejemplo de adquisicin, anlisis y presentacin

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

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.

DAQ Assistant

n
tri nts
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,

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

dis me
bu
Instrument I/O Assistant
su tru
El Instrument I/O Assistant adquiere datos de control de instrumentos, normalmente desde una
interfaz GPIB o de serie.
da Ins
Simulate Signal
El VI Express Simulate Signal genera datos simulados como una onda sinusoidal.
ibi al
n

Read From Measurement File


Pr atio

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.
N
oh

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


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.

n
tri nts
Statistics

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

dis me
bu
Spectral Measurements

su tru
El VI Express Spectral Measurements realiza la medicin espectral de una forma de onda, como la
magnitud y la densidad espectral de potencia.
da Ins
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.
ibi al
n

Filter
El VI Express Filter procesa una seal mediante filtros y ventanas. Los filtros usados incluyen lo
Pr atio

siguiente: Pasoalto, Pasobajo, Pasobanda, Bloqueobanda, y Suavizado (Smoothing). Las ventanas


utilizadas son Butterworth, Chebyshev, Chebyshev inverso, Elptico y Bessel.
N

Presentar
oh

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


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.

n
tri nts
ci
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

dis me
hardware para obtener informacin adicional acerca de crear cadenas de caracteres.

bu
su tru
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.
da Ins

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
ibi al

contendrn datos.
n
Pr atio

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

Si el botn sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI est roto
oh

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.

Figura 1-34. Preguntas de flujos de datos

n
tri nts
ci
dis me
bu
1. Qu funcin se ejecuta primero? Add or Subtract?
a. Add
su tru
b. Subtract
c. No se sabe
da Ins
2. Qu funcin se ejecuta primero? Sine or Divide?
a. Sine
b. Divide
c. No se sabe
ibi al

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


a. Random Number
b. Divide
n

c. Add
Pr atio

d. No se sabe
4. Qu funcin se ejecuta despus? Random Number, Subtract or Add?
a. Random Number
b. Subtract
c. Add
N

d. No se sabe
oh

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

Autorrevisin: Respuestas

n
tri nts
ci
dis me
bu
1. Qu funcin se ejecuta primero? Add or Subtract?
a. Add

su tru
b. Subtract
c. No se sabe
2. Qu funcin se ejecuta primero? Sine or Divide?
a. Sine
da Ins
b. Divide
c. No se sabe
3. Qu funcin se ejecuta primero?
a. Random Number
ibi al

b. Divide
c. Add
n

d. No se sabe
4. Qu funcin se ejecuta despus? Random, Subtract or Add?
Pr atio

a. Random Number
b. Subtract
c. Add
d. No se sabe
N

5. Cules son las tres partes de un VI?


oh

a. Ventana del panel frontal


b. Ventana del diagrama de bloques
c. Proyecto
d. Panel de iconos y conectores

National Instruments | 1-49


Leccin 1

Notas

1-50 | ni.com
N
Explorando LabVIEW

Pr atio
oh n
ibi al
da Ins
su tru
dis me
tri nts
bu
ci
n
Resolucin de problemas y
2
depuracin de VIs

n
tri nts
Para ejecutar un VI, debe cablear todos los subVIs, funciones y estructuras con los tipos de datos

ci
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

dis me
la organizacin del diagrama de bloques o con los datos que pasan por el diagrama de bloques.

bu
Temas
A. Correccin de VIs rotos

su tru
B. Tcnicas de depuracin
C. Datos sin definir o inesperados
D. Manejo de Errores
da Ins
ibi al
n
Pr atio
N
oh

National Instruments | 2-1


Leccin 2 Resolucin de problemas y depuracin de VIs

A. Correccin de VIs rotos


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.

n
tri nts
Si el botn sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI est roto

ci
y no puede ejecutarse.

Buscar causas de VIs rotos

dis me
Las advertencias no impiden que ejecute un VI. Estn diseadas para ayudarle a evitar posibles

bu
problemas en VIs. Sin embargo, los errores pueden romper un VI. Debe resolver los errores antes
de poder ejecutar el VI.

su tru
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
da Ins
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
ibi al

del diagrama de bloques o del panel frontal que contenga el error.


n
Pr atio
N
oh

2-2 | ni.com
Manual de Curso LabVIEW Core 1

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

n
tri nts
ci
dis me
bu
su tru
da Ins
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.
ibi al

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

Un subVI est roto o modific su panel de conectores tras colocar su icono en el diagrama de
Pr atio

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
N

identificar y corregir problemas con el VI o el flujo de datos del diagrama de bloques:


oh

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
tri nts
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

ci
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

dis me
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.

bu
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

su tru
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.
da Ins
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
ibi al

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

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
Pr atio

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
N

nmero entero de 16 bits en una representacin de 8 bits, con lo que podra perder datos.
oh

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

n
tri nts
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

ci
entradas obligatorias para los VIs.

dis me
Resaltado de ejecucin
Vea una animacin de la ejecucin del diagrama de bloques haciendo clic en el botn Highlight

bu
Execution.

su tru
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
da Ins
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.
ibi al

Nota El resaltado de la ejecucin reduce enormemente la velocidad de ejecucin


del VI.
n

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


Pr atio
N
oh

National Instruments | 2-5


Leccin 2 Resolucin de problemas y depuracin de VIs

Ejecucin paso a paso


Ejecute paso a paso un VI para ver cada una de sus acciones en el diagrama de bloques mientras
se ejecuta el VI. Los botones de 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.

n
tri nts
ci
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

dis me
ejecutar los subVIs paso a paso o ejecutarlos de forma normal.

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

su tru
da Ins
Herramientas de sonda
Use la herramienta de sonda para comprobar valores intermedios en un cable mientras se ejecuta
un VI.
ibi al

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
n

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
Pr atio

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.

Consejo Si quiere que una sonda muestre los datos que fluyen por un cable durante la
N

ejecucin de un VI, haga clic en el botn Retain Wire Values en la barra de herramientas
oh

del diagrama de bloques.

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

n
tri nts
genrica.

ci
La sonda genrica muestra los datos. No puede configurar la sonda genrica para responder a los
datos.

dis me
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

bu
de datos.

Puede depurar una sonda personalizada de modo similar a un VI. Sin embargo, una sonda no puede

su tru
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


da Ins
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
ibi al

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
n

hizo clic con el botn derecho, LabVIEW no colocar el indicador en el cable.


Pr atio

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
N

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

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

n
tri nts
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

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

dis me
Tras seleccionar una sonda desde el men contextual Custom Probe, navegue hasta l utilizando

bu
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

su tru
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.
da Ins
Nota 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.
ibi al

Puntos de interrupcin
Use la herramienta Breakpoint para establecer puntos de interrupcin en VIs, nodos o cables y
n

pausar la ejecucin en esa ubicacin.


Pr atio

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

El borde del diagrama de bloques aparece rojo y parpadea para reflejar la colocacin de un punto
de interrupcin.
oh

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
tri nts
Haga clic en el botn Pause para seguir ejecutando hasta el prximo punto de interrupcin o
hasta que termine de ejecutarse el VI.

ci
Suspender la ejecucin

dis me
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

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

su tru
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.
da Ins
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.
ibi al

Un smbolo de flecha indica un VI que se est ejecutando con normalidad o paso a paso.
n
Pr atio

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
N

pausando.
oh

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


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.

n
tri nts
Cuando selecciona un VI del men Call list, se abre su diagrama de bloques y LabVIEW resalta
la instancia actual del subVI.

ci
Tambin puede utilizar la funcin Call Chain para ver la cadena de VIs que llaman al VI actual
hasta el VI de nivel superior.

dis me
C. Datos sin definir o inesperados

bu
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

su tru
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
da Ins
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.
ibi al

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
n

el valor 32.767, que parece ser un valor normal.


Pr atio

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
N

error si encuentra una situacin que probablemente produzca datos sin definir.
oh

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.

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

n
tri nts
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

ci
observar un comportamiento inesperado pero necesitara un esfuerzo para encontrar el origen del
problema.

dis me
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

bu
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.
su tru
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
da Ins
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
ibi al

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

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
Pr atio

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


N

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
oh

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

n
tri nts
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

ci
del VI Clear Errors.

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

dis me
y gestionar errores.

bu
Clusters de error
Los VIs y las funciones producen errores de uno de dos modos: con cdigos de error numricos o

su tru
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.
da Ins
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.
ibi al

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

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


Pr atio

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
N

cdigo.
oh

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.

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

n
tri nts
durante el desarrollo monitorice las advertencias para garantizar un comportamiento correcto de su
aplicacin.

ci
Cuadro de dilogo Explain Error

dis me
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

bu
Explain Error contiene informacin sobre el error. El men contextual incluye una opcin
Explain Warning si el VI contiene advertencias pero no errores.

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

Deteccin e informe de errores


da Ins
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
ibi al

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

Mientras se ejecuta el VI, LabVIEW comprueba si hay errores en cada nodo. Si LabVIEW no
Pr atio

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.

Consejo 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
N

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
oh

gestionar bien los errores.

National Instruments | 2-13


Leccin 2 Resolucin de problemas y depuracin de VIs

Propagando errores y advertencias


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.

n
tri nts
Figura 2-3. Uso de Registros de Desplazamiento para Propagar Errores y Advertencias

ci
dis me
bu
Uniendo errores y advertencias
su tru
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.
da Ins
Figura 2-4. Unin de Errores Desde Varias Fuentes
ibi al
n

Al final de su aplicacin, una vez unidas todas las fuentes de error en un cluster de error, debe
Pr atio

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
N

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
oh

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
tri nts
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

ci
la funcin Stop para detener la ejecucin.

dis me
Rangos de cdigos de error
Los VIs y las funciones en LabVIEW pueden devolver cdigos de error numricos. Cada producto

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

su tru
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.
da Ins
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.
ibi al
n
Pr atio
N
oh

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
b. El diagrama incluye una divisin entre cero

n
tri nts
c. Una entrada requerida de un subVI no est cableada
d. Una terminal Booleana est cableada a un indicador numrico

ci
dis me
2. Cules de los siguientes elementos forman parte del contenido del cluster de error?

bu
a. Status: Booleano
b. Error: Cadena de caracteres
c. Code: Nmeros enteros de 32 bits
su tru
d. Source: Cadena de caracteres
da Ins
3. Todos los errores tienen cdigos de error negativo y todas las advertencias tienen cdigos de
error positivos.
a. Verdadero
b. Falso
ibi al

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


n

a. Verdadero
Pr atio

b. Falso
N
oh

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
b. El diagrama incluye una divisin entre cero

n
tri nts
c. Una entrada requerida de un subVI no est cableada
d. Una terminal Booleana est cableada a un indicador numrico

ci
dis me
2. Cules de los siguientes elementos forman parte del contenido del cluster de error?

bu
a. Status: Booleano
b. Error: Cadena de caracteres
c. Code: Nmeros enteros de 32 bits
su tru
d. Source: Cadena de caracteres
da Ins
3. Todos los errores tienen cdigos de error negativo y todas las advertencias tienen cdigos de
error positivos.
a. Verdadero
b. Falso
ibi al

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


n

a. Verdadero
Pr atio

b. Falso
N
oh

National Instruments | 2-19


Leccin 2 Resolucin de problemas y depuracin de VIs

Notas

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

2-20 | ni.com
Implementacin de un VI
3
Esta leccin le ensea cmo implementar cdigo en LabVIEW. Se explicar cmo disear una

n
tri nts
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

ci
curva y tomar decisiones en su cdigo utilizando una estructura Case.

dis me
Temas

bu
A. Panel frontal
B. Tipos de datos de LabVIEW
C. Documentacin de cdigo
su tru
D. Bucles While
E. Bucles For
F. Temporizacin de VIs
da Ins
G. Retroalimentacin de datos en los bucles
H. Graficando datos Waveform Chart
I. Estructuras Case
ibi al
n
Pr atio
N
oh

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.

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

n
tri nts
adquiriendo desde un dispositivo de adquisicin de datos o un multmetro
leyendo directamente desde un fichero

ci
manipulando controles en el panel frontal

Puede mostrar las entradas del problema en el panel frontal con controles numricos, booleanos o

dis me
cadenas de caracteres pero no todas las entradas aparecen en el panel frontal.

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

su tru
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
da Ins
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
ibi al

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

Figura 3-1. Los Controles e Indicadores del Panel Frontal aparecen en el Diagrama de Bloques
Pr atio
N
oh

1 Ventana del panel frontal 2 Diagrama de bloques

3-2 | ni.com
Manual de Curso LabVIEW Core 1

Opciones de controles e indicadores


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

n
tri nts
Complete los siguientes pasos para configurar un valor predeterminado de un control o un
indicador:

ci
1. Escriba el valor deseado.
2. Haga clic con el botn derecho en el control o indicador y seleccione Data OperationsMake

dis me
Current Value Default en el men contextual.

bu
Figura 3-2. Configuracin de valores predeterminados

su tru
da Ins
ibi al
n
Pr atio

Consejo Tambin puede reinicializar los valores a sus valores predeterminados.

Consejo 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.
N
oh

National Instruments | 3-3


Leccin 3 Implementacin de un VI

B. Tipos de datos de LabVIEW


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.

n
tri nts
Terminales del diagrama de bloques y tipo de datos

ci
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

dis me
coma flotante y doble precisin. Esto se indica por el color del terminal, naranja, y por el texto del
terminal, DBL.

bu
Figura 3-3. Ejemplo de Tipo de Datos del Terminal

su tru
da Ins
Consejo 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.
ibi al

Mens contextuales
Todos los objetos de LabVIEW tienen asociados mens contextuales, conocidos tambin como
n

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
Pr atio

panel frontal y del diagrama de bloques. Para acceder al men contextual, haga clic con el botn
derecho en el objeto.
N
oh

3-4 | ni.com
Manual de Curso LabVIEW Core 1

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

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

n
tri nts
ci
dis me
bu
su tru
da Ins
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
ibi al

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.
n
Pr atio
N
oh

National Instruments | 3-5


Leccin 3 Implementacin de un VI

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

n
tri nts
ci
dis me
bu
su tru
da Ins
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
ibi al

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
n

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
Pr atio

cuadro de dilogo Properties no mostrar pestaas ni propiedades.


N
oh

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.

Figura 3-6. Representacin numrica

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

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

Consulte la seccin Conversin numrica, para obtener informacin adicional.


oh

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.

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

n
tri nts
de memoria es importante y no sobrecargara el rango de los nmeros.

ci
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

dis me
Precisin extendida (EXT)Cuando guarda nmeros de precisin extendida al disco, LabVIEW

bu
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

su tru
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
da Ins
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.
ibi al

Nota 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
n

nmeros binarios es de base 2.


Pr atio

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.
N
oh

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.

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

n
tri nts
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.

ci
Nmeros enteros

dis me
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

bu
el nmero entero es siempre positivo. En LabVIEW, los nmeros enteros se representan con el
color azul.

su tru
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.
da Ins
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
ibi al

32 bits.

Quad (I64): los nmeros enteros Quad tienen 64 bits de almacenamiento y un intervalo de -1e19
n

a 1e19.
Pr atio

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

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

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

n
tri nts
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.

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

dis me
Complejo ampliado (CXT): los nmeros complejos de coma flotante de precisin ampliada

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

su tru
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
da Ins
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,
ibi al

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
n

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
Pr atio

inferior de la funcin Multiply muestra un punto rojo, llamado punto de conversin, que indica que
LabVIEW est realizando una conversin de datos.
N
oh

3-10 | ni.com
Manual de Curso LabVIEW Core 1

Figura 3-7. Ejemplo de conversin numrica

n
tri nts
1 Punto de conversin

ci
Valores booleanos

dis me
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

bu
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:

su tru
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.
da Ins
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
ibi al

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

Latch when pressed: cambia el valor del control cuando hace clic en l y conserva el nuevo
Pr atio

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
N

dentro del lmite grfico del control. Cuando el VI lo lee una vez, el control vuelve a su valor
oh

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.

Figura 3-8. Accin mecnica booleana

n
tri nts
ci
dis me
bu
su tru
da Ins
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
ibi al

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
n

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

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
N

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
oh

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

Tipo de

n
tri nts
visualizacin Descripcin Mensaje
Visualizacin Muestra caracteres imprimibles

ci
Existen cuatro tipos de
normal utilizando la fuente del control. visualizacin. \ es una
Los caracteres no visualizables barra invertida.

dis me
normalmente aparecen como
cuadros.

bu
Visualizacin de Muestra cdigos de barra invertida There\sare\sfour\sdisplay\
cdigos \ para todos los caracteres no stypes.\n\\\sis\sa\
visualizables.

contrasea
su tru
Visualizacin de Muestra un asterisco (*) para cada
carcter, incluidos los espacios.
sbackslash.

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

Visualizacin Muestra el valor ASCII de cada 5468 6572 6520 6172 6520
da Ins
hexadecimal carcter en hexadecimal en lugar 666F 7572 2064 6973 706C
del carcter. 6179 2074 7970 6573 2E0A
5C20 6973 2061 2062 6163
6B73 6C61 7368 2E
ibi al

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).
n
Pr atio
N
oh

National Instruments | 3-13


Leccin 3 Implementacin de un VI

Enums
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

n
tri nts
control enumerado.

ci
Figura 3-9. Propiedades para el control enumerado Mes

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

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)

1 2 3

n
tri nts
ci
dis me
bu
su tru
da Ins
1 Control del panel frontal 2 Seleccin de un elemento 3 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
ibi al

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
n

indicadores son grficos tipo graph, grficos tipo chart o indicadores numricos.
Pr atio

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
N

de datos numricos, de forma de onda y de array para usar con otros VIs y funciones. Cuando
oh

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.

C. Documentacin de cdigo

n
tri nts
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

ci
del cdigo. Adems, documente bien la ventana del panel frontal para explicar el objetivo del VI
y los objetos del panel frontal.

dis me
Use ayudas, descripciones, propiedades de VI y un buen diseo para documentar las ventanas del

bu
panel frontal.

Ayudas y descripciones
su tru
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
da Ins
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
ibi al

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
n

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
Pr atio

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
N

descripcin al que desee dar formato en negrita. Tambin puede utilizar la propiedad VI
Description para modificar la descripcin del VI programticamente.
oh

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
tri nts
Nombre de controles e indicadores

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

dis me
Ahora sabr que debe introducir temperaturas en unidades mtricas.

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

su tru
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
da Ins
FunctionsProgrammingStructuresDecorations. De forma predeterminada las etiquetas
libres tienen un color de fondo amarillo.

Figura 3-11. Documentar un diagrama de bloques


ibi al
n
Pr atio

Use las siguientes pautas para comentar los VIs:


N

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

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

n
tri nts
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

ci
obtener informacin adicional acerca de los registros de desplazamiento.
Etiquete estructuras para especificar su funcionalidad principal.

dis me
Etiquete constantes para especificar su naturaleza.
Use etiquetas libres para documentar algoritmos que usa en los diagramas de bloques. Si usa

bu
un algoritmo de un libro u otra referencia, incluya la informacin de referencia.

D. Bucles While
su tru
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.
da Ins
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


ibi al

Code
n

No Repeat (code);
Condition Until Condition met;
Code
Pr atio

met?
End;
Yes

End

1 2 3
N

1 Bucle While de LabVIEW 2 Diagrama de flujo 3 Pseudocdigo


oh

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.

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

n
tri nts
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

ci
Continue if True y el control fuera del bucle se configura en TRUE, como se muestra en la
figura 3-13.

dis me
Figura 3-13. Bucle infinito

bu
su tru
da Ins
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.
ibi al

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
n

Stop if True y Continue if True cambian a Stop if Error y Continue while Error.
Pr atio

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.


N

En el siguiente diagrama de bloques, el bucle While se ejecuta hasta que la salida de la funcin
oh

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.

Figura 3-14. Posible bucle infinito

n
tri nts
ci
dis me
bu
Tneles a travs de Estructuras

su tru
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.
da Ins
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


ibi al
n
Pr atio

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

Usando bucles While para chequeo y manejo de errores


N

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
oh

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.

Figura 3-16. Detener un bucle While

n
tri nts
ci
dis me
bu
E. Bucles For

su tru
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


da Ins
N=100

i=0
N=100;
i=i+1
i=0;
Code
ibi al

No Until i=N:
i=N? Code
Repeat (code; i=i+1);
Yes
End;
n

End
Pr atio

1 2 3

1 Bucle For de LabVIEW 2 Diagrama de flujo 3 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
N

subdiagrama.
oh

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.
Figura 3-18. Ejemplo de bucle For

n
tri nts
ci
dis me
bu
Aadir un terminal condicional a un bucle For
su tru
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
da Ins
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


ibi al
n
Pr atio

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
N

terminal condicional y el terminal de contaje.


oh

3-22 | ni.com
Manual de Curso LabVIEW Core 1

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

n
tri nts
ci
dis me
bu
su tru
Usando bucles For para chequeo y manejo de errores
da Ins
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.
ibi al

Conversin numrica en bucles For


Como se describi en Conversin numrica, cuando cablea diferentes tipos de datos a la entrada
n

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
Pr atio

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.
N
oh

National Instruments | 3-23


Leccin 3 Implementacin de un VI

Figura 3-21. Conversin en un bucle For

n
tri nts
ci
1 Punto de conversin

dis me
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.

bu
Figura 3-22. Evitando la coercin utilizando tipos de datos coincidentes

su tru
da Ins
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.
ibi al

Tabla 3-2. Comparando bucles For y bucles While


n

Bucle For Bucle While


Se ejecuta un nmero de veces a menos que se Detiene la ejecucin solo si el valor en la
Pr atio

agregue una terminal condicional terminal condicional alcanza esa condicin


Puede ejecutarse cero veces Debe ejecutarse al menos una vez
Los tneles automticamente dan un array de Los tneles automticamente dan el ltimo
datos valor
N

F. Temporizacin de VIs
oh

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
Coloque una funcin de espera dentro de un bucle para que un VI se desactive durante cierto

n
tri nts
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.

ci
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

dis me
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

bu
especificado para esta funcin. El tiempo de ejecucin de la primera iteracin del bucle es
indeterminado.

su tru
La funcin Wait (ms) espera hasta que el contador de milisegundos cuente una cantidad igual a la
da Ins
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.
ibi al

Nota 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.
n

Tiempo transcurrido
Pr atio

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.
N
oh

National Instruments | 3-25


Leccin 3 Implementacin de un VI

G. Retroalimentacin de datos en los bucles


Al programar con bucles, a menudo debe acceder a datos de iteraciones anteriores del bucle en
LabVIEW. Por ejemplo, si est adquiriendo un dato en cada iteracin de un bucle y debe hallar el
promedio cada cinco datos, debe conservar los datos de iteraciones anteriores del bucle.

n
tri nts
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

ci
obtener informacin adicional acerca de nodos de realimentacin.

Registros de desplazamiento

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

bu
programacin basados en texto.

Use registros de desplazamiento cuando desee pasar valores de iteraciones anteriores a la siguiente

su tru
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.
da Ins
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.
ibi al

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

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
Pr atio

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.
N
oh

3-26 | ni.com
Manual de Curso LabVIEW Core 1

Figura 3-23. Uso de varios registros de desplazamiento

n
tri nts
ci
Inicializacin de registros de desplazamiento

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

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

su tru Figura 3-24. Registro de desplazamiento inicializado


da Ins

En la figura 3-24, el bucle For se ejecuta cinco veces, incrementando el valor que lleva el registro
ibi al

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

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


Pr atio

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

Figura 3-25. Registro de desplazamiento sin inicializar


oh

National Instruments | 3-27


Leccin 3 Implementacin de un VI

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

n
tri nts
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.

ci
Registros de desplazamiento apilados

dis me
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

bu
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.
su tru
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.
da Ins
Figura 3-26. Uso de registros de desplazamiento apilados
ibi al
n
Pr atio

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

H. Graficando datos Waveform Chart


oh

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
1

n
tri nts
2

ci
dis me
3
5

bu
1
2
su tru
Etiqueta
Escala Y
3
4
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
da Ins
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
ibi al

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
n

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
Pr atio

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.
N
oh

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.

Figura 3-28. Modos de actualizacin de grficos

n
tri nts
ci
dis me
bu
Cableado de grficos
Puede cablear una salida escalar directamente a un grfico tipo waveform chart. El terminal del

su tru
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
da Ins
ibi al

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
n

de los tres VIs en la curva del grfico tipo waveform chart.


Pr atio

Figura 3-30. Cableado de varias curvas a un grfico tipo waveform chart


N
oh

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
Una estructura Case tiene dos o ms subdiagramas o casos.

n
tri nts
ci
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.

dis me
La etiqueta del selector de caso en la parte superior de la estructura Case contiene en el centro el

bu
nombre del valor de seleccin que se corresponde con el caso actual y las flechas de incremento y
decremento a cada lado.

su tru
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.
da Ins
Cablee un valor de entrada, o selector, a la terminal de seleccin para determinar qu caso se
ejecuta.
ibi al

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

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.
Pr atio

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.
N
oh

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

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

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

n
tri nts
contextual.

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

dis me
Seleccionar un caso

bu
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
su tru
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.
da Ins
Figura 3-31. Cambiar la visualizacin de caso de una estructura Case
ibi al
n
Pr atio
N
oh

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.

Tneles de entrada y salida en estructuras Case

n
tri nts
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

ci
definir un tnel de salida para cada caso.

Considere el siguiente ejemplo: una estructura Case en el diagrama de bloques tiene un tnel de

dis me
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

bu
centro del tnel en blanco. El caso sin cablear podra no ser el caso que se est viendo en el
diagrama de bloques.

su tru
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
da Ins
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
ibi al

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

Tabla 3-3. Valores predeterminados de tipos de datos


Pr atio

Tipo de datos Valor predeterminado


Numrico 0

Booleano FALSE

Cadena de caracteres vacio ()


N
oh

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.

Estructura Case booleana

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

ci
Figura 3-32. Estructura Case booleana

dis me
bu
su tru
da Ins
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.
ibi al
n

Estructura Case de nmero entero


Pr atio

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


Figura 3-33. Estructura Case de nmero entero
N
oh

3-34 | ni.com
Manual de Curso LabVIEW Core 1

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.

n
Estructura Case de cadena de caracteres

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

ci
Figura 3-34. Estructura Case de cadena de caracteres

dis me
bu
su tru
da Ins
Si String es add, el VI suma los valores numricos. Si String es subtract, el VI resta los valores
numricos.

Estructura Case enumerada


ibi al

La figura 3-35 muestra una estructura Case enumerada.

Figura 3-35. Estructura Case enumerada


n
Pr atio
N
oh

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


El siguiente ejemplo muestra una estructura Case donde un cluster de error define los casos.

n
tri nts
Figura 3-36. Caso No Error

ci
dis me
bu
su tru Figura 3-37. Caso Error
da Ins
ibi al
n
Pr atio

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
N

elemento booleano status del cluster.


oh

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.
b. Un bucle For fue configurado con un terminal condicional.

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

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

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

bu
a. Bucle While
b. Bucle For

su tru
3. Qu elemento de los siguientes slo est disponible en el diagrama de bloques?
da Ins
a. Control
b. Constante
c. Indicador
d. Panel de conectores
ibi al

4. Qu accin mecnica hace que un control booleano en el estado FALSE cambie a TRUE
n

cuando hace clic en l y permanezca TRUE hasta que lo libere y LabVIEW haya ledo el valor?
Pr atio

a. Switch until released


b. Switch when released
c. Latch until released
d. Latch when released
N
oh

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.
b. Un bucle For fue configurado con un terminal condicional.

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

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

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

bu
a. Bucle While
b. Bucle For

su tru
3. Qu elemento de los siguientes slo est disponible en el diagrama de bloques?
da Ins
a. Control
b. Constante
c. Indicador
d. Panel de conectores
ibi al

4. Qu accin mecnica hace que un control booleano en el estado FALSE cambie a TRUE
n

cuando hace clic en l y permanezca TRUE hasta que lo libere y LabVIEW haya ledo el valor?
Pr atio

a. Switch until released


b. Switch when released
c. Latch until released
d. Latch when released
N
oh

National Instruments | 3-39


Leccin 3 Implementacin de un VI

Notas

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

3-40 | ni.com
Desarrollo de aplicaciones
4
modulares

n
tri nts
Esta leccin describe cmo desarrollar aplicaciones modulares. La potencia de LabVIEW reside

ci
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

dis me
modular ayuda a gestionar cambios y depurar el diagrama de bloques rpidamente.

bu
Temas
A. Comprensin de la modularidad

su tru
B. Creacin del panel de iconos y conectores
C. Uso de subVIs
da Ins
ibi al
n
Pr atio
N
oh

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.

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

n
tri nts
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.

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

dis me
La esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques

bu
muestra el icono para el VI. Es el mismo icono que aparece cuando sita el VI en el diagrama de
bloques.

su tru
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.
da Ins
Figura 4-1. Diagrama de bloques con dos operaciones idnticas
ibi al
n
Pr atio

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


N
oh

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.

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


subrutinas.

n
tri nts
Cdigo de funcin Cdigo para llamar al programa

ci
function average (in1, in2, out) { main { average (point1, point2,
out = (in1 + in2)/2.0; } pointavg) }

dis me
Diagrama de bloques del subVI Diagrama de bloques del VI Calling

bu
su tru
B. Creacin del panel de iconos y conectores
da Ins
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.
ibi al

Un icono de VI es una representacin grfica de un VI. Puede contener texto, imgenes o una
n

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
Pr atio

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.

Nota Se recomienda personalizar el icono, aunque es opcional. Si usa el icono


predeterminado de LabVIEW, no afectar a la funcionalidad.
N

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


oh

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
Los iconos son representaciones grficas de VIs.

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

ci
dis me
El icono del VI predeterminado contiene un nmero que indica cuntos VIs (hasta nueve VIs)

bu
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).

su tru
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.
da Ins
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


ibi al

dilogo Icon Editor para crear o modificar iconos.

Puede utilizar banners para identificar VIs relacionados. National Instruments recomienda crear y
n

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
Pr atio

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
N

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

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

n
tri nts
como ficheros .png de 256 colores.

ci
Creacin de un icono de VI desde una plantilla
Complete estos pasos para crear un icono de VI que utilice la plantilla que cre.

dis me
1. Pulse las teclas <Ctrl-A> para seleccionar todas las capas de usuario del icono y pulse la tecla
<Delete> para eliminar la seleccin.

bu
2. En la pgina Templates, seleccione la plantilla que cre. Puede examinar plantillas por
categora o por palabra clave.

su tru
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.
da Ins
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.
ibi al

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
n

moviendo.
6. Use las herramientas de edicin a la derecha del cuadro de dilogo Icon Editor para modificar
Pr atio

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

Nota 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
oh

la pgina Icon Text para modificar la plantilla del icono y el texto del icono
respectivamente.

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

n
tri nts
del VI. Puede arrastrar y soltar archivos .png, .bmp o .jpg.

ci
Nota 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.

dis me
bu
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

su tru
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
da Ins
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.
ibi al

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

Figura 4-3. Panel frontal del VI Slope


Pr atio
N
oh

4-6 | ni.com
Manual de Curso LabVIEW Core 1

Seleccin y modificacin de modelos de terminales


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.

n
tri nts
Tambin puede tener ms controles o indicadores en el panel frontal que terminales. Puede asignar

ci
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

dis me
simplificar el cableado.

bu
su tru
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
da Ins
ibi al
n

Nota 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
Pr atio

de cablear. Si necesita pasar ms datos, use clusters.

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
N

indicadores al panel de conectores, coloque entradas en la izquierda y salidas a la derecha para


evitar modelos de cableado complicados o confusos.
oh

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

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

C. Uso de subVIs

n
tri nts
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

ci
diagrama de bloques.

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

dis me
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

bu
icono al diagrama de bloques del otro VI.

Apertura y modificacin de subVIs


su tru
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.
da Ins
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.
ibi al

Configuracin de entradas y salidas obligatorias,


recomendadas y opcionales
n

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
Pr atio

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
N

los usuarios olviden cablear terminales del subVI.


oh

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

Nota Puede seleccionar Dynamic Dispatch Input (Required) o Dynamic Dispatch


Output (Recommended) para VIs de miembros de distribucin dinmica.

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

n
tri nts
cablea los terminales recomendados u opcionales. Si no cablea los terminales, el VI no genera
ninguna advertencia.

ci
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

dis me
predeterminada. Configure un terminal como obligatorio slo si el VI debe tener esa entrada para

bu
ejecutarse correctamente.

Gestin de errores en SubVIs


su tru
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
da Ins
normal del subVI.
Figura 4-5. Caso No Error del subVI Sample
ibi al
n
Pr atio
N
oh

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.
Figura 4-6. Caso Error del subVI Sample

n
tri nts
ci
dis me
bu
su tru
da Ins
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
ibi al
n
Pr atio

Creacin de un subVI desde un VI existente


Puede simplificar el diagrama de bloques de un VI convirtiendo secciones de aqul en subVIs.
N

Convierta una seccin de un VI en un subVI utilizando la herramienta de posicionamiento para


oh

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.


Figura 4-8. Creacin de un nuevo subVI

n
tri nts
ci
dis me
El nuevo subVI usa un modelo predeterminado para el panel de conectores y un icono tambin

bu
predeterminado. Haga doble clic en el subVI para modificar el panel de conectores y el icono y
para guardar el subVI.

su tru
Nota 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.
da Ins
ibi al
n
Pr atio
N
oh

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
b. Recommended

n
tri nts
c. Optional

ci
2. Debe crear un icono para usar un VI como un subVI.

dis me
a. Verdadero

bu
b. Falso

su tru
da Ins
ibi al
n
Pr atio
N
oh

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
b. Recommended

n
tri nts
c. Optional

ci
2. Debe crear un icono personalizado para usar un VI como un subVI.

dis me
a. Verdadero

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

su tru
da Ins
ibi al
n
Pr atio
N
oh

National Instruments | 4-15


Leccin 4 Desarrollo de aplicaciones modulares

Notas

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

4-16 | ni.com
Creando y aprovechando
5
estructuras de datos

n
tri nts
En ocasiones es conveniente agrupar datos relacionados entre s. Use arrays y clusters para agrupar

ci
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

dis me
tipo para definir clusters y arrays personalizados. Esta leccin explica arrays, clusters y
definiciones tipo, as como aplicaciones donde su uso puede resultar beneficioso.

bu
Temas
A. Arrays
su tru
B. Funciones de array comunes
C. Polimorfismo
da Ins
D. Autoindexado
E. Clusters
F. Definiciones tipo
ibi al
n
Pr atio
N
oh

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.

Puede crear arrays de tipos de datos numricos, booleanos, rutas, cadenas de caracteres, forma de

n
tri nts
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

ci
datos generados en bucles, donde cada iteracin de un bucle produce un elemento del array.

dis me
Nota Los ndices de array en LabVIEW estn basados en cero. El ndice del primer
elemento del array, independientemente de su dimensin, es cero.

bu
Restricciones
No puede crear arrays de arrays. Sin embargo, puede usar un array multidimensional o crear un

su tru
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.
da Ins
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
ibi al

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

La figura 5-1 muestra un ejemplo de un array de valores numricos. El primer elemento que
Pr atio

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


N
oh

1 ndice 2 Elementos

5-2 | ni.com
Manual de Curso LabVIEW Core 1

Creacin de controles e indicadores de tipo array


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.

n
tri nts
Figura 5-2. Colocar un control numrico en una estructura array

ci
dis me
bu
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.

su tru
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.
da Ins
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
ibi al

constantes o para comparar con otro array.


n

Arrays bidimensionales
Un array 2D almacena elementos en una cuadrcula. Requiere un ndice de columna y un ndice
Pr atio

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
N

0 1 2 3 4 5 6 7
0
oh

1
2
Row Index

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
Puede inicializar un array o dejarlo sin inicializar. Para inicializar un array, debe definir el nmero

n
tri nts
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

ci
2D sin inicializar. Observe que todos los elementos estn atenuados. Esto indica que el array no
est inicializado.

dis me
Figura 5-4. Array 2D sin inicializar

bu
su tru
En la figura 5-5, seis elementos estn inicializados.

Figura 5-5. Array 2D inicializado con seis elementos


da Ins
ibi al

En un array 2D, tras inicializar un elemento de una fila, los elementos restantes de sta se
n

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
Pr atio

segunda y tercera columna de la tercera fila se rellenan automticamente con un 0.

Figura 5-6. Un array autopopulado con ceros


N
oh

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
tri nts
ci
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

dis me
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.

bu

su tru
Array SubsetProvee una porcin de array empezando en index y conteniendo length
elementos.
da Ins
ibi al

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.
n
Pr atio

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
N

panel de conectores muestra el tipo de datos predeterminado para esta funcin polimrfica.
oh

National Instruments | 5-5


Leccin 5 Creando y aprovechando estructuras de datos

C. Polimorfismo
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

n
tri nts
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

ci
aceptan todo tipo de datos, incluyendo valores numricos complejos.

dis me
Polimorfismo para funciones aritmticas

bu
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

su tru
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
da Ins
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
ibi al

flotante. LabVIEW no permite usar arrays de arrays.

Los arrays pueden tener cualquier nmero de dimensiones de cualquier tamao. Los clusters
n

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
Pr atio

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

Un escalarUna entrada es un escalar numrico, la otra es un array o cluster y la salida es un


array o cluster.
oh

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.

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

n
tri nts
la direccin X y por 8 unidades en la direccin Y puede aadir un punto, (5,8), al grfico.

ci
La figura 5-7 muestra las posibles combinaciones polimrficas de la funcin Add.
Figura 5-7. Combinaciones polimrficas de la funcin Add.

dis me
bu
su tru
da Ins
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
ibi al

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

La funciones lgicas funcionan con arrays de nmeros o valores booleanos, clusters de nmeros o
Pr atio

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]
N
oh

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.
Figura 5-8. Combinaciones de valores booleanos para la funcin AND

n
tri nts
ci
dis me
bu
su tru
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
da Ins
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.
ibi al

Entradas de array y autoindexado


Si habilita el autoindexado en un array cableado a un terminal de entrada de un bucle For,
n

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
Pr atio

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.
N
oh

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.

Figura 5-9. Array utilizado para configurar el contaje de bucles For

n
tri nts
ci
dis me
bu
su tru
da Ins
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
ibi al

elementos del primer array pero slo los 10 primeros elementos del segundo array.

Salidas de array y autoindexado


n

Cuando autoindexa un tnel de salida de un array, el array de salida recibe un nuevo elemento de
Pr atio

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

Figura 5-10. Salida autoindexada


oh

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.

Por ejemplo, deshabilite el autoindexado si necesita que slo el ltimo valor salga por el tnel.

n
Creacin de arrays bidimensionales

tri nts
Puede usar dos bucles For, anidados uno dentro del otro, para crear un array 2D. El bucle For

ci
externo crea los elementos de la fila, mientras que el interno crea los elementos de la columna,
como en la figura 5-11.

dis me
Figura 5-11. Creacin de un array 2D

bu
su tru
da Ins
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.
ibi al

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

Figura 5-12. Bucle For autoindexado con tnel condicional


Pr atio
N
oh

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.
Figura 5-13. Grfico Waveform Graph

n
tri nts
11 1 2
3

ci
4

dis me
bu
10
6
9

su tru 8
7
da Ins
1 Leyenda de la curva 4 Marca de minicuadrcula 7 Leyenda del cursor 10 Escala Y
2 Cursor 5 Leyenda de la escala 8 Paleta del grfico 11 Etiqueta
3 Marca de cuadrcula 6 Desplazador del cursor 9 Escala X

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
ibi al

variables con el tiempo. Los grficos XY muestran cualquier conjunto de puntos, muestreados
uniformemente o no.
n

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
Pr atio

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
N

inicial x, un valor delta x y un array de datos y. Por ltimo, tambin acepta el tipo de datos de forma
oh

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


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

n
tri nts
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.

ci
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

dis me
datos.

bu
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

su tru
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
da Ins
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


ibi al
n
Pr atio

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
N

datos.
oh

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.

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

n
tri nts
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

ci
labview\examples\general\graphs\gengraph.llb para ver un ejemplo de un grfico
que acepta este tipo de datos.

dis me
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

bu
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

su tru
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
da Ins
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
ibi al

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

Consulte la seccin Clusters, para obtener informacin adicional acerca los clusters.
Pr atio

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.
N
oh

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.

Unir varios elementos de datos en clusters elimina el abarrotamiento de cables en el diagrama

n
tri nts
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

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

dis me
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

bu
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.
su tru
Orden de elementos del cluster
Aunque los elementos del cluster y del array estn ordenados, con la funcin Unbundle debe
da Ins
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.
ibi al

Creacin de controles e indicadores de clusters


Cree un control o indicador de clusters en el panel frontal aadiendo una estructura cluster al panel
n

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
Pr atio

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
N
oh

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.

Figura 5-16. Ejemplo de control de cluster

n
tri nts
ci
dis me
Crear constantes de clusters

bu
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
su tru
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
da Ins
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
ibi al

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
n

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
Pr atio

y seleccionando Reorder Controls In Cluster en el men contextual.


N
oh

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
tri nts
1

ci
dis me
3

bu
su tru 5 4
da Ins
1 Botn de confirmar 3 Cursor de orden del cluster 5 Nuevo orden
2 Botn de cancelar 4 Orden del cluster

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
ibi al

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

Redimensionando clusters
Pr atio

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

3. Haga clic con el botn derecho en el borde del cluster y seleccione AutoSizingArrange
oh

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.

n
tri nts
Dividir un cluster en sus elementos de datos individuales.

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

dis me
Tambin puede colocar las funciones Bundle, Bundle by Name, Unbundle y Unbundle by Name

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

su tru
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.
da Ins
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
ibi al

men contextual.

Figura 5-18. Ensamblaje de un cluster en el diagrama de bloques


n
Pr atio

Desensamblaje de clusters
Use la funcin Unbundle para dividir un cluster en sus elementos individuales.
N
oh

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.

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

n
tri nts
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

ci
de salida y acceder a elementos individuales por nombre en cualquier orden.
Figura 5-19. Unbundle y Unbundle By Name

dis me
bu
su tru
da Ins
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.
ibi al

Figura 5-20. Funcin Bundle utilizada para modificar un cluster


n
Pr atio

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
N

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
oh

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.

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.

n
tri nts
Figura 5-21. Funcin Bundle By Name utilizada para modificar un cluster

ci
dis me
bu
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.
su tru
Clusters de error
LabVIEW contiene un cluster personalizado llamado cluster de error. LabVIEW usa los clusters
da Ins
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.
ibi al

F. Definiciones tipo
Puede usar definiciones tipo para definir clusters y arrays personalizados. Una definicin tipo es
n

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
Pr atio

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
N

cosmticamente de los controles e indicadores predeterminados de LabVIEW. Puede guardar un


oh

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
tri nts
Use la herramienta de posicionamiento para seleccionar un control o indicador del panel frontal

ci
y seleccionar EditCustomize Control.
Use el cuadro de dilogo New.

dis me
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.

bu
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

su tru
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.
da Ins

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.
ibi al

Use el modo de personalizacin para realizar grandes cambios en controles e indicadores


cambiando cada parte de un control o indicador.
n
Pr atio
N
oh

5-20 | ni.com
Manual de Curso LabVIEW Core 1

Modo de edicin
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.

n
tri nts
1 2 3 4 5 6 7

ci
1 Modo de edicin 5 Distribuir objetos
2 Estado de definiciones tipo 6 Cambiar el tamao de objetos
3 Texto 7 Reordenar objetos
4 Alinear objetos

dis me
Modo de personalizacin

bu
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.
su tru
da Ins
1 2 3 4 5 6 7

1 Modo de personalizacin 5 Distribuir objetos


2 Estado de definiciones tipo 6 Cambiar el tamao de objetos
3 Texto 7 Reordenar objetos
4 Alinear objetos

Una forma de personalizar un control es cambiar su estado de definicin tipo. Puede guardar
ibi al

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
n

realice y cambie conservar sus propiedades individuales.


Pr atio

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
N

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

National Instruments | 5-21


Leccin 5 Creando y aprovechando estructuras de datos

Definiciones tipo
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.

n
tri nts
Cuando coloca un control o indicador personalizado en un VI, no existe conexin entre el control

ci
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

dis me
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

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

su tru
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
da Ins
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
ibi al

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
n

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
Pr atio

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
N

en lugar de un control deslizante.


oh

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.

Definiciones tipo estrictas

n
tri nts
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,

ci
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

dis me
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,

bu
Blinking, Position y Bounds.

No puede impedir que una copia de una definicin tipo estricta se actualice automticamente, a

su tru
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
da Ins
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.
ibi al
n
Pr atio
N
oh

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
b. Falso

n
tri nts
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

ci
al terminal Count, como se ve en la figura 5-22. Cul es el valor del indicador Iterations tras
ejecutar este VI?

dis me
Figura 5-22. Cul es el valor del indicador Iteration?

bu
su tru
da Ins
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
ibi al

c. Definiciones tipo estrictas


d. Control cluster
n

4. Usted tiene datos de entrada representando un crculo: posicin X, posicin Y y radio. En el


Pr atio

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

d. Un tipo de definicin que contiene un cluster.


oh

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
b. Falso

n
tri nts
No puede arrastrar un tipo de datos array a una estructura array. Sin embargo, puede crear
arrays bidimensionales.

ci
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

dis me
al terminal Count, como se ve en la figura 5-23. Cul es el valor del indicador Iterations tras
ejecutar este VI?

bu
Figura 5-23. Cul es el valor del indicador Iteration?

su tru
da Ins

Valor de Iterations = 4
LabVIEW no supera el tamao del array. Esto ayuda a proteger de errores de programacin.
ibi al

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

Aunque el bucle For se ejecuta 5 veces, las iteraciones estn basadas en cero, por lo que el valor
del indicador Iterations es 4.
Pr atio

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
N

c. Definiciones tipo estrictas


oh

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.
b. Un cluster que contiene todos los datos.

n
tri nts
c. Un control personalizado que contiene un cluster.
d. Un tipo de definicin que contiene un cluster.

ci
e. Un arreglo con tres elementos.

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

5-28 | ni.com
Manual de Curso LabVIEW Core 1

Notas

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

National Instruments | 5-29


Leccin 5 Creando y aprovechando estructuras de datos

Notas

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

5-30 | ni.com
Administrando archivos y recursos
6
hardware

n
tri nts
Hasta el momento ha aprendido a adquirir datos y visualizarlos, pero el almacenamiento de los

ci
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

dis me
datos, programar una aplicacin DAQ bsica utilizando la API DAQmx y controlar instrumentos
independientes con la API VISA y controladores de instrumentos en LabVIEW.

bu
Temas

su tru
A. Entendiendo recursos hardware y software
B. E/S de ficheros
C. Adquiriendo mediciones con sistema DAQ
da Ins
D. Controlando Instrumentos
ibi al
n
Pr atio
N
oh

National Instruments | 6-1


Leccin 6 Administrando archivos y recursos hardware

A. Entendiendo recursos hardware y software


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.

n
tri nts
Accediendo recursos en LabVIEW

ci
Un recurso operacional tpico involucra las siguiente operaciones como se muestra en la figura 6-1:
1. Crear el recurso.

dis me
2. Leer y escribir en el recurso.

bu
3. Cerrar el recurso.
4. Revisar errores en un recurso.

su tru 1
Figura 6-1. Operacin tpica de un recurso

2 3 4
da Ins
1 Abrir, inicializar o crear el recursoLabVIEW crea un nmero de referencia (refnum) como un
identificador nico de el recurso
2 Leer/Escribir a un recurso
3 Cerrar recursoEl refnum se vuelve obsoleto
4 Verificacin de erroresMuestra cualquier error del recurso
ibi al

Consejo 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).
n

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.
Pr atio

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
N

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
oh

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

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

n
tri nts
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.

ci
Ejemplos de APIs Refnum

dis me
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

bu
tiempo, triggering y otras propiedades. Una tarea representa una medida o generacin que desee
realizar.

su tru
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.
da Ins
Figura 6-2. Ejemplo Cableando un Refnum
ibi al
n
Pr atio
N
oh

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.

Comprender la E/S de ficheros

n
tri nts
Una operacin tpica de E/S de ficheros incluye el siguiente proceso mostrado en la figura 6-3.

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

dis me
3. Cierre el fichero.

bu
Figura 6-3. Pasos de una operacin tpica de E/S de ficheros

su tru 1 2 3 4
da Ins
1 Apertura de fichero 3 Cierre de fichero
2 Lectura/escritura en fichero 4 Comprobacin de errores

Formatos de ficheros
LabVIEW puede utilizar o crear los siguientes formatos de archivo: Binario, ASCII, LVM,
y TDMS.
ibi al

Binario: los ficheros binarios son el formato de fichero subyacente del resto de formatos de
fichero.
n

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
Pr atio

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

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
oh

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


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,

n
tri nts
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

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

dis me
LabVIEW incluye los siguientes VIs de E/S de ficheros de alto nivel:

bu
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

su tru
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
da Ins
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
ibi al

delimitador.
Read from Measurement File: un VI Express que lee datos de un formato de fichero de
n

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.
Pr atio

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


N

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
oh

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.

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

n
tri nts
mismos ficheros con frecuencia.

ci
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

dis me
para identificar cada objeto.

bu
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

su tru
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.
da Ins
Figura 6-4. Ejemplo sin flujo continuo de datos a disco
ibi al
n
Pr atio

Figura 6-5. Ejemplo con flujo continuo de datos a disco


N
oh

6-6 | ni.com
Manual de Curso LabVIEW Core 1

Directorio LabVIEW Data


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

n
tri nts
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

ci
LabVIEW Data de forma predeterminada.

dis me
Seleccione ToolsOptions y Paths en la lista Category para especificar un directorio de

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

su tru
C. Adquiriendo mediciones con sistema DAQ
Un sistema de adquisicin de datos (DAQ) usa un dispositivo de adquisicin de datos para pasar
da Ins
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.
ibi al
n
Pr atio
N
oh

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 4

n
tri nts
3

ci
NATIONAL
INSTRUMENTS

NATIONAL
INSTRUMENTS

dis me
bu
su tru 1
5
da Ins
1 Seal 4 Dispositivo DAQ
2 Bloque de terminales 5 Ordenador
3 Cable

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,
ibi al

un dispositivo DAQ y un ordenador. Esta combinacin de hardware puede transformar un


ordenador estndar en un sistema de medida y automatizacin.
n

Uso de un bloque de terminales y un cable


Pr atio

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
N

que solapar cables para alcanzar un terminal de tierra, lo que puede provocar interferencias entre
oh

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.

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.

n
tri nts
BNC-2120

ci
La figura 6-7 muestra el BNC 2120, el cual puede ser usado para completar los ejercicios en este
curso.

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

National Instruments | 6-9


Leccin 6 Administrando archivos y recursos hardware

Figura 6-7. BNC-2120

1
ANALOG INPUTS NATIONAL
+
_ Floating
Source (FS)
Ground Ref.
Source (GS)
+
_ INSTRUMENTS
1 RES
AI 3
! BNC-2120 PWR
24
BNC
TIMING I/O
2
2 3
PFI 0 / P1.0
4 23
3

n
tri nts
1. RES+
2. AI GND
3. AI SENSE
4 4. RES-

Temp. Thermo Quadrature


BNC BNC Encoder
22

ci
Ref. couple
96 Pulses/Rev
5
6
PULSES

UP /DN
21

dis me
AI 0 AI 1
PFI 1 / P1.1
FS GS FS GS
PFI 2 / P1.2

PFI 3 / P1.3

bu
PFI 4 / P1.4

PFI 5 / P1.5

AI 2 AI 3
PFI 6 / P1.6
FS GS FS GS
7 PFI 7 / P1.7

PFI 8 / P2.0
20

su tru 8

FS
AI 4
GS FS
AI 5
GS
PFI 9 / P2.1

PFI 12 / P2.4

PFI 13 / P2.5

PFI 14 / P2.6

+5 V

D GND
da Ins
AI 6 AI 7 USER-DEFINED
SIGNALS*
FS GS FS GS

ANALOG OUTPUTS 19
USER 1
18
9 AO
USER 2

AO 0 AO 1

FUNCTION GENERATOR *For BNC connections, wire


anyTiming I/O or Digital I/O
ibi al

Frequency Selection screw terminals here.

10 DIGITAL I/O
17
0.1-10 kHz 1-100 kHz 13-1000 kHz P0.7

P0.6
11 P0.5
n

P0.4
12
Sine/Triangle TTL Square Wave
P0.3
16
P0.2
13
Pr atio

P0.1

14 P0.0

D GND
15 LO HI LO HI
Amplitude Adjust Frequency Adjust

1 Interruptor RES/BNC (AI 3) 13 Interruptor Forma de Onda Seno/


2 Clema para Medida de Resistencia Triangulo
3 Conector de Entrada de Termopar 14 Mando de Ajuste de Frecuencia
4 Referencia de Temperatura 15 Mando de Ajuste de Amplitud
N

5 Interruptor BNC/Temp. (AI 0) 16 Direccin de lneas de E/S digital


6 Interruptor BNC/Termopar (AI 1) 17 LEDs E/S Digital
oh

7 Conectores de Entrada Analgica BNC 18 Clemas Definidas por Usuario


8 Interruptores FS/GS 19 Conectores BNC Definidas por Usuario
9 Conectores de Salida Analgica BNC 20 Clemas de E/S temporizadas
10 Interruptor de Seleccin de Rango de 21 Clemas de Encoder de Cuadratura
Frecuencia 22 Mando de Encoder de Cuadratura
11 Conector BNC Seno/Triangulo 23 Conectores BNC de E/S temporizadas
12 Conector BNC Onda Cuadrada TTL 24 LED Indicador de Alimentacin

6-10 | ni.com
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.

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

n
tri nts
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

ci
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

dis me
(MAX) para completar la prueba de su software. Aprender a simular un dispositivo en la seccin
Simulacin de un dispositivo DAQ de esta leccin.

bu
Consulte la seccin DAQ del catlogo de NI o ni.com/products para obtener informacin
adicional acerca de tipos especficos de dispositivos DAQ.

su tru
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
da Ins
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).
ibi al

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

Los ADCs muestrean la seal analgica en cada flanco de subida y bajada de un reloj de muestreo.
Pr atio

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
N

directamente cuando el ADC alcanza la aproximacin.


oh

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

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.

n
tri nts
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

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

dis me
bu
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

su tru
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
da Ins
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
ibi al

lneas individualmente para medir o generar muestras digitales. Cada lnea se corresponde con un
canal en la tarea.
n

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
Pr atio

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
N

contar eventos, medir frecuencias, medir periodos, medir posiciones y generar pulsos.
oh

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


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

n
tri nts
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

ci
obtener informacin adicional acerca como programar con DAQmx.

Adems, puede utilizar MAX para configurar sus dispositivos de adquisicin de datos. En esta

dis me
seccin, aprender acerca de motores controladores y del uso de MAX para configurar su
dispositivo de adquisicin de datos.

bu
Configuracin del hardware DAQ
su tru
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.
da Ins
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
ibi al

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

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
Pr atio

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

Measurement & Automation Explorer


oh

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.
Figura 6-8. Ventana principal de MAX

n
tri nts
ci
1: AT-MIO-64E-3

dis me
bu
su tru
da Ins

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.
ibi al

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
n

ordenador.
Pr atio

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

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
oh

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


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.

n
tri nts
DAQmx Name Controls

ci
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

dis me
en un VI DAQmx y seleccionando CreateControl. Para obtener ms informacin sobre estos
controles, consulte NI-DAQmx Help.

bu
Figura 6-9. Paleta DAQmx Name Controls

su tru
da Ins

VIs DAQmx - Data Acquisition


ibi al

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

La paleta DAQmx - Data Acquisition incluye las siguientes constantes y VIs.


Pr atio

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
N

introducir en ella.
oh

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
tri nts
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

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

dis me
VI DAQmx ReadLee muestras de la tarea o canales que especifique. Las copias de este VI

bu
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

su tru
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
da Ins
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
ibi al

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
n

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
Pr atio

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
N

necesario, y libera los recursos que reserva aqulla. No puede utilizar una tarea tras borrarla, a
oh

menos que vuelva a crearla.

6-16 | ni.com
Manual de Curso LabVIEW Core 1

Figura 6-10. Paleta DAQmx Data Acquisition

n
tri nts
ci
dis me
D. Controlando Instrumentos

bu
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

su tru
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


da Ins
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.
ibi al

Refierase al manual de programacin del instrumento o al manual de usuario para informacin


acerca las propiedades de un instrumento.
n

Beneficios del control de instrumentos


Pr atio

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

LabVIEW tiene muchas herramientas que ayudan a simplificar la programacin para control de
instrumentos incluyendo controladores de instrumentos, ejemplos, wizards y VIs Express. Estas
oh

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

n
tri nts
instrumentos independientes de sobremesa donde las medidas se toman a mano. Puede automatizar
estas medidas con un ordenador para controlar los instrumentos GPIB.

ci
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

dis me
bus, un conjunto comn de cdigos y formatos de datos y un conjunto genrico de comandos
comunes de dispositivo.

bu
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

su tru
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
da Ins
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.
ibi al

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:
n

El bus GPIB incluye una lnea de hardware End Or Identify (EOI) que puede activarse con el
Pr atio

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
N

predeterminado porque la transferencia se detiene en el OR lgico de EOI, EOS (si se usa) junto
oh

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.

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.

n
tri nts
Nota Consulte el sitio web de soporte de GPIB de National Instruments ni.com/

ci
support/gpibsupp.htm para obtener informacin adicional acerca del bus GPIB.

Configurando un instrumento GPIB

dis me
La arquitectura software para el control de instrumentos mediante LabVIEW es similar a la

bu
arquitectura para DAQ. Las interfaces de instrumentos como GPIB incluyen varios controladores.
Use MAX para configurar la interfaz.

su tru
Nota 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.
da Ins
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
ibi al

funciones de Instrument I/O llaman directamente al software del controlador.


n
Pr atio
N
oh

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.

Figura 6-11. Interfaz GPIB en Measurement & Automation Explorer

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

Configure los objetos que aparecen en MAX haciendo clic con el botn derecho en cada uno y
seleccionando una opcin del men contextual.
N

Puerto serie
oh

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
tri nts
3
76.6F

ci
2

dis me
1 Instrumento RS-232 2 Cable RS-232 3 Puerto serie

bu
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

su tru
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.
da Ins
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.
ibi al

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
n

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.
Pr atio

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).
N
oh

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 Data Parity Stop Idle


Bit Bits Bit Bits

Space

n
tri nts
Mark

ci
Bit Time

dis me
Character Frame

RS-232 usa slo dos estados de tensin, llamados MARK y SPACE. En ese esquema de

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

su tru
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
da Ins
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
ibi al

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
n

aproximadamente 1,146 ms.


Pr atio

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

Velocidad de transferencia de datos


Puede calcular la velocidad de transmisin mxima en caracteres por segundo para una
oh

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

n
tri nts
punto a punto entre los dispositivos y puertos serie del ordenador.

ci
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

dis me
y mayores distancias de transmisin en comparacin con RS232.
RS485 (estndar EIA-485) es una variacin de RS422 que permite conectar hasta 32

bu
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

su tru
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.
da Ins
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
ibi al

controladores a los que VISA llama.

En LabVIEW, VISA es una biblioteca de funciones que puede utilizar para comunicarse con
n

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
Pr atio

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

Terminologa de programacin de VISA


oh

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

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

n
tri nts
del instrumento para algunas interfaces diferentes.

ci
Tabla 6-1. Sintaxis para varias interfaces de instrumentos

Interfaz Sintaxis

dis me
Puerto serie asncrono ASRL[device][::INSTR]

bu
GPIB GPIB[device]::primary address[::secondary
address][::INSTR]

su tru
Instrumento VXI mediante un
controlador embebido o MXIbus
Controlador GPIB-VXI
VXI[device]::VXI logical address[::INSTR]

GPIB-VXI[device][::GPIB-VXI primary
address]::VXI logical address[::INSTR]
da Ins
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
ibi al

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
n

parmetros adicionales, debe iniciar la comunicacin del puerto serie con el VI VISA Configure
Serial Port.
Pr atio

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
N

desea comprar, pero su VI ya no funciona con el nuevo osciloscopio. Debe rescribir su VI.
oh

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


En LabVIEW, un controlador de instrumento plug and play es un conjunto de VIs que controlan

n
tri nts
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

ci
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,

dis me
puede personalizar su funcionamiento para mejorar el rendimiento. Un diseo modular facilita la
personalizacin del controlador.

bu
Ubicacin de los controladores de instrumento

su tru
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
da Ins
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
ibi al

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

Lectura de Datos, y Cierre.


Pr atio

Figura 6-14. Ejemplo de controlador de instrumento de DMM Agilent 34401


N
oh

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.

Los VIs de un controlador de instrumento se organizan en seis categoras. Estas categoras se


resumen en la siguiente tabla.

n
tri nts
ci
Categora Descripcin
Inicializar El VI Initialize establece comunicacin con el instrumento y es el primer VI
del controlador de instrumento al que se llama.

dis me
Configurar Los VIs Configure son rutinas de software que configuran el instrumento

bu
para realizar operaciones especficas. Tras llamar a estos VIs, el
instrumento est listo para realizar medidas o estimular un sistema.

Datos
su tru
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.
Los VIs de datos transfieren datos al instrumento o desde l.
da Ins
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.
ibi al
n
Pr atio
N
oh

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
b. Nombre del archivo

n
tri nts
c. Refnum out
d. Task out

ci
dis me
2. Qu es MAX (Measurement & Automation Explorer)?

bu
a. Una herramienta para configurar y probar dispositivos DAQ
b. Una herramienta para probar comunicacin con instrumentos
c. Un VI Express configurable
su tru
d. Una ventana para ver archivos de proyectos de LabVIEW
da Ins
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
ibi al

d. Limitado slo a un tipo de instrumento


n

4. VISA es una API de alto nivel que llama a controladores de bajo nivel.
Pr atio

a. Verdadero
b. Falso
N
oh

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
b. Nombre del archivo

n
tri nts
c. Refnum out
d. Task out

ci
dis me
2. Qu es MAX (Measurement & Automation Explorer)?

bu
a. Una herramienta para configurar y probar dispositivos DAQ
b. Una herramienta para probar comunicacin con instrumentos
c. Un VI Express configurable
su tru
d. Una ventana para ver archivos de proyectos de LabVIEW
da Ins
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
ibi al

d. Limitado slo a un tipo de instrumento


n

4. VISA es una API de alto nivel que llama a controladores de bajo nivel.
Pr atio

a. Verdadero
b. Falso
N
oh

National Instruments | 6-29


Leccin 6 Administrando archivos y recursos hardware

Notas

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

6-30 | ni.com
Usando algoritmos de mquinas de
7
estado y secuenciales

n
tri nts
Lo primero para desarrollar un proyecto en LabVIEW es explorar las arquitecturas que existen en

ci
LabVIEW. Los arquitecturas son esenciales para crear un buen diseo software. Las arquitecturas
ms comunes se suelen agrupar en modelos de diseo.

dis me
A medida que un modelo de diseo gana aceptacin, resulta ms fcil reconocer cundo se ha

bu
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

su tru
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
da Ins
A. Programacin secuencial
B. Programacin de estado
C. Mquinas de estados
ibi al
n
Pr atio
N
oh

National Instruments | 7-1


Leccin 7 Usando algoritmos de mquinas de estado y secuenciales

A. Programacin secuencial
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

n
tri nts
bloques que fuerce el orden de ejecucin de estos eventos. Cualquiera de estos eventos podra
suceder el primero.

ci
Figura 7-1. Tareas sin secuenciar

dis me
bu
su tru
da Ins
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.
ibi al

Figura 7-2. Tareas secuenciadas parcialmente


n
Pr atio
N
oh

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.

Figura 7-3. Tareas secuenciadas con una estructura Sequence

n
tri nts
ci
dis me
bu
su tru
da Ins
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.
ibi al

Figura 7-4. Tareas secuenciadas con estructuras Sequence y un cluster de error


n
Pr atio
N

Sin embargo, el mejor modo de escribir este VI es encerrar las funciones One Button Dialog en una
oh

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.

Figura 7-5. Tareas secuenciadas con un cluster de error y estructuras Case

n
tri nts
ci
dis me
bu
B. Programacin de estado
Aunque una estructura Sequence y subVIs cableados secuencialmente cumplen la tarea, los VIs

su tru
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?
da Ins
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
ibi al

de estado es una buena eleccin, aunque bastara con una estructura de programacin secuencial.

C. Mquinas de estados
n

El modelo de diseo de la mquina de estados es comn y muy til en LabVIEW. Puede usar el
Pr atio

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
N

serie de estados y una funcin de transicin que indica cul es el siguiente estado. Las mquinas
oh

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


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

n
tri nts
estados anteriores y actuales. Un estado de cierre normalmente realiza acciones de limpieza.

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

dis me
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

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

su tru
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
da Ins
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
ibi al

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

Registro de desplazamiento: contiene la informacin de transicin de estados.


Pr atio

Cdigo de funcionalidad de estado: implementa la funcin del estado.


Cdigo de transicin: determina el siguiente estado de la secuencia.
N
oh

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
tri nts
2

ci
State
Functionality Transition
Code Code

dis me
3

bu
1

su tru
Bucle While 2 Registro de desplazamiento 3 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.
da Ins
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
ibi al

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
n

con tipo definido. As, todas las copias de control de tipo enumerado se actualizarn
automticamente si aade o elimina un estado.
Pr atio

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
N

usar es el cdigo de transicin de estructura Case individual, que puede utilizarse como transicin
oh

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

n
tri nts
Figura 7-7. Transicin predeterminada individual

ci
dis me
bu
su tru
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
da Ins
entre dos estados.

Figura 7-8. Cdigo de transicin de la funcin Select


ibi al
n
Pr atio

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
N

considerable del cdigo de transicin.


oh

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.
La figura 7-9 muestra la transicin de la estructura Case implementada para un sistema de

n
tri nts
adquisicin de datos de temperatura.

ci
Figura 7-9. Cdigo de transicin de la estructura Case

dis me
bu
su tru
da Ins
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
ibi al

del cdigo de transicin.


Array de transicin: si tiene que ver ms cdigo del que permite la estructura Case, puede
n

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
Pr atio

datos de temperatura.
Figura 7-10. Cdigo de transicin del Array de transicin
N
oh

Decision Making Code

7-8 | ni.com
Manual de Curso LabVIEW Core 1

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.

n
tri nts
Caso de Estudio: Proyecto del curso

ci
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

dis me
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.

bu
Figura 7-11. Diagrama de transicin de estados para el proyecto del curso

su tru
Initialize
da Ins
Acquistion
ibi al

Time Elapsed = TRUE


and
Stop = FALSE
n

Warning = TRUE
Analysis
Pr atio

Data log

Time Elapsed = FALSE


and
Stop = FALSE
Time
Check
N

Warning = FALSE
oh

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.

Figura 7-12. Estado de adquisicin

n
tri nts
ci
dis me
bu
Figura 7-13. Estado de anlisis

su tru
da Ins
ibi al

Figura 7-14. Estado de registro de datos


n
Pr atio
N
oh

7-10 | ni.com
Manual de Curso LabVIEW Core 1

Figura 7-15. Estado de comprobacin del tiempo

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

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
b. Falso

n
tri nts
ci
2. Cul de los siguientes elementos son ventajas de usar una mquina de estados en lugar de una
estructura secuencial?

dis me
a. Puede cambiar el orden de la secuencia.
b. Puede repetir elementos en la secuencia.

bu
c. Puede configurar condiciones para determinar cundo debe ejecutarse un elemento de la
secuencia.

su tru
d. Puede detener el programa en cualquier punto de la secuencia.
da Ins
ibi al
n
Pr atio
N
oh

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
b. Falso

n
tri nts
ci
2. Cul de los siguientes elementos son ventajas de usar una mquina de estados en lugar de una
estructura secuencial?

dis me
a. Puede cambiar el orden de la secuencia.
b. Puede repetir elementos en la secuencia.

bu
c. Puede configurar condiciones para determinar cundo debe ejecutarse un elemento
de la secuencia.

su tru
d. Puede detener el programa en cualquier punto de la secuencia.
da Ins
ibi al
n
Pr atio
N
oh

National Instruments | 7-15


Leccin 7 Usando algoritmos de mquinas de estado y secuenciales

Notas

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

7-16 | ni.com
Resolviendo desafos de flujo de
8
datos con variables

n
tri nts
LabVIEW es un sistema de flujo de datos. Como tal, usted generalmente usa principios de diseo

ci
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

dis me
informacin entre ubicaciones en el cdigo que no puede conectar con un cable.

bu
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.
su tru
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.
da Ins
Temas
A. Comunicacin entre bucles paralelos
B. Escribiendo a controles y leyendo de indicadores
ibi al

C. Variables
D. Condiciones de carrera
n
Pr atio
N
oh

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.

Un reto al programar tareas paralelas es pasar datos entre varios bucles sin crear una dependencia

n
tri nts
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

ci
entre los bucles, como en la figura 8-1.

Figura 8-1. Panel frontal de bucles paralelos

dis me
bu
su tru
da Ins
ibi al

Compruebe lo que sucede cuando intenta compartir datos entre bucles paralelos con un cable
n

usando diferentes mtodos.


Pr atio

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.
N
oh

8-2 | ni.com
Manual de Curso LabVIEW Core 1

Figura 8-2. Ejemplo de mtodo 1 de bucles paralelos

n
tri nts
ci
dis me
Mtodo 2 (incorrecto)

bu
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

su tru
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.
da Ins
Figura 8-3. Ejemplo de mtodo 2 de bucles paralelos
ibi al
n
Pr atio

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

Otra forma de realizar esta tarea de comunicarse entre bucles paralelos es buscar la ubicacin
oh

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.

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

n
tri nts
actualizar un indicador del panel frontal para mostrar cual bucle se est ejecutando es ese momento.

ci
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

dis me
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

bu
usuario inicie la sesin y para escribir cadenas de caracteres vacas en estos controles cuando el
usuario cierre la sesin.

su tru
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
da Ins
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
ibi al
n
Pr atio
N
oh

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.

Figura 8-5. Dependencia de datos que impone el cable

n
tri nts
ci
dis me
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.

bu
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.
su tru
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
da Ins
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.
ibi al

Variables Locales - Uso de variables en un solo VI


Las variables locales transfieren datos dentro de un solo VI.
n

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
Pr atio

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
N

varios VIs.
oh

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.

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

n
tri nts
muestra todos los objetos del panel frontal que tienen etiquetas propietarias.

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

dis me
Lectura y escritura de variables

bu
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

su tru
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
da Ins
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
ibi al

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
n

a un control. Una variable de escritura tiene un borde fino similar a un indicador.


Pr atio

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
N

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

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.

Figura 8-6. Variable local utilizada para detener bucles paralelos

n
tri nts
ci
dis me
bu
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

su tru
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.
da Ins
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.
ibi al

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
n

inicie la sesin y para escribir cadenas de caracteres vacas en estos controles cuando el usuario
cierre la sesin.
Pr atio

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,
N

pero entre varios VIs. Por ejemplo, suponga que tiene dos VIs ejecutndose simultneamente. Cada
oh

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.

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

n
tri nts
la informacin de la variable entre VIs en varios ordenadores en el futuro.

ci
Creacin de variables globales
Use variables globales para acceder y pasar datos entre varios VIs que se ejecutan

dis me
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

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

su tru
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
da Ins
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.


ibi al

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

LabVIEW usa etiquetas propietarias para identificar variables globales. Por lo tanto, etiquete
Pr atio

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
N

con controles e indicadores del panel frontal de un VI global. Puede colocar VIs globales en otros
oh

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.

Figura 8-7. Ventana del panel frontal de un VI global

n
tri nts
ci
dis me
bu
su tru
da Ins
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.
ibi al

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

Si desea usar esta variable global en otros VIs, seleccione la opcin Select a VI en la paleta de
Pr atio

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.
N
oh

National Instruments | 8-9


Leccin 8 Resolviendo desafos de flujo de datos con variables

Creacin de variables compartidas tipo single-process


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.

n
tri nts
Figura 8-8. Cuadro de dilogo Shared Variable Properties

ci
dis me
bu
su tru
da Ins
ibi al

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
n

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
Pr atio

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
N

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
oh

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.
Figura 8-9. Inicializacin de variables

n
tri nts
ci
dis me
bu
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.

su tru
Evitando problemas de programacin inherentes con
variables
da Ins
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.
ibi al

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

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
Pr atio

el rendimiento.
N
oh

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.

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

n
tri nts
Wait (ms).

ci
Figura 8-10. Demasiadas variables utilizadas

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

8-12 | ni.com
Manual de Curso LabVIEW Core 1

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.

n
tri nts
Figura 8-11. Variables reducidas

ci
dis me
bu
su tru
da Ins

D. Condiciones de carrera
ibi al

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
n

problema comn en los programas que ejecutan varias tareas en paralelo y comparten datos entre
ellos.
Pr atio

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

Para evitar condiciones de carrera, lo mejor es seguir estas tcnicas:


oh

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


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.

n
tri nts
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

ci
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

dis me
carrera.

bu
Secuenciando instrucciones apropiadamente
El cdigo en el que el flujo de datos no se usa correctamente para controlar el orden de ejecucin

su tru
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
da Ins
ibi al
n

El cdigo de este ejemplo tiene cuatro posibles resultados, en funcin del orden en que se ejecuten
las operaciones.
Pr atio

Resultado 1: Value = (Value 5) + 2


1. El terminal lee Value.
2. Value 5 se almacena en Value.
3. La variable local lee Value 5.
N

4. (Value 5) + 2 se almacena en Value.


oh

Resultado 2: Value = (Value 5) + 2


1. La variable local lee Value.
2. Value + 2 se almacena en Value.
3. El terminal lee Value +2.
4. (Value + 2) 5 se almacena en Value.

8-14 | ni.com
Manual de Curso LabVIEW Core 1

Resultado 3: Value = Value 5


1. El terminal lee Value.
2. La variable local lee Value.
3. Value + 2 se almacena en Value.
4. Value 5 se almacena en Value.

n
tri nts
Resultado 4: Value = Value + 2

ci
1. El terminal lee Value.
2. La variable local lee Value.

dis me
3. Value 5 se almacena en Value.

bu
4. 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
su tru
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.
da Ins
ibi al
n
Pr atio
N
oh

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
b. Falso

n
tri nts
ci
2. Cundo se controlan recursos, qu combinaciones de escritores y lectores reducen la
posibilidad de condiciones de carrera?

dis me
a. Un escritor, un lector
b. Un escritor, mltiples lectores

bu
c. Mltiples escritores, un lector
d. Mltiples escritores, mltiples lectores

su tru
da Ins
ibi al
n
Pr atio
N
oh

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
b. Falso

n
tri nts
Debe usar variables slo cuando es necesario. Use cables para transferir datos siempre que
sea posible.

ci
dis me
2. Cundo se controlan recursos, qu combinaciones de escritores y lectores reducen la
posibilidad de condiciones de carrera?

bu
a. Un escritor, un lector
b. Un escritor, mltiples lectores

su tru
c. Mltiples escritores, un lector
d. Mltiples escritores, mltiples lectores
da Ins
ibi al
n
Pr atio
N
oh

National Instruments | 8-19


Leccin 8 Resolviendo desafos de flujo de datos con variables

Notas

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

8-20 | ni.com
Informacin Adicional y Recursos
A
Este apndice contiene informacin adicional sobre las opciones de soporte tcnico de National

n
tri nts
Instruments y los recursos de LabVIEW.

ci
Opciones de soporte tcnico de National Instruments
Inicie sesin con su perfil de usuario de National Instruments en ni.com para conseguir acceso

dis me
personalizado a sus servicios. Visite las siguientes secciones de ni.com para soporte tcnico y
servicios profesionales:

bu
Soporte: el soporte tcnico en ni.com/support incluye los siguientes recursos:
Recursos tcnicos de autoayuda: para ver respuestas y soluciones, visite ni.com/

su tru
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
da Ins
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
ibi al

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
n

disponibles por el tiempo que los necesite. Visite ni.com/ssp para ms informacin.
Pr atio

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
N

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

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


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.

n
tri nts
Certificacin de National Instruments

ci
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

dis me
conocimientos que ha adquirido con la experiencia. Visite ni.com/training para obtener
informacin adicional acerca del programa de certificacin de NI.

bu
Recursos de LabVIEW
Esta seccin describe cmo puede recibir informacin adicional sobre LabVIEW.
su tru
Comunidad NI
La comunidad NI es una comunidad en lnea que une a usuarios de todo el mundo para discutir,
da Ins
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
ibi al

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
n

obtener informacin adicional.


Pr atio
N
oh

A-2 | ni.com
Glosario

A
adquisicin de datos 1. Adquisicin y medida de seales elctricas analgicas o digitales a
(DAQ) partir de sensores, transductores de adquisicin y sondas de prueba o

n
tri nts
aparatos.

ci
2. Generacin de seales elctricas analgicas o digitales.

arrastrar Utilizar el cursor de la pantalla para seleccionar, mover, copiar o


eliminar objetos.

dis me
bu
B
barra de herramientas Barra que contiene botones de comando para ejecutar y depurar VIs.

su tru
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
da Ins
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


ibi al

determinado de veces. Equivalente al cdigo basado en texto:


For i = 0 to n - 1, do.....
n

Bucle While Estructura de bucle que repite una seccin de cdigo hasta que ocurra
una condicin.
Pr atio
N
oh

National Instruments | G-1


Glosario

C
cable 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

n
tri nts
analgica o digital. Un solo canal fsico puede incluir ms de un
terminal, como es el caso de un canal de entrada analgica diferencial

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

dis me
2. Virtual: un conjunto de valores de propiedad que pueden incluir un

bu
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

su tru (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
da Ins
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
ibi al

conmutador. Los canales de conmutador slo pueden utilizarse en las


funciones y VIs NI-DAQmx Switch.
n

casilla de verificacin Un cuadradito de un cuadro de dilogo que puede seleccionar o


desmarcar. Las casillas de verificacin normalmente se asocian con
Pr atio

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

controlador Software que controla un dispositivo de hardware concreto, como un


oh

dispositivo DAQ.

controlador de Un conjunto de funciones de alto nivel que controlan y se comunican


instrumentos con hardware de instrumentos en un sistema.

Controles e indicadores Objetos del panel frontal para manipular y mostrar datos booleanos
booleanos (TRUE o FALSE).

G-2 | ni.com
Manual de Curso LabVIEW Core 1

controles e indicadores Objetos del panel frontal para manipular y mostrar datos numricos.
numricos

curva Representacin grfica de un array de datos mostrado en un grfico


tipo graph o chart.

n
tri nts
D

ci
DAQ Ver adquisicin de datos (DAQ).

DAQ Assistant Una interfaz grfica para configurar tareas de medida, canales y
escalas.

dis me
diagrama de bloques Descripcin o representacin grfica de un programa o algoritmo. El

bu
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

dispositivo
su tru diagrama de bloques del VI.

Un instrumento o controlador al que puede acceder como una nica


entidad que controla o monitoriza puntos de E/S del mundo real. Un
da Ins
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
ibi al

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

dispositivo de medida Dispositivos DAQ como los dispositivos E Series multifunction I/O
(MIO), mdulos de acondicionamiento de seal SCXI y mdulos de
Pr atio

conmutacin.

E
E/S Entrada/Salida. La transferencia de datos a o desde un sistema
N

informtico con canales de comunicaciones, dispositivos de entrada de


operador o interfaces de control y adquisicin de datos.
oh

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

escala automtica 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
tri nts
etiqueta Objeto de texto utilizado para nombrar o describir objetos o regiones

ci
del panel frontal o del diagrama de bloques.

etiqueta de ayuda Pequeos banners amarillos de texto que identifican el nombre del

dis me
terminal y facilitan su identificacin para el cableado.

bu
Explorador de Ventana donde puede crear y modificar proyectos de LabVIEW.
proyectos ventana

F
su tru
flujo de datos Sistema de programacin que consta de nodos ejecutables que slo se
ejecutan cuando reciben todos los datos de entrada necesarios. Los
da Ins
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


ibi al

concreta.

funcin Built-in elemento integrado, comparable a un operador, funcin o


declaracin en un lenguaje de programacin basado en texto.
n
Pr atio

G
General Purpose GPIB. Sinnimo de HP-IB. El bus estndar utilizado para controlar
Interface Bus 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.
N

grfico Visualizacin 2D de una o ms curvas. Un grfico recibe y traza datos


oh

como un bloque.

grfico tipo Indicador que traza puntos de datos a cierta velocidad.


waveform chart

G-4 | ni.com
Manual de Curso LabVIEW Core 1

H
herramienta Cursor especial para realizar operaciones concretas.

herramienta de Herramienta para definir rutas de datos entre terminales.


cableado

n
tri nts
herramienta de Herramienta para introducir datos en controles o para operar sobre
operaciones ellos.

ci
herramienta de Herramienta para mover y redimensionar objetos.
posicionamiento

dis me
I

bu
icono Representacin grfica de un nodo en un diagrama de bloques.

indicador

Assistant
su tru
Instrument I/O
Objeto del panel frontal que muestra salidas, como un grfico o LED.

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.
da Ins
instrumento virtual Programa de LabVIEW que modela el aspecto y la funcin de un
(VI) instrumento fsico.

L
ibi al

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

LED Diodo-emisor de luz.


Pr atio

leyenda Objeto que posee un grfico tipo graph o chart para mostrar los
nombres y los estilos de curvas de curvas de ese grfico.

M
N

MAX Ver Measurement & Automation Explorer.


oh

Measurement & El entorno de configuracin y diagnstico de hardware estndar de


Automation Explorer 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 contextual 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
tri nts
ci
N
NI-DAQ Software controlador que incluyen todos los dispositivos NI DAQ y
componentes de acondicionamiento de seal. NI-DAQ es una amplia

dis me
biblioteca de VIs y funciones ANSI C que puede llamar desde un
entorno de desarrollo de aplicaciones (ADE), como LabVIEW, para

bu
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 su tru 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
da Ins
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.
ibi al

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
n

incluyen funciones, estructuras y subVIs.


Pr atio

O
objeto Trmino genrico para cualquier elemento del panel frontal o
diagrama de bloques, como controles, indicadores, estructuras, nodos,
cables e imgenes importadas.
N

P
oh

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 de funciones 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

n
tri nts
predeterminado si no especifica ninguno.

ci
Propiedades Cuadros de dilogo a los que se accede desde el men contextual de un
cuadros de dilogo control o indicador que puede utilizar para configurar cmo aparece el
control o indicador en la ventana del panel frontal.

dis me
proyecto Un conjunto de archivos de LabVIEW y no especficos de LabVIEW

bu
que puede utilizar para crear especificaciones y descargar archivos en
otras plataformas.

PXI PCI eXtensions for Instrumentation. Una plataforma modular de

S
su tru instrumentacin basada en ordenador.
da Ins
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.
ibi al

T
n

tarea Un conjunto de uno o ms canales, temporizacin, activacin y otras


propiedades en NI-DAQmx. Una tarea representa una medida o
Pr atio

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

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,
oh

rutas, cadenas de caracteres, refnum, enumeracin, forma de onda y


cluster.

National Instruments | G-7


Glosario

tipo de datos El tipo de datos que utilizan los VIs Express y que incluye los datos
dinmico 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 Un controlador ms antiguo con APIs desfasadas para crear

n
tri nts
(Legacy) aplicaciones de adquisicin de datos, instrumentacin y control para
dispositivos DAQ ms antiguos de National Instruments. Slo puede

ci
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),

dis me
incluida una lista completa de dispositivos, sistemas operativos y
versiones de lenguajes y software de aplicacin compatibles.

bu
V

Help
su tru
ventana Context 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,
da Ins
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).


ibi al

VI actual VI cuyo panel frontal, diagrama de bloques o Icon Editor es la ventana


activa.
n

VI de plantilla VI que contiene controles e indicadores comunes desde donde puede


Pr atio

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


N

flecha rota en el botn Run roto.


oh

G-8 | ni.com

También podría gustarte