Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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
Leccin 8
Pr atio
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 Performance
Certifications
Pr atio
Other Courses
*Core courses are strongly recommended to realize maximum productivity gains when using LabVIEW.
oh
National Instruments | v
Gua del estudiante
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
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
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
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:
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
Interfaz GPIB
Un cable GPIB
oh
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.
Nota
referencia a carpetas del directorio raz de su ordenador.
n
viii | ni.com
Manual de Curso LabVIEW Core 1
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:
Este icono indica una precaucin, para que tome precauciones y evite
ibi al
negrita El texto en negrita indica que debe seleccionar el software o hacer clic en l,
n
de hardware.
monospace El texto con esta fuente indica texto o caracteres que debe escribir con el
oh
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
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
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
1-2 | ni.com
Manual de Curso LabVIEW Core 1
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.
tambin permite otras actividades asncronas para influenciar la ejecucin del cdigo G en el
diagrama de bloques.
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.
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.
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
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.
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
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
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
Explorer.
2. Aada elementos que desee incluir en el proyecto bajo un destino.
3. Seleccione FileSave Project para guardar el proyecto.
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
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
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
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
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
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
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.
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
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.
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
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
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.
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
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
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
La imagen 1-7 contiene los siguientes objetos: dos controles: Number of Measurements y Delay
Pr atio
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.
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
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
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
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 Resize Objects para cambiar varios objetos del panel frontal al
mismo tamao.
N
oh
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
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.
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
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.
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.
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
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
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.
n
tri nts
Cambie el cableado automtico pulsando la barra espaciadora mientras mueve un objeto con la
ci
herramienta de posicionamiento.
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.
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
n
tri nts
ci
dis me
bu
su tru
da Ins
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
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
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
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
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
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
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
n
tri nts
ci
dis me
bu
su tru
da Ins
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
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
1-34 | ni.com
Manual de Curso LabVIEW Core 1
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.
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
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
1-36 | ni.com
Manual de Curso LabVIEW Core 1
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.
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
Herramienta de cableado
Cuando el cursor del ratn cambia al icono mostrado abajo, la herramienta de cableado est
operativa. Use la herramienta de cableado para cablear objetos entre s que estn en el diagrama de
bloques. Por ejemplo, en la figura 1-29 la herramienta de cableado cablea el terminal Number of
1-38 | ni.com
Manual de Curso LabVIEW Core 1
Measurements al terminal de contaje para el bucle For. Cuando el ratn pasa por el punto de salida
o entrada de un terminal o por un cable, el cursor accede automticamente a la herramienta de
cableado.
n
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
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.
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
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
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.
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
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
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
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.
Autorrevisin: Cuestionario
Consulte la figura 1-34 para responder a las preguntas de este cuestionario.
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
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
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
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
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.
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
2-2 | ni.com
Manual de Curso LabVIEW Core 1
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
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.
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
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
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.
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
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.
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
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.
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
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
2-8 | ni.com
Manual de Curso LabVIEW Core 1
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.
Un smbolo de flecha indica un VI que se est ejecutando con normalidad o paso a paso.
n
Pr atio
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
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.
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
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.
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.
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.
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.
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
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.
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
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.
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
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
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
a. Verdadero
Pr atio
b. Falso
N
oh
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
a. Verdadero
Pr atio
b. Falso
N
oh
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
A. Panel frontal
En la fase de diseo del mtodo de desarrollo de software se identifican las entradas y salidas del
problema. Esta identificacin conduce directamente al diseo de la ventana del panel frontal.
n
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
3-2 | ni.com
Manual de Curso LabVIEW Core 1
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
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
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
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
3-6 | ni.com
Manual de Curso LabVIEW Core 1
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
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.
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.
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
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.
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.
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
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
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.
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
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.
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.
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
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.
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.
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
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.
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
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.
Code
n
No Repeat (code);
Condition Until Condition met;
Code
Pr atio
met?
End;
Yes
End
1 2 3
N
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
El bucle While ejecuta el subdiagrama hasta que el terminal condicional, un terminal de entrada,
reciba un valor booleano especfico. El bucle While no incluye un contaje de iteraciones
configurado y se ejecuta hasta el infinito si la condicin nunca ocurre.
n
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
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.
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.
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.
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.
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
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
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.
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
3-22 | ni.com
Manual de Curso LabVIEW Core 1
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
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
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
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
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
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
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.
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
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
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
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
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
La figura 3-28 muestra un ejemplo de cada modo de actualizacin del grfico. El scope chart y el
sweep chart tienen visualizaciones de retrazado parecidas a un osciloscopio. Como retrazar una
curva requiere menos esfuerzo, el scope chart y el sweep chart muestran curvas mucho ms
rpidamente que el strip chart.
n
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
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.
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.
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
Booleano FALSE
Ejemplos
En los siguientes ejemplos, los valores numricos pasan por tneles a la estructura Case y se suman
o restan, en funcin del valor cableado al terminal de seleccin.
n
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
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.
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
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.
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
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
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
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
A. Comprensin de la modularidad
La modularidad define el grado en que un programa se compone de mdulos diferenciados de
modo que un cambio en un mdulo tenga un impacto mnimo en otros mdulos. Los mdulos de
LabVIEW se denominan subVIs.
n
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
4-2 | ni.com
Manual de Curso LabVIEW Core 1
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
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.
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.
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.
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.
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
4-6 | ni.com
Manual de Curso LabVIEW Core 1
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
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.
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.
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.
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
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
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.
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
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
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
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
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
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
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
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.
1 ndice 2 Elementos
5-2 | ni.com
Manual de Curso LabVIEW Core 1
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
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.
0 1 2 3 4 5 6 7
0
oh
1
2
Row Index
3
4
5
6
7
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.
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
5-4 | ni.com
Manual de Curso LabVIEW Core 1
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
panel de conectores muestra el tipo de datos predeterminado para esta funcin polimrfica.
oh
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
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
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
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
La funciones lgicas funcionan con arrays de nmeros o valores booleanos, clusters de nmeros o
Pr atio
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
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
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.
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.
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
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
5-10 | ni.com
Manual de Curso LabVIEW Core 1
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
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.
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.
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.
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
Consulte la seccin Clusters, para obtener informacin adicional acerca los clusters.
Pr atio
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.
E. Clusters
Los clusters agrupan elementos de datos de tipos mixtos. Un ejemplo de un cluster es el cluster de
error de LabVIEW, que combina un valor booleano, uno numrico y una cadena de caracteres. Un
cluster es similar a un registro o una estructura en lenguajes de programacin basados en texto.
n
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
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
5-14 | ni.com
Manual de Curso LabVIEW Core 1
La imagen 5-16 es un ejemplo de un cluster que contiene tres controles: Un string, un interruptor
Booleano, y un numrico. Un cluster puede ser un control o un indicador. No puede contener una
mezcla de controles e indicadores.
n
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
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
5-16 | ni.com
Manual de Curso LabVIEW Core 1
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.
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
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
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.
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
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.
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.
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
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
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
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
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
Si cambia el tipo de dato de una definicin tipo, LabVIEW convierte el antiguo valor
predeterminado de las copias de la definicin tipo al nuevo tipo de dato, si es posible. LabVIEW
no puede conservar el valor predeterminado de la copia si el tipo de dato cambia a un tipo
incompatible, como sustituir un control o indicador numrico por un control o indicador de cadena
de caracteres. Cuando cambia el tipo de dato de una definicin tipo a un tipo de dato incompatible
con la definicin tipo anterior, LabVIEW configura el valor predeterminado de copias como
el valor predeterminado que especifique en el archivo .ctl. Si no especifica un valor
5-22 | ni.com
Manual de Curso LabVIEW Core 1
predeterminado, LabVIEW usar el valor predeterminado del tipo de dato. Por ejemplo, si cambia
una definicin tipo de un tipo numrico a un tipo de cadena de caracteres, LabVIEW sustituye
cualquier valor predeterminado asociado con el antiguo tipo de dato numrico por cadenas de
caracteres vacas.
n
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
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
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
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
d. Control cluster
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
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
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
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
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
B. E/S de ficheros
Las operaciones de E/S de ficheros pasan datos desde y hacia archivo. Use los VIs y funciones de
E/S de ficheros para manejar todos los aspectos de E/S de archivos.
n
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
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
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.
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.
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
6-6 | ni.com
Manual de Curso LabVIEW Core 1
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
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
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
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-
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
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
6-10 | ni.com
Manual de Curso LabVIEW Core 1
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
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.
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:
6-12 | ni.com
Manual de Curso LabVIEW Core 1
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
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
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.
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
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
6-14 | ni.com
Manual de Curso LabVIEW Core 1
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
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
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.
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
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
6-16 | ni.com
Manual de Curso LabVIEW Core 1
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.
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
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.
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 bus GPIB incluye una lnea de hardware End Or Identify (EOI) que puede activarse con el
Pr atio
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
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.
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
Lance MAX haciendo doble clic en el icono del escritorio o seleccionando Tools
Measurement & Automation Explorer en LabVIEW. El siguiente ejemplo muestra una interfaz
GPIB en MAX tras hacer clic en el botn Scan For Instruments de la barra de herramientas.
n
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
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
La siguiente figura muestra una trama de caracteres tpica que codifica la letra m.
Figura 6-13. Trama de caracteres para la letra m
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
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
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
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
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
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
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.
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.
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
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.
Muchos instrumentos programables tienen un gran nmero de funciones y modos. Con esta
complejidad, es necesario un modelo de diseo consistente que ayude a los desarrolladores de
controladores de instrumento y a los usuarios finales que desarrollan aplicaciones de control de
instrumentos.
n
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
4. VISA es una API de alto nivel que llama a controladores de bajo nivel.
Pr atio
a. Verdadero
b. Falso
N
oh
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
4. VISA es una API de alto nivel que llama a controladores de bajo nivel.
Pr atio
a. Verdadero
b. Falso
N
oh
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
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
7-2 | ni.com
Manual de Curso LabVIEW Core 1
Puede usar una estructura Sequence para forzar el orden de operaciones de los objetos del diagrama
de bloques. Una estructura Sequence contiene uno o ms subdiagramas, o marcos, que se ejecutan
en orden secuencial; un marco no puede empezar la ejecucin hasta que se haya completado la
ejecucin de todo el cdigo del marco anterior. La figura 7-3 muestra un ejemplo de este VI que
usa una estructura Sequence para forzar el orden de ejecucin.
n
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
Sin embargo, el mejor modo de escribir este VI es encerrar las funciones One Button Dialog en una
oh
Use con moderacin las estructuras Sequence porque no realizan la comprobacin de errores y la
ejecucin de la secuencia contina incluso aunque se detecten errores. Base su desarrollo en el flujo
de datos ms que en las estructuras Sequence para controlar el orden de ejecucin.
n
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
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.
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.
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
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.
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
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
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
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
Warning = TRUE
Analysis
Pr atio
Data log
Warning = FALSE
oh
Stop = TRUE
Las figuras 7-12 a la 7-15 ilustran los estados de la mquina de estados que implementa el
diagrama de transicin de estados detallado en la figura 7-11.
n
tri nts
ci
dis me
bu
Figura 7-13. Estado de anlisis
su tru
da Ins
ibi al
7-10 | ni.com
Manual de Curso LabVIEW Core 1
n
tri nts
ci
dis me
bu
su tru
da Ins
ibi al
n
Pr atio
N
oh
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
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
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
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.
dis me
bu
su tru
da Ins
ibi al
Compruebe lo que sucede cuando intenta compartir datos entre bucles paralelos con un cable
n
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
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.
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.
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
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
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
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.
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
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
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.
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
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.
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
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
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
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
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
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
8-14 | ni.com
Manual de Curso LabVIEW Core 1
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
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
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
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
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
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.
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
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.
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 While Estructura de bucle que repite una seccin de cdigo hasta que ocurra
una condicin.
Pr atio
N
oh
C
cable Ruta de datos entre nodos.
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
dispositivo DAQ.
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
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.
dispositivo DAQ Un dispositivo que adquiere o genera datos y puede contener varios
canales y dispositivos de conversin. Los dispositivos DAQ incluyen
ibi al
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
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.
concreta.
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
como un bloque.
G-4 | ni.com
Manual de Curso LabVIEW Core 1
H
herramienta Cursor especial para realizar operaciones concretas.
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.
L
ibi al
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
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.
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.
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.
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.
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.
T
n
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
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.
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.
crear varios VIs que realicen funciones similares. Acceda a los VIs
plantilla desde el cuadro de dilogo New.
G-8 | ni.com