LabVIEW™ Core 1
Manual de Curso
PRETO GOO VU OU UU UU UO UU UO UE
(NATIONAL
ni.com/training INSTRUMENTSLabVIEW™ Core 1
Manual de Curso
Version del software actual 2012
Edicién de Agosto 2012
Numero de parte 325290D-0154
Copyright
{© 1993-2012 National Instruments. Tos los derechos reservados,
En irtud de las leyes de copyright y de proteccidn de los derechos de autor, esta publicacién no puede reproducirse ni eansmitirs
en ninguna forma, eleetrénica o mecinica, inluidas las fotocopias, arabacién, almacenamiento en un sistema de recuperacion d
informacién, o traduccign, en su totaldad o en parte, sin el consentimiento previo por escrito de National Instruments Coeporstion
"National Instruments respeta los derechos de propieded intelectual de otros, y solictamos @ nuestros wsuaries
Bl software de NI estéprotegide por el derecho de autor y as normas de la propiedad intelectual. Aunque
utlizarse para reproducie software w otto material perteneciente a otros, el Software de NI slo pod uilzarse para ceproduit
‘material que pueda reproducir conforme a fos términos de cualquier liceneiaaplicable u otra rettici6n legal
oftware de NI pueds
Conirato de licencia de usvari final y avisos legales a terceros
EE eontrato de licencia de usuario final EULA’) y avisos legales a tereeros se pue
+ Los avisos se localizan en los drectorios
\_Legal Information y
+ Contato de licencia de usuario final se localiza en el directorio \ Shared \Mb!
Legal \License,
+ Revise \_Legal mnfarmat ion. txt para més informacién legal sobre los instaladores
desarollados con productos de NI
Marcas comerciales
CVI, LabVIEW, National Instruments, NI, ni.com, of logotipo corporativo de National instruments, y el logotip
‘mateas propiedad de National Instruments Corporation. Por favor, eonsulte Trademark Informationen la pgina n:\. com
trademarks pata informacién sobre otras marcas de National Instruments
“The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Mi
Corporation in the United States and other countries. Otros nombres de productos y de empresas mencionados
‘nombres comerciales de sus respectivas empresas.
Los miembros del National Instruments Alliance Partner Program son entidades comerciales independientes
Instruments y no tienen relacidn de agencia,asociacién nl empresa conjunta con National Instruments
Patentes
Para oblenerinformacién sobre las patente que protegen los productos o la teenologfa de National Insiruments, consul
apartado: Help»Patents en su software, el archive patent's. txt en el soporte del mismo, o el Aviso sobre las Patentes de
National Instruments (National Insirumtonts Patent Notice) enn .com/patentsInformacién del producto y soporte técnico mundial
Oficinas internacionales
Viste ni. com/niglobal para acceder a las paginas web de las oficinas internacionales, ls cuales incluyen informacion
setvalizade de contacto, teléfanos de soporte tdenico, diecciones de email y eventos actuales.
Oficinas centrales de National Instruments Corporation
11500 North Mopae Expressway Austin, Texas 78759-3504 USA Tel: 512.683 0100
Para obtener informacidin aicional de soporte, consute el apéndice Jnformctsdictonuly Recursos. Para realizar comentarios a
"ational instrameats sabe la documentacién, cansule la pagina web de National Instruments Web ni .com/inZo e intraduzca
cl cédigo de informacion EeedbackContenido
Guia del estudiante
Certificacién de NI
Descripcién del cUrS0.....enm
Lo que necesita para empezar
Instalacién del software del curso
Objetivos del curso ...
Convenciones del curso
7 ROOR>
Leccion 1
Explorando LabVIEW
{Qué es LabVIEW?.....
Explorador de proyectos...
Partes de un VI...
Panel frontal
Diagrama de bloques
Busqueda de controles, Vis y funcione:
Seleccién de una herramienta
Flujo de datos.
Creacién de un VI simple .
rmommoow>
Leccién 2
Resolucién de problemas y depuracion de Vis
A. Corteccién de VIs rot .
B. Técnicas de depuracién.
C. Datos sin definir o inespetados
D. Manejo de Errores.
Lecci6n 3
Implementacion de un VI
Panel frontal...
‘Tipos de datos de LabVIEW
Documentacién de cédigo
Bucles While
Bucles For.. :
‘Temporizacién de Vis... =
Retroalimentacién de datos en los bucles
Graficando datos — Waveform Chart.
Estructuras Case.
rrommoow>
vi
vii
Vili
viiiContenido
Leccién 4
Desarrollo de aplicaciones modulares
A. Comprensién de la modularidad
B. Creacién del panel de iconos y conectores
C. Uso de subVIs.
Leccion 5
Creando y aprovechando estructuras de datos
A. Arrays.
B. Punciones de array comune:
C. Polimorfismo
D. Autoindexado...
E. Clusters -14
F._ Definiciones tipo 19
Lecci6n 6
Administrando archivos y recursos hardware
A. Entendiendo ie aie one co . 6-2
B. BIS de ficheros a 6-4
. Adquiriendo mediciones con sistema DAQ. a 6-7
D. Controlando Instrumentos senensennsennnessnnnnsees OTT
Leccion 7
Usando algoritmos de maquinas de estado y secuenciales
A. Progtamacién secuencial .... . eee
B. Programacién de estado conten seen Do
C. Maquinas de estados..... fo TA
Leccion 8
Resolviendo desafios de flujo de datos con variables
A. Comunicacién entre bucles paralelos
B. Escribiendo a controles y leyendo de indicadores...
C. Variables
D. Condiciones de carrera.
Apéndice A
Informacién Adicional y Recursos
GlosarioGuia del estudiante
Gracias por comprar el paquete de curso LabVIEW Core J. Podré empezar a desarrollar una
aplicacién poco después de completar este curso. EI manual del curso y el software adjunto se
utilizan en el curso practico de tres dias LabVIEW Core 1
Puede aplicar la adquisicién completa de este paquete de curso a la cuota de registro
correspondiente del curso si se inscribe antes de 90 dias desde la compra del paquete. Visite
ni. com/ training para consultar en linea la programacién, el contenido, los centros de
formacién y la inscripcién en la clase del curso.
A. Certificacién de NI
El curso LabVIEW Core J forma parte de una serie de cursos disefiados para dominar LabVIEW y
ayudarle a prepararse para los examenes de Desarrollador Asociado Certificado de LabVIEW de
NI. La siguiente ilustracién muestra los cursos que forman parte de fa serie de formacién de
LabVIEW. Consulte ni . com/training para obtener informacién adicional acerca de la
certificacion de NI.
New User Experionced User ‘Advanced User
Courses
LabVIEW Cove 1° Managing Sattare
Laoview Cove 2° Engineering in LabVIEW
LabVIEW Connectivily Advanced Architectures
Object-Oriented Design seen
and Programming
i in LABVIEW
certifications LabVIEW Performance
Coniiod LabVIEW Ceriteatawvien Ls)
Associate Developer Exam ‘Dovoioper Exam
other Courses
LabVIEW instrument Control, LabVIEW RealTime 1 LabVIEW Real-Time 2
Labview FPGA, LabVIEW DA0 ang Signal Conditioning Modular Instruments Series
Core outs are stony recommended o vane maximum procul Gah when using L=DVIEWS
© National instrumenis|Gua dot estusiante
B. Descripcién del curso
El curso LabVIEW Core / le ensefia conceptos, técnicas, caracteristicas, VIs y funciones de
programacién de LabVIEW que puede utilizar para crear aplicaciones de prueba y medicién,
adquisicién de datos, control de instrumentos, registro de datos, andlisis de mediciones y
generacién de informes. Este curso supone que esté familiarizado con Windows y que tiene
experiencia en escribir algoritmos en forma de diagramas de flujo o diagramas de bloque. Los
manuales de ejercicios y del curso estén divididos en lecciones, descritas de este modo.
Enel manual del curso, cada leecién consta de fo siguiente:
+ Una introduccién que deseribe el objetivo de la leccién y lo que aprender
+ Una descripeidn de los temas de la leceién
+ Uncuestionario de resumen que prueba y esboza conceptos y conocimientos importantes
ensefiados en la leccién
En el manual de ejercicios, cada leccién consta de lo siguiente:
+ Un conjunto de ejercicios para reforzar esos temas
+ Algunas lecciones incluyen secciones de ejercicios opcionales y de retos 0 un conjunto de
ejercicios adicionales para realizar si el tiempo lo permite.
‘E\ —Nota Para ver actualizaciones y correcciones det manual de ejercicios y del curso,
consulte ni. com/ info y escriba el Cédigo de Informacién Core?
Varios ejercicios usan uno de los siguientes productos hardware de National Instruments:
+ Un dispositivo multifuncién de adquisicion de datos (DAQ, data acquisition) conectado a un
BNC-2120 que contiene un sensor de temperatura, un generador de funciones y LEDs
+ Una interfaz GPIB conectada a un Simulador de instrumentos de NI
Aunque no disponga de este hardware, puede realizar los ejercicios. Se ofrecen otras instrucciones
para realizar los ejercicios sin hardware. También puede sustituir el hardware mencionado
anteriormente por otto diferente. Por ejemplo, puede utilizar un instrumento GPIB en lugar del
Simulador de instrumentos de NI u otro dispositive DAQ de National Instruments conectado a un
origen de sefial, como un generador de funciones.Manual de Corso LabviEW
C. Lo que necesita para empezar
Lecturas recomendadas
E] material de lectura recomendado garantiza que todos los alumnos tengan un conocimiento
minimo de las teorias y conceptos clave relacionados con el curso LabVIEW Core 1. Para obtener
el maximo rendimiento de este curso, complete todo el material de lectura recomendado
Para acceder a cada uno del material de lectura recomendado, consulte ni. com/ info y escriba el
Cédigo de Informacién que corresponda a cada tema:
LabVIEW Core | - El método de desarrolio de software (Codigo de Informacion: SoftDev)
1 Introduccién a la adguisicién de datos (Cédigo de Informacién: DAQ)
(Tutorial de control de instrumentos GPIB (Cédigo de Informacién: GPIB)
Material del curso
‘Antes de empezar este curso, asegiirese de tener todos estos elementos
C Ordenador con Windows 7/VistaXP
1 Dispositive DAQ multifuncién configurado como Dev1 utilizando Measurement &
Automation Explorer (MAX)
BNC 2120, conectores y cable
Interfaz GPIB
Simulador de instrumentos de NI y alimentacién eléctrica
Full o Professional Development System 2012 0 posterior de LabVIEW
DAQmx 9.5.5 0 posterior
‘NI-488.2 3.0.2 0 posterior
oooundmcunohmUmcDnLUmO
NI VISA 5.2 0 posterior
© Unable GPIB
© National insirurnants iGura del estusiante
(© Ni Instrument Simulator Wizard instalado desde el CD de software de NI Instrument Simulator
CD del curso LabVIEW Core 1, que se instala en las siguientes carpetas:
Deseripeién
Carpeta para guardar VIs creados durante el curso y para completar
ciertos ejercicios de éste; también incluye subVIs necesarios para
algunos ejercicios y un archivo comprimido (NI Instrument
Simulator .zip) que contiene el controlador de instrumentos de
LabVIEW para el Simulador de instrumentos de NI
Solutions Contiene las soluciones para todos los ejercicios del curso
D. Instalacion del software del curso
‘Complete estos pasos para instalar el software del curso,
I. Inserte el CD del curso en el ordenador. Apareceran los cuadros de didlogo de LabVIEW
Core 1 Course Setup.
2. Haga clic en Install the course materials.
3. Si
Jas instrueciones en la pantalla para completar la instalacién y configuracién.
Los archivos de ejercicios se encuentran en la carpeta \LabVIEW Core 1\.
YEA Nota _Los nombres de carpetas entre corchetes angulares, como , hacen
referencia a carpetas del directorio raiz de su ordenador.
E. Objetivos del curso
Este curso le prepara para hacer lo siguiente:
+ Comprender los paneles frontales, los diagramas funcionales, los iconos y los paneles
conectores
+ Usar las estructuras de programacién y los tipos de datos existentes en LabVIEW
+ Usar varias técnicas de edicién y de depuracién
+ Crear y guardar VI para poder utilizarlos como subV1
+ Mostar y registrar datos
+ Crear aplicaciones que utilicen dispositivos DAQ
Crear aplicaciones que usen instrumentos de puerto serie y GPIBManual da Curso LabVIEW Core 1
Este curso no describe lo siguiente:
+ Cada VI, funcién u objeto integrado; consulte la Ayuda de LabVIEW para obtener informacion
adicional acerca de las funciones de LabVIEW no descritas en este curso.
+ Teoria analogica a digital (A/D)
+ Funcionamiento det bus GPIB
+ Desarrollar un controlador de instrumento
+ Desarrollar una aplicacién completa para cualquier estudiante de la clase; consulte el
‘NI Example Finder seleccionando Help»Find Examples, para ver ejemplos de Vis que puede
utilizar e incorporar en los VIs que cree
F. Convenciones del curso
Las siguientes convenciones aparecen en este manual del curso:
» El simbolo » le guia por elementos de meni anidados y opoiones de cuadros
de didlogo a una accién final. La secuencia Tools»Instrumentation»
Find Instrument Drivers le guia a desplegar ment, Tools, seleccionar
Instrumentation, y finalmente seleccionar la opeién Find Instrument
Drivers
g Este icono indica un consejo, que le alerta de recomendaciones,
a Este icono indica una nota, que le alerta de informacién importante.
a Este icono indica una precaucién, para que tome precauciones y evite
lesiones, pérdida de datos o una caida del sistema
negrita Eltexto en negrita indica que debe seleccionar el software o hacer clic en él
como elementos de ment y opciones de cuadro de didlogo. El texto en
negrita denota también las secciones de los cuadros de didlogo y etiquetas
de hardware.
cursiva El texto en cursiva indica variables, énfasis, una remision o una
introduccién a un concepto clave. El texto en cursiva también indica texto
que es un pardmetro de sustitucién para una palabra o un valor gue debe
proporcionar.
monospace El texto con esta fuente indica texto o caracteres que debe escribir con
teclado, secciones de cédigo, ejemplos de programacién y ejemplos de
sintaxis. Esta fuente también se utiliza para los nombres propios de unidades
de disco, rutas, directorios, programas, subprogramas, subrutinas, nombres
de dispositivos, funciones, operaciones, variables, nombres de archivos y
extensiones.
@ National instuments | icGuia del estudiante
monospace bold EI texto con esta fuente indica los mensajes y las respuestas que el
ordenador imprime autométicamente en la pantalla. Esta fuente también
enfatiza lineas de cédigo distintas de los otros ejemplos.
Platform El texto con esta fuente indica una plataforma conereta y que el texto que le
sigue se aplica s6lo a esa plataforma.Explorando LabVIEW
Esta leccion muestra como navegar por el entorno LabVIEW. Describe el uso de menus, barras de
herramientas, paletas, herramientas, ayuda y cuadros de dislogo comunes de LabVIEW. También
aprender a ejecutar un VI y conceptos generales de un panel frontal y diagrama de blogues. Al
final de esta leccién, crear un VI simple que adquiera, analice y presente datos.
Temas
{Qué es LabVIEW"
Creacién de un VI simple
‘© National instruments | 9Leccién 1 Exploranda LabVIEW
A. {Qué es LabVIEW?
LabVIEW es un entomo de programacién grafico que puede utilizar para crear aplicaciones répida
y eficientemente con interfaces de usuario profesionales. Millones de ingenieros y cientificos usan
LabVIEW para desarrollar sofisticadas aplicaciones de pruebas y control usando iconos y cables
intuitivos. Ademés, la plataforma LabVIEW es escalable a través de diferentes objetivos y OSs.
De hecho, LabVIEW oftece integracién con miles de dispositivos y facilita cientos de librerias
integradas para andlisis avanzados y visualizacién de datos para crear instrumentos virtuales que
puede personalizar de acuerdo a sus necesidades.
‘Ya que LabVIEW imita la apariencia y operacién de instrumentos fisicos, como osciloscopios y
multimetros, los programas de LabVIEW son llamados instrumentos virtuales 0 Vis. Los VIs,
tienen panel frontal y diagrama de bloques. El panel frontal es la interfaz. de usuario. El diagrama
de blogues es el programa detrds de la interfaz de usuario. Tras crear la ventana del panel frontal,
puede aftadir c6digo usando representaciones graficas de funciones para controlar los objetos del
panel frontal. El cédigo en el diagrama de bloques es cddigo grafico, también conocido como
cédigo G o eddigo de diagrama de bloques.
A diferencia de lenguajes de programacién basados en texto como C++ y Visual Basic, LabVIEW
uusa iconos en vez de Iineas de texto para crear las aplicaciones, En programacién basada en texto,
las instruceiones determinan el orden de ejecucién, LabVIEW utiliza flujo de datos grafico. En
programacién mediante flujo de datos grafico, los datos fluyen a través de nodos en el diagrama de
bbloques y eso determina el orden de ejecucisn. La programacién grafica y la ejecucién mediante
flujo de datos son las dos principales formas en que LabVIEW es diferente de otros lenguajes de
programacién de propésito general.
En este curso, usted aprender como puede usar LabVIEW para crear aplicaciones simples de
adquisicién de datos usando los tres pasos: adquirir, analizar y presentar. A pesar de que este curso
cs ensefiado en un sistema Windows, LabVIEW es multi-plataforma. Usted puede desarrollar
aplicaciones en sistemas Windows, Mac OS o Linux. Ademas, usted también puede desplegar
aplicaciones de LabVIEW a una gran variedad de dispositivos “real-time” y FPGA.
Caracteristicas de LabVIEW
Los programas de LabVIEW tienen las siguientes caracteristicas:
+ Naturaleza gréfica y compilada
Flujo de datos y/o programacién basada en eventos
+ Capacidades multi-objetivo y plataforma
+ Flexibilidad orientada a objetos
+ Posibilidades de multithreading
1-2 | nicomManual de Curso LabVIEW Core +
En LabVIEW Core I, usted aprendera acerca de la naturaleza grafica y compilada de LabVIEW y
flujo de datos. Los siguientes cursos exploran otras caracteristicas:
+ LabVIEW Core 2—Aprendera sobre programacién orientada a eventos.
+ Object-Oriented Design and Programming in LabVIEW—Aprenderé sobre programacion
orientada a objetos en LabVIEW.
+ LabVIEW Performance—Aprenda como tomar ventaja de las capacidades de multithreading y
gestion de memoria de LabVIEW para mejorar la ejecucién de programas y el uso de memoria.
Grafico y compilado
Aunque representado graficamente con iconos y cables en vez de texto, el cédigo G en el diagrama
de bloques contiene los mismos conceptos de programacién encontrados en la mayoria de
lenguajes tradicionales. Por ejemplo, cddigo G incluye tipos de datos, bucles, gestién de eventos,
variables y programacién orientada a objetos. LabVIEW compila cédigo G directamente a codigo
de maquina para que el procesador pueda ejecutarlo. No necesita compilar cédigo G en un paso
adicional.
Flujo de datos y programacién orientada a eventos
Los programas de LabVIEW se ejecutan de acuerdo a las reglas de flujo de datos en lugar de la
manera tradicional encontrada en la mayoria de lenguajes de programacién basados en texto como
Cy C++. La ejecucién mediante flujo de datos es dependiente de los datos. E] flujo de datos entre
os nodos en el eddigo G determina el orden de ejecucién.
La programacién orientada a eventos extiende el concepto de flujo de datos de LabVIEW para
permitir al usuario interaccidn directa con el programa. La programacién basada en eventos
también permite otras actividades asincronas para influenciar la cjecucién del cédigo G en el
diagrama de bloques.
Capacidades multi-objetivo y plataforma
Con aplicaciones de LabVIEW, usted puede tener como objetivos procesadores multinicleo y otros
hardware paralelos como “Field-Programable Gate Arrays” (FPGAs). Usted puede
automaticamente escalar aplicaciones de LabVIEW a CPUs con dos, cuatro o mas niicleos,
usualmente sin programacién adicional.
El cédigo G, con la excepcién de algunas funciones especificas de algunas plataformas, es portable
centre diferentes sistemas LabVIEW para diferentes sistemas operativos. Por lo tanto, usted puede
usar el mismo cédigo si esta utilizando LabVIEW en sistemas Windows, Mac OS X o Linux
Orientado a objetos
La programacién orientada a objetos es un acercamiento popular atraves de una gran variedad de
lenguajes de programacién. Permite una gran variedad de items similares, aungue diferentes, de
ser representados como una clase de objetos en el software. LabVIEW provee herramientas y
funciones para que usted pueda utilizar técnicas de programacién orientada a objetos en su
cédigo G.
National instruments | 1-3ection 1 Explorando LabVIEW
Multithreading y gestion de memoria
LabVIEW permite paralelismo automatico a su cédigo. En otros lenguajes si se requiere ejecutar
codigo en paralelo, usted debe manejar los hilos miiltiples manualmente. El entorno LabVIEW, con
el compilador y sistema de ejecucién trabajando juntos, automaticamente ejecuta el cddigo en
paralelo siempre que sea posible. La mayoria del tiempo los detalles de la ejecucién de un sistema
no tienen importancia para usted porque el sistema se comporta como debe sin intervenci
embargo, LabVIEW también provee las opciones para mejorar el rendimiento,
Lanzando el entorno LabVIEW
Cuando lance LabVIEW, aparecers la ventana Getting Started como se muestra en la figura 1-1
Figura 1-1, Ventana Getting Started de LabVIEW
sae
Fi Opeate Tea Hep
i LabVIEW" C
) Open Existing
Welcome wo LabVIEW
Caneel deters sede
(ethane
Use la ventana Getting Started para crear nuevos proyectos y VIs. Puede crear items desde cero
© utilizar ejemplos. También puede abrir archivos existentes de LabVIEW y acceder a los recursos
de fa comunidad de LabVIEW y a la ayuda.
La ventana Getting Started desaparece cuando abre un archivo existente o crea un archivo nuevo,
y reaparece cuando cierra todos los paneles frontales y diagramas de bloques abiertos. Puede
mostrar la ventana seleccionando View»Getting Started Window.
1-4 | sicomManual de Curso LabVIEW Core 1
B. Explorador de proyectos
Los programas de LabVIEW se denominan VIs. Puede utilizar miiltiples Vis juntos para hacer una
aplicacién de LabVIEW. Para agrupar los Vis relacionados con la misma aplicacién utilice un
proyecto LabVIEW. Cuando guarda un proyecto LabVIEW desde la ventana Project Explorer.
LabVIEW crea un archivo de proyecto (.1vpro3), que incluye referencias a todos los archivos de
LabVIEW en el proyecto, informacién de configuracién ¢ informacién de despliegue
Algunos programas de LabVIEW, como Vis simples, no requieren crear un proyecto, Es necesario
utilizar un proyecto para crear aplicaciones y librerias compartidas. También debe utilizar un
proyecto para trabajar con una plataforma en tiempo real (RT), de array de puertas programable in
situ (FPGA) o agenda electronica (PDA). Consulte la documentacién del madulo especifico para
obtener informacién adicional acerca de usar proyectos con los médulos de tiempo real, FPGA y
PDA de LabVIEW.
Ventana del explorador de proyectos
Los proyectos en LabVIEW consisten de VIs, archivos necesarios para que esos VIs se ejecu
apropiadamente y archivos suplementarios como documentacién 0 enlaces. Utilice la ventana
Project Explorer para administrar proyectos en LabVIEW.
La ventana Project Explorer incluye los siguientes elementos de forma predeterminada
+ Project root; contiene el resto de elementos de la ventana Project Explorer. Esta etiqueta en
Ia raiz del proyecto incluye el nombre de archivo del proyecto.
+ My Computer: representa el ordenador local como un destino del proyesto.
+ Dependencies: incluye los elementos que requieren los Vis de un destino.
+ Build Specifications: incluye configuraciones para distribuciones de cédigo y otros tipos de
distribuciones disponibles en los toolkits y médulos de LabVIEW. Si tiene instalada la version
PDS (Professional Development System) o el Application Builder de LabVIEW, puede usar
Build Specifications para configurar aplicaciones independientes, libretias compartidas,
instaladores y archivos comprimidos.
Q Consejo Un destino es cualquier dispositive que pueda ejecutar un Vi
Cuando afiada otro destino al proyecto, LabVIEW crearé otro elemento en la ventana Project
Explorer para representar la nueva plataforma. Cada destino incluye tambien las secciones
Dependencies y Build Specifications, Puede afadir archivos bajo cada uno de los destinos
© Natonal nstuments | 1-5on} Explorande LabVIEW
Complete los siguientes pasos para utilizar la ventana Projeet Explorer para crear y modificar
proyectos en LabVIEW,
1
Seleccione File»Create Project para mostrar el cuadro de didlogo Create Project, El cuadro
de didlogo Create Project incluye una lista de plantillas y proyectos de ejemplo que usted
puede utilizar para asegurarse que el proyecto que esté creando utilice pricticas de diseiio y
programacion confiables.
Busque la plantilla o ejemplo que se aproxime mis al proyecto que desea realizar. Use las
siguientes herramientas para buscar las plantillas y ejemplos de proyectos:
+ Filters—Muestra solo resultados de cierto tipo, como plantillas o ejemplos de proyectos
para un objetivo especifico.
+ Additional Search—Busca palabras clave, titulos y descripeiones de los resultados
filtrados.
+ More Information—Abre el archivo de ayuda para el item respectivo. Revise el archivo
cde ayuda para asegurarse que la plantilla o ejemplo se aproxime al proyecto que desea
realizar.
Haga elic en el botén 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,
Utilice la ventana Project Explorer para administrar proyectos en LabVIEW. Refiérase a los
comentarios en el diagrama de bloques de los VIs en el proyecto para mas informacién acerca
de como modificar el proyecto. También refiérase al folder Project Documentation en la
ventana Project Explorer para més informacién sobre como modificar el proyecto.
Barras de herramientas de proyectos
Use los botones de las barras de herramientas Esténdar, Proyecto, Instalacion y Control de
cédigo fuente para realizar operaciones en un proyecto de LabVIEW. Las barras de herramientas
estan disponibles en la parte superior de la ventana Project Explorer, como muestra la figura 1-2.
Quiza tenga que expandir la ventana Projet Explorer para mostrar todas las barras de
herramientas.
16Manual de Curse LabVIEW Core
Figura 1-2. Ventana Project Explorer
@
raject Explorer =
Ee) Ostomne vrs. 4
Eg) Teagerture Sindtor ot
1B) Weather staionsttenct |
Dependencies
Barra de herramientas estandar 5 Ralz de proyectos
Barra de herramientas de proyectos & Destino
Barra de herramientas de construccién 7 Dependencias
Barra de herramientas de control de cédigo fuente 8 Crear especiticaciones
Consejo La barra de herramientas Control de cédigo fuente sélo est disponible si
tiene el control de cédigo fuente configurado en LabVIEW.
Puede mostrar u ocultar barras de herramientas desde View»Toolbars y seleccionando las barras
de herramientas que desea mostrar u ocultar. También puede hacer clic con el botén derecho en una
zona abierta de cada barra de herramientas para seleccionar la que desee mostrar u ocultar.
Creacién de un proyecto en LabVIEW
Complete los pasos siguientes para crear un proyecto.
2.
3.
Escoja una de las siguientes acciones para crear un proyecto LabVIEW nuevo,
+ Enla ventana Getting Started haga clic en Blank Project para abrir un proyecto en nuevo
© haga clic en e] botén Create Project para crear un proyecto nuevo a partir de una
plantilla.
+ Enun proyecto o VI abierto, seleccione File»Create Project
+ En cualquier ventana de LabVIEW, seleccione FileyNew. También puede seleccionar
Project»Empty Project en el cuadro de didlogo New para mostrar la ventana Project
Explorer.
Afiada elementos que desee incluir en el proyecto bajo un destino
Seleccione File»Save Project para guardar el proyecto.
‘© National instruments | 17eocién 1 Explorando LabVIEW
Anadir archivos existentes a un proyecto
Puede afiadir archivos existentes a un proyecto, Use el elemento My Computer (u otro destino)
en la ventana Project Explorer para afiadir archivos como Vis 0 archivos de texto a un proyecto
de LabVIEW.
Afiada elementos que desee incluir en el proyecto de estos modos:
+ Haga clic con el botén derecho en My Computer y seleccione Add»File desde el menit
contextual para afiadir un archivo. También puede seleccionar Project»Add To Projeet»File
desde el memi Project Explorer para afiadir un archivo.
+ Haga clic con el botén derecho en el destino y seleccione Add»Folder (Auto-populating)
desde el ment contextual para afiadir una carpeta de relleno automatico. También puede
seleceionar Project»Add To Project»Add Folder (Auto-populating) para afladir una carpeta
de relleno automatico, LabVIEW controla y actualiza continuamente la carpeta segin los
cambios realizados en el proyecto y en el disco
+ Haga clic con el botén derecho en el destino o My Computer y seleccione Add»Folder
(Snapshot) desde ef ment contextual para afiadir una carpeta virtual. También puede
seleccionar Projeet»Add To Project»Add Folder (Snapshot) para afiadir 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 también crea elementos
en el proyecto que representan el contenido de todo el directorio, incluidos los archivos y el
contenido de subdirectorios. Si selecciona una carpeta del disco, affadira el contenido de toda
la carpeta, incluyendo archivos y el contenido de las subcarpetas.
Nota Tras aftadir una carpeta virtual del disco a un proyecto, LabVIEW no actualiza
aulomaticamente la carpeta en el proyecto si realiza cambios en la carpeta del disco.
+ Haga clic con el botén derecho en el destino y seleccione New»VI desde el ment contextual
para afladir un nuevo VI. También puede seleccionar File»New VI o Project»Add To
Project»New VI para afiadir un VI nuevo.
+ Seleccione el icono del VI en la esquina superior derecha de una ventana de panel frontal o de
diagrama de bloques y arrastre el icono al destino,
+ Seleccione un elemento 0 carpeta del sistema de archivos de su ordenador y arristrelo al
destino.
Eliminar elementos de un proyecto
Puede eliminar elementos de la ventana Project Explorer de las siguientes maneras:
Haga clic con el bot6n derecho en el elemento que desee eliminar y seleccione Remove from
Projeet del ment contextual.
+ Seleccione el elemento que desea eliminar y pulse .
Seleccione el elemento que desee eliminar y haga clic en el bot6n Remove From Project de
la barra de herramientas Standard.
1-8 | alcomManual de Curso LaBVIEW Core 1
\€{_Nota__Eliminar un elemento de un proyecto no implica eliminarlo del disso.
Organizar elementos de un proyecto
La ventana Project Explorer incluye dos paginas: Items y Files. La pagina Items muestra los
elementos del proyecto que existen en el arbol de proyecto. La pagina Files muestra los elementos
del proyecto que tienen un archivo correspondiente en el disco. Puede organizar nombres de
archivos y carpetas en esta pagina. Las operaciones de proyectos de Ja pagina Files reflejan y
actualizan el contenido del disco. Puede cambiar de una pagina a la otra haciendo clic con el bot6n
derecho en una carpeta o elemento bajo un destino y seleccionando Show in Items View o Shaw
Files View en el ment contextual
Use carpetas para organizar elementos en la ventana Project Explorer. Puede aftadir dos tipos de
carpetas en un proyecto de LabVIEW: virtuales y de relleno automatico. Las carpetas virtuales
organizan elementos del proyecto. Haga clic con el botén derecho en la ventana Project Explorer
y seleccione New» Virtual Folder desde el menit contextual para crear una carpeta virtual nueva
Las carpetas de relleno automatico se actualizan en tiempo real para reflejar el contenido de las
carpetas del disco. Afiada una carpeta de relleno automatico al proyecto para mostrar elementos del
proyecto como aparecen en el disco.
Las earpetas de relleno automatico solo se ven en la pagina Items de la ventana Project Explorer
Puede ver el contenido del disco de una carpeta de relleno automatico pero no puede realizar
operaciones en el disco como cambiar e! nombre, reorganizar y eliminar elementos del proyecto.
Para realizar operaciones del disco en elementos de una carpeta de relleno automatica, use la
pagina Files de la ventana Project Explorer. La pagina Files muestra la ubicaciGn de las carpetas
del proyecto en el disco. Las operaciones de proyectos de la pagina Files reflejan y actualizan el
contenido del disco. Igualmente, LabVIEW actualiza automaticamente la carpeta de relleno
automatico en el proyecto si realiza cambios en la carpeta del disco fuera de LabVIEW
Bs posible ordenar elementos en una carpeta, Para ello, haga clic con el botén derecho en una
carpeta y seleccione Arrange By»Name desde el meni contextual para ordenar elementos por
orden alfabético. Haga clic con el bot6n derecho en una carpeta y seleccione Arrange By» Type
desde el ment contextual para ordenar elementos por tipo de archivo.
Ver archivos de un proyecto
Cuando aftade un archivo a un proyecto de LabVIEW, LabVIEW incluye una referencia al archivo
del disco. Haga clic con el botén derecho en un archivo de la ventana Project Explorer y
seleccione Open desde el ment contextual para abrir e] archivo en su editor predeterminado
Haga clic con el botén derecho en el proyecto y seleccione View»Full Paths desde el ment
contextual para mostrar dénde estan guardados en el disco los archivos a los que hace referencia
un proyecto.
Use el cuadro de didlogo Project File Information para ver donde se encuentran los archivos a los
que hace referencia un proyecto en el disco y en la ventana Project Explorer, Seleccione Project»
ile Information para mostrar el cuadro de didlogo Project File Information. También puede
© National instruments | 1-9Leccléa t Exploranda LabVIEW
hacer clic con el botén derecho en el proyecto y seleccionar View»File information desde el ment
contextual para mostrar el cuadro de didlogo Project File Information.
Guardar un proyecto
Puede guardar un proyecto de LabVIEW de los siguientes modos:
+ Seleccione File»Save Project.
+ Seleccione Project»Save Project.
+ Haga clic con el botén derecho en el proyecto y seleccione Save en el ment contextual,
+ Haga clic en ef botén Save Project en la barra de herramientas Project.
Debe guardar los nuevos archivos que no hayan sido guardados previamente en un proyecto antes
de poder guardar éste. Cuando guarde un proyecto, LabVIEW no guardard dependencias como
parte del archivo del proyecto.
Nota Realice una copia de seguridad de un proyecto cuando vaya a hacer revisiones
importantes en él
C. Partes de un VI
Los Vis de LabVIEW contienen tres componentes principales: la ventana del panel frontal, el
diagrama de bloques y el panel de iconos / conectores,
Ventana del panel frontal
La ventana del panel frontal es la interfaz del usuario para el VI. La figura 1-3 muestra un ejemplo
de una ventana de panel frontal. Puede crear la ventana del panel frontal con controles €
indicadores, que son los terminales interactivos de entrada y salida del VI, respectivamente.
4-10 | nicomManual de Curso LaaviEW Core 1
Figura 1-3. Panel frontal de VI
Measurements
pee
es
A
Delay Mott Ls
note all
os 1 a2 4
oa ms
(oe Va x» |
oy a
0 2 6
Ventana de diagrama de bloques
Tras crear la ventana del panel frontal, puede afiadir cédigo usando representaciones graficas 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 eddigo fuente
grafico. Los objetos del pane! frontal aparecen como terminales en el diagrama de bloques.
Figura 1-4. Diagrama de Bloques
{Fie Edt Mew Dronet_Qperte Teoh Wnaow Ee
ol fliers 2 fale ca
ure of Mesurments
bey cee
© Notional instruments | 7-17Leccién $ Expovando LabVIEW
Panel de iconos y conectores
El panel de iconos y conectores muestra c6mo usar y ver un VI en otro VI. Un VI que se utiliza en
otro VI se denomina subVI, que es similar a una funcién en un lenguaje de programacién basado
en texto, Para utilizar un VI como subVI, debe tener un panel de iconos y conectores.
Cada VI muestra un icono en la esquina superior derecha de la ventana del panel frontal y de la
ventana del diagrama de bloques. A la izquierda se muestra un ejemplo del icono predeterminado.
Un icono es una representacién grafica de un VI. El icono puede contener texto e imagenes. Si
utiliza un VI como un subVI, el icono identifica el subVI en el diagrama de bloques del VI. El icono
predeterminado contiene un nimero que indica cudntos Vis nuevos abrié tras lanzar LabVIEW.
=
Para utilizar un VI como subVI, debe crear un panel de conectores, mostrado a la izquierda. El
panel de conectores es un conjunto de terminales del icono que se corresponde con los controles ¢
indicadores de ese VI, de manera similar a la lista de parametros de una Hamada de funcién en
lenguajes de programacién basados en texto. El panel de conectores se muestra junto al icono del
‘Vien esquina superior derecha de la ventana del panel frontal. No es posible acceder al panel de
conectores desde el icono de la ventana del diagrama de bloques.
Abrir un VI existente
Seleccione Browse en la lista Open de la ventana Getting Started para navegar hasta un VI
existente y abrirlo.
Q Consejo Los VIs que modifique en este curso se encuentran en el directorio
\LabVIBW Core 1
Cuando se cargue el VI, podré aparecer un cuadro de didlogo de estado similar al siguiente
ejemplo.
12 | nicoManual de Curso LabVIEW Core 1
BH Weather Staion uli
Loading 2Loaded
CASoltions\ LabVIEW Core \Brescse-1\No HWSupporting Files Temperature Warnings
Scorching
(CAProgrem Fes\Nationl Instrument ae VW 20.2sb sound?
La seecién Loading enumera los subVIs del VI segiin se cargan en memoria y muestra el ntimero
de subVIs cargados hasta ahora. Puede cancelar la carga en cualquier momento, haciendo clic en
el botén Stop.
Si LabVIEW no puede encontrar inmediatamente un subVI, empezar a buscar en todos los
directorios especificados en la ruta de bisqueda del VI. Puede modificar la ruta de biisqueda det
VI seleccionando Tools»Options y después Paths en la lista Category.
LabVIEW puede hacer caso omiso de un subVI haciendo clic en el botén Ignore Item, o puede
hacer clic en el botén Browse para buscar el subVI que falte.
Guardar un VI
Para guardar un nuevo V1, seleccione File»Save. Si ya guard6 su V1, seleccione File»Save As para
acceder al cuadro de dilogo Save As. Desde el cuadro de didlogo Save As, puede crear una copia
del VI climinar el VI original y sustituirlo por el nuevo.
@ National Instruments | 1-43Leceién 1 Exploranda LabVIEW
Nota Consulte el tema Save As Dialog Box de la Ayuda de LabVIEW para mostrar
Figura 1-6. Cuadro de diélogo Save As
gna ie Ee
SslbesLabMEW Coe t\ceree ine Wouter ion Ui
apy 162 onde
Ege] ssnttte copy or ont
Fe copy lb wry. engl bce
A Usher frei ls nner otc toth oy.
Citreate opened sk copy
alle anor. Coy abe cond
(© bpen adaional copy
ath aga and coy sl bein menery Copy must have rena
o ‘Rename - rename He cn dsk.
MR trapne incurs Hcahvis ee a rawiana
Duplicate hierarchy to new location
‘Copy this ants herechy (ech les vil) toa newlocain.
Dp Reteerinfesmenary
ae Coe) |
informacién detallada sobre cada opcién del cuadro de didlogo Save As.
D. Panel frontal
Cuando abra un VI nuevo 0 existente, aparecera la ventana del panel frontal del VI. La ventana del
panel frontal es la interfaz del usuario para el VI. La figura 1-7 muestra un ejemplo de una ventana
de panel frontalManual de
Figura 1-7. Ejemplo de un panel frontal
B1sing Tempersoren Font Pane
Bie ft ew Brject pert
[flstaopicbon tow =
peewee a Delay Gee)
ge ee : Sk, SRSA
: 00 2 Ao 60 eo ano
‘Terperture Sap oe Temp Pt BAS
15 100 125 150 175 20 225 250 215 300
Time ed, 4
fl
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 comande
diales y otros dispositivos de entrada. Los indicadores son graficos, LED y otras vis
Los controles simulan dispositivos de entrada de instrumentos y ofrecen datos al dia,
bloques del VI. Los indicadores simulan dispositivos de salida de instrumentos y muestran datos
que adquiere o genera el diagrama de bloques
La imagen 1-7 contiene los siguientes objetos: dos controles: Number of Mea
(sec). Tiene un indicador: un XY graph llamado Temperature Graph
rements y Delay
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 basandose en el cédigo creado en el diagrama de bloques
‘Aprenderd esto en la seccién Controles ¢ indlicadores numéricos
Cada control 0 indicador tiene un tipo de datos asociado. Por ejemplo, el control destizante
horizontal Delay (sec) es un tipo de datos numérico. Los tipos de datos mas utilizados sor
numérico, booleano y cadena de caracteres. Aprenderé otros tipos de datos en
Inplementacién de un VI
a leccién 3,
© National instrumentsLecciéa 1 Explovando LabVIEW
Controles e indicadores numéricos
E]| tipo de datos numérico puede representar niimeros de varios tipos, como entero o real. Los dos
objetos numéricos comunes son el control numérico y el indicador numérico, como se ve en la
figura 1-8. Objetos como los medidores y los dials también representan datos numéricos.
Figura 1-8. Controles e indicadores numéricos
+-®
iO
Botones de incremento / decremento 3 Indicador numérico
2 Control numérico
Para introducir 0 cambiar valores en un control numérico, haga clic en los botones de incremento
y decremento con la herramienta de operaciones o haga doble clic en el nero con la herramienta
de etiquetado © de operaciones, escriba un nuevo niimero y pulse la tecla .
Controles e indicadores booleanos
El tipo de datos booleano representa datos que sélo tienen dos estados posibles, como TRUE y
FALSE u ON y OFF, Use los controles € indicadores booleanos para escribir y mostrar valores
booleanos. Los objetos booleanos simulan conmutadores, botones de comando y LED. Los objetos
booleanos de tipo conmutador vertical y de tipo LED redondo aparecen en la figura 1-9.
Figura 1-9. Controles e indicadores booleanos
Controles e indicadores de cadena de caracteres
El tipo de datos cadena de caracteres es una secuencia de caracteres ASCII. Use controles de
cadena de caracteres para recibir texto del usuario como una contrasefia 0 un nombre de usuario.
Use indicadores de cadena de caracteres para mostrar texto al usuario. Los objetos de cadena de
caracteres mas comunes son tablas y cuadros de entrada de texto, como se ve en la figura 1-10.
16 | skcomFigura 1-10. Controles ¢ indicadores de cadena de caracteres
Manual de Curso LabVIEW Core 1
‘sung Conch
| [Dipay tet he
eerhere Aad ¢
Paleta de controles
La Paleta de Controles contiene los controles ¢ 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 categorias; puede mostrar alguna de
ellas o todas segiin sus necesidades. La figura 1-11 muestra la paleta Controls con todas las
categorias mostradas y la categoria Silver expandida, Durante este curso, la mayoria de ejercicios
utilizan controles de la categoria Silver.
Figura 1-11. Paleta de Controles
‘Contos @
Aur, Mot Uist Table 2.
I> cassie
> yaar
“Gontl Bein &Srision
NET eect
‘Addane
| >” Une Contos
Selects Corral
Change Vile Pate
© National instruments | 1-17Lovcidn 1 Bxplorando LabVIEW
Para mostrar u ocultar categorias (subpaletas), seleccione el botén Customize en la paleta y
seleccione o deseleccione en la opcién Change Visible Palettes.
Barra de herramientas de la ventana del panel frontal
Cada ventana tiene una barra de herramientas asociada. Use los botones de la barra de herramientas
de la ventana del panel frontal para ejecutar y modificar el VI
La siguiente barra de herramientas aparece en la ventana del panel frontal.
[> eo) ola | [et Apatc
Haga clic en el botén Run para ejecutar un VI, LabVIEW compila el VI, si es necesario. Puede
ejecutar un VI si el botén Run aparece como una flecha blanca continua, como se ve abajo. La
flecha blanca continua también indica que puede utilizar el VI como un subVI si crea un panel de
conectores para el VI.
Mientras se ejecuta el VI, el botén Run aparece como se muestra abajo si el Ves de alto nivel, lo
que significa que no tiene Vis que le amen y por lo tanto no es un subVI.
[|
VI que se esta ejecutando es un subVI, el botén Run aparece como se muestra abajo.
>
El botén 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 esta roto
y no puede ejecutarse. Haga clic en este botén para mostrar la ventana Error list, que enumera
todos los errores y advertencias.
a
Haga clic en el botén Run Continuously para ejecutar el VI hasta que anule pause la ejecucion.
También puede hacer clic en el botén de nuevo para desactivar la ejecucién continua.
fel
1418 | nicomManual de Curso LabVIEW Cove +
Mientras se ejecuta el VI, aparece el botén Abort Execution. Haga clic en este boton para detener
el V1 inmediatamente sino hay otro modo de detenerlo. Si més de un VI de alto nivel en ejecucion
utiliza el VI, el botén aparece atenuado.
fe
LX Precaucién El botén Abort Execution detiene inmediatamente el VI, antes de que
termine la iteracién actual. Si aborta un VI que utiliza recursos externos, como el
hardware externo, podria dejar los recursos en un estado desconocide por no
restablecerlos 0 liberarlos correctamente. Disefie Vis con un bot6n de parada para evitar
este problema
Haga clic en el botén Pause para pausar un V1 en ejecucién, Cuando haga clic en el botén Pause,
LabVIEW resaltaré en el diagrama de bloques la ubicacién donde paus6 la ejecucién y el botn
Pause aparecera en rojo. Haga clic en el botin Pause de nuevo para seguir ejecutando el VI
nj
Seleccione el menti desplegable Text Settings para cambiar los ajustes de fuente para las partes
seleccionadas del VI, como el tamaito, estilo y color.
Seleccione el menti desplegable Align Objects para alinear objetos a lo largo de Jos ejes, come el
vertical, el borde superior, borde izquierdo, ete.
Seleccione ef meni desplegable Distribute Objects para espaciar objetos uniformemente,
inchuidos los espacios, la compresién, etc.
Seleccione el menti desplegable Resize Objects para cambiar varios objetos del panel frontal al
mismo tamaio.
ew
(© National lasinaments | 1-13Leceién 1 Exalovando LabVIEW
Seleccione el menii desplegable Reorder cuando tenga objetos solapados y desee definir cual esta
enfrente o detris de otro. Seleccione uno de los objetos con la herramienta de posicionamiento y
después seleccione Move Forward, Move Backward, Move To Front 0 Move To Back.
Introduzca términos de busqueda para localizar contenido en la Ayuda de LabVIEW.
Seleccione el boton Show Context Help Window para cambiar la visualizacin de la ventana
Context Help.
Enter Text aparece para recordarle que existe un nuevo valor para sustituir @ uno antiguo. El botén
Enter Text desaparece cuando hace clic en él, pulsa la tecla o hace clic en el espacio de
trabajo del panel frontal o del diagrama de bloques.
@ Consejo La tecla del teclado numérico termina una entrada de texto, mientras
que la tecla principal afiade una nueva linea, Para modificar este
comportamiento, seleccione Tools»Options, seleccione Environment de Ia lista
Category y marque la opcién End text entry with Enter key
E. Diagrama de bloques
Entre los objetos del diagrama de bloques se incluyen los terminals, subVIs, funciones,
estructuras y cables, los cuales transfieren datos entre otros objetos del diagrama de bloques.
1-20 | nicomManual de Curso LabVIEW Core +
Figura 1-12. Ejemplo de un diagrama de bloques y el panel frontal correspondien!
GB adaasub vi Front bai
Bese E
Sek [Ge ta eer Soe goes eae
ae a (sfal eel [i
2
1 Terminales de indicador 2 Cables 3 Nodos|
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 intereambian informacion entre el pane!
frontal y el diagrama de bloques. Los terminales son andlogos a los parémetros y constantes de
lenguajes de programacién basados en texto. Existen terminales de control o de indicador y
terminales de nodo. Los terminales de control y de indicador estan asociados a los controles ¢
indicadores del panel frontal, Los datos que introduce en los controles del pane! frontal (a y b en
el panel frontal anterior) entran en el diagrama de bloques mediante los terminales de control. A
continuacién, los datos entran en las funciones Add y Subtract. Cuando las funciones Add y
Subtract completan sus célculos, producen nuevos valores de datos. Los valores de datos fluyen a
Jos terminales indicadores, donde actualizan los indicadores del panel frontal (a+b y a-b en el pane!
frontal anterior).
Los terminales de la figura 1-12 pertenecen a los controles ¢ indicadores del panel frontal. Como
Jos terminales representan las entradas y salidas de su V1, los subVIs y las funciones también tienen
terminales, mostrados abajo. Por ejemplo, los paneles de conectores de las funciones Add y
Subtract tienen tres terminales de nodo. Para mostrar los terminales de la funcién en el diagrama
de bloques, haga clic con el botén derecho en el nodo de la funcién y seleccione Visible Items»
Terminals en el meni contextual
@ National Intrumenia | 127Leceisn 1 Sxplorando LabViE\
Controles, indicadores y constantes
Los controles, indicadores y constantes actiian como entradas y salidas del algoritmo del diagrama
de bloques. Considere la implementacién del algoritmo para el rea de un triangulo:
Area = .5 * Base * Altura
En este algoritmo, Base y Altura son entradas y Area es una salida, como se ve en la figura 1-13.
Figura 1-13. Panel Frontal del area de un triangulo
El usuario no cambiaré ni avcederd a la constante .5, por lo que no aparecerd en el panel frontal a
menos que se incluya como documentacién del algoritmo.
La figura I-14 muestra una posible implementacién de este algoritmo en un diagrama de bloques
de LabVIEW. Este diagrama de bloques tiene cuatro terminales distintos constituidos por dos
controles, una constante y un indicador.
Figura 1-14. Diagrama de bloques del drea de un tridngulo con vista de iconos de los terminales
[Determines the area ofa tangle
Base (em) ‘Area (ern*2)
re > of
Height (cr) Triangular Multiplier
+ Controles 2 Indieadar ‘3 Constante
Tenga en cuenta que los terminales del diagrama de bloques Base (em) y Altura (em) tienen un
aspecto distinto del terminal Area (em?). Existen dos caracteristicas distintivas entre un control y
un indicador en el diagrama de bloques. La primera es una flecha en el terminal que indica la
direecién 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 | micomManual de Curso LabVIEW Core 1
La segunda caracteristica distintiva es el borde alrededor del terminal. Los controles tienen un
borde més grueso y los indicadores uno mas fino.
Puede ver terminales con o sin Ia 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
caracteristicas distintivas entre los controles y los indicadores
Figura 1-15. Diagrama de bloques del rea de un tridngulo sin vista de iconos de los terminales
> pee?
Triangular Multiplier
05}
Base (cm)
Height (om)
Nodos del diagrama de bloques
Los nodos son objetos del diagrama de bloques que tienen entradas 0 salidas y realizan operaciones
cuando se ejecuta un VI. Son andlogos a las instrucciones, operadores, funciones y subrutinas
en Ienguajes de programacién basados en texto. Los nodos pueden ser funciones, subVIs 0
estructuras. Las estructuras son elementos de control de procesos, como las estructuras Case.
los bucles For o los bucles While. Las funciones Add y Subtract de la figura 1-12 son nodos de
funcién,
Funciones
Las funciones son los elementos operatives fundamentales de LabVIEW. Las funciones no tienen
ventanas de panel frontal ni de diagrama de bloques pero si paneles de conectores. Ai hacer doble
clic en una funci6n sélo se selecciona ésta. Una funcién tiene un fondo amarillo palido en su icono.
SubVis
Los subVIs son Vis que crea para usar dentro de otro VI o a los que accede en Ja paleta Funetions.
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. F
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 de! diagrama
de bloques muestra el icono para el VI. Es e] icono que aparece cuando sittia el VI en un diagrama
de bloques como un subVi.
‘Los subVIs también pueden ser VIs Express. Los Vis Express son nodos que requieren wm cableado
minimo porque los configura con cuadros de didlogo. Use Vis Express para tareas comunes de
medicién, Puede guardar la configuracién de un V1 Express como un subV1. Consulte el tema
Express Vis de la ayuda de LabVIEW para mostrar informacién detallada sobre la creacién de un
subVI a partir de una configuracién de un VI Express.
120Leccidn 1 Explorando LabVIEW
LabVIEW usa iconos de colores para distinguir entre VIs Express y otros Vis del diagrama de
bloques. Los iconos para VIs Express aparecen en el diagrama de bloques como iconos rodeados
de un campo azul mientras que los iconos de subVIs tienen un campo amarillo.
Nodos expandibles frente a iconos
Puede mostrar Vis y Vis Express como iconos o como nodos expandibles, Los nodos expandibles
aparecen como iconos rodeados de un campo de color. Los subVIs aparecen con un campo amarillo
y los Vis Express con un campo azul. Use iconos si desea conservar espacio en el diagrama de
bloques. Use nodos expandibles para facilitar el cableado y para ayudar en la documentacién de
diagramas de bloques. De forma predeterminada, los subV1s aparecen como iconos en el diagrama
de bloques y los Vis Express aparecen como nodos expandibles, Para mostrar un subVI 0 VI
Express como un nodo expandible, haga clic con el botén derecho en el subVI o VI Express y quite
la marca junto al elemento del menii contextual View As Icon.
Puede cambiar el tama del nodo expandible para facilitar més el cableado, pero también requiere
un espacio considerable en el diagrama de bloques. Complete los pasos siguientes para cambiar el
tamafio de un nodo en el diagrama de bloques:
1. Mueva la herramienta de posicionamiento sobre el nodo. Aparecen los controladores de
tamaio arriba y abajo del nodo.
‘Mueva el cursor sobre un controlador de tamaio para cambiar el cursor al de cambio de
lamafto.
Use el cursor de cambio de tamafio para arrastrar el borde del nodo hacia abajo para mostrar
més terminales,
4, Suelte el botén del ratén,
Para cancelar una operacién de cambio de tamaiio, arrastre el borde del nodo mas alla de la ventana
del diagrama de bloques antes de soltar el botén del raton,
La figura 1-16 muestra el VI Basic Function Generator como un nodo expandible con un tamaito
diferente
Figura 1-16, VI Basic Function Generator en varios modos de visualizaci6n
saa
1-24 | nicomManual de Curso LabVIEW Cove #
\G\_Nota_Si muestra un subV1 0 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 funcién Add y Subtract. Cada cable
tiene un solo origen de datos, pero puede cablearlo a numerosos Vis y funciones que leen los datos
Los cables tienen distintos colores, estilos y grosores, en funcién de sus tipos de datos.
Un cable roto aparece como una linea negra discontinua con una X roja en el medio, como se ve
abajo. Los cables se rompen por varias razones, como al intentar cablear dos objetos con tipos de
datos incompatibles.
aes
La tabla 1-1 muestra los tipos de cable mas comunes.
Tabla 1-1. Tipos de cables comunes
Tipode cable | Escalar | Array1D | Array 2D Color
‘Numérico — y arrastrando el objeto. El cableado automatico se desactiva de forma predeterminada
cuando usa la herramienta de posicionamiento para mover un objeto que ya esté en el diagrama de
bloques.
Puede ajustar la configuracién del cableado automético seleccionando Tools»Options y después
Block Diagram en la lista Category.
Cableado manual de objetos
Cuando pasa la herramienta de cableado sobre un terminal, aparecerd una ayuda con el nombre del
terminal. Adems, el terminal parpadea en la ventana Context Help y en el icono para ayudarle a
comprobar que est cableando en el terminal correcto. Para cablear objetos entre si, pase la
herramienta de cableado por el primer terminal, haga clic, pase el cursor sobre el segundo terminal
y haga clic de nuevo. Después de cablear, puede hacer clic con el botén derecho en el cable y
seleccionar Clean Up Wire desde el menti contextual para que LabVIEW elija automaticamente
una ruta para el cable, Si tiene que eliminar cables rotos, pulse para eliminar todos los
cables rotos del diagrama de bloques.
Paleta de funciones
La paleta Funetions 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 seleceionando
Functions Palette. La paleta Functions se divide en varias categorias; puede mostrar u ocultar
categorias segiin sus necesidades. La figura I-17 muestra una paleta Functions con todas las
categories mostradas y la categoria Programming expandida. Durante este curso, trabajara
principaimente en la categoria Programming, pero también usar otras categorias o subpaletas.
1-28 | nicomFigura 1-17. Paleta de funciones
Qserchi] Qewtonse] =P
son and Motion
> Mathenats
D> Signal Processing
{> Data Conmunston
> cenneatvey
Control Design & Simian
> press
i> Favorites
[> User ubrares
| Sele vt
Manual da Curso LabVIEW Core 1
Para mostrar u ocultar categorias, seleccione el botén Customize en la paleta y seleccione 0
deseleccione la opcién Change Visible Palettes.
Barra de herramientas del diagrama de bloques
Cuando ejecuta un VI, aparece una serie de botones en la barra de herramientas del diagrama de
bloques que puede utilizar para depurar el VI. La siguiente barra de herramientas aparece en el
diagrama de bloques.
[DLS] OLN] [SSS eoler + [a5pe Application Fore [8
Haga clic en el boton Highlight Execution para mostrar una animacién de la ejecucién det
iagrama de bloques cuando ejecute el VI. Observe el flujo de datos a través del diagrama de
bloques. Haga elie en el botén de nuevo para desactivar el resaltado de la ejecucién
© National insteumenis | 1-27Leseién 1 Explorand LabVIEW
Haga clic en el botén Retain Wire Values para guardar los valores de los cables en cada punto
del flujo de ejecucién de modo que cuando coloque una sonda en el cable, pueda conservar
inmediatamente el valor mas reciente que pas6 por el cable. Debe ejecutar correctamente el VI al
menos una vez antes de poder conservar los valores de los cables.
es]
Haga clic en el botén Step Into para abrir un nodo y pausar la ejecucién, Haciendo clic en el botén
Step Into de nuevo, se ejecuta la primera accién y se pausa la ejecucién en siguiente accién del
subVT 0 de la estructura. También puede pulsar las teclas y la flecha abajo. Ejecutar paso a
paso un VI permite revisar el VI nodo a nodo. Cada nodo parpadea para indicar cudndo esta listo
bal
Haga clic en el botén Step Over para ejecutar un nodo y pausar la ejecucién en el siguiente nodo.
También puede pulsar las teclas y la flecha derecha. Al pasar por encima del nodo, ejecuta
el nodo pero no paso a paso.
_
ov
Haga clic en el bot6n Step Out para terminar de ejecutar el nodo actual y pausar la ejecucién.
‘Cuando se termina de ejecutar el VI, se atentia el botén Step Out. También puede pulsar las teclas
y Ia flecha arriba. Al salir de un nodo, se completa la ejecucién paso a paso del nodo y se
pasa al siguiente nodo.
Haga clic en el botén Clean Up Diagram para redirigir automaticamente todos los cables
existentes y reordenar objetos del diagrama de bloques para generar un disefio més limpio. Para
configurar las opciones de limpieza seleccione Tools»Options para mostrar el cuadro de didlogo
Options y seleccione Block Diagram de la lista Category. Puede configurar las opciones en la
seccién Block Diagram Cleanup.
El bot6n Warning aparece si un VI incluye una advertencia y mareé la casilla de verificacié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
a
£28 | nicomManual de Curso LabVIEW Core 1
Utilidades de ayuda de LabVIEW
Use la ventana Context Help, la Ayuda de LabVIEW y el NI Example Finder para ayudarle a crear
y modificar Vis. Consulte la Ayuda de LabVIEW y los manuales para obtener informacion
adicional acerca de LabVIEW.
Ventana Context Help
La ventana Context Help muestra informacién bésica sobre los diferentes objetos de LabVIEW
cuando mueve el cursor sobre cada uno de ellos. Para ver la ventana Context Help, seleccione
Help»Show Context Help, pulse las teclas 0 haga clic en el botén Show Context Help
Window de la barra de herramientas.
‘Cuando mueva el cursor sobre los objetos del panel frontal y del diagrama de blogues, la ventana
Context Help mostrard el icono para subVIs, funciones, constantes, controles e indicadores,
con eables acoplados a cada terminal. Cuando mueva cl cursor sobre las opciones del cuadro de
didlogo, la ventana Context Help mostrar sus descripciones.
En la ventana Context Help, las etiquetas de terminales obligatorios aparecen en negrita, los
terminales recomendados como texto sin formato y los opcionales aparecen atenuiados. Las
etiquetas de terminales opeionales no aparecen si hace clic en el boton Hide Optional Terminals
and Full Path en la ventana Context Help.
Figura 1-18. Ventana Context Help
Contest Help
Read rom Spreadsheet Fev
feanat 5.9)
fie path ailog# emp)
‘utmber of rows (l=)
rok after read (chats)
transpose (oo) a
Reads a specified numberof ins or roms rom 2 numeric tet fe
beginning ata sce character ofet and conver the dat to «2,
tdoble-preciion aay of number, ing, orintegers You must rman
{let the pelymorph instance you want ous.
Detailed hele
@Navonat tnsituments | 1-23Lecelén 1 Explorando LabVIEW
Haga clic en el botén Show Optional Terminal
Is 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 opci
jonales aparecen como cables cortados,
informandole de que existen otras conexiones. El modo detallado muestra todos los terminales,
como en la figura 1-19.
Figura 1-19. Ventana
oneet Hel
(CAs LabVIEW 201 LIBIUIy
formnst 263)
fe path aislog if emp)
numer wn) T=
teanspose ost)
“site
Read specified cumbe fines or ows
toumbes,
instance youwantt ute.
ang
Context Help detallada
Wetb\Read From Spreadsheet File. vi
ew file path ot ath
row
Fit rom
rn arene)
tor? |
froma nurse text file beginning st
‘pected character offet and conve the data t 82, doube-precon aay
ngs rrkegers. You
manual sletthe pelynarphic
Detaled eta
Haga clic en el botén 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 cambiard el
contenido de la ventana. Para desbloquear la ventana, haga clic de nuevo en el bot6n, También
puede acceder a esta opcién desde el ment Helj
Si existe un tema en la Ayuda de LabVIEW aso
Context Help, aparecerd un enlace azul Detail
Ip.
@]
ciado a un objeto que se describe en la ventana
Jed help en la ventana Context Help. Asimismo,
e] botén More Help se encontrard activado. Haga clic en el enlace en el botén para mostrar
LabVIEW Help y obtener informacién adicional sobre el objeto.
LabVIEW Help
Puede acceder a la Ayuda de LabVIEW haciendo clic en el botén More Help de la ventana Context
Help ,seleccionando Help»LabVIEW Help, 0
ventana Context Help. También puede hacer cl
Help en el ment contextual.
0 | ni.corm
haciendo clic en el enlace azul Detailed Help de la
lic con el botén derecho en un objeto y seleccionarManual de Curso LasVIEW Core 1
LabVIEW Help contiene descripciones detalladas de la mayoria de las paletas, ments,
herramientas, VIs y funciones. La Ayuda de LabVIEW también incluye instrucciones paso a paso
para utilizar las funciones de LabVIEW. La Ayuda de LabVIEW incluye enlaces a los siguientes
recursos:
+ LabVIEW Documentation Resources, que describe documentos en linea ¢ impresos para
ayudar a los usuarios nuevos y con experiencia ¢ incluye versiones en PDF de todos los
manuales de LabVIEW,
+ Recursos de soporte técnico enel sitio Web de National Instruments, como NI Developer Zone,
KnowledgeBase y Product Manuals Library (Biblioteca de Manuales de Producto)
NI Example Finder
Use NI Example Finder para explorar o buscar ejemplos instalados en su ordenador o en
NI Developer Zone en ni .com/zone. Estos ejemplos demuestran c6mo utilizar LabVIEW para
realizar numerosas tareas de prueba, medidas, control y disefo. Seleccione Help»Find Examples
‘haga clic en el enlace Find Examples de la seccién Examples de Ja ventana Getting Started
para lanzar NI Example Finder.
Los ejemplos pueden mostrarle como utilizar Vis 0 funciones especificas, Puede hacer clic con el
botén derecho en un VI funcién del diagrama de bloques 0 en una paleta fijada y seleccionar
Examples desde el ment contextual para ver un tema de ayuda con enlaces a ejemplos para ese VI
o funcién, Puede modificar un VI de ejemplo para ajustarse a una aplicacién o puede copiar y pegat
desde uno 0 mas ejemplos en un VI que haya creado.
‘© National nstuments | 1-91Leccide 1 Explorando LabVIEW
Figura 1-20. NI Example Finder
Si oistbuting nd Oocurnenting Applications
tory Sauce earl
SDrundameonas
I | Saetardearetaput and Our i
DainausteyAppestons
Bort Recent |
i Briessonting |
5 New ample for sbvEW 2008 |
ae amples for ab 2018 |
Stu temple for sbvEW 2012
Sew Bape for sbVEW Bo
Sroptimzing appicatins
Sspreting sea Putting Data
SPrginmmsticty Conroting > equicerens
Stools a Meduee
i Stoo ane Modules st te
| | : |
Browse according to: | Building User Interfaces |
er nicomn
formoreeornples
Hardware 1 |
Find hdave Gl
Lint east dare Fal a Fens
F. Busqueda de controles, Vis y funciones
Cuando selecciona View»Controls 0 View»Funetions para abrir las paletas Controls y
Functions, aparecen dos botones en la parte superior de la paleta,
Seareh: cambia la paleta al modo de busqueda para poder realizar buisquedas de texto y encontrar
controles, Vis 0 funciones en las paletas. Con la paleta en el modo de busqueda, haga clic en el
botén Return para salir del modo de biisqueda y volver a la paleta.
Q search
Customize— Oftece opciones para seleccionar un formato para Ia paleta actual, mostrando
ocultando categorias para todas las paletas y clasificando elementos de los formatos Text y
‘Tree alfabéticamente. Seleccione Options del menii contextual para mostrar la pagina
Controls/Functions Palettes del cuadro de diélogo Options , donde puede seleccionar un formato
para todas las paletas. Este bot6n slo aparece si hace clic en la chincheta de Ia esquina superior
izquierda de una paleta para fijarla
Qeisoniee |
82 | aicomManual de Curso LabVIEW Cove
Hasta que se familiarice con la ubicacién de los VIs y las funciones, busque la funcién o VI con el
botén Search. Por ejemplo, si desea buscar la funcidn Random Number, haga clic en el botén
Search en la paleta Functions y empiece a escribir Random Number en el cuadro de texto de Ia
parte superior de la paleta. LabVIEW muestra todos los elementos coincidentes que empiecen por
el texto escrito 0 que lo contengan. Puede hacer clic en uno de los resultados de basqueda y
arrastrarlo al diagrama de bloques, como en la figura 1-21.
Figura 1-21. Busqueda de un objeto en la paleta Functions
Toms Generate Random Daa.
Period Random ois. [ME_AALSase vb)
Period Rendom Nise PDF. (NI_Ptbye Me
Petiade Random Noe Waveform. MAH
Dscete Rando.
CContruous Rend.
Slate Arvary Sena [M_Exves:FuL ib)
Simao Signal >
‘Sma trary Sona [Ml Express 1b)
‘Smuate Signal <>
Suite Signal >
‘ital Patern Generator.
Haga doble clic en el resultado de busqueda para resaltar su ubicacién en la paleta. Si se trata de
tun objeto que vaya a usar con frecuencia, puede afiadirlo a su categoria Favorites. Haga clic con el
botén derecho en el objeto de la paleta y seleccione Add Item to Favorites, como se ve en la
figura 1-22.
‘© National Insituments | 1-83Sxplorando LabVIEW
Figura 1-22. Anjadir un elemento a la categoria Favorites de una paleta
Seen] ene]
> rane |
1 Seasuaner 6
> tren 10
aon anatiten|
> Selena
oa commuraton
Cooney
» Canmaldesgn Sia
> estes
> Paver
Yaa
seus
Salt
> rogeanng
> Measurement 5
> ietrunere WO
> een and Mtn
© Motenatce
uaa
PEEP EPA Bm
& & i> A} a> b
PEPE eb be
Hem
eo)
or
> ate Gonmuneatin
» conezctvty
¥ CoetdDesign 8 Sidstion
> caress
© Faves
8
> adteoe
1 > User ubrares
Set a.
Parecido al botén de Search, usted puede usar el cuadro de didlogo Quick Drop para especificar
tuna paleta de objetos por nombre y emplazar el objeto en el diagrama de bloques o en el panel
frontal. Ademés de las paletas de objetos, usted puede también especificar objetos de proyecto por
nombre en el cuadro de didlogo Quick Drop.
Para mostrar el cuadro de didlogo Quick Drop, presione o seleccione View»Quick
Drop. Escriba el nombre del objeto que quiere afiadir al diagrama de bloques o al panel frontal
LabVIEW mostraré los resultados en la lista Name Mateh List. Para adjuntar el objeto
seleociénelo con el cursor, presione la tecla , haga doble-clic en el nombre del objeto en la
lista, 0 haga clic en el diagrama de bloques o el panel frontal. Haga clic en el lugar en el diagrama
de bloques o en el panel frontal donde quiera afiadir el objeto,
1-36 | nicomManual de Curso LabVIEW Cove +
Figura 1-23. Buscando un objeto en el cuadro de didlogo Quick Drop
Randaen Number (0-1)
“TOMS Generate Random Data
Peviodic Random Noises INLAALBase Mis]
Petiodic Randorn Noise PtByPtwi [NL PtbyPLvkib]
Penodie Rando Noise Waveform. [NL MAB lib]
Discrete Randoms
Continuous Randorn vi
Quasi Rendarnai [NLAAL, SignalGeneration ib]
G. Seleccién de una herramienta
Puede crear, modificar y depurar Vis utilizando las herramientas que ofrece LabVIEW. Una
herramienta es un modo de funcionamiento especial del cursor del ratén. El modo de
funcionamiento del cursor se corresponde con el icono de la herramienta seleccionada. LabVIEW
elige qué herramienta seleccionar en funcién de la ubicacién actual del raton
Figura 1-24. Paleta Tools
Consejo Puede elegir manualmente la herramienta que necesita seleccionandola en la
paleta Tools, Seleccione View»Tools Palette para mostrar la paleta Tools.
‘© National nsinuments | 1-35ton
amienta de
amienta de op
el ratén pasa por el puntero, el cursor accede automati
nbia al icono mostrado abajo, la herramienta de operaciones esta
operaciones para cambiar los valores de un control. Por ejemplo,
aciones mueve el puntero del control deslizante horizontal
amente a la herramienta de
igura 1-25. Uso
{81 Ling Temperatures Fone Pane!
Tat View Project _Dperate
LM) [set Apetcaton Font ~ [fox [Ae
‘umber of Mensurerents eta)
pe EEE
sh 20 to eo eo ano
28 25 $0 15 100 125 180 U5 209 25 29 215 300
Time Ge)
erramienta de operaciones se utiliza principalmente en la ventana del panel frontal, pero
suede utilizar esta herramienta de la ventana del diagrama de bloques para cambiar el
Jerramienta de posicionamiento
atén cambia al icono mostrado abajo, la herramienta de posicionamiento est
ccionar objetos o cambiar su tamaito.
amienta de posicionamiento selecciona el control numérico
Number of Measurements, Tras seleccionar un objeto, puede moverlo, copiarlo o eliminarlo,
sor accede automiticamente a la herramienta
jemplo, en ta figura 1-26 la hecambia para indicar que puede cambiar su ta
cursor se encuentra sobre una e:
Figura 1-26. Uso de la herramienta de posicionamiento para seleccio
‘EB Using Temperature Front Pa
ee ee oro
Delay Gee)
‘ek REREAD
nh 20 «0 en oy iho
‘ome ist BS
—— Sere
tn 25 30 7 100 125 a0 a7 m0 225 250 275 st
Tame Gee)
mafio, como se ve en la
quina del grafico XY en un nodo de ¢:
del cursor cambia a una flecha de dos puntas.
[G2 using Termperatureni Frnt Ponet
| [Ele it” iew “Boject_Operte Tool, Wor Help
ae
| Bet Aprcation Font. ~ |
urbe of Messuemet Duly 09
shoo on ama
vo 2H 40 60 0b iho
| ZempetoeGonh “emp ot Ga |
| ane
og
|
|
Foren
100- eer SER Enea
00°25 $6 15 ides ase ay wa 2s Mo?
Time G00,ion 1 Explorar
utilizar la herramienta de posicionamiento en la ventana de! panel frontal y en el diagrama
le bloques.
Herramienta de etiquetado
indo et cursor del ratén cambia al icono mostrado abajo, la herramienta de etiquetado esta
pperativa, Use la herramienta de etiquetado para escribir texto en un control, para modificar texto
etiquetas libres. Por ejemplo, en la figura 1-28 la herramienta de etiquetado escribe
control numérico Number of Measurements. Cuando el ratén pasa por el interior del
cursor accede automaticamente a la herramienta de etiquetado. Haga clic una vez para
{tar un cursor dentro del control. A continuacién, haga doble clic para seleccionar el texto actual
Ba
Figura 1-28. Uso de la herramienta de etiquetado
| $4 Using Temperatures Front Panel feces
Nuese of Measurements Detey eo,
ipo, a ARRON
no 20 40 6
Tempesioe Soph Temp Pot Eh
005
0:
wo
Fahreniee
150:
area rreremecene eneentar ters
th a5 50 7s 100 a25 a80 a5 200 295 290 215 soo
Time Gee)
rando no esta en una zona especifica de una ventana del panel frontal o una ventana del diagrama
Je bloques que accede a un determinado modo del ratén, el cursor apareceré como una cruz. Si se
2 1a selecein de herramienta automética, puede hacer doble clic en cualquier espacio abierto
ara acceder a la herramienta de etiquetado y crear una etiqueta libre.
nab
Herramienta de cableado
Cuando el cursor del rat6n cambia al icono mostrado abajo, la herramienta de cableado esta
pperativa. Use la herramienta de cableado para cablear objetos entre si que estén en el diagrama de
‘oques, Por ejemplo, en la figura 1-29 la herramienta de cableado cabiea el terminal Number of,Manual de Curso LabVIEW Core 1
‘Measurements al terminal de contaje para el bucle For. Cuando el ratén pasa por el punto de salida
© entrada de un terminal o por un cable, el cursor accede automaticamente a la herramienta de
cableado.
>
Figura 1-29. Uso de la herramienta de cableado
fe Eat few Bopa Qpwate fous Wndow Hey
os [1 nppeaton Fr
La herramienta de cableado funciona principalmente con la ventana del diagrama de bloques y
cuando crea un panel de conectores en la ventana del panel frontal
Otras herramientas a las que se accede desde la paleta
Puede acceder a las herramientas de operaciones, posicionamiento, etiquetado y cableado
directamente desde Ia paleta Tools, en lugar de usar el modo de seleccién automatic de la
herramienta, Seleccione View»Tools Palette para mostrar la paleta Tools.
Figura 1-30. La paleta Tools
© National instruments | 1-89Leco¥a 1 Explocando LabVIEW
Bl elemento superior de la paleta Tools es el botén Automatic Tool Selection. Cuando se
selecciona, LabVIEW elige autométicamente una herramienta en funcién de la ubicacién de su
cursor. Puede desactivar la seleccién automatica de la herramienta deseleccionando el elemento 0
seleccionando otro elemento de la paleta. Existen otras herramientas en la paleta, descritas abajo:
Use la herramienta Object Shortcut Menu para acceder a un meni contextual del objeto con el
botén izquierdo del ratén,
‘al
Use la herramienta de desplazamiento para desplazarse por las ventanas sin utilizar barras de
desplazamiento.
ie
Use la herramienta de puntos de interrupeién para establecer puntos de interrupeién en VI,
funciones, nodos, cables y estructuras para pausar la ejecucién en esa ubicacién.
[is]
Use la herramienta de sonda para crear sondas en cables del diagrama de bloques. Use la
herramienta de sonda para comprobar valores intermedios de un VI que produce resultados
cuestionables o inesperados.
[2]
Use la herramienta de copiar color para copiar colores y pegarlos con la herramienta de color.
Ed
Use la herramienta de color y el color escogido para darle color a un objeto. La herramienta de
color también muestra los ajustes de color de primer plano y de fondo actuales.
Seleccione la herramienta de color y haga clic con el bot6n derecho en un objeto o espacio de
trabajo para ver el selector de color.
1-40 | ni.comManual de Gurso LabVIEW Core 1
H. Flujo de datos
LabVIEW sigue un modelo de flujo de datos para ejecutar Vs, 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. BI movimiento de los datos
a través de los nodos determina el orden de ejecucién de los Vis y las funciones del diagrama de
bloques.
Visual Basic, C+, JAVA y la mayoria del resto de lenguajes de programacién basados en texto
siguen un modelo de flujo de control de la ejecucién del programa, En el flujo de control, ef orden
secuencial de los elementos del programa determina el orden de ejecucién de un programa
ara ver un ejemplo de programacién de flujo de datos, piense en un diagrama de bloques que suma
dos niimeros y después resta 50, 00 del resultado de la suma, como en la figura 1-31. En este caso,
el diagrama de bloques se ejecuta de izquierda a derecha, no porque los objetos estén situados en
ese orden, sino porque la funcién Subtract no puede ejecutarse hasta que la funcidin Add termine
de ejecutarse y pase los datos a la funcién Subtract. Recuerde que un nodo se ejecuta slo cuando
existen datos de todos sus terminales de entrada y suministra datos a los terminales de salida sdlo
cuando el nodo termina su ejecucién.
Figura 1-31. Ejemplo de programacién de flujo de datos
Result
En la figura 1-32, piense en qué segmento de cédigo se ejecutaria primero, la funcién Add,
Random Number o Divide, No puede saberlo, ya que las entradas de las funciones Add y Divide
estan disponibles a la vez, mientras que la funcién Random Number no tiene entradas. En una
situacién en la que un segmento de cédigo debe ejecutarse antes que otro y en la que no existe
dependencia de datos entre las funciones, use otros métodos de programacién, como clusters de
errores, para forzar el orden de ejecucién. Consulte la leccidn 5, Creamio y aproveckando
estructuras de datos para obtener informacién adicional acerca de los clusters de error,
Figura 1-32. Ejemplo de flujo de datos para segmentos de cédigos multiples
b> Resut 1
© National instruments | #41Explorando Labview
|. Creacién de un VI simple
La mayoria de los VIs de LabVIEW desempefian 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
ress estin diseftados especificamente para completar operaciones comunes y muy utilizadas.
nesta secci6n aprender algunos VIs Express que adquieren, analizan y presentan datos. Después
prendera a crear un VI simple que utiliza estas tres areas, como se ve en la figura 1-33.
Figura 1-33. Ventana del panel frontal y del diagrama de bloques de
ejemplo de adquisicién, andlisis y presentacién
\otage (iter) IA
| See gop Vorese
|
Ik os]
| a4 <
45
| Ce ake ake oe aL
Bi aareAnie bona fol lagim
ag ava | Finer
a Signet | veto Graph
T Sonat
nla
wilizan e
los Vis Express estin agrupados en la categoria Express. Los VIs Express
po de datos dinamico para pasar datos entre siManual de Curse LabVIEW Cove +
Adquirir
Los VIs Express usados para las tareas de Adquisicién incluyen lo siguiente: Asistente DAQ,
Asistente de Instrumentos E/S, Sefial Simulada, y Lectura desde un archivo de Medidas.
DAQ Assistant
E1DAQ Assistant adquiere datos con un dispositivo de adquisicién de datos. Debe utilizar este VI
Express con frecuencia a lo largo de este curso. Hasta que aprenda mas de la adquisicién de datos,
610 usard un canal del dispositivo de adquisicién de datos, ci10. Este canal esti conectado al sensor
de temperatura en el BNC 2120. Puede tocar el sensor de temperatura para cambiar la lectura de
temperatura en el sensor.
Instrument I/O Assistant
El Instrument I/O Assistant adquiere datos de contro! de instrumentos, normalmente desde una
interfaz GPIB 0 de serie.
Simulate Signal
El VI Express
ulate Signal genera datos simulados como una onda sinusoidal
Read From Measurement File
E] 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 archive LVM 0 TDM, Este Vi
Express no lee archivos ASCII. Consult la leceién 6, Administrando archivos v recursos
hardware para obtener informacién adicional acerca de leer datos de un archivo.
a
Analizar
Los Vis Express utilizados para la tarea Analizar incluyen los siguientes: Amplitude and Level
Measurements, Statistics y Tone Measurements,
© National instruments | 148Lectién 1 Explorando LabVIEW
Amplitude and Level Measurem:
RMS, pico maximo, pico minimo, de pico a pi
Statistics
El V1 Express Statistics calcula los datos estad
medio, suma, desviacién estindar y extremos.
Spectral Measurements
ents
VI Express Amplitude and Level Measurements mide la tensién en una sefial. Mide la CC,
ico, promedio del ciclo y RMS del ciclo.
LENS
isticos de una forma de onda. Incluye los valores
EI VI Express Spectral Measurements realiza la medicién espectral de una forma de onda, como la
magnitud y la densidad espectral de potencia,
Medidas de tonos
EI VI Express Tone Measurements busca un t
ae
nico tono con la maxima frecuencia o la mayor
amplitud, También busca la frecuencia y Ja amplitud de un Gnico tono.
Filter
El VI Express Filter procesa una seftal median
IM
te filtros y ventanas. Los filtros usados ineluyen lo
siguiente: Pasoalto, Pasobajo, Pasobanda, Bloqueobanda, y Suavizado (Smoothing). Las ventanas
utilizadas son Butterworth, Chebyshev, Cheby:
Presentar
sshev inverso, Eliptico y Bessel.
a
LS
Presente resultados utilizando VIs Express que realicen una funcién, como el VI Express Write to
Measurement File o indicadores que presentan datos en la ventana del panel frontal. Los
indicadores que més se suelen utilizar para esta tarea son los grificos Waveform Chart, Waveform
Graph y XY Graph. Los VIs Express habituales son V1 Express Write to Measurement File, VI
Express Build Text, DAQ Assistant e Instrument I/O Assistant. En este caso, e! DAQ Assistant y
el Instrument I/O Assistant proporcionan datos de salida desde el ordenador al dispositive DAQ 0
un instrumento externo.Manval da Curso LabVIEW Cons 1
Write to Measurement File
El VI Express Write to Measurement File escribe un archivo en formato de archivo LVM 0 TDMS.
Consulte la leccién 6, Adiministrando archivos y recursos hardware para obtener informacion
adicional acerca de escribir en archivos de medida.
Build Text
E] 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 lecci6n 6, Adnuinistramco «
hardware para obtener informacién adicional acerca de crear cadenas de caracteres,
precwusas
Ejecutar un VI
Tras configurar los VI Express y cablearlos, puede ejecutar el VI. Cuando termine de crear el VI,
haga clie en el bot6n Run en la barra de herramientas para ejecutar el VI
Mientras se esta ejecutando el VI, el icono del botén Rum cambia a la figura mostrada abajo, Tras
terminar la ejecucién, el botén Run cambia a su estado original y los indicadores del panel frontal
contendran datos.
Errores del bot6én Run
Si un VI no se ejecuta, es un V1 roto o no ejecutable. El botén Run aparece roto cuando el VI que
est creando 0 modificando contiene errores.
Si el botén sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI esti roto
y no puede ejecutarse.
Normalmente esto significa que una entrada necesaria no esta cableada o que un cable esté roto
Pulse el botén 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 leecién 2, Resolucién de problemas y depuracién de Vis para obtener informacion
adicional acerca de depurar VIs.
© National instruments | 1-85Manu da Curso LabVIEW Core 1
Autorrevision: Cuestionario
Consulte la figura 1-34 para responder a las preguntas de este cuestionario.
Figura 1-34. Preguntas de flujos de datos
1. {Qué funcién se ejecuta primero? Add or Subtract?
a. Add
b. Subtract
c, Nose sabe
2, {Qué funcién se ejecuta primero? Sine or Divide?
a. Sine
b. Divide
c. No se sabe
3. 4Qué funcién se ejecuta primero? Random Number, Divide or Add?
a. Random Number
b. Divide
c. Add
4d. Nose sabe
4, {Qué funcién se ejecuta después? Random Number, Subtract or Add?
a. Random Number
b. Subtract
c. Add
d. No se sabe
{Cudles son las tres partes de un VI?
‘Ventana del panel frontal
Ventana del diagrama de bloques
Proyecto
aes e
Panel de iconos y conectores
© National instruments | 147Autorrevisién: Respuestas
Ee
° &
me Ot
1. {Qué funcién se ejecuta primero? Add or Subtract?
a. Add
b. Subtract
c. No se sabe
2. {Qué funcidn se ejecuta primero? Sine or Divide?
a. Sine
b. Divide
c. No se sabe
3. (Qué funeién se ejecuta primero?
a. Random Number
b. Divide
ce. Add
4d. Nose sabe
a, Random Number
b. Subtract
c. Add
d. No se sabe
5. ¢Cuiles son las tres partes de un VI?
a, Ventana del panel frontal
b. Ventana del diagrama de bloques
c. Proyecto
a. Panel de iconos y conectores
Manuai de Curso LabVIEW Core 1
{Qué funcién se ejecuta después? Random, Subtract or Add?
National mstiuments { 1-49Leceion 1 Exploranda LabVIEW
Notas
1-50 | aconResolucién de problemas y
depuracidén de Vis
Para ejecutar un V1, debe cablear todos los subVIs, funciones y estructuras con los tipos de datos
correctos para los terminales. A veces un VI produce datos 0 se ejecuta de un modo inesperado.
Puede utilizar LabVIEW para configurar cémo se ejecuta un VI y para identificar problemas con
la organizacién del diagrama de bloques 0 con los datos que pasan por el diagrama de bloques
Temas
A. Corteccién de VIs rotos
B, Téenicas de depuracién
C. Datos sin definir o inesperados
D.
Manejo de Errores
(© National instrumentsLeccidn 2 Resohucin de problemas y depuracion de Vis
A. Correcci6n de VIs rotos
Si un VI no se ejecuta, es un VI roto o no ejecutable. El botén Run aparece roto cuando el VI que
creando 0 modificando contiene errores,
Si el bot6n sigue apareciendo roto tras terminar de cablear el diagrama de bloques, el VI esta roto
y no puede ejecutarse
Buscar causas de VIs rotos
Las advertencias no impiden que ejecute un VI, Estén disefiadas para ayudarle a evitar posibles
problemas en Vis. Sin embargo, los errores pueden romper un VI. Debe resolver los errores antes
de poder ejecutar el VI.
Haga clic en el botén Rum o seleccione View»Error List para averiguar por qué se ha roto un VI.
La ventana Error list muestra cada uno de los errores. La seccién Items with errors muestra los
nombres de todos los elementos en memoria, como librerias de proyectos y VIs que contienen
errores. Si dos o mas elementos tienen el mismo nombre, esta seccién muestra la ubicacién en
conereto de cada elemento, La seccién errors and warnings muestra los errores y las advertencias
del V1 que seleccione en la seccién Items with errors. La seccién Details describe los errores y
en algunos casos recomienda como corregirlos. Haga clic en el botén Help para ver un tema de
LabVIEW Help que describa el error en detalle ¢ incluya instrucciones paso a paso para corregirlo.
Haga clic en el botén Show Error o haga doble clic en la descripeién del error para resaltar la zona
del diagrama de bloques o del panel frontal que contenga el error.Manual de Curso LabVIEW Core 1
Figura 2-1. Ejemplo de cuadro de didlogo Error List
Peat Z x
hese oval be ed tote bess ek datatypes una, aa, rar it,
AeFabtey net Sh he Caner edn tose nm astonished
‘he tye fhe susce Sablon eco team)
Theppectthe sie oats of Somes
(ge) Csiro) Cie)
Causas habituales de Vis rotos
Esta lista contiene razones habituales de rotura de un VI mientras lo modifica:
+ Eldiagrama de bloques contiene un cable roto por un desajuste de tipos de datos o un extremo
suelto 0 desconectado. Consulte el tema Correcting Broken Vis de la Ayuda de LabVIEW para
‘obtener informacién acerca de corregir cables rotos.
+ Un terminal obligatorio del diagrama de bloques no esti cableado. Consulte el tema Using
Wires to Link Block Diagram Objects en la Ayuda de LabVIEW para obtener informacion
acerca de configurar entradas y salidas obligatorias.
+ UnsubVI esta roto o modified su panel de conectores tras colocar su icono en el diagrama de
bloques del VI. Consulte el tema Creating SubVis de LabVIEW Help para obtener informacion
acerca de subVIs.
B. Técnicas de depuracion
Si un VI no esta roto, pero obtiene datos inesperados, puede utilizar las siguientes técnicas para
identificar y corregir problemas con el VI 0 el flujo de datos del diagrama de bloques:
+ Cablee los parimetros de salida y entrada de error en la base de la mayoria 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 donde, También puede utilizar estos
pardmetros en los Vis que cree.
+ Para eliminar todas las advertencias del VI, seleccione View»Error List y marque la casilla de
verificacién Show Warnings para ver todas las advertencias del VI. Determine las causas y
corrijalas en el VI
© National instruments | 2-3LLecoién 2 Resolucidn de problemas y depuracién de Vis
+ Haga triple clic en el cable con la herramienta de posicionamiento para resaltar toda su ruta y
asegurarse de que los cables se conecten a los terminales apropiados.
+ Use la ventana Context Help para comprobar los valores predeterminados de cada funcién y
subVI en el diagrama de bloques. Los VIs y las funciones pasan los valores predeterminados
si no estan cableadas las entradas recomendadas u opcionales. Por ejemplo, una entrada
booieana podria configurarse en TRUE si no esta cableada.
+ Use el cuadro de didlogo Find para buscar subVIs, texto y otros objetos para corregir en el VI.
+ Seleccione View»VI Hierarchy para buscar subVIs sin cablear. A diferencia de las funciones
sin cablear, los Vis sin cablear no siempre generan errores a menos que configure una entrada
como obligatoria, Si coloca por error un subVI sin cablear en el diagrama de bloques, se ejecuta
cuando {o hace el diagrama de bloques. Por lo tanto, el VI podria realizar acciones adicionales.
+ Resalte las ejecuciones para ver el movimiento de datos por el diagrama de bloques.
+ Bjecute paso a paso el VI para ver cada accién suya en el diagrama de bloques.
+ Use la herramienta de sonda para observar valores de datos intermedios y para comprobar la
salida de errores de Vis y funciones, en especial las que realizan E/S,
+ Haga clic en el botén Retain Wire Values en la barra de herramientas del diagrama de bloques
para conservar los valores del cable, que utilizara con sondas. Esta funcién permite comprobar
facilmente valores de datos que se transfirieron por iltima vez por algin cable.
+ Use puntos de interrupcién para pausar la ejecucién, para poder ejecutar paso a paso 0 insertar
sondas.
+ Suspenda la ejecucién de un subV1 para modificar valores de controles e indicadores, para
controlar el mimero de veces que se ejecuta o para volver al principio de la ejecucién del subVI.
+ Determine si los datos que pasa una funcién o subVI estan sin definir. Esto suele suceder con
Jos mimeros. Por ejemplo, en un punto del VI una operacién podria haber dividido un nimero
por cero, devolviendo Tag (infinito), mientras que las siguientes funciones o subVIs esperaban,
niimeros.
+ Siel Vise ejecuta con més lentitud de la esperada, confirme que desactivé resaltar la ejecucién
en subVIs, Asimismo, cierre los paneles frontales y los diagramas de bloques del subVI cuando
no Jos esté utilizando, ya que las ventanas abiertas pueden afectar a la velocidad de ejecucién.
+ Compruebe la representacién de controles e indicadores para ver si se esta produciendo
desbordamiento, porque convirtié un nimero de coma flotante en un mimero entero o éste en
un nmero entero de menos bits. Por ejemplo, podria cablear un ntimero entero de 16 bits en
una funcién que sélo acepte nimeros enteros de 8 bits. Esto hace que la funcién convierta el
niimero entero de 16 bits en una representacién de 8 bits, con lo que podria perder datos.
+ Determine si algun buele For ejecuta accidentalmente cero iteraciones y produce arrays vacios,
Compruebe que inicializ6 correctamente registros de desplazamiento, a menos que deseara que
guardaran datos desde una ejecucién 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 tamafios de cluster durante la edicién,
pero no detecta desajustes de elementos del mismo tipo.‘Manual de Curso LabviEW Core +
+ Compruebe el orden de ejecucién de los nodos.
+ Verifique que el VI no contenga subVIs ocultos. Podria haber ocultado un subVI
accidentalmente colocandolo directamente sobre otro nodo © disminuyendo el tamafio de una
estructura sin mantener a la vista el subVI.
+ Contraste el conjunto de subVIs que utiliza el VI con los resultados de View»Browse
Relationships»This VI's SubVIs y View»Browse Relationships» Unopened SubVis para
determinar si existen subVis adicionales. Abra también la ventana VI Hierarchy para ver los
subVIs de un VI. Para ayudarle a evitar resultados incorrectos por Vis ocultos, especifique
entradas obligatorias para los VIs,
Resaltado de ejecucién
‘Vea una animacién de la ejecucién del diagrama de bloques haciendo clic en el boton Highlight
Execution.
El resaltado de la ejecucién muestra el movimiento de datos en el diagrama de bloques desde un
‘nodo a otto utilizando las burbujas que se mueven a lo largo de los cables. Use el resaltado de la
ejecucién junto con la ejecucién paso a paso para ver cémo se mueven los valores de datos de nodo
anodo a través de un VI
(Médulo MathScript RT) En los nodos MathScript, el resaltado de Ia ejecucién muesira la
progresién desde una linea de script a otra mediante una flecha azul que parpadea junto a la linea
que se est ejecutando actualmente.
Nota El resaltado de la ejecucién reduce enormemente la velocidad de ejecucién
del VI.
Figura 2-2, Ejemplo de uso de resaltado de la ejecucién
© National tastumnents | 2-5Lece'6a 2 Resolucion de problemas y depuracion de Vis
Ejecucién paso a paso
Ejecute paso a paso un VI para ver cada una de sus acciones en el diagrama de bloques mientras
se ejecuta el VI, Los botones de ejecucién paso a paso, mostrados a continuacién, afectan a la
ejecucién s6lo en un VI o subVI en el modo de ejecucién paso a paso.
fal a]
Slepinio. Stop Ovar Step Ox.
Entre en el modo de ejecucién paso a paso haciendo clic en el botén Step Into o Step Over en la
barra de herramientas del diagrama de bloques. Mueva el cursor sobre el botén Step Into, Step
Over o Step Out para ver una ayuda que describe el siguiente paso si hace clic en ese botén, Puede
ejecutar los subVIs paso a paso o ejecutarlos de forma normal
Cuando ejecuta un VI paso a paso, los nodos parpadean para indicar que estan listos para
ejecutarse, Si ejecuta un VI paso a paso con el resaltado de ejecucién activado, apareceré un
simbolo de ejecucién en los iconos de los subVIs que se estan ejecutando en ese momento.
Faw
hs
Herramientas de sonda
Use la herramienta de sonda para comprobar valores intermedios en un cable mientras se ejecuta
un VI
[e]
Use la herramienta de sonda si tiene un diagrama de bloques complicado con una serie de
operaciones, alguna de las cuales podria producir datos incorrectos, Use la herramienta de sonda
con el resaltado de la ejecucién, la ejecucién paso a paso y los puntos de interrupeién para
determinar si los datos son incorrectos y en qué punto. Si dispone de datos, la sonda
inmediatamente actualiza y muestra los datos en la Probe Watch Window durante el resaltado de
la ejecucién, la ejecucién paso a paso o cuando pause en un punto de interrupeién. Cuando se pause
la ejecucién en un nodo por la ejecucién paso a paso o por un punto de interrupcién, también puede
sondar el cable que acaba de ejecutar para ver el valor que fluy6 por ese cable.
@ Consejo Si quiere que una sonda muestre los datos que fluyen por un cable durante la
ejecucién de un VI, haga clic en el botén Retain Wire Values en la barra de herramientas
del diagrama de bloques.
Tipos de sondas
Puede comprobar los valores intermedios de un cable cuando se ejecuta un VI utilizando una sonda
genérica, un indieador de la paleta Controls para ver los datos, una sonda suministrada, una sonda
surninistrada personalizada o creando una nueva sonda,
2.8 | nicomManual de Curso LABVIEW Cove +
YEA _Nota_(Médulo MathScript AT) Puede ver los datos de un seript en wn nodo MathScript
mientras se ejecuta un VI utilizando la sonda LabVIEW MathScript.
Genéricas
Use la sonda genérica para ver los datos que pasan por un cable, Haga clic con el bot6n derecho ea
un cable y seleccione Custom Probe»Generic Probe desde el menii contextual para usat la sonda
genérica.
La sonda genérica muestra los datos. No puede configurar la sonda genérica para responcler a los
datos.
LabVIEW muestra la sonda genérica cuando hace clic con el botén derecho en un cable y
selecciona Probe, a menos que ya especificara una sonda personalizada o suministrada para el tipo
de datos.
Puede depurar una sonda petsonalizada de modo similar a un VI. Sin embargo, una sonda no puede
sondar su propio diagrama de bloques, ni el diagrama de bloques de cualquiera de sus subVIs. Al
depurar sondas, use la sonda genérica.
Uso de indicadores para ver datos
‘También puede utilizar un indicador para ver los datos que pasan por un cable. Por ejemplo, si ve
datos numéricos, puede utilizar un gréfico como sonda para ver los datos. Haga clic con el batén
derecho en un cable y seleccione Custom Probe»Controls desde el menti contextual y seleccione
el indicador que desea usar. También puede hacer clic en el icono Select a Control de la Paleta de
Controles y seleccionar cualquier control personalizado o definicin de tipo guardado en el
ordenador en un directorio compartido de un servidor. LabVIEW trata las definiciones de tipos
como controles personalizados cuando los utiliza para ver datos sondados.
Si el tipo de datos del indicador que seleccione no coincide con el tipo de datos del cable donde
hizo clic con el bot6n derecho, LabVIEW no colocard el indicador en el cable.
Suministradas
Las sondas suministradas son Vis que muestran informacién exhaustiva sobre los datos que pasan
por un cable. Por ejemplo, la sonda VI Refitum devuelve informacién sobre el nombre del VI, su
ruta y el valor hexadecimal de la referencia. También puede utilizar una sonda suministrada para
responder en funcién de los datos que pasan por un cable. Por ejemplo, use una sonda Error en wn
cluster de error para recibir el estado, el cédigo, el origen y la descripcién del error y especificar si
desea configurar un punto de interrupcién condicional si tiene lugar un error 0 una adverteneia
Las sondas suministradas aparecen en la parte superior del mentt contextual Custom Probe. Haga
clic con el boton derecho en un cable y seleccione Custom Probe desde e! ment contextual para
seleccionar una sonda suministrada, Sélo aparecen en el menit contextwal las sondas que coinciden
con el tipo de datos del cable donde hizo clic con el botén derecho.
@Naionat Instruments | 2.7Leccidn 2 Resolucin de problemas y depuracion de Vis
‘Consultee! VI Using Supplied Probes en labview\examples\general \probes . 11b pata ver
un ejemplo de uso de sondas suministradas.
Personalizadas
Use el cuadro de diélogo Create New Probe para crear una sonda en funcién de una sonda
existente o para crear una nueva. Haga clic con el bot6n derecho en un cable y seleccione Custom
Probe»New desde el mend contextual para ver el cuadro de didlogo Create New Probe. Cree una
sonda cuando desee tener mas control sobre cémo LabVIEW sonda los datos que fluyen por un
cable, Cuando crea una nueva sonda, el tipo de datos de la sonda coincide con el tipo de datos del
cable donde hizo clic con el botén derecho. Si desea modificar la sonda que cre6, debe abrirla desde
el directorio donde la guard6,
Tras seleccionar una sonda desde el ment contextual Custom Probe, navegue hasta él utilizando
la opcién de la paleta Select a Control o cree una nueva sonda con el cuadro de didlogo Create
New Probe. Esa sonda sera la predeterminada para ese tipo de datos y Lab VIEW la cargara cuando
haga clic con el botén derecho en un cable y seleccione Probe en el menti contextual. LabVIEW
slo carga las sondas que coinciden exactamente con el tipo de datos del cable donde hizo clic con
e! botén derecho. Es decir, una sonda numérica de coma flotante de doble precisién no puede
sondar un cable de un niimero entero sin signo de 32 bits, aunque LabVIEW puede convertir los
dates.
XE} Nota Si desea que una sonda personalizada sea la predeterminada para un tipo de datos
concreto, guarde la sonda en el directorio user. 1ib\_probes\default. No guarde
sondas en el directorio vi . 1ib\_probes porque LabVIEW sobrescribird esos archivos
cuando actualice o reinstale.
Puntos de interrupcién
Use la herramienta Breakpoint para establecer puntos ¢
pausar la ejecucién en esa ubicacién.
Cuando configura un punto de interrupcién en un cable, la ejecucién se pausa una vez que los datos
pasan por el cable y el botén Pause aparece rojo. Sitte un punto de interrupcién en el diagrama de
bloques para pausar la ejecucién una vez que se ejecuten todos los nodos del diagrama de bloques.
El borde del diagrama de bloques aparece rojo y parpadea para reflejar la colocacién de un punto
de interrupeién.
/errupei6n en Vis, nodos o cables y
Cuando un VI se pausa en un punto de interrupcién, LabVIEW pone en primer plano el diagrama
de bloques y usa un marco para resaltar el nodo, cable o linea de script que contiene el punto de
interrupcién. Cuando mueve el cursor sobre un punto de interrupeién, Ia zona negra del cursor de
ia herramienta de punto de interrupcién aparece blanca,
28 | nieomManual de Curso Lab’
Cuando Hlega a un punto de interrupeién durante la ejecucién, el VI se pausa y el botén Pause
aparece rojo. Puede realizar las siguientes acciones:
+ Seguir paso a paso la ejecucién con los botones de ejecucisn paso a paso.
+ Sondar cables para comprobar los valores intermedios,
+ Cambiar los valores de los controles del pane! frontal
+ Haga clic en el botén Pause para seguir ejecutando hasta el proximo punto de interrupeién o
hhasta que termine de ejecutarse el VI
Suspender la ejecucion
Suspenda la ejecucién de un subVI para modificar valores de controles ¢ indicadores, para
controlar el numero de veces que se ejecuta el subVI antes de volver al que le Hama o para volver
al principio de la ejecucién del subVI. Puede hacer que todas las Ilamadas a un subVI empiecen
con la ejecucién suspendida o puede suspender una llamada concreta a un subVI
Para suspendér todas las llamadas a un subVI, ébralo y seleccione Operate»Suspend when
Called. El subVI se suspendera automaticamente cuando lo Ilame otro VI. Si selecciona este
elemento de memi cuando ejecute paso a paso, el subVI no se suspendera inmediatamente. El
subVI se suspenderd cuando lo Ilamen.
Para suspender una llamada a un subVI conereto, haga clic derecho en el nodo del subVI en et
diagrama de bloques y seleccione SubVI Node Setup en el ment contextual. Active la casilla de
verificacién Suspend when called para suspender la ejecucién sélo en esa instancia del subVI
La ventana VI Hierarchy, que se abre seleccionando View» VI Hierarchy, indica si un VI esta
pausado 0 suspendido.
Un simbolo de flecha indica un VI que se est ejecutando con normalidad o paso a paso.
Un simbolo de pausa indica un VI pausado o suspendido.
+ Unsimbolo de pausa verde, o un simbolo hueco en blanco y negro, indica un VI q)
cuando le Haman.
> se pausa
+ Un simbolo de pausa rojo, o un simbolo relleno en blanco y negro, indica un VI que se esti
pausando.
Un simbolo de signo de exclamacién indica que el subVI esta suspendido.
!
XE\ Nota Un VI puede suspenderse y pausarse a la vez
@National insinamests | 2-9Leccién 2 Resolucisn de problemas y depuracién de Vis
Determinar la instancia actual de un subVI
Cuando pausa un subVI, el menu desplegable Call list de la barra de herramientas muestra la
cadena de llamadas desde el VI superior al subVI. Esta lista no es la misma que ve cuando
selecciona View»Browse Relationships»This VI’s Callers, que enumera todos los VIs que
Jaman al subV1 independientemente de si se estén ejecutando o no. Use el ment Cal list para
determinar la instancia actual del subVI si el diagrama de bloques contiene mas de una instancia.
Cuando selecciona un VI del ment Call list, se abre su diagrama de bloques y LabVIEW resalta
la instancia actual det subVI
‘También puede utilizar la funcién Call Chain para ver Ja cadena de Vis que aman al VI actual
hasta ef VI de nivel superior.
C. Datos sin definir 0 inesperados
Los datos sin definir, que son Nant (no un mimero) o Iné (infinito), invalidan todas las operaciones
siguientes. Las operaciones de coma flotante devuelven los dos siguientes valores simbélicos que
indican céleulos imperfectos o resultados sin sentido:
* NaN (no un ntimero) representa un valor de coma flotante que producen las operaciones no
validas, como obtener la raiz cuadrada de un nimero negativo.
+ In£ (infinito) representa un valor de coma flotante que producen las operaciones validas, como
dividir un nimero entre cero.
LabVIEW no comprueba las condiciones de desbordamiento o subdesbordamiento de valores
enteros, El desbordamiento y el subdesbordamiento para ntimeros de coma flotante se rige por
IBEE 754, norma para la aritmética de coma flotante de tipo binario.
Las operaciones de coma flotante propagan con fiabilidad Nan e Inf. Cuando convierte explicita
© implicitamente NaN o Inf en valores enteros o booleanos, los valores no tienen sentido. Por
ejemplo, dividir | entre cero produce taf. Convertir In£ en un numero entero de 16 bits produce
el valor 32.767, que parece ser un valor normal
Antes de convertir datos en tipos de datos de nameros enteros, use la herramienta de sonda para
comprobar los valores intermedios de coma flotante y ver su validez. Compruebe si hay NaN
cableando la funcién Not A Number/Path/Refnum?, al valor que sospecha que no es vilido,
No confie en valores especiales como NaN, Info arrays vacios para determinar si un VI produce
datos sin defini. Confirme que el VI produce datos definidos haciendo que el VI informe de un
error si encuentra una situacién que probablemente produzea datos sin definir.
Por ejemplo, si crea un VI que utiliza un array de entrada para auto-indexar un bucle For, determine
qué desea que haga cl VI cuando el array de entrada esté vacio: producir un eédigo 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 vacfo,
240 } nicoManual de Curso LabVIEW Core 1
D. Gestion de errores
Aunque confie 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 comprobacidn de errores indica donde y por qué se generan los errores.
La gestion de errores es el mecanismo para anticipar, detectar y resolver advertencias y errores. La
gestion de errores es un componente esencial en el desarrollo de aplicaciones de LabVIEW. Con
Ja gestion de errores répidamente localiza la fuente de errores de programacién. Sin ella, podria
observar un comportamiento inesperado pero necesitaria un esfuerzo para encontrar el origen del
problema,
La gestion de errores también es muy valiosa cuando prueba una aplicacién, para garantizar que su
informe de errores sea significativo y que el c6digo de gestidn de errores detenga con seguridad su
aplicacién cuando ocurra un error. Por ejemplo, durante la prueba de estrés esté configurando
valores 0 condiciones que estan mas alld de la capacidad operativa normal de su aplicacion, lo que
a menudo produce errores. Cuando ocurre dicho error, quiere cerrar correctamente la aplicacion.
La gestion de errores sigue siendo importante después de desplegar una aplicacion. La gestion 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
técnicas de gestion de errores.
Gestion de errores automatica
De forma predeterminada, LabVIEW controla automaticamente cualquier error cuando un VI se
ejecuta suspendiendo la ejecucién, resaltando el subVI o la funcién donde ocurrié el error y
mostrando un cuadro de disilogo de error, En el cuadro de didlogo de error, cada error tiene un
cédigo numérico para identificarlo y un mensaje de error especifico para mostrarlo al usuario.
Para desactivar la gestion de errores automatica para el VI actual, seleccione File» VI Properties
y seleccione Execution en el meni desplegable Category. Para desactivar la gestién de errores
automatica de cualquier VI nuevo que cree, seleccione Tools» Options y Block Diagram en la lista
Category. Para desactivar la gestidn de errores automatica de un subV1 o funcién de un VI, eablee
su pardmetro error out al pardmetro error in de otro subVI 0 funcidn o a un indicador error out
Gestion manual de errores
Puede elegir manejar los errores sin usar el manejo de errores automatico. Por ejemplo, si vence el
tiempo limite de un VI de entrada y salida del diagrama de bloques, quiza no desee que se detenga
toda la aplicacién y mostrar un cuadro de didlogo de error. Quiz desee tambign que el VI vuelva
a intentarlo durante cierto tiempo.
{®Novional Instruments | 2-11feccidn 2 Resolucion de problemas y depuractén de Vis
En LabVIEW puede tomar estas decisiones de control de errores en el
usando los siguientes métodos:
grama de bloques del VI,
+ Use el VI gestor de errores de LabVIEW y las fuunciones 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 dislogo.
+ Use clusters de error y los pardmetros error in y error out de la mayoria de Vis y funciones
para manejar los errores. Por ejemplo, cuando un error es detectado puede solucionar el error
programéticamente y después cablear la salida error out del VI o funcidn a la entrada error in
del VI Clear Errors.
Q Consejo Use el gestor de errores junto con las herramientas de depuracién para buscar
y gestionar errores.
Clusters de error
Los Vis y las funciones producen errores de uno de dos modos: con cédigos de error numéricos 0
con cluster de error. Normalmente las funciones usan cédigos de error numéricos 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.
Q Consejo Todos los cluster de error en el diagrama de bloques tipicamente proven la
misma funcionalidad estandar de error in y error out.
Los clusters error in y error out incluyen los siguientes componentes de informacién:
+ status es un valor booleano que produce TRUE si ocurrié un error.
+ code es un niimero entero con signo de 32 bits que identifica el error numéricamente. Un
codigo de error que no sea cero junto con un status de FALSE indica una advertencia en lugar
de un error.
* source es una cadena de caracteres que identifica donde ocurrié el error,
Errores
Un error esté definido como un cluster de error con un valor de status TRUE, sin importar el valor
de cédigo.
Si LabVIEW detecta un error, e! nodo pasa el error al siguiente nodo sin ejecutar esa parte del
obdigo
Advertencias
‘Una advertencia esta definida como un cluster de error con un valor code diferente de cero yun
valor de status FALSE. Aunque la mayoria de los errores tienen valores de eddigo negativo y las
advertencias tienen valores de cédigo 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.412 | aicomanual de Curso LabVIEW Cove ¢
Las advertencias normalmente se consideran menos graves que los errores. Algunas APIs y
funciones, como la funcién Match Regular Expression, s6lo informan de errores, Sin embargo,
otras APIs como VISA API para controlar instrumentos independientes s6lo informan de
advertencias.
‘A diferencia de cuando ocurre un error, los nodos se ejecutan con normalidad incluso cuando
LabVIEW detecta una advertencia, Aunque el cédigo se ejecute con normalidad, es importante que
durante el desarrollo monitorice las advertencias para garantizar un comportamiento correcto de su
aplicacion.
Cuadro de didlogo Explain Error
Cuando ocurre un error, haga clic con el botén derecho en el borde del cluster y seleccione Explain
Error del meni contextual para abrir el euadro de didlogo Explain Error. El cuadro de dialogo
Explain Error contiene informacion sobre el error. El ment contextual incluye una opeisin
Explain Warning si el VI contiene advertencias pero no errores.
‘También puede acceder al cuadro de dialogo Explain Error desde el menti Help»Explain Error.
Deteccién e informe de errores
La gestién de errores en LabVIEW sigue el modelo de flujo de datos. Al igual que los valores de
datos fluyen por un VI, también lo hace la informacién de errores.
Para implementar una buena gestion de errores, debe determinar las acciones que llevara a cabo
cuando ocurra un error en cualquier punto de su aplicacién., Para empezar, debe utilizar los
terminales de error en funciones y VIs. Como el cluster de error se implementa como un pardmetro
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 chuster del siguiente nodo que desee ejecutar, Debe segui
este procedimiento para las secuencias de nodos.
Mientras se ejecuta el VI, LabVIEW comprueba si hay errores en cada nodo. $i Lab VIE
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 también este
control de flujo.
@ Consejo Cuando realiza cualquier tipo de entrada y safida (B/S), piense que pueden
ocutrir errores. Casi todas las funciones de E/S devuelven informacién de error. Incluys
la comprobacién de errores en los VIs, especialmente para operaciones de E/S (archivo,
serie, instrumentacién, adquisicién de datos y comunicacién) y cree un mecanismo para
gestionar bien los ertores.
‘© National nsituments | 213Leceién 2 Resolucion de problemas y depuractén de Vis
Propagando errores y advertencias
Para garantizar que Ja informacién de advertencia se propague correctamente, es importante
utilizar registros de desplazamiento para cables del cluster de error en bucles para que la
informacién de advertencia se propague por todas las iteraciones. Consulte la figura 2-3 para ver
el uso correcto del registro de desplazamiento para propagar errores y advertencias a sucesivas
iteraciones del bucle.
Figura 2-3. Uso de Registros de Desplazamiento para Propagar Errores y Advertencias
one
srorn (oo ete) overeat
Uniendo errores y advertencias
Use la funcién Merge Error para unir los valores del cluster error out desde secuencias paralelas.
Consulte fa figura 2-4 para ver un ejemplo de unién de informacién de error desde secuencias de
nodos paralelos.
Figura 2-4. Unién de Errores Desde Varias Fuentes
‘Wate Ber Read Buffer
BS on
a |
(Hower: cai] a Pased te
Al final de su aplicacién, una vez unidas todas las fuentes de error en un cluster de error, debe
nformar de los errores al usuario mediante el VI Simple Error Handler u otro mecanismo de
informe de errores,
V1 Simple Error Handler
Por defecto, el VI Simple Error Handler muestra un cuadro de didlogo con una deseripeién de
errotes ocurridos y no informa de advertencias. Sin embargo, el VI Simple Error Handler puede
configurarse para otro comportamiento de gestién de errores. Puede seleccionar el tipo de cuadro
de diélogo con estas opciones:
+ No dialog—No muestra un cuadro de didlogo. Esto resulta ttil si desea tener control
programatico en la gestién de errores.
+ OK message (por defecto)—Muestra un cuadro de didlogo con un solo botén OK. Una vez
gue el usuario reconozea el cuadro de didlogo, el VI devuelve el control al VI principal.
2:14 | nicomManual de Curso LabVIEW Core 1
+ Continue or stop message—Muestra un cuadro de didlogo con botones, qué el usuario puede
utilizar para continuar o detener. Si el usuario selecciona Stop, el VI Hama a ia funcién Stop
para detener la ejecucién.
+ OK message with warnings—Muestra un cuadro de didlogo con cualquier advertencia y un
solo botén OK. Una vez que el usuario reconozca el cuadro de didlogo, el VI devuelve el
control al VI principal.
+ Continue/Stop + Warnings—Muestra un cuadro de didlogo con botones y advertencias, que
el usuario puede utilizar para continuar o detener. Si el usuario selecciona Stop, el Vi llama a
Ja funcién Stop para detener la ejecucién.
Rangos de cddigos de error
Los Vis y las funciones en LabVIEW pueden devolver cédigos de error numéricos, Cada producto
0 grupo de Vis define un rango de cédigos de error. Consulte el tema Ranges of LabVIEW Error
Codes de la Ayuda de LabVIEW para ver las tablas de cédigos de error que muestra los codigos de
error numéricos y descripciones de cada producto y grupo de VIs.
‘Ademis de definir los rangos de cédigos de error, LabVIEW reserva algunos rangos de codigos de
ettor para que los utilice en su aplicacién. Puede definir cédigos de error personalizados en el rango
de -8999 a -8000, 5000 a 9999 0 500.000 a 599.999,
Algunos cédigos de error numéricos son utilizados por més de un grupo de Vis y funciones. Por
ejemplo, el error 65 es un cédigo de error de serie, que indica un tiempo limite del puerto serie, y
un cédigo de error de red, que indica que ya se ha establecido una conexion de red.
@ National lasteuments | 2-45Autorrevision: Cuestionario
1, Cual de los siguientes resultaré en una flecha rota?
a.
b.
«,
ae sp
Un subVI esté roto
El diagrama incluye una divisién entre cero
Una entrada requerida de un subVI no esti cableada
Una terminal Booleana esta cableada a un indicador numérico
Status: Booleano
Error: Cadena de caracteres.
Code: Niimeros enteros de 32 bits
Source: Cadena de caracteres
Manual de Curso LabVIEW Core §
{Cudles de los siguientes elementos forman parte de! contenido del cluster de error?
3. Todos los errores tienen cédigos de error negativo y todas las advertencias tienen codigos de
error positivos.
a
b.
Verdadero
Falso
4, La funcion Merge Errors concatena informacion de error desde varios origenes,
a.
b.
Verdadero
Falso
© Nationa! Incturmonts | 2-17Manual de Curso LabVIEW Core
Autorrevisién: Respuestas
1
Cuil de los siguientes resultard en una flecha rota?
a, Un subVI esti roto
b. El diagrama incluye una divisién entre cero
Una entrada requerida de un subVI no esta cableada
d. Una terminal Booleana esti cableada a un indicador numérico
{Cudles de los siguientes elementos forman parte del contenido del cluster de error?
a, Status: Booleano
b, Error: Cadena de caracteres
¢. Code: Niimeros enteros de 32 bits
4. Source: Cadena de caracteres
Todos los ertores tienen cédigos de error negativo y todas las advertencias tienen
error positivos.
a, Verdadero
b. Falso
La funcién Merge Errors concatena informacion de error desde varios origenes
a, Verdadero
b. Falso
‘© National insiasments | 218LLeccion 2 Resolucion de probiemas y depuracia de Vis
NotasImplementacion de un VI
Esta leccién le ensefia como implementar cédigo en LabVIEW. Se explicara cémo diseftar un:
interfaz de usuario, elegir un tipo de datos, documentar su cédigo, usar estructuras de bucle
los bucles While y For, aftadir temporizacién por software a su cédigo, mostrar sus datos como v
curva y tomar decisiones en su cédigo utilizando una estructura Case
Temas
A. Panel frontal
B. Tipos de datos de LabVIEW
C. Documentacién de cédigo
D. Bucles While
E, Bucles For
F. Temporizacién de Vis
G._ Retroalimentacién de datos en los bucles
H. Graficando datos ~ Waveform Chart
1, Bstructuras Case
© National lastauments | 3Leceién 3 Implamaniacién de un Vi
A. Panel frontal
En la fase de disefio del método de desarrollo de software se identifican las entradas y salidas del
problema. Esta identificacién conduce directamente al disefto de la ventana del panel frontal
Las entradas para el disefio pueden venir de las siguientes acciones:
+ adquiriendo desde un dispositivo de adquisicién de datos o un multimetro
+ leyendo directamente desde un fichero
+ manipulando controles en el panel frontal
Puede mostrar las entradas del problema en el panel frontal con controles numéricos, booleanos 0
cadenas de caracteres pero no todas las entradas aparecen en el panel frontal,
Puede ver las salidas de! problema con indicadores, como graficos 0 LEDs o registrar las salidas
en un fichero. También puede extraer datos de un dispositive con la generacién de sefiales,
Disefo de controles e indicadores
‘Alelegir controles e indicadores, asegtirese de que sean apropiados para la tarea que desee realizar.
Por ejemplo, cuando quiera determinar la frecuencia de una onda sinusoidal, elija un control de
disco; cuando desee ver la temperatura, elija un indicador de termémetro.
Etiquetas
Etiquete con claridad los controles e indicadores. Estas etiquetas ayudan a los usuarios a identificar
el objetivo de cada control ¢ indicador. Asimismo, el etiquetado claro ayuda a documentar su
cédigo en el diagrama de bloques. Las etiquetas de controles ¢ indicadores se corresponden con los
nombres de los terminales del diagrama de bloques, como se muestra en la figura 3-1
Figura 3-1. Los Controles Indicadores del Panel Frontal aparecen en el Diagrama de Bloques
Upper Temperate
Upper Temeeratue
weming
©
esi Merge
1 Ventana del panel frontal 2 Diagrama de bloques
22 | nicomManual de Curso LabVIEW Core 1
Opciones de controles e indicadores
Puede configurar valores predeterminados para los controles. La figura 3-2 muestra un valor
predeterminado de 35 °C para el control Upper Temperature. Configurando un valor
predeterminado puede adoptar un valor razonable para un VI si el usuario no configura otro
valor durante el tiempo de ejecucién.
Complete los siguientes pasos para configurar un valor predeterminado de un control o un
indicadoy
1. Escriba el valor deseado.
2, Haga clic con el boton derecho en el control o indicador y seleecione Data Operations»Make
Current Value Default cn el ment contextual.
Figura 3-2. Configuracién de valores predeterminados
“Vise ee
Find Terminal
[change te inaieator
Description and Ti.
Crete >
Feplce
ett to Oefoule Value
‘Advanced
Fe centolto Pane
Sele objectth Pane ons
Representation > :
nts Enty.
Disphy Forma
Properties
Consejo También puede reinicializar los valores a sus valores predeterminados.
Consejo Para inicializar o reinicializar todos los controles ¢ indicadores en el panel
frontal al mismo tiempo, seleccione EdityMake Current Values Default 0 Edit»
Reinitialize to Default Values desde el ment de LabVIEW.
D ®
© National Instruments | 3-3Lecoién 3 Implemartacién de un VE
B. Tipos de datos de LabVIEW
Existen muchos tipos de datos. Ya aprendié tipos de datos numéricos, booleanos y de cadena de
caracteres en la leccidn 1, Explorando LabVIEW. Otros tipos de datos son los enumerados, los
dindmicos y otros. Incluso dentro de los tipos de datos numéricos se distingue entre nimeros
enteros y fraccionales,
Terminales del diagrama de bloques y tipo de datos
Los terminales del diagrama de bloques comunican visualmente al usuario informacién sobre el
tipo de datos que representan, Por ejemplo, en la figura 3-3, Altura (em) es un dato numérico en
coma flotante y doble precisién. Esto se indica por el color del terminal, naranja, y por el texto del
terminal, DBL.
Figura 3-3. Ejemplo de Tipo de Datos del Terminal
Base (em)
> ga (em 2)
“Tiengulae Mitipher
Height (em) aa
Q Consejo Los nombres de las terminales corresponden a las etiquetas de los controles e
indicadores en el panel frontal. Haga clic con el bot6n derecho en un terminal y
seleccione Find control o Find indicator en el meni contextual para localizar un control
© un indicador en el panel frontal,
Menus contextuales
Todos los objetos de LabVIEW tienen asociados mentis contextuales, conocidos también como
meniis abreviados, mens emergentes y ments de botén derecho. Cuando cree un VI, use los
clementos del menti contextual para cambiar el aspecto 0 el comportamiento de los objetos del
pane! frontal y del diagrama de bloques. Para acceder al ment contextual, haga clic con el botén
derecho en el objeto.
3-4 | nicomManval de Curso LabVIEW Ci
La figura 3-4 muestra un meni contextual para un control y un terminal.
Figura 3-4. Menus de acceso directo para objetos en el panel frontal y diagrama de bloques
uatny
aI s . .
Height er) g & >
Cotter | Un oan
LOS. TE ate Tose
Despina nee
Fit Convelto Pane eres
Seale Objectith Pane Se :
Se tomer
eee, ‘View &s con
Tepumiion >
Cuadros de didlogo de propiedades
Los objetos también tienen cuadros de didlogo de propiedades que puede utilizar para cambiar
el aspecto 0 el comportamiento de los objetos. Haga clic con el botén derecho en un objeto y
seleccione Properties cn el menti contextual para acceder al cuadro de dislogo de propiedades de
un objeto, La figura 3-5 muestra el cuadro de didlogo de propiedades para el terminal Height (em)
mostrado en la figura 3-4. Las opciones disponibles en el cuadro de dialogo de propiedades para
un objeto son similares a las opciones del ment contextual de ese objeto.
© National insiuments | 3-5Leccidn 3 Implementacién ee un Vi
Figura 3-5. Cuadro de didlogo de propiedades para una terminal numérica
[EE Numeric Properties Heigne cm)
[ Rorwance [Onin | Sate [Dina | Becanaen,{«]
ii en
tnd ete
Show di
© Show increment/decrement buttons
(OR) Cea) CI
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 recténgulo de selecci6n alrededor de todos los objetos que desee
modificar 0 mantenga pulsada la tecla mientras hace clic en cada objeto. Haga clic con
el botén derecho en un objeto de la seleccién y seleccione Properties en el menit contextual para
acceder al cuadro de didlogo Properties. El cuadro de didlogo Properties s6lo muestra pestafias y
propiedades que comparten los objetos que seleccione. Seleccione objetos similares para mostrar
mas pestaflas y propiedades. Si selecciona objetos que no comparten ninguna propiedad comiin, el
cuadro de didlogo Properties no mostrard pestafias ni propiedades.
36 | nicomMenai de Curso LabVIEW Core 1
Tipos de datos numéricos
El tipo de dato numérico representa niimeros de varias clases. Para cambiar el tipo de
reptesentacion de un ntimero, haga clic con el botén derecho en el control, indicador 0 constante
y seleccione Representation, como se ve en la figura 3-6.
Figura 3-6, Representacién numérica
8.
CP Viettens
Find Control
Make Type Def.
Hide Control
Change to Indicator
| Changete Constant
Description and Tip..
Numeric Patette
Create
| Data Operations
| Advanced
View As Icon
FP
Properties les
Tea] [ae | [ase | [ae
[Psa] [ee foot ft
Wea | [uaz | [wie | Ue
[eal as Ls nes
To [oS
AEE
Cuando cablea dos o mas entradas numéricas de distintas representaciones a una funcién, ésta
normalmente devuelve los datos en la representacién mas grande o amplia. Las funeiones obligan
las representaciones mas pequefias a las representaciones mas amplias posibles antes de la
ejecucién, LabVIEW coloca un punto de coercién en el terminal donde la conversion toma lugar
Consulte la seccién Conversién numérica, para obtener informacion adicional,
El tipo de dato numérico incluye estas subcategorias de representacién: mimeros en coma flotante
niimeros enteros con signo, niimeros enteros sin signo y niimeros complejos.
© National Instaunents | 9-7Leccisn 3 Implementacién de un Vi
Numeros en coma flotante
Los mimeros en coma flotante representan mimeros fraccionales. En LabVIEW, los nimeros en
coma flotante se representan con el color naranja.
Precisién simple (SGL): los niimeros en coma flotante de precisién simple tienen un formato de
precisidn simple de 32 bits IEEE. Use ntimeros de precision simple, coma flotante cuando el ahorro
le memoria es importante y no sobrecargara el rango de los nimeros.
Doble precisién (DBL): los nimeros en coma flotante de doble precisién tienen un formato de
precisién doble de 64 bits IEEE. La doble precision es el formato predeterminado para objetos
numéricos. Use los ntimeros en coma flotante de doble precisién para la mayoria de las situaciones
Precisién extendida (EXT)—Cuando guarda nimeros de precisin extendida al disco, LabVIEW
Jos almacena en una plataforma independiente con formato de 128-bit format. En memoria, el
tamafio y precisién varfan dependiendo de la plataforma. Use ntimeros coma flotante de precisién
extendida solo cuando sea necesario, El rendimiento de la aritmética de precisién extendida varia
entre plataformas.
Tipo de datos de punto fijo
El tipo de datos de punto fijo es numérico y representa un conjunto de nameros racionales que
utilizan digitos binarios o bits. A diferencia del tipo de datos en coma flotante, que permite que
varie el nimero total de bits que usa LabVIEW para representar nimeros, puede configurar los
iimeros de punto fijo para que usen siempre un nimero concreto de bits. Asi, el hardware y
Jos destinos que s6lo pueden almacenar y procesar datos con un miimero limitado 0 fijo de bits
podrn almacenar y procesar los mimeros, Puede especificar el rango y la precisidn de nimeros de
punto fij.
Nota Para representar un ntimero racional con el tipo de datos de punto fijo, el
denominador del niimero racional debe ser una potencia de 2, porque el sistema de
numeros binarios es de base 2.
Use el tipo de datos de punto fijo cuando no necesite la funcionalidad dinémica de la representacién
de coma flotante o cuando desee trabajar con un destino que no admita la aritmética de coma
flotante, como un destino FPGA
Especifique la codificacién, la longitud de palabra y la longitud de palabra entera de un niimero de
punto fijo cuando desee que el ntimero se adapte a cierto tamafio de bits.
Codifieacién: la codificacién binaria del numero de punto fijo. Puede seleccionarse con signo 0
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 nimero 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
Jongitud maxima de palabra de 64 bits. Ciertos destinos pueden limitar los datos a longitudes
38 | nkcomManusl de Curso LabVIEW Core
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 contendra cables rotos. Consulte la
documentacién de un destino para determinar la maxima longitud de palabra que acepta
Longitud de palabra entera: el mimero de bits enteros en una cadena de caracteres de bits que
usa LabVIEW para representar todos los posibles valores del dato de punto fijo 0, dada una
posicién inicial a la izquicrda o a la derecha del bit mas significativo, el nimero de bits a desplazar
la coma binaria y Ilegar al bit mas significativo. La longitud de palabra del niimero enteto puede
ser mayor que la longitud de palabra, y puede ser positivo 0 negativo.
Numeros enteros
Los niimeros enteros representan los niimeros naturales. Los nuimeros enteros con signo pueden
Ser positivos 0 negativos. Use los tipos de datos de ntimeros enteros sin signo cuando sepa que
el niimero entero es siempre positivo. En LabVIEW, los niimeros enteros se representan con el
color azul.
‘Cuando LabVIEW convierte los nuimeros en coma flotante en mimeros enteros, el VI redondea al
niimero entero mas cercano. Si el valor de entrada esté en medio de dos enters, ta funcién
redondea al nimero entero par mas cereano.
Byte (18): los ntimeros enteros Byte tienen 8 bits de almacenamiento y un intervalo de -128 a 127.
Word (116): los niimeros enteros Word tienen 16 bits de almacenamiento y un intervalo de -32.768
032.767.
‘Long (132): los nuimeros enteros Long tienen 32 bits de almacenamiento y un intervalo de
-2.147.483.648 a 2.147.483.647. En la mayoria de los casos es mejor utilizar un mimero entero de
32 bits.
Quad (164): los ntimeros enteros Quad tienen 64 bits de almacenamiento y un intervalo de -1e19
alel9.
Byte (U8): los nimeros enteros sin signo Byte tienen 8 bits de almacenamiento y un intervalo de
0.0255,
‘Word (U16): los ntimeros enteros sin signo Word tienen 16 bits de almacenamiento y un intervalo
de 0.a 65.535,
Long (U32): los niimeros enteros sin signo Long tienen 32 bits de almacenamiento y un intervalo
de 0 a 4.294,967.295,
nen 64 bits de almacenamiento y un intervalo
Quad (U64): los mimeros enteros sin signo Quad
de 0a 2e19.
National instruments | 3-8Leccisn 3 implementaeiéa 6e un Vi
Numeros complejos
Los miimeros complejos son versiones concatenadas de nimeros en coma flotante con una parte
real ¢ imaginaria. En LabVIEW, como los niimeros complejos son un tipo de niimero en coma
flotante, los ntimeros complejos también se representan con el color naranja. Existen tres partes en
los niimeros complejos.
Complejo simple (CSG): los nimeros complejos de coma flotante de precisién simple constan de
valores reales e imaginarios y tienen un formato de precision simple de 32 bits IEEE.
Complejo doble (CDB): Jos nimeros complejos de coma flotante de doble precisién constan de
valores reales ¢ imaginarios y tienen un formato de doble precisién de 64 bits IEEE.
Complejo ampliado (CX): los niimeros complejos de coma flotante de precisién ampliada
constan de valores reales ¢ imaginarios y tienen un formato de precisién ampliada IEEE. En la
‘memoria, el tamafio y la precision de nimeros de precisién ampliada varian en funcién de la
plataforma, En Windows tienen un formato de precisién ampliada de 128 bits IEEE.
Conversion numérica
LabVIEW puede representar tipos de datos numéricos como niimeros enteros con signo o sin
no, valores numéricos coma flotante 0 valores numéricos complejos. Normalmente, cuando
cablea tipos distintos de representaciones en las entradas de una funcidn, ésta devuelve una salida
en el formato mas grande o amplio. Si usa un niimero entero con signo con un ntimero entero sin
signo, lo convertiré al mimero entero sin signo. Si usa un nlimero entero sin signo con uno en coma
flotante, lo convertira a coma flotante. Si usa un nimero en coma flotante con un némero complejo,
lo convertira al nimero complejo. Si usa dos ntimeros del mismo tipo con distinto ancho de bits,
LabVIEW realizard la conversién al mayor de los dos anchos de bits.
Si el miimero de bits es el mismo, LabVIEW elige niimeros enteros sin signo en vez de con signo.
Por ejemplo, si cablea un DBL y un 132 a una funcién Multiply, el resultado es un DBL, como se
muestra en la figura 3-7. LabVIEW realizaré la conversion al niimero entero con signo de 32 bits
porque utiliza menos bits que el valor numérico de doble precisién y de coma flotante. La entrada
inferior de la funcién Multiply muestra un punto rojo, llamado punto de conversién, que indica que
LabVIEW esta realizando una conversion de datos.
310 | nicoManual da Curso LabVIEW Core +
Figura 3-7. Ejemplo de conversién numérica
OBL Numeric ran
ical
1 Punto de conversién
Valores booleanos
LabVIEW almacena datos booleanos como valores de & bits. Si el valor de 8 bits es cero, el valor
booleano es FALSE. Cualquier valor que no sea cero representaré TRUE. En LabVIEW, el color
verde representa datos booleanos.
Los valores booleanos también tienen una accién mecdnica asociada a ellos. Las dos avciones
principales son bloquear y conmutar. Puede seleccionar uno de los siguientes comportamiientos de
botén:
+ Switch when pressed: cambia el valor del control cada vez que hace clic en él eon la
herramienta de operaciones. La frecuencia con la que el VI lee el control no afecta a este
comportamiento.
+ Switch when released: cambia el valor del control sélo después de soltar el botén del raton
‘mientras hace clic dentro del limite grafico 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 é y conserva el nueva
valor hasta que suelte el botén del rat6n. En este momento, el control vuelve a su valor
predeterminado, al igual que el funcionamiento del timbre de una puerta. La frecuencia con la
que el VI lee el control no afecta a este comportamiento. No puede seleccionar este
comportamiento para un control de botones de radio,
+ Latch when pressed: cambia el valor del control cuando hace clic en él y conserva el nuevo
valor hasta que el VI lo lea una vez. En este momento, el control vuelve a su valor
predeterminado, aunque siga pulsando el botén del ratén. Este comportamiento es similar al de
un disyuntor y es til para detener un bucle While o para que el V1 realice una accién sélo una
vez. cada vez que ajuste el control. No puede seleccionar este comportamiento para un contro!
de botones de radio.
+ Latch when released: cambia el valor del control s6lo después de soltar ¢} bot6n del raton
dentro del limite gréfico del control. Cuando el VI lo lee una vez, el control vuelve a su valor
predeterminado. Este comportamiento funciona de! mismo modo que los botones de los
cuadros de didlogo y del sistema, No puede seleccionar este comportamiento para un control
de botones de radio.
+ Lateh 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 bot6n del ratén, en funcién de lo que oeurra en iiltima
lugar. No puede seleccionar este comportamiento para un control de botones de radio.
{© National lastuments | 3-11Leccién 3 Implemantacion ee un Vi
Para saber més de la accién mecénica, experimente con el VI Mechanical Action of Booleans en
el NI Example Finder.
Figura 3-8. Accién mecanica booleana
Vibe ems >
Find Teil
Cangeteindeater |
Make Type Det.
Description and Tp.
Create >
Replace >
Dats Opentions >
Advanced »
Fit Conte to Pane
Scale Object with Pane
Look Tein Center
Propenies
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 informacién
y los datos, Algunas de las aplicaciones mas comunes de las cadenas de caracteres son:
+ Generacién de mensajes de texto simples
+ Control de instrumentos enviando comandos de texto al instrumento y devolviendo valores de
datos en forma de cadenas de caracteres ASCII 0 binarias que después convierte en valores
numéricos,
+ Almacenamiento de datos numéricos en disco, Para almacenar datos numéricos en un fichero
ASCII, primero debe convertir los datos numéricos en cadenas de caracteres antes de escribir
los datos en un fichero del disco.
+ Peticién o visualizacién de datos con cuadros de didlogo
En el panel frontal, las cadenas aparecen como tablas, cuadros de entrada de texto y etiquetas.
LabVIEW incluye Vis y funciones integradas que puede utilizar para manipular cadenas de
caracteres, como dar formato a cadenas de caracteres, analizar cadenas de caracteres y otras
modificaciones.
Consulte el tema ASCII Codes en LabVIEW Help para obtener informacion acerca de cédigos
ASCU y funciones de conversién.
En LabVIEW, las cadenas de caracteres se representan con el color rosa.
242 | nicomManual do Curso LabVIEW Core 1
Haga clic con el botén derecho en el control o indicador de una cadena de caracteres del panel
frontal para seleccionar entre los tipos de visualizacién que aparecen en la tabla , La tabla también
muestra un ejemplo de mensaje para cada tipo de visualizacién,
Tabla 3-1. Tipos de visualizacién de cadenas de caracteres
del cardcter.
Tipo de |
visualizacién Deseripcién Mensaje
Visualizacion Muestra caracteres imprimibles | Existen cuatro tipos de
normal utilizando la fuente del control visualizacién. \ es una |
Los caracteres no visualizables | barra invertida i
normalmente aparecen como
cuadros.
Visualizacién de | Muestra codigos de barra invertida | There\sare\sfour\sdisplay\ |
cédigos “” para todos los caracteres no stypes.\n\\\sis\sa\
visualizables. sbackslash
Visualizacion de | Muestra unasterisco(*)paracada | ###*#s82¥sssvanenswenevess
contrasefia cardcter, incluidos los espacios. | tt ¥xttereneeeeeyes
Visualizacién Muestra el valor ASCII de cada | 5468 6572 6520 6172
hexadecimal cardcter en hexadecimal en lugar | 666F 7572 2064 6973
6179 2074 7970 6573
SC20 6973 2061 2062
6B73 6C61 7368 2E |
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 nimeros enteros de bytes (earacteres de
8 bits).
© Nabonal instruments | 3413Leecion & Implementacién de un Vt
Enums
Un enum (indicador, constante 0 control enumerado) es una combinacién de tipos de datos. Un
enum representa una pareja de valores, una cadena de caracteres y un numérico, donde el enum
puede ser uno de una lista de valores. Por ejemplo, si cre6 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 didlogo Properties para un
control enumerado.
Figura 3-9. Propiedades para el control enumerado Mes
[i EnorPrepanicn Monin i is
Pepenonce [Dut Tipe | Diplomat | Edtes | Gocomeration [! >
ees)
(pees
TOE) (ena) (eRManual de Gurso LabVIEW C
Los enums resultan iitiles porque es més facil manipular nimeros en el diagrama de bloques que
cadenas de caracteres. La figura 3-10 muestra el control enumerado Mes (Month), la seleccion de
‘una pareja de datos en el control enumerado y el terminal correspondiente del diagrama de bloques
Figura 3-10. Control enumerado Mes (Month)
Posi
dune
ay
August
September
‘October
November
Dinamicos
EI tipo de datos dinamico almacena la informacién que genera o adquiere un VI Express. Fl tipo
de datos dindmico aparece como un terminal azul oscuro, mostrado abajo. La mayoria de Vis
Express aceptan o devuelven el tipo de datos dindmico. Puede cablear el tipo de datos dinémico a
‘cualquier indicador 0 entrada que acepte datos numéricos, de forma de onda o booleanos. Cablee
el tipo de datos dindmico a un indicador que pueda presentar mejor los datos. Bjemplos de
indicadores son graficos tipo “graph”, graficos tipo “chart” 0 indicadores numéricos.
ca
La mayoria del resto de Vis y funciones de LabVIEW no aceptan el tipo de datos dinamico. Para
utilizar un VI 0 funcién integrada para analizar o procesar los datos que incluye el tipo de datos
dinamico, debe convertir el tipo de datos dinamico.
Use el VI Express Convert from Dynamic Data para convertir el tipo de datos dindmico en tipos
de datos numéricos, de forma de onda y de array para usar con otros Vis y funciones. Cuando
colocael VI Express Convert from Dynamic Data en el diagrama de bloques, aparece e] cuadro de
didlogo Configure Convert from Dynamic Data. El cuadro de didlogo Configure Convert from
Dynamic Data muestra opciones para especificar como desea dar formato a los datos que devuelve
el VI Express Convert from Dynamic Data,
© National instruments | 38feccién 3 Implementacidn de un V1
Cuando cablea un tipo de datos dinémico a un indicador de array, LabVIEW aftade
autométicamente el VI Express Convert from Dynamic Data al diagrama de bloques. Haga doble
clic en ef VI Express Convert from Dynamic Data para abrir el cuadro de didlogo Configure
Convert from Dynamic Data y controlar cémo aparecerdn los datos en el array.
C. Documentacion de codigo
Los desarrolladores profesionales que mantienen y modifican VIs conocen el valor de una buena
documentacién. Documente bien el diagrama de bloques para facilitar las futuras modificaciones
del cédigo. Ademés, documente bien la ventana del panel frontal para explicar el objetivo del VI
y los objetos det panel frontal,
Use ayudas, descripciones, propiedades de VI y un buen disefio para documentar las ventanas del
panel frontal
Ayudas y descripciones
{Las ayudas son breves descripciones que aparecen cuando mueve el cursor sobre un control ©
indicador mientras se ejecuta un VI. Por ejemplo, podria afiadir una ayuda para indicar que una
temperatura es en grados Celsius 0 explicar cémo funciona una entrada en un algoritmo. Las
descripeiones ofrecen informacién adicional sobre controles ¢ indicadores especificos. Las
y alrededor de cualquier texto de la
descripeién al que desee dar formato en negrita. También puede utilizar la propiedad VI
Description para modificar la descripcién del V1 programaticamente.
* Help tag: contiene el nombre del fichero HTML o Ia palabra clave del indice de] tema que
desea vincular en un fichero de ayuda compilado. También puede utilizar la propiedad
Help:Document Tag para configurar la etiqueta de ayuda programéticamente.
2.16 | comManval de Curso LabVIEW Core 1
+ Help path: contiene la ruta al fichero HTML 0 al fichero de ayuda compilado que desea
vincular desde la ventana Context Help. Si este campo esta vacio, el enlace Detailed help no
aparecerd en la ventana Context Help y se atenuard el botén Detailed help,
+ Browse: muestra un cuadro de didlogo de fichero que se utiliza para navegar hasta un fichero
HTML o hasta un fichero de ayuda compilado para utilizarlo como ruta de ayuda
Nombre de controles e indicadores
Si da nombres logicos y descriptivos a controles e indicadores, facilitard el uso de los paneles
frontales. Por ejemplo, si llama aun control Temperature, un usuario qui2a no sepa qué unidades
utilizar. Sin embargo, silo llama Temperature °C, afiadira mas informacion al panel frontal
Ahora sabré que debe introducir temperaturas en unidades métricas.
Programacion grafica
Aunque la naturaleza grafica de LabVIEW ayuda a la autodocumentacién de diagramas de
bloques, los comentarios adicionales ayudan a la hora de modificar sus VIs posteriormente. Existen
dos tipos de comentarios de diagrama de bloques: los que describen Ja funcién u operacién 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
estandares con la herramienta de etiquetado, o insertando una etiqueta libre desde la subpaleta
Functions»Programming»Structures»Decorations. De forma predeterminada las etiquetas
libres tienen un color de fondo amarillo.
Figura 3-11. Documentar un diagrama de bloques
HI'PID Output" __ Bh
ra
alelate the control cutput
or the Rx vessel temperature
Facoure'
Use las siguientes pautas para comentar los Vis:
+ Use comentarios en el diagrama de bloques para explicar lo que esta realizando el codigo
+ Aunque el cédigo de LabVIEW puede autodocumentarse porque es grafico, use etiquetas libres
para describir cémo funciona el diagrama de bloques.
+ Utilice etiquetas para identificar objetos en el panel frontal y el diagrama de bloques.
LabVIEW ineluye dos tipos diferentes de etiquetas—etiquetas propias y etiquetas libres. Las
etiquetas propias pertenecen a un objeto particular y se mueven con él y se usan para deseribir
© Navonal insinuments | 3-17Leocion 3 implementacién de un Vi
dicho objeto tinicamente, Las etiquetas libres no pertenecen a ningiin objeto, y puede crearlas,
moverlas, rotarlas o borrarlas independientemente.
+ No muestre etiquetas en llamadas de funcién 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 funcién o subVI en la ventana Context Help.
+ Utilice etiquetas propias con conexiones largas para identificar su uso. Etiquetar cables resulta
Util para los que proceden de registros de desplazamiento y para cables largos que pueden
abarcar todo el diagrama de bloques. Consulte la seceiGn Estructuras Case de esta leccién para
obtener informacién adicional acerca de los registros de desplazamiento.
+ Etiquete estructuras para especificar su funcionalidad principal.
+ Btiquete constantes para especificar su naturaleza
+ Use etiquetas libres para documentar algoritmos que usa en los diagramas de bloques. Si usa
un algoritmo de un libro u otra referencia, incluya la informacién de referencia.
D. Bucles While
Al igual que un bucle Do o un buele Repeat-Until en lenguajes de programacién basados en texto,
un bucle While, mostrado en la figura 3-12, ejecuta un subdiagrama hasta que ocurra una
condicion.
La siguiente ilustracién muestra un buele While en LabVIEW, un diagrama de flujo equivalente a
la funcionalidad del bucle While, y un ejemplo de pseudocédigo de la funcionalidad de! bucle
While
Figura 3-12. Bucle While
NS
“Condiion
mel?
No Repeat (code)
atid Condition net:
nd
@ ®
2 Diagrama de flujo 3 Pseudocddigo
El bucle While se encuentra en la paleta Struetures. Seleccione el bucle While en la paleta y
despues use el cursor para arrastrar un recténgulo de seleccién alrededor de la seccién del diagrama
de bloques que desee repetir. Cuando suelte el botén del ratén, un limite de bucle While encerrara
la seccién que seleccion6.
Afiada objetos del diagrama de bloques al bucle While arrastrandolos y soltindolos dentro de éste.Manual oe Curso LanviEW Core t
@ Consejo El bucle While siempre se ejeeut al menos una vez
EI bucle While ejecuta el subdiagrama hasta que el terminal condicional, un terminal de entrada,
reciba un valor booleano especifico. El bucle While no incluye un contaje de iteraciones
configurado y se cjecuta hasta el infinito si la condicién nunca ocurre
Si un terminal condicional es Stop if True, coloca el terminal de un contro] booleano fuer de un
bucle While, y si el control es FALSE cuando se inicia el bucle, provocara un bucle infinito, como
se muestra en el siguiente ejemplo. También provoca un bucle infinito si el terminal condicional es
Continue if True y el control fuera del bucle se configura en TRUE, como se muestra en la
figura 3-13.
Figura 3-13. Bucle infinito
Si cambia el valor del control, no detendré el bucle infinito, porque el valor sdlo se lee una vez,
antes de que empiece el bucle. Para detener un bucle infinito, debe abortar el VI haciendo clic en
el botén Abort Execution en la barra de herramientas.
‘También puede realizar un control de errores basicos con el terminal condicional de un bucle
‘While. Cuando cablea un cluster de error al terminal condicional, sélo pasa al terminal el valor True
0 False del parémeiro status del cluster de error. Asimismo, los elementos del ment contextual
Stop if True y Continue if True cambian a Stop if Error y Continue while Error.
La terminal de iteracién es una terminal de salida que contiene el numero de iteraciones
completadas.
a
El contaje de iteraciones para el bucle While siempre empieza en cero.
En el siguiente diagrama de bloques, el bucle While se ejeouta hasta que la salida de Ja funcién
Random Number sea mayor o igual que 0, 9 y el control Enable sea True. La funcién And
devuelve True sélo si ambas entradas son True. De lo contrario, devolyera False.
© Natonal Instruments | 319Lecei6n 3 Implementacin de un VE
En el siguiente ejemplo, existe mayor posibilidad de un bucle infinito. Generalmente, el
comportamiento deseado es que se cumpla una condicién para detener el bucle, en lugar de
necesitar que se cumplan ambas condiciones.
Figura 3-14, Posible bucle infinito
nae
c
za
Tuneles a través de Estructuras
Los tiineles suministran datos hacia dentro y hacia fuera de las estructuras como bucles While. El
tuinel aparece como un bloque s6lido en el borde del bucle While. El bloque es del color del tipo
de datos cableado al tinel. Los datos salen de un bucle cuando éste termina. Cuando un tine!
introduce datos en un buele, éste se ejecuta s6lo cuando los datos Ilegan al tunel,
En el siguiente diagrama de bloques, el terminal de iteracién se conecta a un tinel. El valor del
trinel no entra en el indicador Iterations hasta que el bucle While termine de ejecutarse.
Figura 3-15. Tunel del bucle While
a
Solo aparece en el indicador Iterations el ultimo valor del terminal de iteracién.
Usando bucles While para chequeo y manejo de errores
Puede cablear un cluster de error al terminal condicional de un bucle While o un bucle For con un
terminal condicional para detener la iteracion del bucle. Cuando cablea un cluster de error al
terminal condicional, sélo pasa al terminal el valor TRUE o FALSE del parametro status del
cluster de error. Si ocurre un error, el bucle se detendra.
Si cablea un cluster de error al terminal condicional, los elementos del mend contextual Stop if
‘True y Continue if True cambiaran a Stop on Error y Continue while Error.
3-20 | nicamManual de Curso LabviEW Core +
En la figura 3-16, el cluster de error y un bot6n de parada se utilizan para determinar cuando
detener el bucle. Este es el método recomendado para detener la mayoria de los bucles.
Figura 3-16. Detener un bucle While
Simulate Signa
E. Bucles For
Un bucle For, mostrado abajo, ejecuta un subdiagrama cierto miimero de veces. La figura 3-17
muestra un bucle For en LabVIEW, un diagrama de flujo equivalente a la funcionalidad del bucie
For, y un ejemplo de pseudocédigo de la funcionalidad del bucle For.
Figura 3-17. Bucle For
fey
une
Repeat |code; isi+2
@
1 Bucle For de LabVIEW 2 Diagrama de flujo 3 Pseudocédiga
El bucle For se encuentza en la paleta Structures, También puede colocar un bucle While en el
diagrama de bloques; haga clic con el bot6n derecho en el borde del bucle While y seleccione
Replace with For Loop en el menti contextual para cambiar un bucle While por uno For. La
terminal de contaje es una terminal de entrada cuyo valor indica cudntas veces debe repetir el
subdiagrama,
wy
La terminal de iteracién es una terminal de salida que contiene el numero de iteraciones
completadas.
a
‘© Nabonal instruments { 3-21Lecoién 3 Implementacién de un VI
El contaje de iteraciones para el bucle For siempre empieza en cero.
EI bucle For de la figura 3-18 genera un niimero aleatorio cada segundo durante 100 segundos y
muestra los niimeros aleatorios en un indicador numérico.
Figura 3-18. Ejemplo de bucle For
Afiadir un terminal condicional a un bucle For
Si es necesario, puede afiadir un terminal condicional para configurar un bucle For para que se
detenga cuando ocurra un error o una condicién booleana. Un bucle For con un terminal
condicional se ejecuta hasta que ocurra la condicién o hasta que se completen todas las iteraciones,
lo que suceda primero. Los bucles For que configure para una salida condicional tendran un
simbolo 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 miimero aleatorio cada segundo hasta que transcurran 100 segundos
hasta que el usuario haga clic en el botén de parada
nal
a. 3-19. Bucle For configurado para una salida condi
Random hare (0-1)
Rando abe
Inder
ww thw
|
Para afadir un terminal condicional a un bucle For, haga clic con el botén derecho del borde del
bucle For y seleccione Conditional Terminal en el menti contextual. A continuacién, cablee el
terminal condicional y el terminal de contaje.
322 | nicomManual de Curso LabVIEW Core 1
Figura 3-20. Afiadir un terminal condicional a un bucie For
Random Numbec (2)
Visible ems »
Hele
Random Number
Indester
Descopton and Tip
Breakpoint »
‘rues Pate »
ata Siow
clude rom Diagrrn Cleseup
es
Configure Reration Paraleism.
Replace with Wale Loop
Ferove For Loop
‘Ada Sit Resister
Properties
Usando bucles For para chequeo y manejo de errores
En un bucle For con un terminal condicional, también debe cablear un valor al terminal de contaje
© autoindexar un array de entrada para configurar un nimero maximo de iteraciones. EJ bucle For
se ejecuta hasta que ocurra un error o hasta que se complete el niimero de iteraciones configurado
Consulte la seccién Usando hucles While para chequeo y manejo de errares, para obtener
informacién adicional.
Conversion numérica en bucles For
Como se deseribié en Conversién numérica, cuando cablea diferentes tipos de datos a la entrada
de una funcién, la funcién generalmente retorna el tipo de dato mAs amplio. Sin embargo, si eablea
un valor numérico coma flotante de precision doble a la terminal de cuenta de 32-bit en un buele
For, LabVIEW coerciona el valor numérico mas grande a un niimero entero con signo de 32-bit
mas pequefio. Aunque la conversién es contraria a los estindares normales de conversi
necesaria, ya que un bucle For sdlo puede ejecutarse un mimero entero de veces.
@ National instruments | 323Leccién 3 Implementacién de un Vt
Figura 3-21. Conversién en un bucle For
able Preceee]
ating Paint
1 Punto de conversion
Para un mejor rendimiento, evite la conversién utilizando tipos de datos coincidentes 0
convirtiendo programéticamente a tipos de datos coincidentes, como en la figura 3-22.
Figura 3-22. Evitando la coercién utilizando tipos de datos coincidentes
etree : bb eee oT |
—
A
Comparando bucles For y bucles While
Los bucles For y los bucles While difieren de varias maneras. Consulte la tabla 3-3 para obtener
una lista de diferencias entre bucles For y bucles While
‘Tabla 3-2. Comparando bucles For y bucles While
Bucle For Bucle While
Se ejecuta un mimero de veces a menos que se | Detiene la ejecucidn solo si el valor en la
agregue una terminal condicional terminal condicional alcanza esa condicion
Puede ejecutarse cera veces Debe ejecutarse al menos una vez
Los tineles automaticamente dan un array de | Los ttineles automaticamente dan el Gltimo
datos valor
F. Temporizacién de Vis
Cuando un bucle termina de ejecutar una iteracién, inmediatamente empieza a ejecutarla siguiente,
a menos que llegue a una condicién de parada. Normalmente tendré que controlar la frecuencia
© temporizacién de la iteracién. 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 | o.comManual de Curso LabVIEW Core +
‘Aunque no necesite que la ejecucién ocurra con cierta frecuencia, debe facilitar al procesador
tiempo para completar otras tareas, como responder a la interfaz del usuario, Esta seccién explica
métodos para temporizar los bucles.
Funciones de espera
Coloque una funcidn de espera dentro de un bucle para que un VI se desaetive durante cierto
tiempo. Esto permite al procesador abordar otras tareas durante el tiempo de espera. Las funciones
de espera usan el reloj de milisegundos del sistema operativo.
La funcién Wait Until Next ms Multiple controla un contador de milisegundos y espera hasta que
éste alcance un miiltiplo de la cantidad que especifique. Use esta funcién para Sincronizar
actividades. Sitie esta funcién en un bucle para controlar la velocidad de ejecncién de éste. Para
que esta funcién sea efectiva, el tiempo de ejecucién del cédigo debe ser inferior al tiempo
especificado para esta funcidn, El tiempo de ejecucidn de la primera iteracién del bucle es
indeterminado,
La funcién Wait (ms) espera hasta que el contador de milisegundos cuente una cantidad igual a la
entrada que especifique. Esta funcién garantiza que la velocidad de ejecucién del bucle se
corresponda al menos con el valor que especifique a la entrada de la funcién.
&
XE} Nota _El VI Express Time Delay actiia de modo similar a la funcién Wait (ms) pero con
clusters de error integrados. Consulte la leecién 2, Resolucién de problemas y
depuracién de Vis para obtener informacién adicional acerca de os clusters de error
Tiempo transcurrido
En algunos casos, resulta til determinar cuanto tiempo transcurre después de un punto en sti VI
El VI Express Elapsed Time indica el tiempo transcurrido tras el instante de inicio especiticado.
Este VI Express controla el tiempo mientras que el VI sigue ejecutandose. Este VI Express no
facilita al procesador el tiempo para completar otras tareas. Utilizaré el VI Express Elapsed Ti
en el proyecto del curso Weather Station.
‘© Nationa! Instruments | 3-25Lecsisn 3 Implementacién do un VE
G. Retroalimentacion de datos en los bucles
Al programar con bucles, a menudo debe acceder a datos de iteraciones anteriores de! bucle en
LabVIEW. Por ejemplo, si est4 adquiriendo un dato en cada iteracién de un bucle y debe hallar el
promedio cada cinco datos, debe conservar los datos de iteraciones anteriores del bucle.
XE} Nota Los nodos de realimentacién son otro método para conservar informacién de una
‘teracién anterior. Consulte el tema Feedback Node de la Ayuda de LabVIEW para
obtener informacién adicional acerca de nodos de realimentacion.
Registros de desplazamiento
Los registros de desplazamiento son similares a las variables estéticas en lenguajes de
programacién basados en texto.
Use registeos de desplazamiento cuando desee pasar valores de iteraciones anteriores a la siguiente
iteracién a través del bucle. Un registro de desplazamiento aparece como un par de terminales
directamente opuestos entre si en los lados verticales del borde del bucle
bea
El terminal de la derecha del bucle contiene una flecha hacia arriba y almacena datos al completar
una iteraci6n. Lab VIEW transfiere los datos conectados al lado derecho del registro en la siguiente
iteracién. Después de que se ejecute el bucle, el terminal del lado derecho del bucle devuelve el
‘ltimo valor almacenado en el registro de desplazamiento.
Cree un registro de desplazamiento haciendo clic con el bot6n derecho en el borde izquierdo o
derecho de un bucle y seleccionando Add Shift Register en el meni contextual
Un registro de desplazamiento transfiere cualquier tipo de datos y cambia autométicamente al tipo
dle datos de! primer objeto cableado al registro de desplazamiento. Los datos que cablee a los
terminales de cada registro de desplazamiento deben ser del mismo tipo.
Puede afiadir mas de un registro de desplazamiento a un bucle. Si tiene varias operaciones que usan
valores dle iteraciones previas dentro del bucle, use varios registros de desplazamiento para
almacenar los valores de datos de los distintos procesos en la estructura, como se muestra en la
siguiente figura
3.28 | nicomManual de Curso LabVIEW Core 1
Figura 3-23. Uso de varios registros de desplazamiento
Inicializacion de registros de desplazamiento
Al inicializar un registro de desplazamiento, se restablece ei valor que transmite el registro de
desplazamiento a la primera iteraci6n del bucle cuando se ejecuta un VI. Inicialice un registro de
desplazamiento cableando un control o constante al terminal del registro de desplazamiento en el
lado izquierdo del bucle, como se muestra en la figura 3-24
Figura 3-24. Registro de desplazamiento inicializado
En la figura 3-24, el bucle For se ejecuta cinco veces, inerementando el valor que lleva el registro
de desplazamiento en uno cada vez. Tras cinco iteraciones del bucle For, el registro de
desplazamiento pasa el valor final, 5, al indicador y el VI finaliza su ejecucién. Cada vez que
ejecute el VI, el registro de desplazamiento empieza con un valor de 0
Si no inicializa el registro de desplazamiento, el bucle usa el valor escrito en el registro de
desplazamiento cuando se ejecuté por iltima vez.el bucle o, si éste nunca se ejecut6, usa el valor
predeterminado del tipo de dato.
Use un registro de desplazamiento sin inicializar para conservar la informacién de estado entre las
siguientes ejecuciones de un VI. La figura 3-25 muestra un registro de desplazamiento sin
inicializar.
Figura 3-25. Registro de desplazamiento sin inicializar
a
© Notional Insteurents | 5-27Leccisn 3. implementacién de un VI
En la figura 3-25, el bucle For se ejecuta cinco veces, incrementando el valor que lleva el registro
cle 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 ntimero 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 ejecucién. La siguiente vez que ejecute el VI, el registro de desplazamiento
comenzaré con un valor de 5, que era el diltimo valor de la ejecucién anterior. Tras cinco iteraciones
del bucle For, el registro de desplazamiento pasa el valor final, 10, al indicador. Si ejecuta de nuevo
el VI, el registro de desplazamiento empieza con un valor de 10, y asi sucesivamente. Los registros
de desplazamiento sin inicializar conservan el valor de la iteracién anterior hasta que cierre el VI
Registros de desplazamiento apilados
Los registros de cesplazamiento apilados permiten acceder a datos de iteraciones anteriores al
bucle. Los registros de desplazamiento apilados almacenan valores de varias iteraciones anteriores
y llevan esos valores a las siguientes iteraciones. Para crear un registro de desplazamiento apilado,
haga clic con el boton derecho en el terminal izquierdo y seleccione Add Element en el ment
contextual.
Los registros de desplazamiento apilados slo pueden utilizarse en el lado izquierdo del bucle,
porque el terminal derecho transfiere los datos generados s6lo desde la iteracién actual a la
siguiente, como se muestra en la figura 3-26.
Figura 3-26. Uso de registros de desplazamiento apilados
Si afiade otro elemento al terminal izquierdo del diagrama de bloques anterior, los valores de las
dos iltimas iteraciones se transmiten a la siguiente iteracién, almacendndose el valor de iteracién
mas reciente en el registro de desplazamiento superior. El terminal inferior almacena los datos que
le Hlegan de la iteracién anterior.
H. Graficando datos — Waveform Chart
El grafico tipo “waveform chart” es un tipo especial de indicador numérico que muestra una o més
curvas de datos, normalmente adquiridos a una velocidad constante, Los graficos tipo “waveform
chart” pueden mostrar tuna o varias curvas. La figura 3-27 muestra los elementos de un grafico tipo
“waveform chart” de varias curvas. Se muestran dos grificos: Raw Data y Running Avg.
3:28 | nicomManual de Curso
Figura 3-27. Elementos de un Waveform Chart
FiowData
He Wavelam Chart Running ava
0aioamanai =
Tanpltude 3"
1 Etigueta 3 Escala X & Paleta del grafico
2 Escala Y 4 Leyenda de la escala 6 Leyenda de la curva
Configure cémo se actualiza el grafico para mostrar nuevos datos. Haga clic con el botdn derech
en el grafico y seleccione Advanced»Update Mode desde el menit contextual para configura
modo de actualizacién del grafico. El grafico utiliza los siguientes modos para mostrar datos:
+ Strip Chart: muestra los datos méviles desplazandose continuamente de izquietda a der
por el grafico con los datos antiguos a la izquierda y con los nuevos a
es similar a un registrador de cinta de papel. Strip Chart es el modo de actualizacior
predeterminado.
+ Scope Chart: muestra un elemento de datos, como un impulso o una onda, desplazando:
parcialmente por el grafico de izquierda a derecha. Para cada nuevo valor, el g)
valor a la derecha del ultimo 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 izquicrdo, La
visualizacién de wn scope chart es similar a la de un osciloscopio.
fico traza
+ Sweep Chart: funciona de modo parecido a un scope chart salvo que mue
antiguos a la derecha y los nuevos a la izquierda separados por una linea vertical. LabV
borra la curva en un sweep chart cuando ésta llega al borde derecho de la zona de tra
sweep chart es similar a la visualizacién de un electrocardiograma,
© National Instauments | 3-2La figura 3-28 muestra un ejemplo de cada modo de actualizacién del grifico. El scope chart y el
ep 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 més
ip chart
mente que el
Figura 3-28. Modos de actualizacién de graficos
‘Sexpe chat Sema Cha
| 9004 | ony
sno | mo
Loo | me l
Cableado de graficos
Puede cablear una salida escalar directamente a un grafico tipo “waveform chart”. El terminal del
grafico 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 gréfico tipo "waveform chart
os grafic
s tipo “waveform chart” pueden mostrar varias curvas juntas usando la funcién Bundle
vada en la paleta Cluster, Class & Variant. En la figura 3-30, ia funcién Bundle une Jas salidas
tres Vis en la curva del grafico tipo “waveform chart”,
Figura 3-30. Gableado de varias curvas a un grafico tipo “waveform chart”
Cc —
| |
ia |
a |
} ¢ |
|
lo a
po “waveform chart” cambia para coincidir con la salida de la funcién
adir mas curvas, use la herramienta de posicionamiento para cambiar el tamafio deManual de Curso LabVIEW Core +
|. Estructuras Case
Una estructura Case tiene dos o mas subdiagramas o casos.
Sélo se ve un subdiagrama a la vez y la estructura ejecuta sélo 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 programacién basaclos en texto.
La etiqueta del selector de caso en la parte superior de la estructura Case contiene en el centro el
nombre del valor de seleccién que se corresponde con el caso actual y fas flechas de ineremento y
decremento a cada lado.
Haga clic en las flechas de incremento y decremento para desplazarse por los casos disponibles.
‘También puede hacer clic en la flecha junto al nombre del caso y seleccionar un caso del meni
desplegable
Cable un valor de entrada, o selector, a la terminal de seleccién para determinar qué caso se
ejecuta
8
‘Debe cablear un niimero entero, un valor booleano, una cadena de caracteres 0 un valor de tipo
enumerado en el terminal de seleccién. Puede colocar el terminal de seleccién en cualquier parte
del borde izquierdo de la estructura Case. Si el tipo de dato del terminal de seleccisn es booleano,
Ja estructura tiene un caso True y uno False. Si el terminal de seleccién es un nfimero entero, cadena
de caracteres 0 valor de tipo enumerado, la estructura puede tener cualquier niimero de casos
XE) Nota Por defecto, los valores de cadenas de caracteres que cablee al terminal de
seleccién distinguen mayiisculas de minusculas, Para permitir coincidencias sin
distincién de mayasculas y mimisculas, cablee un valor de cadena de caracteres al
terminal de seleccién, haga clic con el botsn derecho en el borde de la estructura Case y
seleccione Case Insensitive Match en el menii contextual.
Si no especifiea un caso predeterminado para que la estructura Case controle valores fueva de
rango, debe enumerar explicitamente cada valor de entrada posible. Por ejemplo, si el selector es
un niimero 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 niimero entero sin especiticar
2 National instruments | $31Lecsisn 3 Implementacién de un Vi
SE\_Nota_No puede especificar un caso predeterminado si cablea un control booleano al
selector. Si hace clic con el botén derecho en la etiqueta del selector de caso, Make This
‘The Default Case no aparecerd en el ment contextual. Seleccione el valor TRUE 0
FALSE en el control booleano para determinar qué caso ejecutar.
Para convertir una estructura Case en una estructura Stacked Sequence, haga clic con el botén
derecho en la estructura Case Sequence y seleccione Replace with Stacked Sequence en el ment
contextual.
Haga clic con el botén derecho en el borde de la estructura Case para afadir, duplicar, eliminar 0
reordenar casos y para seleccionar un caso predeterminado.
Seleccionar un caso
La figura 3-31 muestra un VI que utiliza una estructura Case para ejecutar cédigo diferente en
funcién de si un usuario selecciona °C 0 °F como unidades de temperatura. EI diagrama de bloques
superior muestra el caso True en primer plano. En el diagrama de bloques intermedio, se selecciona
el caso False. Para seleccionar un caso, escriba el valor en el identificador del selector de caso 0
use la herramienta de etiquetado para modificar los valores. Tras seleccionar otro caso, ése
aparecera en el diagrama de bloques, como se muestra en el diagrama de bloques inferior de la
Fase eegeraure
wine | ¥
Temoeratve cae SEER)
Si introduce un valor selector que no es del mismo tipo que el objeto cableado al terminal de
seleccién, el valor aparece en rojo. Esto indica que el VI no se ejecutard hasta que elimine o
modifique el valor. Asimismo, debido al posible error de redondeo inherente de la aritmética de
3.32 | alcomcoma flotante, no puede utilizar nimeros en coma flotante como valores de seleccién de caso. Si
cablea un valor en coma flotante al caso, LabVIEW redondeard el valor al niimero entero mas
cercano. Si escribe un valor en coma flotante en la etiqueta del selector de caso, el valor aparecera
rojo para indicar que debe eliminar o modificar el valor antes de que pueda ejecutarse la estructura
Tuneles de entrada y salida en estructuras Case
Puede crear varios tineles de entrada y salida para una estructura Case. Las entradas estén
disponibles en todos los casos, pero los casos no necesitan utilizar cada entrada, No obstante, debe
definir un tinel de salida para cada caso.
Considere el siguiente ejemplo: una estructura Case en el diagrama de bloques tiene un tiinel de
salida, pero en al menos uno de los casos no hay valor de salida cableado al tunel. Si ejecuta este
caso, LabVIEW no sabré qué valor devolver para la salida. LabVIEW indica este error dejando el
centro del tinel en blanco. El caso sin cablear podria no ser el caso que se esta viendo en el
diagrama de bloques.
Para corregir este error, muestre los casos que contienen el tine! de salida sin cablear y cable una
salida al tunel. También puede hacer clic con el botén derecho en el tinel de salida y seleccionar
Use Default If Unwired en el ment contextual para utilizar el valor predeterminado para el tipo
de datos del tiinel en todos los tineles sin cablear. Cuando se cablea la salida en todos los casos, e
tuinel de salida aparece relleno con el color del tipo de dato asociado al mismo.
Evite usar la opeién Use Default If Unwired. Si usa esta opeién, no documentara bien el diagrama
de bloques y podra confundir a otros programadores que utilizan su cédigo. La opcién Use Default
If Unwired también dificulta la depuracién del c6digo. Si usa esta opcién, tenga en cuenta que el
valor predeterminado utilizado es el del tipo de datos que esta conectado al tinel. Por ejemplo, si
el tinel es un tipo de datos booteano, el valor predeterminado es FALSE. Consulte la tabla 3-3 para
ver una lista de valores predeterminados para los tipos de datos.
‘Tabla 3-3. Valores predeterminados de tipos de datos
Tipo de datos
Valor predeterminado
Numérico 0
Booleano PALSE
Cadena de caracteres vacio ("")
© National lsiuments | 3-83Leccida 3 Implementacion de un Vt
Ejemplos
En los siguientes ejemplos, los valores numéricos pasan por tuneles a la estructura Case y se suman
© restan, en funcién del valor cableado al terminal de seleccién.
Estructura Case booleana
{La figura 3-32 muestra una estructura Case booleana, Los casos se solapan entre si para simplificar
ta ilustracion,
Figura 3-32, Estructura Case booleana
Si el control booleano cableado al terminal de seleccién es True, el VI suma los valores numéricos.
De lo contrario, el VI resta los valores numéricos.
En situaciones donde simplemente debe elegir entre dos valores basado en la entrada de un
booleano, la instruccion Select puede ser usada en vez de la estructura Boolean Case.
>
Estructura Case de numero entero
La figura 3-33 muestra una estructura Case de niimero entero.
Figura 3-33, Estructura Case de numero entero
5.34 | nheamManual de Gurso LabVIEW Cove 1
Numeric es un control de anillo de texto situado en la paleta Text Controls que asocia valores
numéricos con elementos de texto. Si el niimero entero cableado al terminal de seleccidn es
0 (add), el VI suma los valores numéricos. Si el valor es 1 (subtract), el VI resta los valores
numéricos. Si Numeric es cualquier otro valor distinto de 0 (ada) 0 1 (subtract), el VI suma los
valores numéricos, porque ése es el caso predeterminado.
Estructura Case de cadena de caracteres
La figura 3-34 muestra una estructura Case de cadena de caracteres.
Figura 3-34. Estructura Case de cadena de caracieres
TSE bea =H
neu
moa
ah,
Si String es add, el VI suma los valores numéricos. Si String es subtract, el VI resta los valores
numéricos.
Estructura Case enumerada
La figura 3-35 muestra una estructura Case enumerada.
Figura 3-35. Estructura Case enumerada
Un control de tipo enumerado facilita a los usuarios una lista de elementos para seleccionar. F tipo
de datos de un control de tipo enumerado incluye informacién sobre los valores numéricos 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 ment contextual de la estructura Case. La estructura Case ejecuta el
{© National instrumenis | 38LLeccién 31 Implementaciin de un Vi
subdiagrama de caso apropiado en funcién del elemento actual del control de tipo enumerado. En
el diagrama de bloques anterior, si Enum es add, el VI suma los valores numéricos. Si Enum es
subtract, el VI resta los valores numéricos.
Uso de estructuras Case para gestionar errores
El siguiente ejemplo muestra una estructura Case donde un cluster de error define los casos.
Figura 3-36, Caso No Error
Hieerer “FI
&
Resa From
Messurement
Waveform Graph
sarin oo ero) im
fests
|
Figura 3-37. Caso Error
i ar
Post tity Waveform Gagh
erin (roenor)
Cuando cablea un cluster de error a la terminal de selecci6n de una estructura Case, la etiqueta del
selector de caso muestra dos casos—Exror y No Error, y el borde de la estructura Case cambia
de color—rojo para Exror y verde para No Error. Si ocurre un error, la estructura Case ejecuta
el subdiagrama Error.
Cuando cablea un ehister de error al terminal de seleccién, la estructura Case s6lo reconoce el
elemento booleano status del cluster.
3.96 | nlcomManual de Curso LabVIEW Gove +
Autorrevision: Cuestionario
1, Siuna entrada de una funcién esta mareada con un punto rojo (conocido como punto de
coercién), 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.
c. Un terminal de iteraciones de un bucle For no esté cableado,
d. EI valor transferido al nodo fue convertido a una representacién diferente
. @Cudles de las siguientes estructuras deben ejecutarse al menos una vez?
a. Bucle While
b. Bucle For
3. {Qué elemento de los siguientes sélo esté disponible en el diagrama de blogues?
a, Control
b. Constante
©. Indicador
d. Panel de conectores
4, {Qué accién mecanica hace que un control booleano en el estado FALSE cambie a TRUE
cuando hace clic en él y permanezca TRUE hasta que lo libere y LabVIEW haya leido el valor?
a, Switch until released
b. Switch when released
c, Latch until released
d. Latch when released
© NationatInstuments | 2-37Manual de Cureo LaQviEW Core 1
Autorrevision: Respuestas
1, Siuna entrada de una funcién esta marcada con un punto rojo (conocido como punto de
coercién), 2qué es lo que indica el punto?
a, Se han transferido datos dentro de la estructura,
b. Un buele For fue configurado con un terminal condicional,
¢. Un terminal de iteraciones de un bucle For no est cableado.
d. El valor transferido al nodo fue convertido a una representacién diferente.
2. gCudles de las siguientes estructuras deben ejecutarse al menos una vez?
a, Bucle While
b. Bucle For
3. {Qué elemento de los siguientes sd/o esta disponible en el diagrama de bloques?
a. Control
b. Constante
¢. Indicador
d. Panel de conectores
4, {Qué accién mecanica hace que un control booleano en el estado FALSE cambie a TRUE
cuando hace clic en él y permanezca TRUE hasta que lo libere y LabVIEW haya leido el valor?
a. Switch until released
b. Switch when released
c, Latch until released
d. Latch when released
@ National instruments | 339Lescién 2 implamentacion de un VI
Notas
3-40 | aicomDesarrollo de aplicaciones
modulares
Esta leccién describe cémo desarrollar aplicaciones modulares. La potencia de LabVIEW reside
en la naturaleza jerérquica del VI. Tras crear un VI, puede utilizarlo en el diagrama de bloques de
otto VI. No existen limites en el niimero de capas de la jerarquia, El uso de la programacién
modular ayuda a gestionar cambios y depurar el diagrama de bloques rapidamente.
Temas
A. Comprensién de la modularidad
B. Creacién del panel de iconos y conectores
C. Uso de subVIs
{© National lasteuments |ection & — Desarrolo de aplicaciones modulares
A. Comprension de la modularidad
La modularidad define ef grado en que un programa se compone de médulos diferenciados de
modo que un cambio en un médulo tenga un impacto minimo en otros médulos. Los médulos de
LabVIEW se denominan subVIs.
Un VI dentro de otro VI se denomina subV1. Un subVI corresponde a una subrutina en lenguajes
de programacién basados en texto, Cuando hace doble clic en un subVI, aparece un panel frontal
y un diagrama de bloques en lugar de un cuadro de dilogo donde poder configurar opciones.
El panel frontal incluye controles e indicadores. El diagrama de bloques incluye cables, iconos del
panel frontal, funciones, posiblemente subVIs y otros objetos de LabVIEW que también podrian
parecerle familiares.
La esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques
muestra el icono para el VI. Es el mismo icono que aparece cuando sitiia el VI en el diagrama de
bloques.
Cuando cree Vis, quiz piense que realiza ciertas operaciones frecuentemente. Considere usar
subVIs o bueles para realizar esa operacién repetitivamente. Por ejemplo, el siguiente diagrama de
bloques contiene dos operaciones idénticas,
Figura 4-1. Diagrama de bloques con dos operaciones idénticas
Dag Assistant
42 | nicomManual de Curso LaaViEW Core 1
El ejemplo Llama al VI Temperature como un subVI dos veces en su diagrama de bloques y
funciona del mismo modo que el diagrama de bloques anterior. También puede reutilizar el subVI
en otros VIs.
Los siguientes pseudocédigos y diagramas de bloques demuestran la analogia entre subVIs y
subrutinas.
Cédigo de funcién Cédigo para llamar al programa
function average (inl, in2, out) ( | main { average (pointl, point2
out = (inl + ind)/2.0; 3 pointavg) ) |
Diagrama de bloques del subV! Diagrama de bloques del VI Calling
oe
B. Creacidn del panel de iconos y conectores
‘Tras crear un panel frontal y un diagrama de bloques del VI, cree el icono y el panel de coneetores
para poder utilizar el VI como un subVI. El icono y el panel de conectores se corresponden con el
prototipo de funcién en lenguajes de programacién basados en texto. Cada VI muestra un icono en
la esquina superior derecha de la ventana del panel frontal y de la ventana del diagrama de bloques.
Un icono de VI es una representacién grifica de un VI. Puede contener texto, imagenes 0 una
combinacién de ambos. Si utiliza un VI como un subVI, el icono identifica el subVI en el diagrama
de bloques del VI. Si afiade el VI a una paleta, el icono del VI también aparece en la paleta
Funetions. Puede hacer doble clic en el icono de la ventana del panel frontal o en la del diagrama
de bloques para personalizarlo o modificario.
YEA Nota Se recomienda personalizar el icono, aunque es opcional, Si usa el icone
predeterminado de LabVIEW, no afectaré a la funcionalidad.
También debe crear un panel de conectores, para usar el VI como un subVI
El panel de conectores es un conjunto de terminales que se corresponde con los controles ©
indicadores de ese VI, similar a la lista de parametros de una llamada a una funcién en lenguajes
de programacién basados en texto. El panel de conectores define las entradas y salidas que puede
cablear al VI para que pueda usarlo como un subVI. Un panel de conectores recibe datos en sus
© National instwuments | 4-3Leceidn 4 Desarrote de aplicaciones modulates
terminales de entrada, los pasa al cédigo 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,
Creacion de un icono
Los iconos son representaciones graficas de VIs.
Cada Vi muestra un icono en la esquina superior derecha de la ventana del panel frontal y de la
ventana del diagrama de bloques.
El icono del VI predeterminado contiene un mimero que indica cudntos VIs (hasta nueve VIs)
nuevos abrié tras lanzar LabVIEW. Para desactivar esta numeracién, seleccione Tools»
Options»Front Panel y desmargue la casilla de verificacién Use numbers in icons of new VIs
(1 through 9).
Un icono puede contener texto o imagenes. Si utiliza un VI como un subVI, el icono identifica el
subVI en el diagrama de bloques del VI. Si aitade el VI a una paleta, el icono del VI también
aparece en la paleta Functions,
Use el cuadro de didlogo Leon Editor para modificar un icono de un VI. Haga doble elie sobre el
ioono en la esquina superior derecha de una ventana del panel frontal o del diagrama de bloques
para que aparezca el cuadro de didlogo Icon Editor.
Cree un icono para representar un VI 0 control personalizado gréficamente. Use el cuadro de
didlogo Ieon Editor para crear 0 modificar iconos.
Puede utilizar banners para identificar VIs relacionados. National Instruments recomienda crear y
guardar un banner en forma de plantilla. A continuacién, puede utilizar esta plantilla para un icono
de VI relacionado y modificar el cuerpo del icono del VI para suministrar informacién sobre el VI
en cuestion
Guardar un banner como una plantilla
Complete estos pasos para guardar un banner como una plantilla de icono para un VI.
1. Haga doble clic sobre el icono en la esquina superior derecha de una ventana del panel frontal
© del diagrama de bloques, o haga clic derecho en el icono y seleccione Edit Ieon en el meni
contextual, para que aparezca el cuadro de didlogo Teon Editor.
Pulse las teclas para seleccionar todas las capas de usuario del icono y pulse la tecla
“Delete para eliminar la seleecién. El icono predeterminado es una capa de usuario individual
denominada VI eon.
5. En la pagina Templates, seleccione la plantilla de icono_biank.png en la categoria VI»
Frameworks. Puede examinar plantillas por eategoria o por palabra clave.Manual de Curse LabVIEW Core 1
4. Use la herramienta de reileno a Ja derecha del cuadro de didlogo 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 File»Save As» Template para mostrar el cuadro de didlogo Save Leon As y guardar
el icono como una plantilla para un uso posterior. LabVIEW guarda fas plantillas de iconos
como ficheros . png de 256 colores.
Creacién de un icono de VI desde una plantilla
Complete estos pasos para crear un icono de VI que utilice la plantilla que creo.
1, Pulse las teclas para seleccionar todas las capas de usuario del icono y pulse la tecla
para eliminar la seleccién.
2. En la pagina Templates, seleccione la plantilla que cre6, Puede examinar plantillas por
categoria 0 por palabra clave
3. En la pagina Icon Text, escriba hasta cuatro lineas de texto de icono para el cuerpo del icono.
Puede configurar la fuente, alineacién, tamaiio y color del texto. Si marca la casilla ce
verificacién Center text vertically, el cuadro de didlogo Teon Editor centra el texto del icono
verticalmente en el cuerpo del icono.
4. En la pagina Glyphs, arrastre y suelte simbolos en la zona Preview.
Pulse la tecla 0 para voltear un simbolo horizontalmente o girarlo en sentido horario
respectivamente, mientras lo mueve. También puede hacer doble clic en un simbolo para
colocarlo en la esquina superior izquierda del icono, Puede examinar simbolos por categoria 0
por palabra clave,
5. Use la herramienta de mover para mover cualquier simbolo. Cada simbolo se encuentra en una
capa distinta y por lo tanto se mueve independientemente. Tenga en cuenta que el resto de!
icono se atentia cuando selecciona un simbolo, para poder identificar qué seleccién esti
moviendo.
6. Use las herramientas de edicién a la derecha del cuadro de didlogo Teon Editor para modificar
mis el icono, si es necesario.
El cuadro de didlogo Teon Editor crea una nueva capa de usuario para cada uso no consecutive
de las herramientas de edici6n. Seleccione Layers»Create New Layer para crear uma nueva
capa de usuario durante los usos consecutivos de las herramientas de edicion.
YE) Nota _No puede moditicar la plantilta del icono o el texto del icono con las herramientas
de edicién de la derecha del cuadro de didlogo Teon Editor. Use la pagina Templates y
Ja pagina Feon Text para modificar la plantilla del icono y el texto de! icono
respectivamente,
© National Instruments | 5-5Leceidn @Desarrola de aplicaciones medulares
(Opcional) Seleccione Layers»Show Layers Page para ver la pagina Layers. Use esta pagina
para configurar el nombre, opacidad, visibilidad y orden de las capas del icono.
8. Haga clic en el botén OK para guardar la informacién del icono con el VI y cerrar el cuadro de
didlogo Icon Editor.
‘También puede arrastrar un grafico desde cualquier parte del sistema de archivos y soltarlo en
la esquina superior derecha de la ventana del panel frontal para usar el gréfico como un icono
del Vi, Puede arrastrar y soltar archivos .png, -bmp 0 . 3pg.
Nota Si modifica un icono arrastrando y soltando un grafico del sistema de archivos,
LabVIEW crearé una capa de usuario denominada VI Icon para el grafico y eliminara
cualquier otra informacién existente del icono del cuadro de didlogo Teon Editor.
Configuracién del panel de conectores
Defina conexiones asignando un control o indicador del panel frontal a cada terminal del panel de
conectores. Fl panel de conectores se muestra junto al icono del VI en esquina superior derecha de
Ja ventana del panel frontal. Cuando se abre LabVIEW, se ve un panel de conectores
predeterminado,
Cada rectangulo del panel de conectores representa una terminal, Use los reetingulos para asignar
entradas y salidas. El panel de conectores predeterminados 4 2 «2 x 4, También puede
seleccionar un patrén diferente haciendo clic con el botén derecho en el panel de conectores y
seleccionando Patterns en el menti contextual. Si anticipa cambios en el VI que requieran una
entrada o salida nueva, mantenga el panel de conectores predeterminado para dejar terminales extra
desasignadas.
El panel frontal de la figura 4-3 tiene cuatro controles y un indicador, porlo que LabVIEW muestra
cuatto terminales de entrada y uno de salida en el panel de conectores,
Figura 4-3. Panel frontal del VI Slope
[ BS Sepe Frome Pane
[Fle Gai View Projet Cpeate Too Window “Hap
x n f
a Ny
ve # Slope fm) |
o ke
2 ye
ae a5 |Manual de Curso LabVIEW Core +
Seleccién y modificacidn de modelos de terminales
Seleccione otro modelo de terminales haciendo clic con el botén derecho en el panel de conectores
y seleccionando Patterns en el menti contextual. Por ejemplo, puede seleccionar tin modelo de
panel de conectores con terminales adicionales. Puede dejar los terminales adicionales sin conectar
hasta que los necesite. Esta flexibilidad permite realizar cambios con un efecto minimo en la
jerarquia de los VIs.
‘También puede tener més controles o indicadores en el panel frontal que terminales, Puede asignar
hasta 28 terminales a un panel de conectores.
El modelo que se usa mas se muestra abajo. Este modelo se utiliza como estandar para ayudar a
simplificar el cableado.
ATH
H
La figura 4-4 muestra un ejemplo de la distribucién estandar utilizada para modelos de terminales.
Las entradas y salidas superiores se suelen usar para pasar referencias y las entrad: das
inferiores para el control de errores.
Figura 4-4. Ejemplo de modelo de terminales
Inputs | Outputs
Reference In
EA Nota Evite usar paneles de conectores con mis de 16 terminales, Aunque los modelos
de paneles de concetores con mas terminales pudieran parecer titles, son muy dificiles
de cablear. $i necesita pasar més datos, use clusters.
Asignacion de terminales a controles e indicadores
Tras seleccionar un modelo para usar en el panel de conectores, puede asignar un control o
indicador del panel frontal a cada terminal del panel de conectores. Cuando asigna controles ¢
indicadores al panel de conectores, coloque entradas en la izquierda y salidas ala derecha para
evitar modelos de cableado complicados 0 confusos.
Para asignar un terminal a un control o indicador del pane! frontal, haga clic en un terminal del
panel de conectores y después 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. E terminal cambia al color
del tipo de datos del control para indicar que conecté el terminal
También puede seleccionar el contro! o indicador primero y después seleccionar el terminal
© National Instruments | 4-7Leccién 4 Desarrollo de aplicaciones medwares
SE\_ Note Aunque use la herramienta de cableado para asignarterminales del panel de
conectores a controles ¢ indicadores del panel frontal, no se dibujan cables entre el panel
de conectores y estos controles e indicadores.
C. Uso de subVIs
Para colocar un subV1 en el diagrama de bloques, haga clic en el boton Select a VI en la paleta
Funetions, Navegue al VI que desee usar como subVI y haga doble clic para colocarlo en el
diagrama de bloques.
También puede colocar un VI que se encuentre abierto en el diagrama de bloques de otro VI
abjerto. 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 subV1 y arrastre el
icono al diagrama de bloques del otro VI
Apertura y modificacién de subVis
Para ver el panel frontal de un subVI desde el VI que Hama, use la herramienta de operaciones o
de posicionamiento para hacer doble clic en el subV1 del diagrama de bloques. Para ver el diagrama
de bloques de un subVI desde el VI que llama, pulse la tecla y use la herramienta de
operaciones 0 de posicionamiento para hacer doble clic en el subVI del diagrama de bloques.
Puede modificar un subVI usando Ja herramienta de operaciones 0 de posicionamiento para hacer
doble clic en e] subVI del diagrama de bloques. Cuando guarde el subVI, los cambios afectaran a
todas las Ilamadas al subVI, no sélo a la copia actual,
Configuracién de entradas y salidas obligatorias,
recomendadas y opcionales
En la ventana Context Help, las etiquetas de terminales obligatorios aparecen en negrita, los
terminales recomendados como texto sin formato y los opcionales aparecen atenuados. Las
tiquetas de terminales opcionales no aparecen si hace clic en el botén 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
Jos usuarios olviden cablear terminales del subVI.
Haga clic con el bot6n derecho en un terminal del panel de conectores y seleccione This
Connection Is en el ment contextual. Una marca de verificacién indica la configuracién del
terminal. Seleccione Required, Recommended u Optional. También puede seleccionar Tools»
Options»Front Panel y activar la casilla de verificacién Connector pane terminals default
to required. Esta opci6n 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.
48 | nicomManual de Curso LabVIEW Core 1
SE\_Nota_Puede seleccionar Dynamic Dispatch Input (Required) o Dynamic Dispatch
Output (Recommended) para Vis de miembros de distribucién dinémica
Para entradas de terminales, required (obligatorio) significa que el diagrama de bloques donde
colocé el subVI se rompera si no cablea las entradas necesarias. Required no esta disponible para
salidas del terminal, Para entradas y salidas de terminales, recommended (recomendado) u optional
(opcional) significa que el diagrama de bloques donde colacé el subVI puede ejecutarse si no
cablea los terminales recomendados u opcionales. Si no cablea los terminales, el VI no genera
ninguna advertencia,
Las entradas y salidas de VIs de vi . 1ib ya estan marcadas como Required, Recommended u
Optional. LabVIEW configura entradas y salidas de Vis que cree como Recommended de forma
predeterminada. Configure un terminal como obligatorio sélo si el VI debe tener esa entrada para
ejecutarse correctamente.
Gestion de errores en SubVis
Usted pasa errores dentro y fuera de un subV1 utilizando clusters de error. Con una estructura Case,
gestiona los errores pasados al subVI con un los casos No Etror y Error.
El caso No Error, como se muestra en la figura 4-5, contiene el c6digo para el funcionamiento
normal del subVI.
Figura 4-5. Caso No Error del subVi Sample
{© National Insieuments | 4-9Lecelan 4 Desaral de aplicaciones modules
E| 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 eédigo necesario para
gestionar el error.
Figura 4:
Caso Error del subVI Sample
|
i
|
|
|
|
|
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
Yano Test
Spe Evcr
wanis? anger
isa) fe)
Creacion de un subVI desde un VI existente
Puede simplificar el diagrama de bloques de un VI convirtiendo secciones de aquél en subVIs.
Convierta una seccién de un VI en un subVI utilizando la herramienta de posicionamiento para
seleccionar la seccién del diagrama de bloques que desee reutilizar y seleccionando EditCreate
SubVI. Un icono para el nuevo subVI sustituird a la seccién seleccionada del diagrama de bloques.
LabVIEW crea controles e indicadores para el nuevo subVI, configura automaticamente el panel
de conectores en funcién del nimero de terminales de controles y de indicadores seleccionado y
cablea el subVI a los cables existentes.Manual de Gurso LabVIEW Cove 1
La figura 4-8 muestra cémo convertir una seleccién en un subVI.
Figura 4-8. Creacién de un nuevo subVI
1 sata
i ute | supeiay oP =) Sipe)
sate
ra > a
El nuevo subVI usa un modelo predeterminado para el panel de conectores y un icono tambien
predeterminado, Haga doble clic en el subVI para modificar el panel de coneetores y el icono y
para guardar el subVI.
YE) Nota No seleccione més de 28 objetos para crear un subVI porque 28 es el mimero
maximo de conexiones en un panel de conectores. Si su panel frontal contiene mas de
28 controles e indicadores que desea usar programéticamente, agrupe algunos en un
cluster y asigne éste a un terminal del panel de conectores
‘© National Instruments | $11Manual de Curso Lab)
Autorrevisién: Cuestionario
1. EnunsubVI, zque configuracién provoca un error si ¢l terminal no se cablea?
a. Required
b. Recommended
©. Optional
2, Debe crear un icono para usar un VI como un subVL
a. Verdadero
b. Falso
© Nationa Instrumenis | 41Manual de Curso LabVIEW Core +
Autorrevision: Respuestas
1. Enun subVI, gque configuracién provoca un error si el terminal no se cablea?
a, Required
b, Recommended
. Optional
2. Debe crear un icono personalizado para usar un V1 como un subVI
a. Verdadero
b. Falso
‘No necesita crear un icono personalizado para utilizar un VI como un subVI, pero es m
recomendable aumentar la legibilidad de su cddigo.
‘© National nsvuments | 4-15Loveiin 4 Oesartollo de aplicaciones modulares
4:48 | nooCreando y aprovechando
estructuras de datos
En ocasiones es conveniente agrupar datos relacionados entre si. Use arrays y clusters
datos relacionados en LabVIEW. Los arrays combinan datos del mismo tipo en una estructur
datos; los clusters combinan datos de diferente tipo en una estructura de datos. Use def
tipo para definir clusters y arrays personalizados. Esta leccién explica arrays, clusters y
definiciones tipo, asi como aplicaciones donde su uso puede resultar beneficioso.
Temas
A. Arrays:
B. Funciones de array comunes
C. Polimorfismo
D. Autoindexado
E. Clusters
=
Definiciones tipo
© National instruments | 6Lecsion 5 Greanda y aprovechando esttucturas de datos
A. Arrays
Un array consta de elementos y dimensiones. Los elementos son los datos que conforman el array.
Una dimension es la longitud, altura o profundidad de un array. Un array puede tener una 0 més
climensiones y un maximo de (23!) - I elementos por dimensién, si lo permite la memoria,
Puede ctear arrays de tipos de datos numéricos, booleanos, rutas, cadenas de caracteres, forma de
onda y chister. Use arrays cuando trabaje con un conjunto de datos similares y cuando realice
célculos repetitivos. Los arrays son ideales para almacenar datos que recopile de formas de onda
datos generados en bucles, donde cada iteracién de un bucle produce un elemento del array.
Nota Los indices de array en LabVIEW estan basados en cero. El indice del primer
elemento de! array, independientemente de su dimensién, es cero.
Restricciones
No puede crear arrays de arrays. Sin embargo, puede usar un array multidimensional o crear un
array de clusters donde cada cluster contenga uno o mas arrays. Asimismo, no puede crear un array
de controies subpanel, controles de pestaiias, controles NET, controles ActiveX, graficos tipo
“chart” o graficos tipo “XY graph” de varias eurvas. Consulte la seccién de clusters de esta leceién
para obtener informacién adicional acerea de los clusters.
Un ejemplo de un array simple es un array de texto que enumera los doce meses del afio. LabVIEW
representa esto como un array 1D de cadenas de caracteres con doce elementos.
Los elementos de array estén ordenados. Un array utiliza un indice para que pueda acceder
facilmente a un elemento conereto. EI indice est basado en cero, lo que significa que esta en el
intervalo de 0 a m- 1, siendo 7 el mimero de elementos del array. Por ejemplo, n= 12 para los doce
meses del afio, de modo que el intervalo del indice es de 0 a 11. Marzo es el tercer mes, por lo que
su indice es 2.
La figura 5-1 muestra un ejemplo de un array de valores numéricos. El primer elemento que
aparece en el array (3.00) estd en el indice 1 y el segundo elemento (1. 00) esta en el indice 2.
| clemento del indice 0 no aparece en esta imagen, porque el elemento 1 est seleccionado en la
visualizacién del indice. E] elemento seleccionado en el indice siempre hace referencia al elemento
que aparece en la esquina superior izquierda de la visualizacién del array.
Figura 5-1. Control array de valores numéricos
1 Indice 2 ElementosManual de Curso LabVIEW Core 1
Creacion de controles e indicadores de tipo array
Cree un control 0 indicador de array en el panel frontal afiadiendo una estructura array al panel
frontal, como se muestra en el siguiente panel frontal, y arrastrando un objeto o elemento de datos,
que puede ser un control o indicador numérico, booleano, de cadena de caracteres, de ruta, de
refitum o de cluster, en la estructura array.
Figura 5-2. Colocar un control numérico en una estructura array
Si intenta arrastrar un control o indicador no valido a la estructura array, no podra colocar el control
0 el indicador en la estructura array.
Debe insertar un objeto en Ia estructura array antes de usar el array en el diagrama de bloques. De
lo contrario, el terminal del array apareceré negro, con un paréntesis vacio y no tendra tipos de
datos asociados a él.
Creacion de constantes de arrays
Para crear una constante de array en el diagrama de bloques, seleccione una constante de array en
lapaleta de Funciones , coloque la estructura array en el diagrama de bloques y coloque una
constante de cadena de caracteres, una constante numérica, una constante booleana o una constant
de cluster en la estructura array. Puede utilizar una constante de array para almacenar datos de
constantes 0 para comparar con otro array.
Arrays bidimensionales
Un array 2D almacena elementos en una cuadricula, Requiere un indice de columna y un indice
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 x 8 = 64 elementos.
Figura 5-3. Array 2D
Column Inox
o 12 3 4 6 6 7
Flow index
@ National Instruments | 53Leccion S$ Creando y aprovechand estucturas de datos
Para afiadir un array multidimensional al panel frontal, haga clic con el botén derecho en la pantalla
del indice y seleccione Add Dimension en el meni contextual. También puede cambiar el tamafio
del indice hasta que tenga tantas dimensiones como desee.
Inicializacion de arrays
Puede inicializar un array o dejarlo sin inicializar, Para inicializar un array, debe definir el nimero
de elementos de cada dimensién y el contenido de cada elemento. Un array sin inicializar contiene
un niimero fijo de dimensiones pero ningtin elemento. La figura 5-4 muestra un control de array
2D sin inicializar. Observe que todos los elementos estan atenuados. Esto indica que el array no
est inicializado.
Figura 5-4. Array 2D sin inicializar
En Ja figura 5-5, seis elementos estan inicializados,
Figura 5-5. Array 2D inicializado con seis elementos
En un array 2D, tras inicializar un elemento de una fila, los elementos restantes de ésta se
inicializan y se rellenan con el valor predeterminado para el tipo de dato. Por ejemplo, en la
figura 5-6, si escribe 4 en el elemento de Ja primera columna, tercera fila, los elementos de la
segunda y tercera columna de la tercera fila se rellenan automaticamente con un 0.
Figura 5-6. Un array autopopulado con ceros
5-4 | nicomManual de Curso LabVIEW Core 1
B. Funciones de array comunes
LabVIEW agrupa las funciones que usted puede utilizar para manipular arrays en la paleta Array
Las siguientes funciones son las funciones mas comunes cuando se trabaja con arrays.
+ Array Size—Provee el ntimero de elementos en cada dimensién de array. El panel de
conectores muestra el tipo de datos predeterminado para esta funcién polimérfica
aney — 5B
+ Initialize Array—Crea un array de dimensién n en el cual cada elemento esta inicializado al
valor de element. Use la herramienta de posicionamiento para cambiar el tamaito de Ia funcion.
y aumentar el niimero de dimensiones (elemento, fila, columna, pagina, etc) del array de salida,
El panel de conectores muestra el tipo de datos predeterminado para esta funcién polimérfiea.
element [|
Siero a's — | — isn
SS
sels]
dnvension
+ Atay Subset—Provee una poreién de array empezando en index y conteniendo length
elementos.
oo) Ray
igen (0) Seg
length irest)
+ Build Array—Concatena miiltiples arrays o agrega elementos a un array de n dimensiones
‘También puede usar la funcién Replace Array Subset para modificar un array existente. El
panel de conectores muestra el tipo de datos predeterminado para esta funcion polimérfica
atey — 6
es
‘element — age
clanart
+ Index Array—Provee el elemento 0 subarray de n-dimension array en index. Cuando cablea
‘un array a esta funcién, la funcién cambia su tamafio automaticamente para mostrar index
entradas para cada dimensién en el array que cableo a n-dimension array, También puede
agregar terminales adicionales al elemento o subarray cambiando el tamaiio de la fancién. Bi
panel de conectores muestra el tipo de datos predeterminado para esta funcisn polimérfica
dimension array ——
element or subartay
© National lnsiuments |LLecoién 5 Creanda y aprovechando estucturas de datos
C. Polimorfismo
Polimorfismo es la habilidad de VIs y funciones de adaptarse automiticamente para aceptar
diferentes tipos de datos, Las funciones son polimérficas en diferentes grados—ninguna, algunas
© todas sus entradas pueden ser polimérficas. Algunas entradas de funciones aceptan valores
numéricos 0 booleanos. Algunas aceptan valores numéricos cadenas de caracteres. Algunas
aceptan no solo valores escalares pero tambign arrays de valores numéricos, clusters de valores
numéricos, arrays de clusters de valores numéricos y més. Algunas aceptan solamente arrays
unidimensionales aunque los elementos del array pueden ser de cualquier tipo. Algunas funciones
aceptan todo tipo de datos, incluyendo valores numéricos complejos.
Polimorfismo para funciones aritméticas
Las funciones aritméticas aceptan entrada de datos numérico. Con algunas excepciones detalladas
en la descripeién de las funciones, la salida predeterminada tiene la misma representacién que la
entrada o si las entradas tienen diferentes representaciones, la salida predeterminada sera igual a la
tepresentacién més larga de las entradas. Por ejemplo, si afiade 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 funcién
numérica, la configuraci6n que especifique sobre escribe el comportamiento predeterminado.
Las funciones aritméticas trabajan con niimeros, arrays de niimeros, clusters de niimeros, arrays de
clusters de néimeros, nimeros complejos y més. Una definicién formal de tipo de entrada permitido
es la siguiente
Tipo numérico = escalar numérico O array {tipo numérico) O cluster {tipos numéricos]
Los esealares numéricos pueden ser mlimeros coma flotante, enteros o nimeros complejos coma
flotante. LabVIEW no permite usar arrays de arrays.
Los arrays pueden tener cualquier mimero de dimensiones de cualquier tamafio. Los clusters
pueden tener cualquier mimero de elementos. El tipo de salida de las funciones es del mismo tipo
de representacién numérica que la entrada. Para las funciones con una entrada, las funciones
operan en cada elemento del array 0 cluster.
Para las funciones con dos entradas, puede usar las siguientes combinaciones:
+ Similar—Ambas entradas tienen la misma estructura y la salida tiene Ja misma estructura que
las entradas.
+ Un esealar—Una entrada es un escalar numérico, la otra es un array o cluster y la salida es un
array o cluster
* Array de—Una entrada es un array numérico, la otra es el tipo numérico y la salida es un array.
Para entradas similares, LabVIEW lleva acabo la funcién en los elementos respectivos de las
estructuras, Por ejemplo, LabVIEW puede sumar dos arrays elemento por elemento. Ambos arrays
deben tener Ja misma dimensién. Puede sumar arrays de diferente nlimero de elementos, la salida
de dicha suma tiene el mismo namero de elementos que la entrada mas pequefia. Los clusters deben
tener el mismo ntimero de elementos y los elementos respectivos deben ser del mismo tipo.
5.6 | nicomManual de Curso LabVIEW Cove 1
Para operaciones que involucran un escalar y un array o un cluster, LabVIEW realiza la funcidn en
el escalar y los respectivos elementos de la estructura. Por ejemplo, LabVIEW puede restar un
néimero de todos los elementos de un array, sin importar la dimensién del array.
Para operaciones que involucran un tipo numérico y un array de ese tipo, LabVIEW realiza la
funcién en cada uno de los elementos del array. Por ejemplo, un grafico es un array de puntos y un
punto es un cluster con dos tipos numéricos, X y Y. Para compensar un grafico por 5 unidades en
la direccién X y por 8 unidades en a direccién ¥ puede affadir un punto, (5,8), al grafico
La figura 5-7 muestra las posibles combinaciones polimérficas de la funcion Add.
Figura 5-7. Combinaciones polimérficas de la funcién Ad.
Siolar ‘one Scalar
Seas
Seatet ——PB> — seater
Seuiar =
‘aray >
ee ey
‘at
et cr
sea
ra ok Cat: 5
Ba a emcee ay of cas
Polimorfismo para funciones booleanas
Las funciones légicas aceptan datos de entrada booleanos, numéricos y clusters de error. Si la
entrada es numérica, LabVIEW realiza una operacion bit a bit. Si entrada es un niimero entero, la
salida tiene la misma representacién. Si la entrada es un niimero coma flotante, LabVIEW lo
redondea a un ndmero entero de 32-bits y la salida es un namero entero de 32-bits. Sila entrada es
un cluster de error, LabVIEW pasa solo el valor TRUE o FALSE del parametro status del cluster
de error a Ja terminal de entrada,
La funciones I6gicas funcionan con arrays de niimeros o valores booleanos, clusters de ntimeres 0
valores booleanos, arrays de clusters de niimeros o valores booleanos y mis.
Una definicién formal del tipo de entrada permitido es la siguiente, excepto que los nimeros
complejos y arrays de arrays no son permitidos:
Tipo ldgico = escalar booleano O escalar numérico O array [tipo légico] O cluster [ripos légicos
© National nsteumants | 5-7LLeccisn§ Creancloy aprovechando asiructuras de datos
Las funciones légicas con dos entradas pueden tener la misma combinacién de entradas que las
funciones aritméticas. Sin embargo, las funciones légicas tienen la restriccién adicional de que las
operaciones basicas solo pueden ser entre dos valores booleanos o dos niimeros. Por ejemplo, no
puede tener una AND entre un valor booleano y un mimero. La figura 5-8 muestra algunas
combinaciones de valores booleanos para la funcién AND.
Figura 5-8. Combinaciones de valores booleanos para la funcién AND
‘Simitar nes
Boolean Seainr FR) Booka
Soon seas er ann sar Bosean
"Hooleen Ar LO poy
Baten aay FR). Bok a
ican aa HF peta Set Apne Bn
Boolean Ciuster = ® Clustar
[~~ cumse
nay ot
a tC 225 oro yo Chars
‘Cluster = pea
D. Autoindexado
Si cablea un array a o desde un bucle For o While, puede vincular cada iteracién del bucle en un
elemento de ese array habilitando el autoindexado, La imagen del tinel cambia de un cuadrado
velleno a Ja imagen para indicar el autoindexado, Haga clic con el boton derecho en el tunel y
seleccione Enable Indexing o Disable Indexing desde el menti contextual para cambiar el estado
del ténel,
a
Entradas de array y autoindexado
Si habilita el autoindexado en un array cableado a un terminal de entrada de un bucle For,
LabVIEW configuraré el terminal de contaje en el tamafio del array, por lo que no tiene que cablear
el terminal de contaje. Dado que puede utilizar bucles For para procesar arrays elemento por
elemento LabVIEW habilita el autoindexado de forma predeterminada para todos los arrays que
cablee a un bucle For. Puede desactivar el autoindexado si no necesita procesar arrays, elemento
por elemento,
5-8 | nicomManual de Curso LabVIEW Core 1
En la figura 5-9, el bucle For se ejecuta un mimero de veces equivalente al nimero de elementos
del array. Normalmente, si el terminal de contaje del bucle For no ests cableado, la flecha de
ejecucién aparece rota. Sin embargo, en este caso la flecha de ejecueién no aparece rota.
Figura 5-9. Array utilizado para configurar el contaje de bucles For
dex in
Te Ee Wen Broiet Gpeate Teel Whdow Hale
DS] [Mm] [0] Se] fholer us [emmperonre | fo |
Si habilita el autoindexado para mas de un tinel o si cablea el terminal de contaje, el niimero
real de iteraciones sera 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 sélo 10 veces, indexando todos los
elementos del primer array pero s6lo los 10 primeros elementos del segundo array.
Salidas de array y autoindexado
Cuando autoindexa un tinel de salida de un array, el array de salida recibe un nuevo elemento de
cada iteracién del bucle. Por lo tanto, el tamajio de los arrays de salida autoindexados es siempre
igual al numero de iteraciones del bucle For.
El cable del tunel de salida al indicador de array aparece mas grueso cuando se produce el cambio
aun array en el borde del bucle, y el tinel de salida contiene corchetes que representan a un array,
como en la figura 5-10.
Figura 5-10. Salida autoindexada
© National instruments | 5Leceion § Creanda y aprovechando asitucturas de datos
Haga clic con el botén derecho en el borde del bucle y seleccione Enable Indexing o Disable
Indexing en el menéi contextual para habilitar o deshabilitar el autoindexado. El autoindexado de
bucles While esta deshabilitado de forma predeterminada.
Por ejemplo, deshabilite el autoindexado si necesita que s6lo el ultimo valor salga por el tunel.
Creacion de arrays bidimensionales
Puede usar dos bueles For, anidados uno dentro det otro, para crear un array 2D. El buele For
extemo crea los elementos de la fila, mientras que el interno crea los elementos de la columna,
como en la figura 5-11
Figura 5-11. Creacién de un array 2D
FS
Autoindexado con un tunel condicional
Usted puede determinar que valores LabVIEW escribe a la salida de un tinel de un bucle basado
en una condicién que especifica haciendo clic con ef botén derecho en Ia salida del tinel y
seleccionando Tunnel Mode»Conditional en el ment contextual.
En la figura 5-12, el array Input Array contiene los siguientes elementos: 7, 2, 0, 3, 1,9, 5,¥ 7.
Debido al tine! condicional, el array Values less than 5 contiene solamente los elementos 2, 0, 3
y 1 después que este bucle completa todas las iteraciones.
Figura 5-12. Bucle For autoindexado con ttinel condicional
Vales ler then
Inoue ary
5-10 | nicomGraficos tipo “Waveform graph”
Los VIs con un grafico normalmente acumulan los datos en un array y después los trazan en el
grafico. La figura 5-13 muestra los elementos de un grafico tipo “waveform graph”.
Figura 5-13, Grafico Waveform Graph
> winston cn
aig
oo
1 Leyendadelacuva 4 Marca de minicuadricula 7 Leyenda del curso Escala V
2 Cursor 5 Leyenda de la escala 8 Paleta det 1 Etiqueta
3 Marca de cuadricula 6 Desplazadordel cursor 9 _ Escala X
Los graficos situados en la paleta Graph Indicators incluyen los tipos
“XY graph”. El tipo “waveform graph” s6lo representa funciones de una tinica var
y = £(x), ¢on puntos distribuidos uniformemente en el eje x, como las formas de on:
variables con el tiempo. Los grificos XY muestran cualquier conjunto de puntos, muestre
uniformemente o no.
\s curvas. Use varias curvas para ahorrar
0s tipo “XY” y “waveform” se
Cambie el tamafio de Ia leyenda de la curva para ver vai
espacio en el panel frontal y comparar curvas. Los gr:
automaticamente a varias curvas.
daptan
Graficos tipo “Waveform graph” de una sola curva
El grafico tipo “waveform graph” acepta varios tipos de datos para graficos de una sola curva, E
grafico tipo “graph” acepta un solo array de valores, interpreta los datos como puntos cel grafico
€ incrementa el indice x en uno empezando por x = 0. Asimismo acepta un chuster con un vald
inicial x, un valor delta x y un array de datos y. Por ultimo, también acepta el tipo de datos de forma
de onda, que contiene los datos, tiempo de inicio y el valor delta t de una forma de onda
raph
Consulte el VI Waveform Graph en abview\examples\general\graphs \gen
para ver ejemplos de los tipos de datos que acepta un grafico tipo “waveform,Leceide $ Creando y aprovechando estructuras de datos
Graficos tipo “waveform graph” de varias curvas
E! grafico tipo “waveform graph” acepta varios tipos de datos para mostrar varias curvas. Acepta
un array 2D de valores, donde cada fila de ésta es una sola curva. El gréfico interpreta los datos
como puntos del mismo e incrementa el indice x en uno, empezando por x = 0. Cable un tipo de
datos de array 2D al grafico tipo “graph”, haga clic en éste con el botén derecho y seleccione
‘Transpose Array en el meni contextual para tratar cada columna del array como una curva, Esto
resulta especialmente sitil cuando muestrea varios canales de un dispositive DAQ, porque éste
puede devolver los datos como arrays 2D con cada canal almacenado como una columna distinta.
Consulte el grafico (Y) Multi Plot 1 en el VI Waveform Graph de labview\examples\
general \graphs\gengraph. 11b para ver un ejemplo de un grifico que acepta este tipo de
datos.
Fl grafico tipo “waveform graph” también acepta un cluster con un valor inicial x, un valor delta x
yun array 2D de datos y. El grafico interpreta los datos y como puntos de! mismo e incrementa el
indice x por el valor delta x, empezando por el valor x inicial. Este tipo de datos resulta util para
mostrar varias sefiales que se muestrean a la misma velocidad regular, Consulte el grafico (Xo =
10, dX = 2, Y) Multi Plot 2 en el VI Waveform Graph de labview\examples\general\
graphs\gengraph 1b para ver un ejemplo de un grafico que acepta este tipo de datos.
El grafico tipo “waveform graph” acepta un array de curvas donde el array contiene clusters. Cada
chuster contiene un atray 1D que alberga los datos y. El array interno describe los puntos de una
curva y el externo tiene un cluster para cada curva. El panel frontal de la figura 5-14 muestra este
array de clusters y.
Figura 5-14. Array del cluster y
aay tate od
Use un array de curva en lugar de un array 2D si el ntimero 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
ntimero de elementos, El niimero de elementos de los arrays interiores de un array de clusters puede
variar. Consulte el grafico (Y) Multi Plot 2 en el VI Waveform Graph de Labview\examples\
general \graphs\gengraph. 11b para ver un ejemplo de un grafico que acepta este tipo de
datos,
grafico tipo “waveform graph” acepta un cluster de un valor inicial x, un valor delta xy un array
que contiene clusters. Cada cluster contiene un array 1D que alberga los datos y. Use la funcién
Bundle para unir los arrays en clusters y use la funcién Build Array para crear los clusters
resultantes en un array. Consulte la leccién Clusters, para obtener informacién adicional acerca
de los clusters y la funeién Bundle.Manual de Curso LabVIEW Care 1
‘También puede utilizar la funcién Build Cluster Array, que crea arrays de clusters que contienen
las entradas que especifique. Consulte el grafico (Xo = 10, dX = 2, Y) Multi Plot 3 en el VI
Waveform Graph de Labview\examples\general \graphs\gengraph.11 para ver un
ejemplo de un grafico que acepta este tipo de datos.
El grafico tipo “waveform graph” acepta un array de clusters de un valor x, un valor delta x y un
array de datos y. Este es el mas general de los tipos de datos de graficos tipo “waveform graph” de
varias curvas, porque puede indicar un nico punto de inicio e incrementar la escala x de cada
curva. Consulte el grafico (Xo = 10, dX = 2, Y) Multi Piot 1 en el VI Waveform Graph de
labview\examples\general \graphs\gengraph. 1 1b para ver un ejemplo de un grafico
que acepta este tipo de datos.
El grafico tipo “waveform graph” también acepta el tipo de datos dinamicos, que se usa con los
Vis Express. demas de los datos asociados con una sefial, el tipo de datos dinémicos incluy
atributos con informacién sobre la sefial, como el nombre de la sefial o fa fecha y la hora en que se
adquirieron los datos. Los atributos especifican c6mo aparece la sefial en el grético. Cuando el tipo
de datos dinémico incluye varios canales, el grifico muestra una curva para cada canal y da formato
autométicamente a la leyenda de la curva y la marca de hora de la escala x.
Graficos XY de una sola curva
El grafico XY acepta tres tipos de datos para graficos XY de una sola curva. Bl grafico XY acepta
un cluster que contiene un array x y un array y. Consulte el grifico (X and Y arrays) Single Plot
en el VI XY Graph de labview\examples\general \graphs\gengraph. 11b para ver un
ejemplo de un grifico que acepta este tipo de datos.
El grafico XY también acepta un array de puntos, donde un punto es un cluster que contiene
un valor xy un valor y. Consulte el gréfico (Array of Pts) Single Plot en el VI XY Graph de
Labview\examples \general \graphs\gengraph. 1b para ver un ejemplo de un grafico
que acepta este tipo de datos. El grafico XY también acepta un array de datos complejos, donde la
parte real se traza en el eje x y la parte imaginaria en el eje y.
Consulte la seccién Clusvers, para obtener informacion adicional acerca los clusters.
Graficos XY “waveform graph” de varias curvas
El grafico XY acepta tres tipos de datos para mostrar varias curvas. Acepta un array de curvas,
donde una curva es un cluster que contiene un array x y un array y. Consulte el grifico (X and Y
arrays) Multi Plot en el VI XY Graph de labview\examples\general \graphs\
gengraph.11b para ver un ejemplo de un grafico que acepta este tipo de datos.
El grafico XY también 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 grafico (Array of Pts) Multi
Plot en el VI XY Graph de labview\examples \general\graphs\gengraph.. 11) para ver
un ejemplo de un grafico que acepta este tipo de datos. El grafico XY también 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 seceién Clusters, para obtener informacion adicional acerca los clusters,
(© Nationa! Instuments | 5-13Lecc'6n 5 _Creando y aprovechando estructuras de datos
E. Clusters
Los clusters agrupan elementos de datos de tipos mixtos. Un ejemplo de un cluster es el cluster de
error de LabVIEW, que combina un valor booleano, uno numérico y una cadena de caracteres. Un
cluster es similar a un registro o una estructura en lenguajes de programacién basados en texto.
Unir varios elementos de datos en clusters elimina el abarrotamiento de cables en el diagrama
die bloques y reduce el mimero de terminales de! panel de conectores que necesitan los subVIs.
El panel de conectores tiene como mucho 28 terminales. Si su panel frontal contiene mas de
28 controles ¢ indicadores que desee pasar a otro VI, agrupe algunos en un cluster y asigne éste a
un terminal del pane! de conectores,
La mayoria de los clusters del diagrama de bloques tiene un terminal y un patrén de cables rosa.
Los clusters de error tienen un terminal y un patron de cables amarillo oscuro. Los clusters de
lores numéricos, a veces denominados puntos, tienen un terminal y un patron de cables marrén.
Puede cablear clusters numéricos marrones a funciones Numeric, como Add o Square Root, para
realizar la misma operacién simultaneamente en todos los elementos del cluster.
Orden de elementos del cluster
Aunque los elementos del cluster y del array estén ordenados, con la funcién Unbundle debe
4/ao~ || ees~] [EO
t
® ®
7 Modo de edicién 3 _Disiribuir objetos
2 Estado de definiciones tipo 6 Cambiar el tamafo de objetos
3. Texto 7 Reordenar objetos
4 Alinear objetos
Modo de personalizacién
En el modo de personalizacién puede mover de sitio cada componente del control, Para ver una
lista de lo que puede manipular en el modo de personalizacién, seleccione Window»Show Parts
Window.
A [one TapL Appicaton Fork EE
} b © b
1 Modo de personalizacién 5 Distribuir objetos - _
2 Estado de definiciones tipo & Cambiar ol tamario de objetos
3 Texto 7 Reordenar objetos
4 Alinear objetos
Una forma de personalizar un control es cambiar su estado de definicién tipo. Puede guardar
‘un control como un control, una definicién tipo o una definicién tipo estricta, en funcidn de la
seleccién que se vea en el anillo Type Def. Status. La opcién de control es Ja misma que un control
que seleccionaria de la palcta Controls. Puede modificarla del modo que necesite, y cada copia que
realice y eambie conservara sus propiedades individuales,
Guardar controles personalizados
Tras crear un control personalizado, puede guardarlo para usarlo después. De forma
predeterminada los controles guardados en el disco tienen una extensién . ct
También puede usar el Editor de Controles para guardar controles con sus propios ajustes
predeterminados. Por ejemplo, puede usar el Editor de Controles para moditicar los ajustes
predeterminados de un grafico tipo “waveform graph”, guardarlo y después utilizarlo en otros Vis
‘@National instruments | 521Leceion 5 Creando y aprovechando estructuras de datos
Definiciones tipo
Use definiciones tipo y definiciones tipo estrictas para vincular todas las copias de un control 0
indicador personalizado a un archivo de control o indicador personalizado guardado. Puede
realizar cambios en todas las copias del control o indicador personalizada modificando sélo el
archivo de control o indicador personalizado, lo cual resulta til si usa el mismo control o indicador
personalizado en varios VIs.
Cuando coloca un control o indicador personalizado en un VI, no existe conexién entre el control
6 indicador personalizado que guard6 y la copia del control o indicador personalizado en el VI.
Cada copia de un control o indicador personalizado es independiente del resto. Por lo tanto, los
cambios que realice en un control o indicador personalizado no afectan a los Vis que ya utilizan
ese control o indicador personalizado. Si desea vincular copias de un control o indicador
personalizado con el archivo de control o indicador personalizado, guarde el control o indicador
personalizado como una definicidn tipo o una definicién tipo estricta. Todas las copias de una
Gefinicién tipo o de una definicién tipo estricfa se vinculan con el archivo original desde donde
las cre6,
Cuando guarda un control o indicador personalizado como una definieién tipo o una definicién tipo
tricta, cualquier cambio de tipo de dato que realice en la definicién tipo o tipo estricta afecta a
todas las copias de la definicién tipo o tipo estricta en todos los VIs que la utilicen. Asimismo, los
cambios de aspecto que realice en una definicién tipo estricta afectan a todas las copias de la
definicién tipo estricta del panel frontal,
Las definiciones tipo identifican el tipo de dato correeto para cada copia de un control 0
indicador personalizado. Cuando cambia el tipo de dato de una definicién tipo, se actualizaran
‘autométicamente todas las copias de la definicién tipo. En otras palabras, el tipo de dato de las
copias de la definicién tipo cambia en cada VI en el que se haya usado. No obstante, como las,
definiciones tipo identifican s6lo el tipo de dato, s6lo se actualizaran los valores que formen parte
del tipo de dato. Por ejemplo, en controles numéricos, el rango de datos no forma parte del tipo de
«lato, Por lo tanto, las definiciones tipo de controles numéricos no definen el rango de datos para
{as copias de las definiciones tipo. Asimismo, como los elementos de los controles de anillo no
definen el tipo de dato, los cambios en los nombres de los elementos de un control de anillo en una
definicién tipo no cambian los nombres de los elementos en las copias de la definicién tipo. Sin
embargo, si cambia los nombres de los elementos de la definicién 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 definicién tipo puede tener su propio titulo, etiqueta, descripeién, ayuda, valor
predeterminado, tamaiio, color o estilo de control o indicador tinico, como en el caso de un mando
en lugar de un control deslizante.
Si cambia el tipo de dato de una definicién tipo, LabVIEW convierte el antiguo valor
predeterminado de las copias de la definicién tipo al nuevo tipo de dato, si es posible. LabVIEW
1no puede conservar el valor predeterminado de la copia si el tipo de dato cambia a un tipo
incompatible, como sustituir un control o indicador numérico por un control o indicador de cadena
de caracteres. Cuando cambia el tipo de dato de una definicién tipo a un tipo de dato incompatible
con la definicién tipo anterior, LabVIEW configura el valor predeterminado de copias como
el valor predeterminado que especifique en el archivo . ct 1, Si no especifica un valor
5:22 | o.comManual de Curso LabVIEW Core 1
predeterminado, LabVIEW usaré el valor predeterminado del tipo de dato. Por ejemplo, si cambia
una definicién tipo de un tipo numérico a un tipo de cadena de caracteres, LabVIEW sustituye
cualquier valor predeterminado asociado con el antiguo tipo de dato numérico por cadenas de
caracteres vacias.
Definiciones tipo estrictas
Una definici6n tipo estricta fuerza que la copia sea idéntica a la definicién de tipo estricta, excepto
enel titulo, etiqueta, descripcién, ayuda y valor predeterminado. Al igual que las definiciones tipo
el tipo de dato de una definici6n tipo estricta permanece invariable en cualquier lugar donde use la
definicién tipo estricta. Las definiciones tipo estrictas también definen otros valores, como pueden
ser la comprobaci6n de rango en controles numéricos y los nombres de ios elementos en controles
de anillo. Las tnicas propiedades de VI Server disponibles para las detiniciones de tipo estrictas
son las que afectan al aspecto del control o indicador, como Visible, Disabled, Key Focus,
Blinking, Position y Bounds.
No puede impedir que una copia de una definicién tipo estricta se actualice automaticamente, a
menos que elimine el vinculo entre la copia y la definicién tipo estricta.
Las definiciones tipo y las definiciones tipo estrictas crean un control predeterminado utilizando
un cluster de varios controles. Si necesita afiadir un nuevo control y pasar un nuevo valor a cada
subVI, puede aftadir el nuevo elemento al control cluster del control personalizado. Esto evita tener
que afiadir el nuevo control al panel frontal de cada subVI y realizar un nuevo eableado y nuevos
terminales.
© National nsteuments | 5:23Manual de Curso LabVIEW Core +
Autorrevision: Cuestionario
1. Puede crear un array de arrays.
a. Verdadero
b. Falso
2. Tiene dos arrays cableados a la entrada de un bucle For. El autoindexado esta habilitado en
ambos tineles. Un array tiene 10 elementos y el segundo tiene cinco. Un valor de 7 se cablea
al terminal Count, como se ve en la figura 5-22. ;CuAl es el valor del indicador Iterations tras
ejecutar este VI?
Figura 5-22. ,.Cudl es el valor del indicador Iteration?
Lo sheet ray
Sdlomartarar
3. 4Cual 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
Definiciones tipo estrictas
4. Control cluster
4, Usted tiene datos de entrada representando un circulo: posicién X, posicién Y y radio. En el
futuro, necesita modificar sus datos para incluir el color del eirculo
{Qué estructura de datos deberia usar para representar el circulo en su aplicacién?
a. Tres controles separados para las dos posiciones y el radio. -
Un cluster que contiene todos los datos,
b.
¢. Un control personalizado que contiene un cluster.
d. Un tipo de definicién que contiene un cluster.
e
Un arreglo con tres elementos.
‘© National insiuments | 525Manual de Curso LaaviEW Gove 1
Autorrevisién: Respuestas
1. Puede crear un array de arrays.
a. Verdadero
b. Falso
No puede arrastrar un tipo de datos array a una estructura array. Sin embargo, puede crear
arrays bidimensionales.
2. Tiene dos arrays cableados a la entrada de un bucle For. El antoindexado esté habilitado en
ambos tiineles. Un array tiene 10 elementos y el segundo tiene cinco. Un valor de 7 se cablea
al terminal Count, como se ve en la figura 5-23. ,Cudl es el valor del indicador Iterations tras
ejecutar este VI?
Figura 5-23. ,.Cudl es el valor de! indicador Iteration?
Valor de Iterations = 4
LabVIEW no supera el tamaiio del array, Esto ayuda a proteger de exrores de programacién
Las funciones mateméticas de LabVIEW actian del mismo modo: si cablea un array de 10
elementos a la entrada x de la funcién Add, y un array de 5 elementos a la entrada y de la
funcién Add, la salida serd un array de 5 elementos
Aunque el bucle For se ejecuta 5 veces, las iteraciones estan basadas en cero, por lo que el valor
del indicador Iterations es 4.
3. gCudl 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
©. Defi
. Control cluster
jones tipo estrictas
@ National instruments | 5:27Leccisn § Creando y apcovechando estrucuras de datos
4, Usted tiene datos de entrada representando un circulo: posicién X, posicién Y y radio, En el
futuro, necesita modificar sus datos para incluir el color del eirculo.
Cual estructura de datos deberia usar para representar el circulo en su aplicacién?
a. Tres controles separados para las dos posiciones y el radio.
Un cluster que contiene todos los datos.
Un control personalizado que contiene un cluster
d. Un tipo de definicién que contiene un cluster.
©. Unarreglo con tres elementos.
528 | nicamManual d2 Curso LabVIEW Core +
Notas
© National Insieumenis | 5:28Leccidn S Creando y aprovechando estrucuras de datos
Notas
5.20 | nlcomAdministrando archivos y recursos
hardware
Hasta el momento ha aprendido a adquirir datos y visualizarlos, pero el almacenamiento de los
datos suele ser muy importante en cualquier proyecto. También ha aprendido a instalar su hardware
yaconfigurarlo en el Measurement & Automation Explorer. Enesta leccién aprender a almacena
datos, programar una aplicacién DAQ bisica utilizando la API DAQme y controlar instrumentos
independientes con la API VISA y controladores de instrumentos en LabVIEW
Temas
A.
endiendo recursos hardware y software
E
S de ficheros
Adquiriendo mediciones con s
tema DAQ
yoo
. Controlando Instramentos
© National instruments | 6Lecelén 4 Adminisitande archivos y recursos hardware
A. Entendiendo recursos hardware y software
Un recurso es un archivo direccionable, dispositivo de hardware, objeto o conexién de red
disponibie en el sistema, El sistema identifica recursos usando rutas, nombres, puertos u otros
identificadores, Al usar estos identificadores y los Vis y funciones que LabVIEW provee, usted
puede programar su sistema para acceder estos recursos.
Accediendo recursos en LabVIEW
Un recurso operacional tipico involucra las siguiente operaciones como se muestra en la figura 6-1:
1. Crear el recurso.
2. Leer y escribir en el recurso.
Cerrar el recurso.
4. Revisar errores en un recurso.
Figura 6-1. Operacién tipica de un recurso
® > ©
‘Abn, inicializar o crear el recurso—LabVIEW crea un numero de referencia (refnum) como un
‘dentificadar Gnico de el recurso
2 Leer/Escribir a un recurso
83 Cerrar recurso—E! refnum se vuelve obsoleto
4 Verificacién de errores—Muestra cualquier error del recurso
Qg 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).
La funcién o VI que erea el recurso toma la rata del recurso 0 el nombre del dispositive
como una entrada y luego crea un identificador tinico al recurso.
Numeros de referencia (Refnums)
Un ntimero de referencia, o refnum, es un identificador Unico para un recurso. Cuando abre un
fichero, dispositive o conexién de red, LabVIEW crea un refnum asociado a ellos. Todas las
operaciones que realice en ficheros, dispositivos o conexiones de red abiertos usan los refinums
para identificar cada objeto. Use el control refnum para pasar un refnum hacia adentro o afuera de
un VI. Por ejemplo, use un control refmum para modificar los contenidos de un archivo al que el
refnum se esta referenciando sin cerrar y reabrir el archivo.
Debido a que el refhum es un apuntador temporal a un recurso abierto, es solamente valido 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,
62 | nicomManual de Curso LabVIEW Core |
LabVIEW recuerda informacién asociada a cada refnum, como la ubicacién actual para la lecturs
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 miltiples veces, cada
operacién de apertura devuelve un refnum diferente. LabVIEW automaticamente cierra refnuims
cuando finaliza la ejecucién de un VI pero es una buena préctica de programacién cerrar los
refnums tan pronto como haya terminado de usarlos para manejar eficientemente memoria y
recursos. Cierre refnums en orden opuesto al que los abrié. Por ejemplo, si obtiene un retnum a un
objeto A e invoca un método en objeto A para obtener un refnum aun objeto B, cierre el refinum
al objeto B primero y luego cierre el refnum al objeto A.
Ejemplos de APIs Refnum
Cuando se esta comunicando con un dispositive DAQ usando el AP] DAQmx, nos referimos a esa
referencia como una tarea (task). Una tarea es una coleccién de uno 0 mas canales virtuales con
tiempo, triggering y otras propiedades, Una tarea representa una medida o generacién que desee
realizar.
Cuando se controla un instrumento usando el API VISA, nos referimos a la referencia como tna
sesién de VISA. La sesin de VISA es mantenida por el control VISA resource name.
La figura 6-2 ilustra varios APIs diferentes y refnums usados para accesar recursos.
Figura 6-2. Ejemplo Cableando un Refnum
th OpenlGremelRapace ie _ “ume
Do
iui Channelsi_ shou
‘i
(ives
usa reource same
Ingle
© Notional Instuments | 3Lecciin 8 Adminisrand archivos y eacurses hardware
B. E/S de ficheros
Las operaciones de E/S de ficheros pasan datos desde y hacia archivo. Use los Vis y funciones de
E/S de ficheros para manejar todos los aspectos de E/S de archivos.
Comprender la E/S de ficheros
Una operacién tipica de E/S de ficheros incluye el siguiente proceso mostrado en la figura 6-3.
Cree o abra um fichero. Tras abrir el fichero, un identificador tnico denominado refnum
representara el fichero.
La funcién o el VI File /O lee en el fichero o escribe en él.
Cierre el fichero.
Figura 6-3. Pasos de una operacién tipica de E/S de ficheros
——
=I Lr
[oa Hoe Ho }o
— |
os:
1 Apertura de fichero 3 Cierre de fichero
2 Caen eS tenaro FB RE erores
Formatos de ficheros
LabVIEW puede utilizar o crear los siguientes formatos de archivo: Binario, ASCII, LVM,
y TDMS
* Binario: los ficheros binarios son el formato de fichero subyacente del resto de formatos de
fichero,
+ ASCII: un fichero ASCII es un tipo espeeifico de fichero binario y es un estindar que utilizan
la mayoria de los programas. Consta de una serie de cédigos ASCII. Los ficheros ASCII
también se denominan ficheros de texto.
+ LVM: el fichero de datos de medicién de LabVIEW (.1vm) es un fichero de texto delimitado
con tabulaciones que puede abrir con una aplicacién de hoja de célculo o un editor de texto. El
fichero . 1vm incluye informacién sobre los datos, como la fecha y la hora en que se generaron.
Este formato de ficheros es un tipo especifico de un fichero ASCII creado para LabVIEW.
+ TDMS: este formato de ficheros es un tipo especifico de un fichero binario creado para
productos de National Instruments. Consta de dos ficheros distintos: uno binatio que contiene
datos y almacena propiedades sobre los datos y un fichero de indice binario que ofrece
informacién 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 aplicacién, si el espacio en disco y la velocidad de E/S de ficheros no
es crucial, sino necesita realizar lecturas o escrituras de acceso aleatorio y si la precisién numérica
no es importanteManual de Curso LabVIEW Core +
Utiliz6 un fichero LVM en Ia leccién 1, Explorando LabVIEW. Para conocer mas acerea de
ficheros binarios y TDMS, consulte la Ayuda de LabVIEW 0 el curso LabVIEW Core 2
E/S de ficheros de alto nivel
Algunos Vis de E/S de fichero realizan los tres pasos de un proceso de E/S de ficheros: abrir,
leer/escribir y cerrar. Si un VI realiza los tres pasos, se denomina VI de alto nivel. Sin embargo,
estos VIs quizé no sean tan eficientes como las funciones y los VIs de bajo nivel diseiiados para
partes coneretas del proceso. Si est escribiendo en un fichero en un bucle, use los Vis de B/S de
ficheros de bajo nivel. Si esté escribiendo en un fichero en una tinica operacién, puede utilizar los
Vis de E/S de ficheros de alto nivel
LabVIEW incluye los siguientes VIs de E/S de ficheros de alto nivel:
+ Write to Spreadsheet File: convierte un array 2D 0 1D de niimeros de doble precision en una
cadena de caracteres de texto y escribe ésta en un nuevo fichero ASCH o anexa los datos de la
cadena de caracteres en un fichero existente, También puede transponer los datos. El VI abre o
crea el fichero antes de escribir en él y lo cierra después. Puede utilizar este Vi para crear un
fichero de texto legible para la mayoria de aplicaciones de hojas de caleulo.
+ Read From Spreadsheet File: lee un nimero concreto de lineas 0 filas de un fichero de texto
numérico empezando por un desplazamiento de caracteres concreto y convierte los datos en
un array 2D de niimeros de doble precision. El VI abre el fichero antes de leerlo y lo cietra
después. Puede utilizar este VI para leer un fichero de hoja de calculo 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 (, 1vm) 0 un fichero de medidas binario (. cds). Puede especiticar
el método de guardado, el formato de fichero (.1vm 0 . tas), el tipo de encabezado y el
delimitador,
+ Read from Measurement File: un Vi Express que lee datos de un formato de fichero de
medidas basado en texto (. 1vm) 0 un fichero de medidas binario (. rams). Puede especificar
el nombre del fichero, el formato del fichero y el tamafio de segmentos,
— Consejo Evite colocar los Vis de alto nivel en bucles, ya que los Vis realizan
‘operaciones de apertura y cierre cada vez que los ejecuta.
Comprender la E/S de ficheros de bajo nivel
Los VIs y funciones de E/S de fichero de bajo nivel realizan s6lo una parte del proceso de E/S de
fichero cada uno. Por ejemplo, existe una funcién para abrir un fichero ASCII, otra para leerlo y
otra para cerrarlo. Use funciones de bajo nivel cuando la E/S de fichero esté realizéndose en un
bucle.
Flujo continuo de datos a disco con funciones de bajo nivel
‘También puede utilizar funciones de E/S de fichero para operaciones de flujo continuo de datos a
disco, que ahorran recursos de memoria al reducir el namero de veces que fa funcién interaettia con
© National instruments | 6-5Lecsibn 6 Adminisitando archivos y recurses hardware
el sistema operativo para abrir y cerrar el fichero, El flujo continuo de datos a disco es una técnica
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 funcién Write to Text File, la funcién Write to
Binary File o el VI Write To Spreadsheet File, afiade el retardo de abrir y cerrar el fichero cada vez
jue se ejecuta la funcién o el VI. Los Vis pueden ser més eficientes si evita abrir y cerrar los
mismos ficheros con frecuencia.
Para evitar abrir y cerrar el mismo fichero, debe pasar un refnum al fichero en el bucle. Cuando
abre un fichero, dispositivo 0 conexién de red, LabVIEW crea un refum asociado a ellos. Todas
Jas operaciones que realice en ficheros, dispositivos o conexiones de red abiertos usan los refnums
para identificar cada objeto,
Los ejemplos de la figura 6-4 y 6-5 muestran las ventajas de usar el flujo continuo de datos a disco.
En la figura 6-4, el VI debe abrir y cerrar el fichero durante cada iteracién del bucle. La figura 6-5
usa el flujo continuo de datos a disco para reducir el niimero de veces que debe interactuar el VI
(on 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 buele, ahorra dos operaciones de fichero en cada
iteracion del bucle.
Figura 6-4. Ejemplo sin flujo continuo de datos a disco
Sumber To Decimal Sing
@ fa.
HERNW IMCD operant Fe ete Te cle
tl
cus (rena)
Figura 6-5. Ejemplo con flujo continuo de datos a disco
§
55 | nicomManual de Curso LabVIEW Gare ¢
Directorio LabVIEW Data
Puede utilizar el directorio predeterminado LabVIEW Data para almacenar los ficheros de datos
que genere LabVIEW, como ficheros . 1vm 0 . txt. LabVIEW instala el directorio Labv Za
pata en el directorio de ficheros predeterminado de su sistema operativo para ayudarle a organizar
y encontrar los ficheros de datos que genere LabVIEW. De forma predeterminada, el VI Express
‘Write LabVIEW Measurement File almacena los ficheros . 1vm que genera en este directorio, y el
V1 Express Read LabVIEW Measurement File lee desde este directorio. La constante Default Dats
Directory y la propiedad Application:Default:Data Directory también devuelven el directorio
LabVIEW Data de forma predeterminada.
a
Seleccione Tools»Options y Paths en la lista Category para especificar un directorio de
datos predeterminado distinto. El directorio de datos predeterminado difiere del directorio
predeterminado, el cual usted especifica para nuevos Vis, controles personalizados, plantillas
de V1 u otros documentos LabVIEW que eree.
C. Adquiriendo mediciones con sistema DAQ
Un sistema de adquisicién de datos (DAQ) usa un dispositive de adquisici6n de datos para pasar
tuna sefial eléctrica acondicionada a un ordenador para el anzlisis software y registro de datos
Puede elegir un dispositivo de adquisicién de datos que use un bus PCI, un bus PC] Express, un
bus PXI 0 el puerto USB o IEEE 1394 del ordenador. Esta seccién explica el hardware utilizado en
un sistema de adquisicién de datos y cémo configurar los dispositivos.
{© National Iasteuments | 6-7Lsccidn 6 Adminisirando archives y recursos hargware
Un sistema DAQ tipico tiene tres tipos basicos de hardware: un bloque de terminales, un cable y
un dispositive DAQ, como en la figura 6-6.
Figura 6-6. Sistema DAQ tipico
1 Sefial 4 Dispositivo DAQ
2 Bloque de terminales 5 Ordenador
Cable
‘as haber convertido un fendmeno fisico en una seftal medible con o sin el acondicionamiento de
sefial, debe adquirir esa sefial. Para adquirir una sefial, necesita un bloque de terminales, un cable,
un dispositive DAQ y un ordenador. Esta combinacién de hardware puede transformar un
ordenador estandar en un sistema de medida y automatizacién,
Uso de un bloque de terminales y un cable
Un bloque de terminales permite conectar seftales. Consta de terminales de tornillo o de muelle
para conectar seifales y un conector para acoplar un cable que conecte el bloque de terminales aun
dispositive DAQ. Los bloques de terminales tienen 100, 68 0 50 terminales. El tipo de bloque de
terminales que debe elegir depende de dos factores: el dispositivo y el nimero de seifales que esta
midiendo. Un bloque de terminales con 68 terminales ofrece més terminales de tierra para conectar
tuna sefial que un bloque de terminales con 50 terminales. Tener mas terminales de tierra evita tener
gue solapar cables para aleanzar un terminal de tierra, lo que puede provocar interferencias entre
las sefiales:
Los bloques de terminales pueden apantallarse o no. Los bloques de terminales apantallados
mejoran la proteccién contra el ruido. Algunos bloques de terminales contienen caracteristicas
adicionales, como compensacién de unién fria, que son necesarias para medir correctamente un
termopar,
68 | nicomManual de Curso LaQvigW Core
Un cable transporta la sefial desde el bloque de terminales al dispositivo DAQ. Los cables tienen
configuraciones de 100, 68 y 50 pines. Elija una configuracién en funcién del bloque de terminales
y el dispositive DAQ que esté usando. Los cables, al igual que los bloques de terminales, pueden
apantallarse o no.
Consulte la seccién DAQ del catdlogo de National Instruments 0 ni . com/products para obtener
informacién adicional acerca de tipos especificos de bloques de terminales y cables,
BNC-2120
La figura 6-7 muestra el BNC 2120, el cual puede ser usado para completar los ejercicios en este
curso.
©Navonal Instruments | 6-9Leccisn 6
‘Adminisrande archivos y recursos hardware
Figura 6-7. BNC-2120
Nereis
BL. onc aro
OOo
SOSGODEDDGE
i
|
@
®
OTST |
2OOCEDOA
AONE
ps
l
Interruptor RES/BNG (Al 3)
‘Clema para Medida de Resistencia
Conector de Entrada de Termopar
Referencia de Temperatura
interruptor BNC/Temp. (Al 0)
Interruptor BNG/Termopar (Al 1)
Conectores de Entrada Analdgica BNC
Interruptores FSGS
Conectores de Salida Analégica BNC
Interruptor de Seleccién de Rango de
Frecuencia
1 Conector BNC Seno/Triangulo
2 Conector BNC Onda Cuadrada TTL
6:10 | nicom
18 Interruptor Forma de Onda Senol
Triangulo
14 Mando de Ajuste de Frecuencia
18 Mando de Ajuste de Amplitud
16 Direccién de lineas de E/S digital
17 LEDs E/S Digital
18 Clemas Detinidas por Usuario
19 Conectores BNC Definidas por Usuario
20 Glomas de EIS temporizadas
21 Clemas de Encoder de Cuadratura
22 Mando de Encoder de Cuadratura
23 Conectores BNC de E/S temporizadas
24 LED Indicador de AlimentacionManual de Curso LaaviEW Core +
Uso de dispositivos DAQ
La mayoria de los dispositivos DAQ tienen cuatro elementos estandares: entrada analogica, salida
analégica, E/S digital y contadores.
Puede transferir la seftal que mide con el dispositivo DAQ al ordenador a través de distintas
estructuras de bus. Por ejemplo, puede utilizar un dispositive DAQ que se conecte al bus PCI o
PCI Express de un ordenador, un dispositive DAQ conectado al zécalo PCMCIA de un ordenador
portatil o un dispositivo DAQ conectado al puerto USB de un ordenador. También puede usar
PXI/CompactPCI para crear un sistema de medida portatil, versdtil y robusto.
Sino dispone de un dispositive DAQ, puede simular uno en Measurement & Automation Explorer
(MAX) para completar la prueba de su software. Aprenderd a simular un dispositive en la seceién
Simulacién de un dispositive DAQ de esta leccién.
Consulte la seccién DAQ del catalogo de NI 0 ni .com/products para obtener informacion
adicional acerca de tipos especificos de dispositivos DAQ.
Entrada analogica
La entrada analogica es el proceso de medir una seftal analégica y transferir la medida @ un
ordenador para su andlisis, visualizacién o almacenamiento. Una sefial analogica es una sefial que
varia continuamente. La entrada analégica se utiliza mucho para medir la tensidn o la cortient:
Puede usar numerosos tipos de dispositivos para realizar la entrada analégica, como dispositivos
multifuncién DAQ (MIO), digitalizadores de alta velocidad, multimetros digitales (DMM) y
dispositivos de adquisicién de seftales dinamicas (DSA).
La adquisicién de una sefial analogica con un ordenador requiere un proceso conocido como
conversién analogico-digital, que capta la sefal eléctrica y la traduce en datos digitales para que el
ordenador pueda realizar el procesamiento. Los conversores anal6gico-digital (ADCs) son
componentes de circuito que convierten un nivel de tensin en una serie de unos y ceros.
Los ADCs muestrean la sefial analégica en cada flanco de subida y bajada de un reloj de muestreo.
En cada ciclo, ef ADC toma una instantanea de la sefial analégica, 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 sefial de entrada, Como la sefial de entrada o desconocida es una sefal real con
precisién infinita, el ADC realiza una aproximacién a la sefial con precisidn fija. Una vez que
ADC obtiene esta aproximacién, ésta puede convertirse a una serie de valores digitales, Algunos
métodos de conversién no requieren este paso, porque la conversién genera un valor digital
directamente cuando el ADC alcanza la aproximaci6n,
Salida analdgica
La salida analégica es el proceso de generar sefiales eléctricas desde el ordenador. La salida
analdgica se genera realizando la conversi6n digital-analégico (D/A). Los tipos de salida analégica
disponibles para una tarea son tension y corriente. Para realizar una tarea de tensién o corriente,
debe instalar un dispositivo compatible que pueda generar ese tipo de sefial.
© National instruments | 6-71Leccidn 8 Administrande archivos y recursos hardware
La conversidn digital-analégico es lo opuesto a la conversién analégico-digital. En la conversién
digital-analégico el ordenador genera los datos. Los datos pueden haberse adquirido antes
utilizando Ia entrada analégica o pueden haberse generado por software del ordenador. Un
conversor digital-analégico (DAC) acepta estos datos y los usa para variar en el tiempo la tension
en un pin de salida. El DAC genera una sefial analégica que el DAC puede enviar a otros
dispositivos o circuits.
Un DAC tiene un reloj de actualizacién que indica al DAC cuando generar un nuevo valor. La
funcién del reloj de actualizacion es similar a la del reloj de muestreo para un ADC. En cada ciclo
de reloj, el DAC convierte un valor digital en una tensidn analégica y genera una tensién de salida
en uno de los pines, Cuando se usa con un reloj de alta velocidad, el DAC puede crear una seftal
que parece variar constantemente y de manera suave.
E/S digital
Las sefiales digitales son sefiales eléetricas que transfieren datos digitales por un cable. Estas
sefiales normalmente tienen s6lo dos estados: on y off, también conocidos como alto y bajo. 0.1 y
0. Cuando envia una sefial digital por un cable, el emisor aplica tensidn en el cable y el receptor
1usa el nivel de tensién para determinar el valor que se esta enviando. B1 intervalo de tensién para
cada valor digital depende del estandar de nivel de tensién que se use. Las sefiales digitales tienen
‘muchos usos, siendo la aplicacién mas sencilla controlar 0 medir dispositivos de estado digitales 0
finitos como interruptores y LEDs, Las sefiales digitales también pueden transferir datos y puede
utilizarlas para programar dispositivos o comunicarse entre éstos. Ademés, puede usar sefales
digitales como relojes o triggers para controlar o sincronizar otras medidas.
Puede usar las lineas digitales de un dispositive DAQ para adquirir un valor digital. Esta
adquisicién se basa en la temporizacién software. En algunos dispositivos puede configurar las
lineas individualmente para medir 0 generar muestras digitales. Cada linea se corresponde con un
canal en la tarea.
Puede usar los puertos digitales de un dispositivo DAQ para adquirir un valor digital desde
‘un conjunto de Iineas digitales, Esta adquisicién se basa en la temporizacién software. Puede
configurar los puertos individualmente para medir o generar muestras digitales. Cada puerto se
corresponde con un canal en la tarea,
Contadores
Un contador es un dispositive de temporizacién digital. Normalmente se utilizan contadores para
contar eventos, medir frecuencias, medir periodos, medir posiciones y generar pulsos.
Cuando configura un contador para el contaje de eventos simple, el contador aumenta cuando se
recibe un flanco activo en la fuente, Para que el contador aumente en un flanco activo, el contador
debe armarse o iniciatse. Un contador tiene un ntimero fijo hasta donde puede contar, determinado
por la resolucién del contador. Por ejemplo, un contador de 24 bits puede contar hasta
‘Devesoucion del contador) « | = 224 —
6.777.215
6-12 | a.comManual de Curso Lab’
Cuando un contador de 24 bits aleanza el valor de 16.777.215, ha llegado al contaje terminal, El
siguiente flanco activo obliga al contador a reiniciarse y empezar en 0.
Uso del software DAQ
Los dispositivos de adquisicién de datos de National Instruments disponen de un controlador que
comunica el dispositivo y el software de aplicacién, Puede usar LabVIEW para comunicarse con
estos controladores. NI-DAQmx contiene Vis, funciones y herramientas de desarrollo para
controlar dispositivos de medicién. Consulte la seccién Programando con AQ en Lab) IE}, para
obtener informacién adicional acerca como programar con DAQmx
Ademis, puede utilizar MAX para configurar sus dispositivos de adquisicion de datos. En esta
seccién, aprender acerca de motores controladores y del uso de MAX para configurar su
dispositivo de adquisicién de datos.
Configuracién del hardware DAQ
Antes de usar un dispositivo de adquisicién de datos, debe confirmar que el software puede
comunicarse con el dispositivo configurando los dispositivos. Los dispositivos ya estan
configurados en los ordenadores de este curso.
Windows
El Administrador de configuracién 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
configuracién de Windows detecta y configura automaticamente el dispositivo. Si dispone de un
dispositivo que no sea PaP, o un dispositivo legacy, debe configurar el dispositivo manualmente
con la opeién Agregar nuevo hardware en el Panel de control de Windows
Puede comprobar la configuracidn de Windows accediendo al Administrador de dispositivos
Puede ver Data Acquisition Devices, que muestra todos los dispositivos DAQ instalados en el
ordenador. Haga doble clic en un dispositivo DAQ para ver un cuadro de didilogo con paginas por
pestafias. La pestafia General muestra informacidn general sobre el dispositivo. La pestaiia Driver
especifica la version y la ubicacion del controlador para el dispositivo DAQ. La pestafia Details
muestra informacion adicional sobre la configuracién del hardware. La pestafa Resources
especifica los recursos del sistema para el dispositivo, como los niveles de interrupeién, DMA y
direccién base para dispositivos configurables por software.
Measurement & Automation Explorer
MAX establece todos los pardmetros de configuracién de dispositivos y canales. Tras instalar un
dispositive DAQ en el ordenador, debe ejecutar esta utilidad de configuracién. MAX fee la
informacién que registra el Administrador de dispositivos en el registro de Windows y asigna
‘un niimero de dispositivo logico a cada dispositive DAQ. Use el ntimero de dispositivo para hacer
referencia al dispositivo de LabVIEW. Acceda a MAX haciendo doble clic en el icono del
escritorio 0 seleccionando Tools»Measurement & Automation Explorer en LabVIEW.
© National instuments | 613Lecsion 6 Adminiitande archivos yreeursas hardware
La siguiente ventana es la ventana principal de MAX. MAX también constituye la herramienta
para la configuracién de equipos SCXI y SCC.
Figura 6-8. Ventana principal de MAX
"GN open Merc sou ono
fi ot Vow Toa Hep
+ Bivipien
B esereaiontons
Devices and interfaces
fa set National Instruments Measurement & Automation Expl
Wot do you want to do?
W sanage mctenns ac rises
Same same amie st oversee Fresno he Moen soe ao tae Mee
Forme teaton set bee es ote Hom Duy os Ke eat
Los parametros de dispositivos que puede ajustar con esta utilidad de configuracién dependen del
dispositivo. MAX guarda el ntimero de dispositive légico y los pardmetros de configuracién en el
registro de Windows.
La capacidad plug & play de Windows detecta y configura automaticamente dispositivos DAQ sin
conmutadores de configuracién, como el NI PCI-6024E, cuando instala un dispositivo en el
ordenador.
Simulacion de un dispositivo DAQ
Puede crear dispositivos simulados NI-DAQmx en NI-DAQmx 7.4 0 posterior. Con los
dispositivos simulados NI-DAQmx puede probar productos de NI en su aplicacién sin el hardware.
Cuando adguiera e! hardware posteriormente, puede importar la configuracién del dispositive
simulado NI-DAQmx en el dispositivo fisico usando el MAX Portable Configuration Wizard.
Con los dispositivos simulados NI-DAQmx también puede exportar una configuracién de un
dispositivo fisico en un sistema que no tenga el dispositivo fisico instalado. A continuacién, con el
dispositive simulado NI-DAQmx, puede trabajar en sus aplicaciones en un sistema portatil y, al
volver al sistema original, puede importar facilmente su trabajo en la aplicacién,
aManual de Curse LabVIEW Cons 1
Programando con DAQ en LabVIEW
Ya comprende los transductores, sefiales, configuracién de dispositives DAQ y MAX. Ahora
puede empezar a aprender a usar LabVIEW para crear una aplicacién de adquisicién de datos
NI-DAQmx es compatible con paquetes de software distintos de Lab VIEW, pero este curso solo
describe el desarrollo de aplicaciones DAQ con LabVIEW,
DAQmx Name Controls
La paleta DAQmx Name Controls incluye controles para el nombre de tarea, nombre de canal
canal fisico, terminal, nombre de escala, nombre de dispositivo y conmutador. También puede
crear estos controles haciendo clic con el botén derecho en el terminal de entrada correspondiente
en un VI DAQmx y seleccionando Create»Control. Para obtener mas informacién sobre estos
controles, consulte N/-DAQmx Help.
Figura 6-9. Paleta DAQmx Name Controls
DAtra Norse Contras
Vis DAQm«x - Data Acquisition
Use los VIs NI-DAQm«x con los dispositivos hardware NI-DAQ para crear aplicaciones de
instrumentos, adquisicién y control. Consulte la guia DAQ Getting Started Guide o el fichero
NE-DAQ Readme para ver la lista completa de dispositivos que admite NI-DAQms.
La paleta DAQmx - Data Acquisition incluye las siguientes constantes y VIs
Constantes
+ Constante DAQmx Task Name—Muestra todas las tareas que cree y guarde utilizando el DAQ
Assistant. Haga clic derecho en la constante y seleccione /O Name Filtering en el mentt
contextual para limitar las tareas que se muestran en la constante y para limitar lo que puede
introducir en ella.
+ Constante DAQinx Global Channel—Muestra 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 1/0 Name Filtering en el mentt contextual para
limitar los canales que se muestran en la constante y para limitar lo que puede introducir en ella
(© National instruments | 6-18Lectida 6 Administeando archivos y recursos haraware
Vis
Vi DAQmx Create Virtual Channel—Crea un canal virtual 0 conjunto de canales virtuales y
Jos afiade a una tarea. Las copias de este VI polimérfico corresponden al tipo E/S del canal,
como entrada analégica, salida digital o salida de contador; la medida o generacién a realizar,
‘como la medida de temperatura, generacidn de tensidn 0 contaje de eventos; y, en algunos
casos, el sensor a utilizar, como un termopar o RTD para la medida de temperatura.
sta fancién configura los mismos ajustes que configura en MAX al crear un canal virtual. Use
esta funcidn si el operador de su programa pudiera cambiar periddicamente la conexion del
canal fisico, pero no otros ajustes importantes, como el modo de configuracién del terminal 0
la escala personalizada aplicada, Use el mem desplegable del canal fisico para especificar el
miimero de dispositive DAQ y el canal fisico real al que esté conectado su sefial
VIDAQmx Read—Lee muestras de la tarea o canales que especifique. Las copias de este VI
polimérfico especifican que 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 enel VI DAQms Read y eligiendo Select Type para incluir mas opciones
de configuracién para operaciones de lectura.
VI DAQmx Write—Eseribe muestras en la tarea o canales que especifique. Las copias de este
\Vi polimérfico especifican qué formato de las muestras hay que escribir, sihay que eseribir una
sola muestra o varias y si hay que escribir en uno 0 varios canales. Puede seleccionar una copia
haciendo clic derecho en el VI DAQmx Write y eligiendo Select Type para incluir més
opciones de confignracién para operaciones de escritura.
VI DAQmx Wait Until Done—Espera a que se complete a medida o generacién. Use este V1
para que la operacién especificada se complete antes de que detenga la tarea.
VI DAQmx Timing— Configura el nimero de muestras que hay que adquirir o generar y crea
un bifer cuando es necesario. Las copias de este VI polimérfico corresponden al tipo de
temporizacion que se utilizard en la tarea.
VIDAQmx Trigger—Configura la activacién de la tarea. Las copias de este VI pi
corresponden al trigger y al tipo de trigger que hay que configurar.
\orfico
VI DAQmx Start Task—Transiciona la tarea al estado de ejecucién para empezar a medir 0a
generar. Debe usar este VI para algunas aplicaciones y es opcional para otras.
‘VI DAQmx Stop Task—Detiene la tarea y la devuelve al estado en que se encontraba ésta antes
de que vtilizara el VI DAQms Start Task 0 el VI DAQmx Write con Ia entrada autostart
configurada a TRUE.
VI DAQmx Clear Task—Borra la tarea, Antes de borrar, este VI detiene la tarea, si es
‘necesario, y libera los recursos que reserva aquélla, No puede utilizar una tarea tras borrarla, a
menos que vuelva a crearla.
6-18 | a.comManual de Curso LabVIEW Core +
Figura 6-10. Paleta DAQmx Data Acquisition
Taine bits an is
PTA sen] Leosomne
D. Controlando Instrumentos
Cuando usa un ordenador para automatizar un sistema de prueba, no se limita al tipo de
instrumento que puede controlar. LabVIEW permite controlar virtualmente cualquier tipo de
instrumento incluyendo amplificadores, analizadores, calibradores, osciloscopios, fuentes de
poder, generadores de seftales, sensores y més.
Puede mezclar y combinar instrumentos de varias categorias. Las categorias mas comunes de
interfaces de instrumentos son GPIB, USB, Ethernet, serie e instrumentos modulares. Otros tipos
de instrumentos son adquisicién de imagenes, control de movimiento, puerto paralelo, NI-CAN y
otros dispositivos. Este curso se enfoca en GPIB
Cuando usa ordenadores para controlar instrumentos, debe entender las propiedades de los
mismos, como los protocolos de comunicacién que usara y los comandos que el dispositivo espera.
Refierase al manual de programacién del instrumento o al manual de usuario para informacion
acerca las propiedades de un instrumento
Beneficios del control de instrumentos
LabVIEW hace fécil controlar y adquitir datos de cualquier instramento desde cualquier bus. Usted
puede automatizar mediciones de varios dispositivos, analizar los datos cuando los adquiere y
Tuego guardarlos al disco. Esta automatizacién puede ahorrar enormes cantidades de tiempo y
dinero. También, usar una sola aplicacién para controlar miiltiples tareas ¢ instrumentos permite
consolidar y sincronizar esas tareas.
LabVIEW tiene muchas herramientas que ayudan a simplificar la programacion para control de
instrumentos incluyendo controladores de instrumentos, ejemplos, wizards y Vis Express. Estas
herramientas le pueden ayudar a hacer mas con su tiempo, reduciendo tareas repetitivas que
consumen mucho tiempo y dejando que usted se enfoque en el desarrollo de secciones particulares
de su aplicacién, Usted puede descargar controladores de instrumentos para casi cualquier
instrumento sin costo.
© National insicurnents | 5-1701618 Administrando archives y reoursos hardware
GPIB
E] esténdar ANSV/IEEE 488, 1-1987, también conocido como General Purpose Interface Bus
(GPIB), describe una interfaz estindar para la comunicacién entre instrumentos y controladores de
varios proveedores. Los instrumentos GPIB ofrecen a los ingenieros de pruebas y de fabricacién
{a mayor seleceién de proveedores e instrumentos para aplicaciones de prueba de proposito
general o especializadas en mereados verticales. Los instrumentos GPIB suelen utilizarse como
instrumentos independientes de sobremesa donde las medidas se toman a mano. Puede automatizar
estas medidas con un ordenador para controlar los instrumentos GPIB.
IEEE 488.1 contiene informacién sobre especificaciones eléctricas, mecdnieas y funcionales. El
estandar ANSI/IEEE 488.2-1992 amplia [EEE 488.1 al definir un protocolo de comunicacion de
bus, un conjunto comtin de eédigos y formatos de datos y un conjunto genérico de comandos
comunes de dispositivo.
GPIB es una interfaz digital de comunicacion paralela de 8 bits con velocidades de transferencia
de datos de 1 Mbyte/s o més, utilizando un protocolo de enlace de tres cables. El bus admite un
controlador de sistema, normalmente un ordenador, y hasta 14 instrumentos adicionales.
El protocolo GPIB categoriza dispositivos como controladores, transmisores w oyentes para
determinar qué dispositivo tiene un control activo del bus. Cada dispositive tiene una direecién
primaria GPIB tnica entre 0 y 30. El controlador define los enlaces de comunicacién, responde
a dispositivos que requieren servicio, envia comandos GPIB y transmite o recibe control del bus.
Los controladores ordenan a Jos transmisores transmitir y colocar datos en el bus GPIB. Puede
direccionar s6lo un dispositivo a la vez para transmitir. El controlador direcciona al oyente para
escuchar y leet datos del bus GPIB. Puede direecionar varios dispositivos para escuchar.
Terminacién de transferencia de datos
La terminacién informa a los oyentes de que se han transferido todos los datos. Puede terminar una
transferencia de datos GPIB de estos tres modos:
arse con el
+ El bus GPIB incluye una linea de hardware End Or Identify (EOI) que puede a
liltimo byte de datos. Este es e] método preferido.
* Colocar un carécter especifico end-of-string (EOS) al final de la cadena de caracteres de datos
Algunos instrumentos usan este método en lugar de la activacién de la linea EOI o ademas
de ella.
+ Eloyente cuenta los bytes transferidos mediante el protocolo de enlace y deja de leer cuando
el oyente llega a un limite de contaje de bytes. Este método suele ser el de terminacién
predeterminado porque la transferencia se detiene en el OR légico de EOI, EOS (si se usa) junto
con el contaje de bytes. Como precaucién, ef contaje de bytes del oyente suele elegirse mayor
que el contaje de bytes esperado, para no perder ninguna muestra,
618 | nicomManual de Cueso LabVIEW Core 1
Velocidad de transferencia de datos
Para conseguir la mayor velocidad de transferencia de datos para la que se diseiié el bus GPIB
debe limitar el mimero de dispositivos del bus y la distancia fisica entre dispositivos.
Puede obtener velocidades de datos mas rapidas con dispositivos y controladores HS488. HS488
es una extensién de GPIB que admiten la mayoria de los controladores de NI
YEA Nota Consulte el sitio web de soporte de GPIB de National Instruments ni .com/
support /apibsupp.htm para obtener informacion adicional acerca del bus GPIB.
Configurando un instrumento GPIB
La arquitectura software para el control de instrumentos mediante LabVIEW es similar a la
arquitectura para DAQ. Las interfaces de instrumentos como GPIB incluyen varios controladores,
Use MAX para configurar Ia interfaz,
YEA Nota _La mayorfa de los controladores GPIB disponibles para descargar estén
disponibles en ni. com/support /gpib/versions .htm. Instale siempre la version
més reciente de estos controladores a menos que las notas de la versién indiquen lo
contrario.
MAX (Windows: GPIB)
Use MAX para configurar y probar la interfaz GPIB. MAX interactiia con las herramientas de
diagnéstico y configuracién instaladas con el controlador y tambign con el registro de Windows y
el Administrador de dispositivos. El software a nivel de controlador toma la forma de una DLL y
contiene todas las funciones que se comunican directamente con la interfaz GPIB. Los Vis y las
funciones de Instrument I/O Iaman directamente al software del controlador.
@ National instruments | 6-19Lecsidn 8 Administande archivos y recursos hardware.
Lance MAX haciendo doble clic en el icono del escritorio o seleccionando Tools»
Measurement & Automation Explorer en LabVIEW. El siguiente ejemplo muestra una interfaz
GPIB en MAX tras hacer clic en el botén Scan For Instruments de ta barra de herramientas.
Figura 6-11, Interfaz GPIB en Measurement & Automation Explorer
1B Micisnts"O02"
“Gran (HGP Mearrement 8 Automation Eporet foley
Ble fat New Tool He : Sooners oS : =
2B ty gate Teds Pa Rene Dette | Seanteresvuments "Te Bewtiee
| Bethea gece nia Sed
“Tas OE PCED | van
@ irtnimeno Bi exotce earaton
Bineimen (oietanierads scram
teatment 2 ae an
CA ace ass ee ene.
Ge ce soe
B Mine cnet |
"sent on |
ie |
|
“ oo
aan mar
ma Dive hutsoating
aan | traction satese I
rose i
feste05 cone
Ll araesetngs
rete cata
Women tne thd tans Mn ana Se 40882.
Giese ees tens Sle 80092001
rerwert’2 3s res otal str Sul OHHOHE. 20.84
Configure los objetos que aparecen en MAX haciendo clic con el botén derecho en cada uno y
seleecionando una opcién del men contextual.
Puerto serie
La comunicacién serie transmite datos entre un ordenador y un dispositivo periférico, como un
instrumento programable u otro ordenador. La comunicacién serie utiliza un transmisor para enviar
datos bit por bit por una sola linea de comunicacién a un receptor. Use este método cuando las
velocidades de transferencia de datos sean bajas o tenga que transferir datos a larga distancia. La
6-20 | nicomManual de Curso LabVIEW Gore +
mayoria de los ordenadores tiene uno o mas puertos serie, por lo que no necesita hardware
adicional aparte de un cable para conectar el instrumento al ordenador o para conectar dos
ordenadores enite si
Figura 6-12. Ejemplo de instrumento serie
1 Instrumento RS-232 2 Cable RS-232 3 Puerto serie
Debe especificar cuatro parémetros para la comunicacién serie: la velocidad en baudios de la
transmisién, el mimero de bits de datos que codifican un cardcter, el sentido del bit de paridad
opcional y el niimero de bits de parada. Una trama de caracteres empaqueta cada carécier
transmitido como un tinico 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 comunicacién serie.
Los bits de datos se transmiten al revés y hacia atrés, lo que significa que se usa la logics invertida
y el orden de transmisién es del bit menos significativo (LSB) al bit mas significative (MSB). Para
interpretar los bits de datos en una trama de caracteres, debe leer de dlerecha a izquierda y leer 1
para tensién negativa y 0 para tensién positiva.
Un bit de paridad opcional sigue a los bits de datos en la trama de caracteres. El bit de paridad, si
se encuentra, también sigue ldgica invertida. Este bit se incluye como un medio para comprobar
errores. Especifique con antelacién si la paridad de la transmisidn sera par o impat. Si elige que la
paridad sea impar, el bit de paridad se configura para que el niimero de Is se sumen para crear un
nimero impar entre los bits de datos y el bit de paridad.
La tiltima parte de la trama de caracteres consta de 1, 1,5 0 2 bits de parada que siempre se
representan con una tensién negativa. Si no se transmiten mas caracteres, la linea permanece en
estado negativo (MARK). La transmisién de la siguiente trama de caracteres, en su caso, empieza
con un bit de inicio de tensién positiva (SPACE).
©Natir
9 netuments | &-23LLecci6n 8 Administrande archivos y recursos hardware
La siguiente figura muestra una trama de caracteres tipica que codifica la letra m.
Figura 6-13. Trama de caracteres para la letra m
= oo
Le
Character Frame
RS-232 usa sélo dos estados de tensién, llamados MARK y SPACE, En ese esquema de
codificacién de dos estados, la velocidad en baudios es idéntica al niimero maximo de bits de
informaci6n, incluyendo los bits de control, que se transmiten por segundo.
MARK es una tension negativa y SPACE una positiva. La ilustracién anterior muestra el aspecto
de la sefial idealizada en un osciloscopio. Esta es la tabla de verdad para RS-232:
Sefial > +3 V=0
Sefial <-3V=1
El nivel de seftal de salida normalmente oscila entre +12 V y -12 V. La zona muerta entre +3 V y
3 V esté diseitada para absorber el ruido de linea.
Un bit de inicio sefiala el principio de cada trama de caracteres. Es una transicion de tension
negativa (MARK) a positiva (SPACE). Su duracién en segundos es la inversa de la velocidad en
audios. Si el instrumento est transmitiendo a 9.600 baudios, la duracién del bit de inicio y cada
bit siguiente sera de unos 0,104 ms, Toda la trama de caracteres de once bits se transmitiria en
aproximadamente 1,146 ms.
La interpretacién de los bits de datos para la transmisin produce 1101101 (binario) 0 6D
(hexadecimal). Una tabla de conversion ASCII muestra que se trata de la letra m,
Esta transmisién utiliza paridad impar. Existen cinco unos entre los bits de datos, ya un némero
impar, por lo que el bit de paridad se configura en 0.
Velocidad de transferencia de datos
Puede caleular la velocidad de transmisién maxima en caracteres por segundo para una
configuracién de comunicacién predeterminada dividiendo la velocidad en baudios entre los bits
por trama de caracteres
En el ejemplo anterior hay un total de once bits por trama de caracteres. Si la velocidad de
transmisidn se configura en 9.600 baudios, conseguird 9.600/11 = 872 caracteres por segundo.
Observe que esta es la velocidad de transmision maxima de caracteres. El hardware de un extremo
wootto del enlace serie quiz no pueda alcanzar estas velocidades, por varios motivos.
6-22 | nicomManual de Curso LabVIEW Core 1
Estandares de puerto serie
Los siguientes ejemplos son los estandares mas recomendados de comunicacién por puerto serie
+ RS232 (esténdar ANSVEIA-232) se utiliza con numerosos fines, como conectar un ratin,
impresora o médem. También se utiliza con la instrumentacion industrial. Debico a las mejoras
en cables y controladores de linea, las aplicaciones suelen aumentar el rendimiento de RS232
por encima de la distancia y la velocidad en la lista de estandares, RS232 se limita a conexiones
punto a punto entre los dispositivos y puertos serie del ordenador,
+ R842 (estindar AIA RS422A) usa una seftal eléctrica diferencial al contrario de las sefiales
desequilibradas (de un solo hilo) referenciadas a tierra de RS232. La transmisién diferencial
que usa dos Iineas cada una para transmitir y recibir sefiales, produce més inmanidad al ruido
y mayores distancias de transmision en comparacién con RS232
+ R8485 (esténdar ELA-485) es una variacién de RS422 que permite conectar hasta 32
dispositivos a un solo puerto y definir las caracterfsticas eléctricas necesarias para garantizar
tensiones de sefial adecuadas con la maxima carga. Con esta capacidad multipunto mejorala,
puede crear redes de dispositivos conectados a un solo puerto serie RS485. La capacidad de
inmunidad al ruido y multipunto convierten al RS485 en una cleccién atractiva en aplicaciones
industriales que requicren varios dispositivos distribuidos y conectados en red @ un ordenador
u otro controlador para la recopilacién de datos y otras operaciones.
Programacion 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 funcién del tipo de instrumento utilizado. Al depurar problemas de VISA.
recuerde que un posible problema de VISA podria estar en la instalacién de uno de los
controladores a los que VISA llama,
En LabVIEW, VISA es una biblioteca de funciones que puede utilizar para comunicarse con
una variedad de interfaces E/S que cualquier instrumento puede prover. Debido a esto, no necesita
usar otras paletas de E/S para programar un instrumento. Por ejemplo, algunos dispositivos
oftecen milltiples 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
V/O»GPIB, los Vis del controlador de instrumento no funcionarian para el mismo instrumento con
interfaz USB. VISA resuelve este problema ofreciendo un solo conjunto de funciones viliclas para
cualquier tipo de interfaz. Por lo tanto, numerosos controladores de instrumento de LabVIEW usan
VISA como lenguaje de E/S.
Terminologia de programacién de VISA
La siguiente terminologia es similar a la que usan los VIs de controladores de instrumento
+ Resource: cualquier instrumento del sistema, como los puertos serie y paralelo.
+ Session: debe abrir una sesién VISA con un recurso para comunicarse con él, al igual que un
canal de comunicacién. Cuando abra una sesién en un recurso, LabVIEW mostraré un niimero
de sesién VISA, que es un refnum tinico para ese instrumento. Debe utilizar el numero de
sesién en todas las funciones posteriores VISA.
© National insteuments | 6-23Leccion 6 Administrande archivos y recursos hardware
+ Instrument Descriptor: nombre exacto de un recurso. El descriptor especifica el tipo de
interfaz (GPIB, USB, TCP/IP, ASRL), la direccién del dispositivo (direccién légica o direcei6n
primatia) y el tipo de sesién VISA (INSTR o Event)
El descriptor det instrumento es similar a un nimero de teléfono; el recurso es similar a la persona
con la que desea hablar y la sesin es similar a la linea de teléfono. Cada Hamada usa su propit
linea y cruzar éstas produce un error. La tabla 6-1 muestra la sintaxis adecuada para el descriptor
del instrumento para algunas interfaces diferentes.
‘Tabla 6-1. Sintaxis para varias interfaces de instrumentos
Intertaz Sintaxis
| Puerto serie asincrono ASRL [device] (: : INSTR]
| GPIB GPrB (device) : : primary addresst : : secondary
\ address} [:: INSTR]
—
/Instrumento VXI mediante un ‘v1 [device] : : VXI logical address: :- INSTR}
controlador embebido o MXTbus
| Controlador GPIB-VXI GP1B-Vt (device) [ :;GPIB-VXI primary
i address] : : VXI logical address: : INSTR]
cede utilizar un alias que asignaré en MAX en lugar del descriptor del instrumento.
Las funciones de comunicacién VISA mas utilizadas son las funciones VISA Write y VISA Read.
En la mayoria de los instrumentos debe enviar informacién en forma de comando o consulta antes
de poder volver a leer informacién del instramento, Por lo tanto, la funcién VISA Write suele ir
seguida de una funcion VISA Read. Las funciones VISA Write y VISA Read funcionan con
cualquier tipo de comunicacién de instrumento y son las mismas independientemente de si realiza
tuna comunicacién GPIB o serie, No obstante, dado que para la comunicacién serie debe configurar
pardmetros adicionales, debe iniciar la comunicacién del puerto serie con el VI VISA Configure
Serial Port.
Controladores de instrumento
Imagine el siguiente escenario, Escribié un VI de LabVIEW que se comunica con un osciloscopio
conereto de su laboratorio. Desafortunadamente, el osciloscopio ya no funciona y debe sustituirlo,
Sin embargo, este osciloscopio concreto ya no se fabrica. Encontré otra marca de osciloscopio que
desea comprar, pero su VI ya no funciona con el nuevo osciloscopio. Debe rescribir su V1
Cuando utiliza un controlador de instrumento, el controlador contendré el c6digo especitico para
e! instrumento. Por lo tanto, si cambia de instrumento, debe sustituir sélo los VIs del controlador
de instrumento por los Vis del nuevo controlador de instrumento, lo que reduce enormemente su
tiempo de desarrollo. Los controladores de instrumento facilitan mas el mantenimiento de las
aplicaciones de prueba, ya que los controladores contienen todas las E/S de un instrumento en una
6:24 | sicomMana de Curso LabVIEW Core 1
biblioteca, separada de otro cédigo. Cuando actualice e! hardware, actualizar la aplicacion resulta
mis facil porque el controlador del instrumento contiene todo el cédigo especifico para ese
instrumento,
Comprensién de los controladores de instrumento
En LabVIEW, un controlador de instrumento plug and play es un conjunto de Vis que conttolan
un instrumento programable. Cada VI corresponde con una operacién de instrumento, como
configurar, activar y leer medidas para el instrumento, Los controladores de instrumento ayudan a
los usuarios a empezar a usar instrumentos desde un ordenador y les ahorran el tiempo de
desarrollo y el coste, ya que los usuarios no tienen que aprender el protocolo de progeamacién para
cada instrumento. Con controladores de instrumento de cédigo abierto y bien documentados,
puede personalizar su funcionamiento para mejorar el rendimiento. Un diseso modular |
personalizacién del controlador.
Ubicacion de los controladores de instrumento
Puede ubicar la mayoria de los controladores de instrumento plug & play de LabVIEW en el
Instrument Driver Finder. Puede acceder al Instrument Driver Finder de LabVIEW seleccionando
Tools»Instrumentation»Find Instrument Drivers o Help»Find Instrument Drivers. E1
Instrument Driver Finder extrae controladores de la red extensiva de controladores de instrumentos
que puede encontrar en ni. com\idnet. Cuando instale un controlador de instrumento, se aftade
al NI Example Finder un programa de ejemplo que usa el controlador.
VI Example Instrument Driver
EI diagrama de bloques de la figura 6-14 inicializa el multimetro digital (DMM) Agilent 34401,
usa un VI de configuracién para elegir la resolucién y el rango, seleccionar la funcion y habilitar 9
deshabilitar el rango automatico, 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 wn
controlador de instrumento tienen una secuencia similar de eventos: Inicializacién, Configuracion.
Lectura de Datos, y Cierre.
Figura 6-14. Ejemplo de controlador de instrumento de DMM Agilent 34401
Manus Resoton (5.5 Oi)
Function (206 Voraget 1S IMeanrement
Sei Conguoton [SEE (ime)
cent po
Bese Pore
Este programa ejemplo esté disponible en el NI Example Finder cuando instala el controlador de
instrumento plug & play de LabVIEW para el DMM Agilent 34401.
‘© National Insteuments | 6-25Leceién 6 Adminisicande archivos y recursos hardware
Muchos instruments programables tienen un gran nimero de funciones y modos. Con esta
complejicad, es necesario un modelo de disefio consistente que ayude a los desarrolladores de
controladores de instrumento y a los usuarios finales que desarrollan aplicaciones de control de
instrumentos.
Los Vis de un controlador de instrumento se organizan en seis categorias. Estas categorias se
resumen en la siguiente tabla.
Categoria
Descripcién
| Inicializar
L
EI VI Initialize establece comunicacién con el instrumento y es el primer VI
del controlador de instrumento al que se llama.
Configurar
|
Los Vis Configure son rutinas de software que configuran el instrumento
para realizar operaciones especificas. Tras llamar a estos VIs, el
instrumento esta listo para realizar medidas o estimular un sistema
Accién/Estado
Los Vis Action/Status ordenan al instrumento realizar una accién (por
ejemplo, armar un trigger) u obtener el estado actual de las operaciones
pendientes o del instrumento,
Los VIs de datos transfieren datos al instrument o desde él
Los Vis Utility realizan varias operaciones auxiliares, como reinicio y
autodiagnéstico
El VI Close termina la conexién software con el instrumento. Es el ultimo
VI del controlador de instrumento al que se Hama.
6-26 | nicom.Manual do Curso LabVIEW Cors +
Autorrevision: Cuestionario
1. Después de abrir un archivo, qué salida devuelve la funcién Open/Create/Replace File?
a. Ruta del archivo
b. Nombre del archivo
¢. Refnum out
d. Task out
2. {Qué es MAX (Measurement & Automation Explorer)?
a. Una herramienta para configurar y probar dispositivos DAQ
b. Una herramienta para probar comunicacién con instrumentos
©. Un VI Express configurable
Una ventana para ver archivos de proyectos de LabVIEW
3. {Cuiles de las siguientes opciones son ventajas del control de instrumentos?
a. Procesos automaticos
b. Ahorro de tiempo
c. Una plataforma para varias tareas
d. Limitado sélo a un tipo de instrumento
4. VISA es una API de alto nivel que llama a controladores de bajo nivel.
a. Verdadero
b. Falso
© National instruments | 6Manual de Curso LabviEW Core
Autorrevision: Respuestas
1. Después de abrir un archivo, ;qué salida devuelve la funcién Open/Create/Replace File?
a. Ruta del archivo
b. Nombre del archivo
c. Refnum out
d. Task out
2. Qué es MAX (Measurement & Automation Explorer)?
a, Una herramienta para configurar y probar dispositives DAQ
b. Una herramienta para probar comunicacién con instrumentos
¢. Un VI Express configurable
4. Una ventana para ver archivos de proyectos de LabVIEW
3. {Cualles de las siguientes opciones son ventajas del control de instrumentos
a. Procesos automaticos
b. Ahorro de tiempo
c. Una plataforma para varias tareas
d. Limitado s6lo a un tipo de instrumento
4. VISA es una API de alto nivel que llama a controladores de bajo nivel
a. Verdadero
b. Falso
© National insteuments | 6-29Leceiin 6 Adminisivanco aechives y recursos hardware
Notas
6-20 | ni.com,Usando algoritmos de maquinas de
estado y secuenciales
Lo primero para desarrollar un proyecto en LabVIEW es explorar las arquitecturas que existen en
LabVIEW. Los arquitecturas son esenciales para crear un buen disefio software. Las arquitecturas
mas comunes se suelen agrupar en modelos de diseio.
A medida que un modelo de disefio gana aceptacién, resulta més facil reconocer cuéndo se ha
utilizado uno, Este reconocimiento le ayuda a usted y a otros desarrolladores a leer y modificar Vis
que se basan en modelos de disefio,
Existen numerosos modelos de disefio para VIs de LabVIEW. La mayoria de las aplicaciones usan
al menos uno. En este curso exploraré el modelo de disefio de maquina de estados. Aptenda mas
sobre modelos de disefio en el curso LabVIEW Core 2.
Temas
‘A. Programacién secuencial
B, Programacién de estado
C. Maquinas de estados
(© National InsteumentLeceidn ? Usando algortmas de méquinas de aslado y secvenciales
A. Programacion secuencial
Muchos de los Vis que eseribe en LabVIEW cumplen tareas secuenciales. E] 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 sefial de tensién, un cuadro de didlogo indica al
usuario que active la alimentacién, la sefial de tensién se adquiere de nuevo y al usuario se Ie indica
que debe apagar la alimentacién, No obstante, en este ejemplo no hay nada en el diagrama de
Dloques que fuerce el orden de ejecucién de estos eventos. Cualquiera de estos eventos podria
suceder el primero.
Figura 7-1. Tareas sin secuenciar
iio] fae]
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 sélo dos de las tareas tienen un cluster de error Con los clusters de error
puede forzar el orden de ejecucién de los dos DAQ Assistants, pero no las funciones One Button
Dialog, como en la figura 7-2.
Figura 7-2. Tareas secuenciadas parcialmente
Jere hana PoManual de Curso LabVIEW Core
Puede usar una estructura Sequence para forzar el orden de operaciones de los objetos del diagrama
de bloques. Una estructura Sequence contiene uno o mas subdiagramas, o marcos, que se ejecutan
en orden secuencial; un marco no puede empezar la ejecucion hasta que se haya completado la
ejecucidn de todo el cédigo del marco anterior, La figura 7-3 muestra un ejemplo de este VI que
usa una estructura Sequence para forzar el orden de ejecucién.
Figura 7-3. Tareas secuenciadas con una estructura Sequence
Para aprovechar el paralelismo inherente de LabVIEW, evite abusar del uso de esteucturas
Sequence. La estructuras Sequence garantizan el orden de ejecucién, pero prohiben operaciones
paralelas. Otra desventaja de usar estructuras Sequence es que no puede detenerse la ejecucién en
medio de la secuencia, Un buen modo de usar las estructuras Sequence para este ejemplo aparece
en la figura 7-4,
Figura 7-4. Tareas secuenciadas con estructuras Sequence y un cluster de error
aaears
Sin embargo, el mejor modo de escribir este VI es encerrar las funciones One Button Dialog en una
estructura Case y cablear el cluster de error al selector de caso,
© National instruments |LLeceidn 7 Usando algorimes de maquiaas de estado y secuenciales
Use con moderacién las estructuras Sequence porque no realizan la comprobacién de errores y la
ejecucién de la secuencia continia incluso aunque se detecten errores. Base su desarrollo en el flujo
de datos mas que en las estructuras Sequence para controlar el orden de ejecucién.
Figura 7-5. Tareas secuenciadas con un cluster de error y estructuras Case
ter Aoeng Pomer
=)
t= L ee el ae
fesiaai vata) Ea)
B. Programacion de estado
Aunque tna estructura Sequence y subVIs cableados secuencialmente cumplen la tarea, los VIs
suelen requerir programacién mas compleja:
+ ,Qué ocurre si debe cambiar el orden de la secuencia?
+ Qué ocurre si debe repetir un elemento de la secuencia mas a menudo que los otros?
+ Qué ocurre si algunos elementos de la secuencia se ejecutan sélo ante ciertas condicione:
+ .Qué ocurre si debe detener el programa inmediatamente, en lugar de esperar hasta el final de
Ja secuencia?
Aunque su programa no tenga ninguno de los requisitos anteriores, siempre existe la posibilidad
de que el programa sea modificado en el futuro. Por este motivo, una arquitectura de programacin
de estado es una buena eleccion, aunque bastarfa con una estructura de programacién secuencial.
C. Maquinas de estados
E] modelo de disefto de la maquina de estados es coman y muy util en LabVIEW. Puede usar el
modelo de diseito de maquina de estados para implementar cualquier algoritmo que pueda deseribir
explicitamente un diagrama de estado o un diagrama de flujo. Una maquina de estado normalmente
implementa un algoritmo moderadamente complejo de toma de decisiones, como una rutina de
diagndstico 0 una monitorizacién de proceso.
Una maquina de estados, que se define mejor como una maquina de estados finitos, consta de una
serie de estados y una funcién de transicién que indica cual es el siguiente estado. Las méquinas
de estados tienen numerosas variaciones. Las dos maquinas de estados finitos més comunes son
Mealy y Moore. Una maquina Mealy realiza una agcién para cada transicién. Una maquina Moore
realiza una accién conereta para cada estado del diagrama de transicién de estados. La plantilla del
modelo de disefio de la maquina de estados en LabVIEW implementa un algoritmo que describe
una maquina Moore.Manuat doe Curso LabVIEW Core 1
Aplicacién de maquinas de estados
Use maquinas de estados en aplicaciones donde se distingan los estados. Cada estado puede llevar
a uno o més estados 0 finalizar e! flujo del proceso. Una maquina de estados depende de la entrada
del usuario o del resultado del estado actual para determinar qué estado ira después. Muchas
aplicaciones requieren un estado de inicializacién seguido de un estado predeterminado, donde
pueden realizarse numerosas acciones. Las acciones realizadas pueden depender de entradas y
estados anteriores y actuales. Un estado de cierre normalmente realiza acciones de limpieza
Las méquinas de estados se suelen utilizar para crear interfaces de usuario, En una interfaz de
usuario, varias acciones del usuario envian la interfaz. de usuario a varios segmentos de
procesamiento. Cada segmento de procesamiento acta como un estado en la maquina de estados
Cada segmento puede Hlevar a otro segmento para el procesamiento o esperar a otra accion por
parte del usuario. En una aplicacién de interfaz de usuario, la maquina de estados monitoriza
constantemente las acciones del usuario para conocer la siguiente accin a realizar.
La prueba de procesos es otra aplicacién comiin del modelo de disetio de la maquina de estados
En una prueba de proceso, un estado representa cada segmento del proceso, En funcion del
resultado de cada prueba del proceso, podria Ilamarse a otro estado. Esto puede suceder
continuamente, lo que produce un andlisis profundo del proceso que esta probando.
La ventaja de usar una maquina de estados es que puede crear VIs en LabVIEW faicilmente una
vez. creado un diagrama de transicién de estados.
Infraestructura de la maquina de estados
‘Trasladar el diagrama de transici6n de estados a un diagrama de bloques de LabVIEW requiere los
siguientes componentes de infraestructura:
+ Bucle Whi
+ Estructura Case: contiene un caso para cada estado y el codigo para ejecutar en cada estado
ejecuta continuamente los estados,
+ Registro de desplazamiento: contiene la informacion de transicisn de estados
+ Cédigo de funcionalidad de estado: implementa la funcion del estado
+ Cédigo de transicién: determina el siguiente estado de la secuencia.
@ National instruments | 7-5Leonidn 7 Usando algoriimas de maquinas de estado y secuenciales
La figura 7-6 muestra la estructura basiea de una maquina de estados implementada en LabVIEW
para un sistema de adquisicién de datos de temperatura.
Figura 7-6, Infraestructura basica de una maquina de estados de LabVIEW.
fe 'Start”, Default ~P]
State
Fey unctonal Tension a
Funcnaty | ose
®
stop
oO Eee
“7 Busle While 2 Registro de desplazamiento 3. Estructura Case
£1 bucle While implementa el flujo del diagrama de transicién de estados. Cada estado se
representa con casos en Ja estructura Case. Un registro de desplazamiento en el bucle While realiza
el seguimiento del estado actual y comunica el estado actual con la entrada de la estructura Case.
Control de maquinas de estados
El mejor método para controlar la inicializacién y transicion de méquinas de estados es el control
de tipo enumerado, Los enums se utilizan ampliamente como selectores de caso en maquinas de
estados. Sin embargo, si el usuario intenta afiadir o eliminar un estado del control de tipo
entimerado, se rompen los cables restantes conectados a las copias de este control de tipo
snumerado, Es uno de los obstaeulos mas comunes al implementar maquinas de estados con
controles de tipo enumerado. Una solucién a este problema es crear un control de tipo enumerado
con tipo definido. Asi, todas las copias de control de tipo enumerado se actualizarn
autométicamente si afiade o elimina un estado,
Transicion de maquinas de estados
Existen numerosos modos de controlar qué caso ejecuta una estructura Case en una maquina de
estados, Elija el método que se adapte mejor a la funcién y complejidad de su maquina de estados
De los métodos para implementar transiciones en maquinas de estados, el mas comin y ficil de
usar es el eddigo de transicién de estructura Case individual, que puede utilizarse como transicién
entre cualquier niimero de estados. Este método permite una arquitectura de maquina de estados
alable, legible y mantenible. Los otros métodos pueden resultar itiles en situaciones
concretas, y es importante que se familiarice con ellos.
més es
76 | nieomManual de Curso LabVIEW Core 1
Transicion predeterminada
Para la transicién predeterminada, no se requiere cédigo para determinar el siguiente estado,
Porque sélo hay un estado posible que ocurrira a continuaci6n. La figura 7-7 muestra un modelo
de diseito que usa una transicién predeterminada implementada para un sistema de adquisicion de
datos de temperatura,
Figura 7-7. Transicion predeterminada individual
Transicion entre dos estados
EI siguiente método implica tomar una decision en una transicién entre dos estados. Para ello se
suelen utilizar varios modelos. La figura 7-8 muestra la funcién Select utilizada para la transicion
entre dos estados.
Figura 7-8. Cédigo de transicion de la funcién Select _
Este método funciona bien si sabe que cada estado siempre transiciona entre dos estados. Sin
embargo, este método limita la escalabilidad de la aplicacidn, Sinecesitara modificarel estado para
la transicién entre mas de dos estados, esta solucién no fimcionaria y requeriria una modifieacion
considerable del cédigo de transicién.
© National Instruments | 77lon 7 Usando algortmos de maquinas de estado y secuenciales
D
Transicion entre dos o mas estados
Cree una arquitectura mas escalable utilizando uno de los siguientes métodos para la transicion
entre estados.
+ Estructura Case: use una estructura Case en lugar de la funcién Select para el eddigo de
transicién.
La figura 7-9 muestra la transicién de la estructura Case implementada para un sistema de
adquisicién de datos de temperatura,
Figura 7-9. Cédigo de transicién de la estructura Case
Ho, Default Pf
Una ventaja de usar una estructura Case es que el eédigo se autodocumenta, Como cada caso
de |a estructura Case corresponde a un elemento del enum, resulta facil leer y comprender el
codigo. Una estructura Case también es escalable, A medida que crece la aplicacién, puede
aiiedir mas transiciones a un estado concreto afiadiendo més casos a la estructura Case para ese
estado, Una desventaja de usar una estructura Case es que no se ve todo el cédigo a la vez.
Debido a la naturaleza de la estructura Case, no se puede ver de una vez toda la funcionalidad
del cédigo de transicién.
+ Array de transicién: si tiene que ver mas cédigo del que permite la estructura Case, puede
crear tun array de transicién para todas las transiciones que tengan lugar.
La figura 7-10 muestra el array de tran
datos de temperatura.
én implementado para un sistema de adquisicién de
Figura 7-10. Cédigo de transicién del Array de transicién
7-8 | nicomManual de Curso LabVIEW Cove 1
En este ejemplo, el cédigo de toma de decisién facilita el indice que describe el siguiente
estado. Por ejemplo, si el c6digo debe avanzar al siguiente estado Error Handler, el c6digo de
toma de decisién genera el niimero 1 para la entrada index de la funcién Index Array. Este
modelo de disefio hace el cédigo de transicién escalable y facil de leer. Una desventaja de este
modelo es que debe tener cuidado al desarrollar el cédigo de transicion porque el array tiene
un indice cero.
Caso de Estudio: Proyecto del curso
El proyecto del curso adquiere una temperatura cada medio segundo, analiza cada temperatura para
determinar si es demasiado alta o baja y alerta al usuario si hay peligro de golpe de calor 0
congelacién, El programa registra los datos si hay una advertencia. Si el usuario no ha hecho clic
en el botén de parada, se repetira todo el proceso. La figura 7-11 muestra el diagrama de transicién
de estacios para el proyecto del curso.
Figura 7-11. Diagrama de transicién de estados para el proyecto del curso
Acquistion
Time Elapsed « TRUE
‘and
(i > ‘Stop = PALSE
@ National insteumentsLeccisn 7 _Usando algortmos da miquinas de estado y secuenciales
Las figuras 7-12 a la 7-15 ilustran los estados de la maquina de estados que implementa el
diagrama de transicién de estados detallado en la figura 7-11.
Figura 7-12. Estado de adquisicién
Figura 7-13. Estado de analisis
=) 7
Figura 7-14. Estado de registro de datos
740 | nkcomManuai 62 Gueso LabVIEW Core 1
Figura 7-15. Estado de comprobacién del tiempo
© National instruments | 7-11Manual de Curso LabVIEW Core +
Autorrevision: Cuestionario
a.
b.
Cuando utiliza una estructura Sequence, puede parar la ejecucién en medio de una secuencia
Verdadero
Falso
2. gual de los siguientes elementos son ventajas de usar una maquina de estados en lugar de una
estructura secuencial?
a, Puede cambiar el orden de la secuencia
b, Puede repetir elementos en la secuencia
¢. Puede configurar condiciones para determinar eudndo debe ejecutarse un elemento de la
secuencia,
d. Puede detener el programa en cualquier punto de la secuencia
©Navonal instruments | 713Manual de Curso LabVIEW Core 1
Autorrevision: Respuestas
Cuando utiliza una estructura Sequence, puede parar la ejecucién en medio de una secuencia
a,
b,
{Cua de los siguientes elementos son ventajas de usar una maquina de estados en lu
Verdadero
Falso
de una
estructura secuencial?
a,
b.
ce
a.
Puede cambiar el orden de la secuencia,
Puede repetir elementos en la secuencia,
Puede configurar condiciones para determinar cusindo debe ejecutarse un clemento
de la secuencia.
Puede detener el programa en cualquier punto de la secuencia
© Rational instrumentsLeovion 7 sande algaritmos de maquinas de estado y secvenciales
Notas
738 | nicomResolviendo desafios de flujo de
datos con variables
LabVIEW es un sistema de flujo de datos. Como tal, usted generalmente usa principios de disefio
de flujo de datos al desarrollar su cédigo. Sin embargo, en algunas situaciones, como al
comunicarse entre bucles paralelos, debe romper el modelo de ejecucién de flujo de datos pasando
informacién entre ubicaciones en el cédigo que no puede conectar con un cable
En esta lecci6n aprenderé acerca de variables en general y variables locales, especificamente para
manejar el uso especial de casos donde la ejecucién mediante flujo de datos no funciona. Tambi
aprender sobre problemas de programacién cuando se usan variables y como vencer estos
desafios.
Debido a que las variables no son parte del modelo de ejecucién mediante flujo de datos, iselas
con cuidado. El mal uso de variables puede hacer que el cddigo sea dificil de leer, lleve a
‘comportamiento inesperado en VIs y rendimiento lento
Temas
A. Comunicaciin entre bucles paralelos
B. Escribiendo a controles y leyendo de indicadores
C. Variables
D,
Condiciones de carrera
©Natonal nstiuments | 8Lscolon 8 Resohende dasatios do fujo de datos con vaiabies
A. Comunicacién entre bucles paralelos
En este curso el paralelismo hace referencia a ejecutar varias tareas a la vez. Piense en el ejemplo
tie crear y mostrar dos ondas sinusoidales con distintas frecuencias. Con el paralelismo, coloque
una onda sinusoidal en un bucle y la segunda onda sinusoidal en otro bucle.
Un reto al programar tareas paralelas es pasar datos entre varios bucles sin crear una dependencia
de datos. Por ejemplo, si pasa los datos usando un cable, los bucles ya no serén paralelos. En el
ejemplo de la onda sinusoidal multiple, quiz4 desee compartir un mecanismo de parada simple
entre los bucles, como en la figura 8-1.
Figura 8-1. Panel frontal de bucles paralelos
Compruebe lo que sucede cuando intenta compartir datos entre bucles paralelos con un cable
usando diferentes métodos.
Método 1 (incorrecto)
Coloque el terminal Stop Button fuera de ambos bucles y cabléelo a cada terminal condicional,
como en la figura 8-2. E] Loop Control es una entrada de datos de ambos bucles, por lo que el
terminal Stop Button se lee s6lo 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 botén
Stop no detendré el VI, porque el clic en el botén no se lee durante la iteracién de cada bucle
82 | nicomManual de Curso LabVIEW Cors +
Figura 8-2. Ejemplo de método 1 de bucles paralelos
agp Loge
a.
Método 2 (incorrecto)
Introduzca el terminal Stop Button dentro del Loop 1 para que se lea en cada iteracién del Loop
1, como se muestra en el siguiente diagrama de bloques. Aunque el Loop I termina correctamente,
el Loop 2 no se ejecuta hasta que recibe todas sus entradas de datos. El Loop 1 no pasa los datos
fuera del bucle hasta que se detenga el bucle, por lo que el Loop 2 debe esperar al valor final del
Stop Button, disponible cuando termine el Loop 1. Por lo tanto, los bucles no se ejecutan en
paralelo. Asimismo, el Loop 2 se ejecuta s6lo para una iteracién porque su terminal condicional
recibe un valor True del interruptor Stop Button del Loop 1.
Figura 8-3. Ejemplo de método 2 de bucles paralelos
Leg
fA
Stop Button
facx]
Método 3 (solucién)
Si pudiera leer el valor del control de bucle desde un archivo, ya no dependeria 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
tra forma de realizar esta tarea de comunicarse entre bucles paralelos es buscar la ubicacién
donde los datos de control del bucle estén almacenados en la memoria y leer esa ubicacion de
memoria directamente. Una variable local permite hacer esto al leer del mismo control del panel
frontal en més de una ubicacién en el diagrama. Luego en esta leceién usted aprendera como crear
y usar una variable local que se comunica entre dos bucles paralelos.
© National instruments | 3LLecoién & Resollendo desafios de flujo de datos con variables
B. Escribiendo a controles y leyendo de indicadores
Ademds de comunicarse entre dos bucles ejecutindose en paralelo, hay otros desafios de flujo de
datos que se pueden vencer con variables locales.
Puede usar una variable local para actualizar un solo indicador del panel frontal desde mas de una
ubicacién en el diagrama de bloques, Por ejemplo, si tiene un VI con dos bucles While, puede
actualizar un indicador del panel frontal para mostrar cual bucle se esta ejecutando es ese momento,
Con una variable local puede escribir o leer desde un control o indicador del panel frontal. En
efecto, con una variable local puede acceder a un objeto del panel frontal tanto una entrada como
una salida, Por ejemplo, si la interfaz de usuario requiere que los usuarios inicien la sesién, puede
borrar las solicitudes Login y Password cada vez que un nuevo usuario inicie la sesién. Use una
variable local para leer desde los controles de cadena de caracteres Login y Password cuando un
usuario inicie la sesi6n y para escribir cadenas de caracteres vacias en estos controles cuando el
usuario cierre la sesion.
C. Variables
En LabVIEW, el orden de ejecucién de los mismos no esta determinado por el orden secuencial de
Jos comandos sino por el flujo de datos. Por lo tanto, puede crear diagramas de bloque que tengan
operaciones sinmulténeas, Por ejemplo, puede ejecutar dos bucles For simultineamente y mostrar
Jos resultados en el panel frontal, como se ve en la figura 8-4
Figura 8-4. Mostrando el resultado de dos bucles For en el panel frontal
Sin embargo, si usa cables para pasar datos entre bucles paralelos, ya no funcionardn 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 lame a la vez.
8-4 | nicomManual de Curso LaavieW Core
El diagrama de bloques de la figura 8-5 no ejecuta los dos bucles en paralelo debido al cable entre
los dos subV1s.
Figura 8-5. Dependencia de datos que impone el cable
El cable crea una dependencia de datos, porque el segundo bucle no se inicia hasta que termine el
primero y pase los datos por su tinel. Para que los dos bucles se ejecuten a la vez, retire el cable.
Para pasar datos entre los subVIs, use otra técnica, como una variable.
En LabVIEW, las variables son elementos del diagrama de bloques que le permiten acceder a otra
ubicacién o almacenar datos en ella. La ubicacidn real de los datos depende del tipo de variable
Las variables locales almacenan datos en los controles ¢ 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 donde
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 interconexién. Por este motivo, las variables
resultan tiles en arquitecturas paralelas, pero también tienen ciertos inconvenientes, como las
condiciones de carrera.
Variables Locales - Uso de variables en un solo VI
Las variables locales transfieren datos dentro de un solo V1.
En LabVIEW usted lee datos de un objeto del panel frontal o escribe datos en él usando su terminal
del diagrama de bloques. Sin embargo, un objeto del panel frontal slo tiene un terminal del
diagrama de bloques, y quiza su aplicacién necesite acceder a los datos de ese terminal desde mas
de una ubicacién.
Las variables locales y globales pasan informacién entre ubicaciones en la aplicacién que no se
pueden conectar con un cable, Use variables locales para acceder a objetos del panel frontal desde
mas de una ubicacién en un solo VI. Use variables globales para acceder y pasar datos entre
varios Vis.
Use un nodo de realimentacién para almacenar datos de un VI 0 ejecucién de bucle anterior
Creacion de variables locales
Haga clic con el botén derecho en un objeto del panel frontal o en un terminal del diagrama de
blogues y seleccione Create»Local Variable en el mentt contextual para crear una variable local
Aparecerd un icono de variable local para el objeto en el diagrama de bloques.
{© National iastwuments | 8-5Lecclon 8 Resolienc desatios de flujo de dalos con variables
‘También puede seleccionar una variable local en la paleta de Functions y colocarla en el diagrama
de bloques. Bl nodo de variable local atin no esta asociado con un control o indicador.
Para asociar una variable local con un control o indicador, haga clic con el botén derecho en el nodo
de la variable local y seleccione Select Item en el ment contextual. El menti contextual expandido
muestra todos los objetos del panel frontal que tienen etiquetas propietarias.
LabVIEW usa etiquetas propietarias para asociar variables locales con objetos de! panel frontal.
Por Io tanto, etiquete controles e indicadores del panel frontal con etiquetas propietarias
descriptivas.
Lectura y escritura de variables
Tras crear una variable, puede leer datos desde una variable o escribir datos en ella. De forma
predeterminada, una variable nueva recibe datos. Este tipo de variable funciona como indicador y
es de escritura local o global. Cuando escribe datos nuevos en la variable local o global, el control
© indicador del panel frontal asociado se actualiza con los nuevos datos.
También puede configurar una variable para que actite como una fuente de datos. Haga clic con el
botén derecho en la variable y seleccione Change To Read en el mend contextual para configurar
la variable y que actiie como un control. Cuando se ejecuta este nodo, ef VI lee los datos en el
contro! 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 botén derecho en la variable y seleccione Change To Write en el ment
contextual
En el diagrama de bloques puede distinguir variables de lectura de variables de escritura de! mismo
modo que distingue controles de indicadores. Una variable de lectura tiene un borde grueso similar
aun control. Una variable de escritura tiene un borde fino similar a un indicador.
Ejemplo de variable local
En Ia seccién Comunicacisn entre bucles paratelos de esta leccién, vio un ejemplo de un VI que
usaba bucles paralelos, El panel frontal contenia un tinico interruptor que detenia la generacién de
datos mostrada en dos graficos tipo “graph”. En el diagrama de bloques, los datos para cada grafico
tipo “chart” se generan en un bucle While individual para permitir la temporizacién separada de
cada bucle. El terminal Loop Control detenia ambos bucles While. En este ejemplo, los dos bucles
deben compartir el interruptor para que se detengan ambos a la vez.
86 | sicomManual de Curso LabVIEW Core +
Para que ambos graficos tipo “chart” se actualicen segin lo esperado, los bucles While deben
funcionar en paralelo. Si conecta un cable entre los bucles While para pasar jos datos de Stop
Button, los bucles While se ejecutardn en serie en lugar de en paralelo. La figura 8-6 muestra un
diagrama de bloques de este VI que usa una variable local para pasar los datos de Stop Button
Figura 8-6. Variable local utilizada para detener bucles paralelos
Loop pap
sy
Stop duton {ASB
- &
El bucle 2 lee una variable local asociada con el Stop Button, Cuando configura el interruptor en
False en el panel frontal, la terminal del bucle 1 escribe un valor False a la variable local Stop
Button en el terminal condicional en el bucle 1, El bucle 2 lee la variable local Stop Button y
escribe False en el terminal condicional del bucle 2. Asi, los bucles se ejecutan en paralelo y
terminan simulténeamente cuando apaga el interruptor del panel frontal individual.
Con una variable local puede escribir o leer desde un control o indicador del panel frontal, Eseribir
en una variable local es similar a pasar datos a cualquier otro terminal. Sin embargo, con una
variable local puede escribir en ella aunque sea un control o leer en ella aunque sea un indicador
En efecto, con una variable local puede acceder a un objeto del panel frontal tanto una entrada
como una salida
Por ejemplo, si la interfaz de usuario requiere que los usuarios inicien la sesién, puede borrar las
solicitudes Login y Password cada vez que un nuevo usuario inicie la sesién. Use una variable
local para leer desde los controles de cadena de caracteres Login y Password cuando un usuario
inicie la sesion y para escribir cadenas de caracteres vacfas en estos controles cuando el usuario
cierre la sesién.
Variables globales y compartidas - Usando variables entre
Vis
Puede usar variables para acceder y pasar datos entre varios VIs que se ejecutan simulténeamente
‘Una variable local comparte datos dentro de un VI. Una variable global también comparte datos,
pero entre varios VIs. Por ejemplo, suponga que tiene dos VIs ejecutdndose simultaneamente, Cada
‘Vi contiene un bucle While y escribe puntos de datos en un grafico tipo “waveform chart”. El
primer V1 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 V1, podria usar una variable local para terminar los bucles
También 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
©Nationat instauments | 87Leco'én 8 Resolviend desatios de fuje de datos con variables
compartir datos en una red. Una variable compartida puede ser tipo single-process o publicada en
red, Aunque las variables compartidas publicadas en red van mds alld del ambito de este curso, con
la variable compartida tipo single-process podré cambiar més 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
ia informacién de la variable entre Vis en varios ordenadores en el futuro.
Creacion de variables globales
Use variables globales para acceder y pasar datos entre varios VIs que se ejecutan
simulténeamente. Las variables globales son objetos de LabVIEW integrados. Cuando crea una
variable global, LabVIEW crea automaticamente un VI global especial, que tiene panel frontal
pero no diagrama de bloques. Aflada controles e indicadores al panel frontal del VI global para
definir los tipos de datos de las variables globales que contiene. Este panel frontal es un contenedor
desde donde varios Vis pueden acceder a datos
Por ejemplo, suponga que tiene dos Vis que se ejecutan simulténeamente, Cada VI contiene un
buele While y escribe puntos de datos en un gritico tipo “waveform chart”. El primer VI contiene
‘un control booleano para terminar ambos VIs. Debe usar una variable global para terminar ambos
bucles con un solo control booleano, Si ambos bucles estuvieran en un solo diagrama de bloques
dentro del mismo VI, podria usar una variable local para terminar los bucles,
Seleccione una variable global en la paleta Funetions y coléquela en el diagrama de bloques.
Haga doble clic en el nodo de la variable global para ver el pane! frontal del VI global. Coloque
controles ¢ indicadores en este panel frontal del mismo modo que en un panel frontal estandar.
LabVIEW usa etiquetas propietarias para identificar variables globales. Por lo tanto, etiquete
controles ¢ indicadores del panel frontal con etiquetas propietarias descriptivas.
Puede crear varios VIs globales tinicos, 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 mas eficaz, porque puede agrupar variables relacionadas. El
iagrama de bloques de un VI puede incluir varios nodos de variables globales que estan asociados
con controles ¢ indicadores del panel frontal de un VI global. Puede colocar Vis globales en otros
Vis del mismo modo que coloca subVIs en otros VIs. Cada vez que coloca un nuevo nodo de
variable global en un diagrama de bloques, LabVIEW crea un nuevo V1 global asociado solo con
ese nodo de variable global y copias de él.
PeleManual de Gurso LabVIEW Core 1
La figura 8-7 muestra la ventana del panel frontal de un VI global con un valor numérico, una
cadena de caracteres y un cluster que contiene un control numérico y otto booleano. La barra de
herramientas no muestra los botones Run, Stop u otros relacionados como una ventana normal de
un panel frontal.
Figura 8-7. Ventana del panel frontal de un VI global
‘Tras terminar de colocar objetos en el panel frontal del VI global, guardelo y yuelva al diagrama
de bloques del VI original. A continuacién, 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 ment
contextual. El ment contextual muestra todos los objetos del panel frontal del VI global que tienen
etiquetas propietarias. También puede hacer clic con el botén derecho en el nodo de variable global
y seleccionar un objeto del panel frontal de! meni contextual Select Item.
También 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 mend contextual
Si desea usar esta variable global en otros Vis, seleccione la opoién Select a Vi en la paleta de
Funciones. Por defecto, la variable global se asocia con el primer objeto del panel frontal con una
etiqueta propietaria que colocé en el VI global. Haga clic con el botén derecho en el node de la
variable global que colocé en el diagrama de bloques y seleccione un objeto del panel frontal en el
‘menii contextual Select Item para asociar la variable global con los datos de otro objeto de! pane!
frontal.
®Natonal instruments | 8-8Leonidn 8 Sesolviendo desatios de fujo de datos con vatiables
Creacion de variables compartidas tipo single-process
Debe utilizar un archivo de proyecto para usar una variable compartida. Para crear una variable
compartida tipo single-process, haga elie con el bot6n derecho en My Computer en la ventana
Project Explorer y seleccione New»Variable. Apareceré cl cuadro de didlogo Shared Variable
Properties, como en la figura 8-8.
Figura 8-8. Cuadro de didlogo Shared Variable Properties
Desertion Nome
Seine stl ype bata pe
nib Neswek beg Dodie
nal lnestoning
i
| Netwcrebleed ——_¥! Ocule
i
Ci ey
peru pose. |
| os
L
(oe) Cee) Coe
En Variable Type, seleccione Single Process. Dé a la variable un nombre y un tipo de datos. Tras
crear la variable compartida, aparecerd automdticamente en una nueva biblioteca de su archivo de
proyecto. Guarde la libreria. Puede afiadir otras variables compartidas a esta biblioteca si es
necesario. Puede arrastrar y soltar la variable desde el listado de la ventana Project Explorer
directamente en el diagrama de bloques. Use el menti contextual para cambiar entre escritura 0
lectura. Use los clusters de error de la variable para imponer el flujo de datos
Inicializacién de variables
Para inicializar una variable local o global, compruebe que ésta contenga valores de datos
conociclos antes de que se ejecute el VI. De lo contrario, las variables podrian contener datos que
hagan que el VI funcione incorrectamente. Si la variable depende de un resultado de computacién
para el valor inicial, asegtirese de que LabVIEW escriba el valor para la variable antes de que
intente acceder a ésta para cualquier otra accion. Cablear la accién de escritura en paralelo con el
resto del VI puede provocar una condicion de carrera,
8:10 | nicomManual de Curso LabVIEW Coro 1
Para que se ejecute primero, puede aislar el eédigo 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. Inicializacién de variables
eho
Thvesheld Level Gauge
[raisastion
Stop Button
ce @
Si no inicializa la variable antes de que el VI lea ésta por primera vez, la variable contenders el valor
predeterminado del objeto de! panel frontal asociado.
Evitando problemas de programacion inherentes con
variables
Las variables locales y globales son conceptos avanzados de LabVIEW. Inherentemente no forman
parte del modelo de ejecucién del flujo de datos de LabVIEW. Algunos de los problemas de
programacién con variables pueden incluir los siguientes:
+ Hace que el cédigo del diagrama de bloques sea dificil de leer—Al romper el modelo de flujo
de datos, no se pueden usar cables para seguir el flujo de los datos
+ Lleva a comportamientos inesperados en los VIs—Usar variables en lugar de panel de
conectores 0 usar variables para acceder valores en cada cuadro de una estructura Sequence es
‘una mala prictica por que puede causar comportamiento inesperado en Vis.
+ Redimiento lento—El uso excesivo de variables locales y globales, como usarlas para evitar
cables largos a través del diagrama de bloques o usarlas en lugar de flujo de datos, disminuye
el rendimiento.
© National instruments | 6-11Lecciin 8 Resalviendo deselios de flujo de datos con variables
La figura 8-10 y la figura 8-11 ilustran dos formas de programar el mismo ejemplo. La figura 8-10
ilusira un uso pobre de variables mientras que la figura 8-11 ilustra un disefio més 6ptimo. El
ejemplo de la figura muestra una aplicacién de seméforo implementada como una maquina de
estados. Cada estado actualiza las luces para la siguiente etapa de la secuencia de huces.
Fn el estado que se muestra en la figura 8-10, el trafico este y oeste tiene una luz verde, mientras
que el trafico norte y sur tiene una roja. Esta etapa espera 4 segundos, como muestra la funcién
‘Wait (ms).
Figura 8-10. Demasiadas variables utllizadas
8.2 | nicomManual de Gurso LabVIEW Core 1
El ejemplo de la figura 8-11 cumple 1a misma tarea, pero con mayor eficiencia y utilizando un
mejor disefio. Observe que este ejemplo es mucho mas sencillo de leer y comprender que el
anterior, principalmente al reducirse el uso de variables. Al colocar Jos indicadores en el bucle
While fuera de 1a estructura Case, los indicadores pueden actualizarse tras cada estado sin utilizar
una variable. Este ejemplo es menos dificil de modificar para ampliar la funcionalidad, como
afiadir sefiales de giro a la izquierda, que el ejemplo anterior
Figura 8-11. Variables reducidas
{Vala Fh
secs |
|
‘wert Bound |
|
[ron oe
D. Condiciones de carrera
Una condicién de carrera ocurre cuando la temporizacién de eventos o la programacién de tareas
afecta involuntariamente a un valor de salida 0 de datos. Las condiciones de carrera suponen un
problema comin en los programas que ejecutan varias tareas en paralelo y comparten datos entre
ellos.
Las condiciones de carrera son dificiles de identificar y de depurar, porque el resultado depende
del orden en que el sistema operativo ejecuta tareas programadas y la temporizacion de eventos
extemnos. Usualmente, un cédigo con una condicién de carrera puede devolver el mismo resultado
miles de veces durante las pruebas pero aun asi ser capaz de devolver un resultado diferente en
cualquier momento,
Para evitar condiciones de carrera, lo mejor es seguir estas técnicas:
+ Control y limitacién de recursos compartidos
+ Secuenciando instrucciones apropiadamente especificando un orden de ejecucion
+ Reduciendo el uso de variables.
@ National instumenis | 819,Lecciin 8 Resoiviende desalios de tuo de datos con variables
Controlar y limitar recursos compartidos
Las condiciones de carrera son mas comunes cuando dos tareas tienen que leer y eseribir a un
recurso. Un recurso es cualquier entidad compartida entre los procesos. Cuando se trata con
condiciones de carrera, los recursos compartidos mas comunes son el almacenamiento de datos,
como las variables. Otros ejemplos de recursos son archivos y referencias a recursos de hardware.
Cuando usted altera un recurso desde ubicaciones multiples, se introduce la posibilidad de una
condicién de carrera, Por Io tanto, una forma ideal de evitar condiciones de carrera es minimizar
recursos compartidos y el nuimero 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 s6lo un escritor 0 controlador para un recurso compartido para evitar condiciones de
carrera.
Secuenciando instrucciones apropiadamente
El cédigo en el que el flujo de datos no se usa correctamente para controlar el orden de ejecucién
puede causar condiciones de carrera, Sino se establece una dependencia de datos, LabVIEW puede
programa tareas en cualquier orden, con lo que pueden surgir condiciones de carrera si las tareas
dependen entre si. Piense en el ejemplo de la figura 8-12.
Figura 8-12. Condicién de carrera simple
200 &
F] oddigo de este ejemplo tiene cuatro posibles resultados, en funcién del orden en que se ejecuten
Jas operaciones.
Resultado 1: Value = (Value x 5) + 2
1. El terminal lee Value.
2. Value * $ se almacena en Value.
3. La variable local fee Value « 5
4. (Value « 5) +2 se almacena en Value.
Resultado 2: Value = (Value x 5) + 2
1. La variable local lee Value.
2. Value + 2 se almacena en Value.
El terminal lee Value +2.
4, (Value + 2) « 5 se almacena en Value.
8414 | nieomManual ds Curso LabVIEW Cors 1
Resultado 3: Value = Value x 5
1. El terminal lee Value.
2. La variable local lee Value.
3. Value +2 se almacena en Value.
4. Value x 5 se almacena en Value.
Resultado 4: Value = Value + 2
1. El terminal lee Value.
2. La variable local lee Value.
3. Value * 5 se almacena en Value.
4, Value +2 se almacena en Value.
‘Aunque este cédigo se considera una condicién de carrera, el cédigo normaimente acta menos al
azar que el ejemplo de la primera condicién de carrera, porque LabVIEW stele asignar un orden
coherente a las operaciones. Sin embargo, debe evitar situaciones como ésta porque el orden y el
comportamiento del VI puede variar. Por ejemplo, el orden puede cambiar al ejecutar el VI en
condiciones distintas o al actualizar el VI a una version mas nueva de LabVIEW, Afortunadamente
las condiciones de carrera de este tipo se solucionan facilmente controlando ¢l flujo de datos.
(© Nationa InstrumentsManual de Curso LabVIEW Cove 1
Autorrevision: Cuestionario
1, Deberia usar variables en su VI siempre que sea posible.
a. Verdadero
b. Falso
2. {Cuando se controlan recursos, qué combinaciones de escritores y lectores reducen la
posibilidad de condiciones de carrera?
a. Unescritor, un lector
b. Unescritor, miltiples lectores
Mialtiples escritores, un lector
Miltiples escritores, multiples lectores
© National lnsiaumenis | 5Manual de Curso LabVIEW Core
Autorrevision: Respuestas
1. Debei
a. Verdadero
b. Falso
Debe usar variables s6lo cuando es necesario. Use cables para transferir datos
sea posible.
usar variables en su VI siempre que sea posibe.
2. Cuando se controlan recursos, qué combinaciones de escritores y lectores reducen la
lidad de condiciones de carrera?
Un eseritor, un lector
a
b. Uneseritor, multiples lectores
¢. Miltiples escritores, un lector
4
Miiltiples escritores, multiples lectores
© National instruments | 8-19LLeccion & Resoliendo desatios de fujo de datos con variabies
Notas
8.20 | nicomInformacion Adicional y Recursos
Este apéndice contiene informacién adicional sobre las opciones de soporte técnico de National
Instruments y los recursos de LabVIEW.
Opciones de soporte técnico de National Instruments
Inicie sesidn con su perfil de usuario de National Instruments en ni. com para conseguir acceso
personalizado a sus servicios. Visite las siguientes secciones de ni . com para soporte técnico y
servicios profesionales:
+ Soporte: el soporte técnico en ni .com/support incluye los siguientes recursos:
= Recursos téenicos de autoayuda: para ver respuestas y soluciones, visite ni .com/
support y encontrar controladores y actualizaciones de software, wna KnowledgeBase
donde puede realizar bisquedas, manuales de productos, asistentes para la solucion
de problemas paso a paso, miles de programas de ejemplo, notas de la aplicacién,
controladores de instrumentos, etc. Los usuarios registrados también reciben acceso a los
foros de debate de NI en ni. com/ forums. Los ingenieros de aplicaciones de NI envian
una respuesta a cada pregunta que reciben en linea.
— Programa de Servicio Esténdar: este programa permite disponer de acceso directo a los
ingenieros de aplicaciones de NI por teléfono o por correo electrénico para recibir soporte
técnico personalizado asi como acceso exclusivo a médulos de formacién a su propio ritmo
enni .com/sel £-paced-training, Todos los clientes reciben automaticamente un afio
de membrecia en el programa de servicio estandar (SSP) con la compra de la mayoria de
los productos de software y paquetes incluyendo NI Developer Suite. NI también ofrece
‘opciones flexibles de extensiones de contratos que garantizan que sus beneficios SSP sigan
disponibles por el tiempo que los necesite. Visite ni . com/ssp para mas informacién.
Para obtener informacién adicional acerca de otras opciones de soporte técnico de su zona,
visite ni .com/services o contacte con su oficina local en ni .com/contac
+ Integracién de sistemas: si tiene limitaciones de tiempo, recursos téenicos internos limitados
wottos problemas con el proyecto, los miembros de National Instruments Alliance Partner
pueden ayudarle. Los NI Alliance Partners aghutinan a integradores de sistemas, consultores y
proveedores de hardware para ofrecer un servicio y conocimientos generales a los clientes. 1
programa garantiza asistencia cualificada y especializada para el desarrollo de aplicaciones y
sistemas. Para saber més, Ilame a su oficina local de NI o visite ni .com/alliance.
También puede visitar la seccién Worldwide Offices de ni .com/niglobal para acceder a los
sitios Web de las filiales, que oftecen informacién de contacto actualizada, ntimeros de teléfono de
soporte, direcciones de correo electrénico y eventos actuales
© National Instramenss | ATApéndice A Informaciin Adicional y Recursos
Otros cursos de formacion de National Instruments
‘National Instruments offece varios cursos de formacién para usuarios de LabVIEW. Estos cursos
continiian la formacién que recibié aqui y la amplian a otras zonas. Visite ni .com/ training para
adquirir material de cursos o inscribase para cursos practicos presenciales en ubicaciones por e!
mundo entero.
Certificacion de National Instruments
Conseguir una certificacién de NI reconoce su experiencia de haber trabajado con productos y
tecnologias de NI. La industria de la medicién y automatizacién, su empleador, los clientes y
colegas reconocen su credencial de certificacién de NI como un simbolo de las destrezas y
conocimientos que ha adquirido con la experiencia. Visite ni .com/training para obtener
informacién adicional acerca del programa de certificacién de NI
Recursos de LabVIEW
Esta seceién describe como puede recibir informacién adicional sobre LabVIEW.
Comunidad NI
La comunidad NI es una comunidad en linea que une a usuarios de todo el mundo para discutir,
compartir y aprender acerca de LabVIEW. Visite la comunidad NI para hacer preguntas, obtener
ideas y compartir cédigo de proyectos LabVIEW. Visite ni .com/community para mas
informacién.
Libros de LabVIEW
Sc han escrito numerosos libros sobre la programaci6n y las aplicaciones de LabVIEW. El sitio
‘Web de National Instruments contiene una lista de todos los libros de LabVIEW y enlaces a lugares
para comprar estos libros. Visite http: //zone.ni .com/devzone/cda/tut /p/id/5389 para
obtener informacién adicionalGlosario
A
adquisicién de datos
DAQ,
arrastrar
B
barra de herramientas
barra de menus
boton Run roto
Bucle For
Bucle While
1. Adquisicién y medida de seftales eléctricas analégicas o digitales a
partir de sensores, transductores de adquisicion y sondas de prueba
aparatos.
2. Generacién de sefiales eléctricas analégicas o digitales
Utilizar el cursor de la pantalla para seleccionar, mover, copiar 0
eliminar objetos.
Barra que contiene botones de comando para ejecutar y depurar Vis
Barra horizontal que muestra los nombres de los memis principales de
una aplicacién. La barra de mentis aparece bajo la barra de titulo de una
ventana. Cada aplicacién tiene una barra de meniis que la caracteriza,
aunque algunos ments y comandos son comunes en muchas
aplicaciones,
Botén que sustituye al bot6n Run cuando un VI no puede ejecutarse
debido a errores.
Estructura de bucle iterativo que ejecuta su subdiagrama un nimero
determinado de veces. Equivalente al cédigo basado en texto
For i= 0 ton - 1, do
Estructura de bucle que repite una seccién de eddigo hasta que ocurra
una condicién.
© National instruments | G-losario
Cc
cable
cadena de caracteres
canal
casilla de verificacién
control
controlador
controlador de
instrumentos
Controles ¢ indicadores
booleanos
6-2 | nicom
Ruta de datos entre nodos.
Representacién de un valor como texto.
1. Fisico: un terminal o pin donde puede medir o generar una sefial
analogica o digital. Un solo canal fisico puede incluir mas de un
‘terminal, como es el easo de un canal de entrada analogica diferencial
6 un puerto digital de ocho lineas. Un contador también puede ser un
canal fisico, aunque el nombre del contador no es el del terminal donde
el contador mide o genera la seftal digital
2. Virtual: un conjunto de valores de propiedad que pueden incluir un
nombre, un canal fisico, conexiones de terminales de entrada, el tipo
de medida o generaci6n e informacién de escala. Puede definir canales
virtuales NI-DAQmx fuera de una tarea (global) o dentro de una tarea
(local). La configuracién de canales virtuales es opcional en versiones
‘Traditional NI-DAQ (Legacy) y anteriores, pero se integra en
cualquier medida que realice en NI-DAQmx. En Traditional NI-DAQ
(Legacy), usted configura canales virtuales en MAX, En NI-DAQmx,
puede configurar canales virtuales en MAX o en su programa, y puede
configurar canales como parte de una tarea o por separado.
3. Conmutador: un canal de conmutador representa cualquier punto de
conexién en un conmutador. Puede constar de uno o mis cables de
sefial (normalmente uno, dos © cuatro), en funcidn de la topologia del
conmutador. Un canal virtual no puede crearse con un canal de
conmutador. Los canales de conmutador sélo pueden utilizarse en las
funciones y VIs NI-DAQmx Switch.
‘Un cuadradito de un cuadro de didlogo que puede seleccionar
desmarcar, Las casillas de verificacién normalmente se asocian con
varias opciones que puede configurar. Puede seleccionar mas de una
casilla de verificacién.
Objeto del pane! frontal para introducir datos en un VI
interactivamente o en un subVI programaticamente, como un mando,
botén de comando o dial.
Software que controla un dispositivo de hardware conereto, como un
dispositive DAQ.
Un conjunto de funciones de alto nivel que controlan y se comunican
con hardware de instrumentos en un sistema.
Objetos del panel frontal para manipular y mostrar datos booleanos
(TRUE 0 FALSE).controles ¢ indicadores
numéricos
curva
D
DAQ
DAQ Assistant
diagrama de bloques
dispositivo
dispositive DAQ
dispositivo de medida
ES
escala
Manual de Curso LabVIEW Cove 1
Objetos del panel frontal para manipular y mostrar datos numéricos,
Representacién gréfica de un array de datos mostrado en un grafic
tipo “graph” o “chart”
Ver adquisicidn de datos (DAQ).
Una interfaz gréfica para configurar tareas de medida, canales y
escalas,
Descripcién o representacién gréfica de un programa o algoritmo. El
diagrama de bloques consta de iconos ejecutables denominados nodos
y cables que llevan datos entre los nodos. El diagrama de bloques es el
cédigo fuente del VI. El diagrama de bloques reside en la ventana del
diagrama de bloques del VI
Un instrumento 0 controlador al que puede acceder como una tinica
entidad que controla o monitoriza puntos de E/S del mundo real. Un
dispositivo se suele conectar a un ordenador host mediante algain tipo
de comunicacién de red. Ver también dispositive DAQ y dispositive
de medida.
Un dispositivo que adquiere o genera datos y puede contener varios
canales y dispositivos de conversién. Los dispositives DAQ ineluyen
dispositivos insertables, tarjetas PCMCIA y dispositivos DAQPad,
que se conectan a un ordenador por el puerto USB o IEEE 1394. Los
médulos SCXI se consideran dispositivos DAQ
Dispositivos DAQ como los dispositivos E Series multifunction 1/0
(MIO), médulos de acondicionamiento de sefial SCXI y médulos de
conmutacién.
Entrada/Salida. La transferencia de datos a 0 desde un sistema
informatico con canales de comunicaciones, dispositivos de entrada de
operador o interfaces de control y adquisicién de datos
Parte de grafico y ciertos controles ¢ indicadores numeéricos que
contiene una serie de marcas o puntos en intervalos conocidos para
denotar unidades de medida.
© National Instumanis | 6-3Gosario
escala automatica
estructura
etiqueta
etiqueta de ayuda
Explorador de
proyectos ventana
FE
flujo de datos
forma de onda
funcién
G
General Purpose
Interface Bus
grafico
‘fico tipo
“waveform chart”
G4 | nicom
Capacidad de las escalas de ajustarse al rango de valores trazados. En
las escalas graficas, la escala automitica determina valores de escala
maximos y minimos.
Elemento de control de programa, como una estructura Flat Sequence,
estructura Stacked Sequence, estructura Case, bucle For, bucle While
o bucle Timed
Objeto de texto utilizado para nombrar o describir objetos o regiones
del panel frontal o del diagrama de bloques.
Pequefios banners amarillos de texto que identifican el nombre del
terminal y facilitan su identificacién para el cableado.
‘Ventana donde puede crear y modificar proyectos de LabVIEW.
Sistema de programacién que consta de nodos ejecutables que s6lo se
ejecutan cuando reciben todos los datos de entrada necesarios. Los
nodos producen datos de salida automaticamente cuando se ejecutan.
LabVIEW es un sistema de flujo de datos. El movimiento de los datos
a través de los nodos determina el orden de ejecucién de los Vis y las
funciones del diagrama de bloques.
Varias lecturas de tensién tomadas a una velocidad de muestreo
conereta.
Built-in elemento integrado, comparable a un operador, funcién o
declaracién en un lenguaje de programacién basado en texto.
GPIB. Sinénimo de HP-IB. El bus esténdar utilizado para controlar
instrumentos electronics con un ordenador. También denominado
bus IEFE 488, porque se define mediante las normas
ANSI/IEEE 488-1978, 488.1-1987 y 488.2-1992.
Visualizacién 2D de una o mas curvas. Un grafico recibe y traza datos
como un bloque.
Indicador que traza puntos de datos a cierta velocidad.H
herramienta
herramienta de
cableado
herramienta de
operaciones
herramienta de
posicionamiento
!
icono
indicador
Instrument 1/0.
Assistant
instrumento virtual
wh
L
LabVIEW
LED
leyenda
M
MAX
Measurement &
Automation Explorer
mensaje de error
Manual ce Curso LabVIEW Core 1
Cursor especial para realizar operaciones concretas,
Herramienta para definir rutas de datos entre terminales,
Herramienta para introducir datos en controles o para operar sobre
ellos.
Herramienta para mover y redimensionar objetos
Representaci6n grifica de un nodo en un diagrama de bloques.
Objeto del pane! frontal que muestra salidas, como un grafico o LED.
Complemento que lanza el V1 Express Instrument I/O Assistant que se
‘comunica con instrumentos basados en mensajes y da formato grafico
a la respuesta.
Programa de LabVIEW que modela el aspecto y la funcion de un
instrumento fisico.
Laboratory Virtual Instrument Engineering Workbench. LabVIEW es
un lenguaje de programacién gréfica que utiliza iconos en Ingar de
lineas de texto para crear programas,
Diodo-emisor de luz,
Objeto que posee un grifico tipo “graph” o “chart” para mostrar los
nombres y los estilos de curvas de curvas de ese gratico.
Ver Measurement & Automation Explorer
El entorno de configuracion y diagnéstico de hardware esténdar de
National Instruments para Windows.
Indicacién de un fallo de funcionamiento de software o hardware o de
un intento de entrada de datos inaceptable
© National instruments | G5Giosario
meni contextual
memis-desplegables
muestra
N
NI-DAQ
NI-DAQmx
nodo
0
objeto
P
paleta
‘aleta de controles
G55 | nicom
Menti al que se accede haciendo clic derecho en un objeto. Los
elementos de menii hacen referencia a ese objeto en concreto,
Mens accesibles desde una barra de mentis. Los elementos de los
ments -desplegables suelen ser generales.
Punto de datos de salida o entrada digital o analégica simple.
Software controlador que incluyen todos los dispositives NI DAQ y
‘componentes de acondicionamiento de sefial. NI-DAQ es una amplia
biblioteca de Vis y funciones ANSI C que puede llamar desde un
entorno de desarrollo de aplicaciones (ADE), como LabVIEW, para
ptogramar un dispositivo de medida de NI, como los dispositivos M
Series multifunction 1/0 (MIO) DAQ, médulos de acondicionamiento
de sefial y médulos de conmutacién.
El timo controlador de NI-DAQ con nuevos Vis, funciones y
herramientas de desarrollo para controlar dispositivos de medida. Las
-ventajas de NI-DAQmx respecto a versiones anteriores de NI-DAQ
son el DAQ Assistant para configurar canales y tareas de medida para
un dispositivo que utilizaré en LabVIEW, LabWindows"/CVI™ y
Measurement Studio; simulacién NI-DAQmx para la mayoria de los
dispositivos compatibles para probar y modificar aplicaciones con
menos funciones y VIs que las versiones anteriores de NI-DAQ.
Elemento de ejecucién de un programa, Los nodos son anélogos a las
instrueciones, operadores, funciones y subrutinas en lenguajes de
programacién basados en texto. En un diagrama de bloques los nodos
incluyen funciones, estructuras y subVIs.
‘Término genérico para cualquier elemento del panel frontal 0
diagrama de bloques, como controles, indicadores, estructuras, nodos,
cables ¢ imagenes importadas,
Muestra objetos o herramientas que puede utilizar para crear el panel
frontal o el diagrama de bloques.
Paleta que contiene controles, indicadores y objetos decorativos del
panel frontalpaleta de funeiones
panel frontal
predeterminadas
Propiedades
cuadros de didlogo
proyecto
PXI
s
subpaleta
subVI
area
terminal
terminal condicional
tipo de datos.
Manual de Curso LabVIEW Cove +
Paleta que contiene Vis, funciones, estructuras del diagrama de
bloques y constantes.
Interfaz de usuario interactiva de un VI. El aspecto del panel frontal
imita a los instrumentos fisicos, como osciloscopios y multimetros.
‘Valor preconfigurado. Muchas entradas de VI utilizan un valor
predeterminado si no especifica ninguno.
Cuadros de didlogo a los que se accede desde el menti contextual de un
control o indicador que puede utilizar para configurar cémo aparece el
control o indicador en la ventana del panel frontal
Un conjunto de archivos de LabVIEW y no especiticos de LabVIEW
que puede utilizar para crear especificaciones y descargar archivos en
otras plataformas.
PCI eXtensions for Instrumentation. Una plataforma modular de
instrumentacién basada en ordenador.
Paleta a la que puede acceder desde otra paleta que esta por encima de
Ja subpaleta en la jerarquia,
VI utilizado en el diagrama de bloques de otro VI. Comparable a una
subrutina.
Un conjunto de uno o més canales, temporizacién, activacién y otras
propiedades en NI-DAQmx. Una tarea representa una medida 0
generacién que desee realizar.
Objeto o regi6n en un nodo por el que pasan datos.
‘Terminal de un bucle While que contiene un valor booleano que
determina si el VI realiza otra iteracién.
Formato para informacién. En LabVIEW, los tipos de datos que acepta
la mayoria de los Vis y funciones son numéricos, array, booleanos,
rutas, cadenas de caracteres, refhum, enumeracidn, forma de onda y
cluster.
©National astuments | G-7tipo de datos
dinamico
Traditional NI-DAQ
(Legacy)
v
ventana Context
Help
ventana Error list
VI
Vi actual
VI de plantilla
VI Express
Vi roto
6-8 | ricom
Bl tipo de datos que utilizan los VIs Express y que incluye los datos
asociados con una sefial y atributos que ofrecen informacién sobre la
sefial, como el nombre de ésta o la fecha y hora en que LabVIEW
adquirié los datos. Los atributos especifican cémo aparece la sefial en
cl gréfico tipo “graph” o “chart”.
Un controlador més antiguo con APIs desfasadas para crear
aplicaciones de adquisicién de datos, instrumentacién y control para
dispositivos DAQ mas antiguos de National Instruments. Sélo puede
utilizar Traditional NI-DAQ (Legacy) en ciertas circunstancias,
Consulte el fichero NI-DAQ Readme para obtener informacién
adicional acerca de cuando utilizar Traditional NI-DAQ (Legacy),
incluida una lista completa de dispositivos, sistemas operatives y
versiones de lenguajes y software de aplicacién compatibles.
Ventana que muestra informacion basica sobre los diferentes objetos
de LabVIEW cuando mueve el cursor sobre cada uno de ellos. Entre
Jos objetos con informacidn de ayuda contextual se encuentran los VIs,
funciones, constantes, estructuras, paletas, propiedades, métodos,
eventos y componentes de cuadros de didlogo.
Ventana que muestra errores y advertencias que ocurren en un WI y en
algunos casos recomienda cémo corregirlos.
Ver instrumento virtual (V1),
Vi cuyo panel frontal, diagrama de bloques o Icon Editor es la ventana
activa,
VI que contiene controles ¢ indicadores comunes desde donde puede
crear varios VIs que realicen funciones similares. Acceda a los VIs
plantilla desde el cuadro de didlogo New.
Un subVI disefiado para ayudar en tareas de medidas comunes. Un VI
Express se configura mediante un cuadro de didlogo de configuracién.
‘VI que no puede ejecutarse debido a errores; se representa con una
flecha rota en el botén Run roto.