Вы находитесь на странице: 1из 41

1 de 41

Tutorial del curso de introduccin al uso de


LabVIEW orientado a la innovacin en la
investigacin










JM Gonzlez Leal
Departamento de Fsica de la Materia Condensada
Facultad de Ciencias

2 de 41
ENTORNO DE PROGRAMACIN
COMENZAR
Lo primero que encontrars al abrir el programa es una ventana que te ofrece la posibilidad de
crear un nuevo instrumento virtual desde el principio, o bien a partir de un modelo, abrir un VI
existente, configurar LabVIEW, o acceder a la ayuda on-line. Vers que los botones que
aparecen en esta ventana tienen diferente comportamiento segn hagas clic en el rectngulo con
la leyenda, o en zona que est a la derecha del objeto, en la que aparece una flecha. Si eliges
comenzar un nuevo VI a partir de un modelo, la ventana de dilogo te presentar un avance del
panel frontal y del diagrama de bloques, del modelo que elijas.


Figura 1. Ventana de comienzo de LabVIEW.

BARRA DE MEN
Con las funciones que encontrars en la opcin File de la barra de men, podrs abrir y salvar
VIs, configurar las propiedades de un VI, e imprimir su panel frontal o su diagrama de bloques.
En la opcin Edit encontrars las funciones ms comunes de copiar, cortar y pegar, y
hacer y deshacer. Adems, tendrs disponibles funciones para editar objetos del panel frontal
(Customize Control) y definir una barra de men propia en un VI (Run-Time Menu), entre otras.
En la opcin Operate encontrars funciones para ejecutar el VI, convertir los valores
mostrados por un control o indicador, en sus valores por defecto, o reiniciar los valores de todos
lo controles e indicadores a sus valores por defecto. Puedes tambin configurar ciertas
propiedades de ejecucin del VI y habilitar o deshabilitar la cuadrcula para la maquetacin.
Finalmente, tienes tambin la funcin Connect to Remote Panel, para conectarte remotamente a
otro ordenador y visualizar el panel frontal de un VI que corra all.
La opcin Tools recoge funciones de control interno de LabVIEW que te permitirn
configurar su comportamiento, y cambiar entre modo de edicin y modo de ejecucin del panel
frontal. El primero, que es el que aparece por defecto, estn habilitadas ciertas funciones de
edicin en la barra de herramientas, que no se presentan en el segundo.
En la opcin Browse hallars funciones para la gestin de la jerarqua de ejecucin de
un VI.

3 de 41
En la opcin Windows puedes encontrar funciones para habilitar o deshabilitar la
presentacin de paletas o ventanas, mostrar las ventanas de los VIs abiertos en mosaico o
cascada, y pasar a la ventana del diagrama de bloques.
En la opcin Help encontrars la ayuda on-line y ejemplos, entre otra documentacin
de utilidad.


Figura 2. Ventana de panel frontal, paleta de herramientas, paleta de controles, ventana de
ayuda en contexto, y ventana de navegacin.

Figura 3. Ventana del diagrama de bloques, paletas de herramientas, paleta de funciones,
ventana de ayuda en contexto, y ventana de navegacin.

BARRA DE HERRAMIENTAS
En ella tendrs una serie de botones para ejecutar un solo ciclo de un VI, ejecutarlo cclicamente,
pausarlo o detenerlo. Tienes adems un botn mostrando una bombilla que te permitir observar
el orden de ejecucin del VI, y te ser til en tareas de depuracin.
Si la opcin est habilitada, tendrs disponible adems una serie de funciones para el
maquetado del panel frontal y del diagrama de bloques.


4 de 41
PALETA DE HERRAMIENTAS
Haciendo clic sobre los botones de la paleta de herramientas, que est disponible tanto para la ventana
del panel frontal, como para la ventana del diagrama de bloques, podrs cambiar el cursor para realizar
diferentes acciones sobre los objetos.

Figura 4. Paleta de herramientas.









Cursor de cableado. Usa este cursor para hacer las conexiones en el diagrama de
bloques.
Cursor de scroll. salo para moverte sobre el rea de trabajo tanto en el panel frontal
como en el diagrama de bloques.
Cursor de punto de ruptura. Deshabilita la ejecucin de cdigo aadiendo puntos de
ruptura en el cableado.
Cursor de muestreo de datos (sonda). Puedes muestrear los valores que circulan por una
determinada conexin, aadiendo ventanas de muestreo. Para ello, haz clic sobre la rama del
diagrama de bloques para aadir un display digital que te informar sobre el valor actual que se
transmite a travs de ella.
Cursor para conseguir color. Usa este cursor como en los programas de autoedicin,
para conseguir los valores RGB de cualquier color mostrado en el entorno de LabVIEW.
Cursor de men desplegable. Usa este cursor para desplegar el men de propiedades de
los objetos haciendo clic sobre ellos con el botn izquierdo del ratn.
Cursor de etiquetado. Con este cursor podrs aadir etiquetas de texto tanto en el panel
frontal como en el diagrama de bloques. salo adems para editar los displays digitales de los
controles e indicadores tanto numricos como alfanumricos.
Cursor de seleccin. Con este cursor actuars sobre los objetos para el maquetado tanto
del panel frontal como del diagrama de bloques.
Cursor operativo. Con este cursor podrs modificar los valores de los controles e
indicadores actuando sobre los objetos como si el VI estuviera funcionando.

5 de 41



PALETA DE CONTROLES (Panel Frontal)
La paleta de controles te ofrece todos los objetos que puedes aadir en el panel frontal de un VI.
Selecciona Show Control Palette en la opcin Window de la barra de men si quieres que la
paleta siempre est visible, o haz clic en el botn derecho del ratn sobre la ventana del panel
frontal si slo quieres acceder a ella de forma eventual.

Figura 5. Paleta de controles.
PALETA DE FUNCIONES (Diagrama de Bloques)
La paleta de funciones te ofrece todos los nodos que puedes aadir en el diagrama de bloques
de un VI. Selecciona Show Functions Palette en la opcin Window de la barra de men si
quieres que la paleta siempre est visible, o haz clic en el botn derecho del ratn sobre la
ventana del diagrama de bloques si slo quieres acceder a ella de forma eventual.

Figura 6. Paleta de funciones.
VENTANA DE NAVEGACIN
En el caso de que desarrolles un proyecto complejo que envuelva un diagrama de bloques
extendido sobre una gran rea de trabajo, te resultar til la ventana de navegacin para
moverte sobre el cdigo. Puedes acceder a ella seleccionando Show Navigation Window en la
opcin Window de la barra de men. La ventana de navegacin mostrar el esquema del
diagrama de bloques o del panel frontal, dependiendo de la ventana activa.
Seleccin automtica de cursor. Si activas esta opcin de la paleta, LabVIEW
decidir automticamente el modo de cursor, en funcin del contexto en que te encuentres.
Ventana configuracin de colores. Puedes modificar los colores de los objetos eligiendo
entre los disponibles en esta ventana. Los objetos suelen tener colores en primer plano, y un color
de fondo. Haz clic en el cuadrado que corresponda antes de elegir el color (cuadrado en primer
plano o cuadrado de fondo).

6 de 41

Figura 7. Ventana de navegacin.

AYUDA EN CONTEXTO
Encontrars esta ventana muy til para conocer on-line la sintaxis y la funcionalidad de los nodos
del diagrama de bloques. Para mostrar esta ventana selecciona Show Context Help en la opcin
Help de la barra de men.

Figura 8. Ayuda en contexto.
AYUDA
Haz uso de la ayuda on-line incluida. Encontrars una gran de documentacin que te resultar
muy til para entender y avanzar en el conocimiento de LabVIEW. Puedes acceder a la ayuda
on-line a travs de la opcin VI, Function & How-To Help que encontrars en la etiqueta Help de
la barra de men.

EJEMPLOS
LabVIEW incluye una gran cantidad de ejemplos de VIs, que ilustran la funcionalidad de los
nodos, las estructuras de programacin, y dems conceptos caractersticos de este entorno de
programacin. Haz clic en Find Examples dentro de la opcin Help de la barra de men para
acceder a ellos.

PROGRAMACIN BSICA
Las aplicaciones realizadas con LabVIEW tambin se conocen como instrumentos virtuales, o
VIs, porque en su apariencia y funcionamiento imitan a instrumentos fsicos, tales como
voltmetros u osciloscopios, por poner slo dos ejemplos de los ms conocidos.

Todo instrumento virtual consta de los siguientes elementos:

- Panel Frontal: que sirve como interfaz de usuario.

7 de 41
- Diagrama de bloques: que contiene el cdigo fuente grfico que define la funcionalidad del
VI.
- Icono y patrn de conectores: que identifican y definen al VI para que ste pueda ser
usado en otro VI. Un VI ejecutndose dentro de otro VI se denomina subVI. Un subVI puede
entenderse como una subrutina en lenguajes de programacin basados en texto.

PANEL FRONTAL
El panel frontal es la interfaz de usuario de un VI. La Figura 1 muestra un ejemplo de un panel
frontal.



Figura 9. Ejemplo de panel frontal.

El panel frontal consta de controles e indicadores que son, respectivamente, las entradas y
salidas interactivas del VI. Los controles son, por ejemplo, los pulsadores, diales, interruptores,
etc. Los indicadores son, por ejemplo, los displays, los grficos, los indicadores luminosos, etc.
Los controles simulan los dispositivos de entrada del instrumento y suministran datos al
diagrama de bloques del VI. Los indicadores simulan los dispositivos de salida del instrumento y
muestran los datos que el diagrama de bloques adquiere o genera.

DIAGRAMA DE BLOQUES
La funcionalidad del VI se define en su diagrama de bloques. LabVIEW ofrece un lenguaje de
programacin grfica para realizar esta tarea. El diagrama de bloques consta de los elementos
que se describen a continuacin.

Terminales
Los terminales representan el tipo de datos de un control o indicador. Puedes configurar los
controles e indicadores del panel frontal para que aparezcan como iconos o terminales de tipo en
el diagrama de bloques. Por defecto, los objetos del panel frontal aparecern como iconos.
Los terminales son puertos de entrada y salida que intercambian informacin entre el
panel frontal y el diagrama de bloques. Los datos que se introduzcan mediante los controles del
panel frontal entran en el diagrama de bloques a travs de los terminales de control.

8 de 41

Figura 10. Ejemplo de diagrama de bloques y su correspondiente panel frontal.
Nodos
Los nodos son objetos en el diagrama de bloques que tienen entradas y/o salidas, y realizan
operaciones cuando el VI est en funcionamiento. Los nodos son anlogos a los operadores,
funciones, y subrutinas en los lenguajes de programacin basados en texto. Las funciones sumar
y restar cuyos iconos aparecen en el diagrama de bloques de la Fig. 2, son ejemplos de nodos.
Cables
La transferencia de datos entre los objetos del diagrama de bloques se realiza a travs de
cables. En la Fig. 2 los cables, en naranja, conectan los terminales de los controles e indicadores
a los nodos de suma y resta. Cada cable tiene una nica fuente de datos pero puede conectarse
a todo aquel nodo o VI que acepte el tipo de dato. Los cables tienen diferente color, estilo y
grosor, dependiendo del tipo de datos que transporten. Una conexin abierta aparece como una
lnea discontinua con una cruz roja en el centro, simulando un cable roto.
Estructuras
Las estructuras son representaciones grficas de los bucles y condicionales de los lenguajes de
programacin basados en texto. Usa las estructuras para ordenar, repetir o ejecutar bajo
condiciones, bloques de cdigo en el diagrama de bloques.
Tipos de estructuras
- For Loop: ejecuta un nmero definido de ciclos de operaciones. El nmero de ciclos es un
entero positivo que debes conectar al terminal indicado con una N en azul, y que encontrars
en la esquina superior derecha del objeto. La estructura incluye un control simbolizado con
una i en azul, que suministra el valor del ciclo en ejecucin comenzando por 0. El nmero de
ciclos queda fijado por el nmero de valores contenidos en un array, si ste se conecta a la
estructura. Si extraes valores del bcle, estos se agruparn por defecto en un array. Puedes
deshabilitar esta opcin haciendo clic con el botn derecho del ratn sobre el punto donde el
cable abandona la estructura y que aparece enfatizado. Selecciona entonces la opcin
Disable Indexing. Puedes aadir registros de desplazamiento para hacer que la estructura
sea recursiva.
- While Loop: esta estructura ejecutar las operaciones que contiene hasta recibir una seal
booleana. Aparte del ndice, encontrars un nodo en la esquina inferior derecha que debes

9 de 41
conectar a una seal booleana. Puedes cambiar la respuesta de la estructura a la seal
booleana. Por ejemplo, puedes querer que el bucle termine cuando pulses un botn de
parada, o que se arranque cuando pulses un botn de inicio. Por lo dems, comparte las
caractersticas descritas para la estructura For Loop. Como regla general, aade siempre un
retraso de al menos 50 ms en la estructura, para garantizar que el sistema ejecute otras
operaciones en aplicaciones multitarea o que muestre adecuadamente el estado de la seal
booleana de control.
- Case structure: es una estructura condicional similar al procedimiento If-Else en los lenguajes
de programacin basados en texto. La estructura admite diferentes tipos de datos
conectados a su terminal de entrada que est simbolizado por un signo de interrogacin, y
que encontrars en el segmento derecho del objeto. Por defecto el terminal tiene color verde
porque espera una seal booleana (S/NO), pero puedes conectar tambin texto y enteros.
Los casos (o coincidencias) los defines en la ventana que aparece en la parte superior de la
estructura. Puedes usar las flechas para moverte entre los diferentes casos. Puedes
reordenar, aadir y borrar casos. Para ello haz clic con el botn derecho sobre la etiqueta
que indica los casos. Para cada caso, aade el diagrama de bloques de las operaciones que
quieres que se ejecuten, en la opcin de la estructura que le corresponde.
- Sequence structure: LabVIEW impone un orden en la secuencia de operaciones de un VI. Si
creas un diagrama de bloques con operaciones inconexas, LabVIEW intentar ejecutarlas
todas simultneamente. Normalmente te interesar crear algoritmos secuenciales. Puedes
introducir orden en la ejecucin usando los terminales de error de los nodos. Sin embargo,
en el caso de proyectos ms complejos, ser til usar la estructura de secuencia. Puedes
elegir entre dos modos de presentarla: plegada o desplegada. En el primer caso el orden de
ejecucin se establece aadiendo pginas a la estructura. Para ello haz uso del men
desplegable que obtendrs al hacer clic con el botn derecho sobre la ventana que
encontrars en la parte superior del objeto. Si quieres usar ciertos valores que aparecen en
una pgina, en otra posterior, aade una referencia en la estructura, mediante la opcin Add
Sequence Local que encontrars en el men desplegable. Al seleccionarlo aparecer un
terminal amarillo en la parte derecha del objeto, que podrs usar para transmitir el valor a
otra celda. En la nueva celda podrs hacer uso del valor cableando la referencia
correspondiente. El terminal cambia de color segn el tipo de datos, y muestra una flecha
que indica si el valor es de salida o entrada. En el segundo caso el orden de ejecucin es de
izquierda a derecha. Puedes aadir pginas, a la derecha o a la izquierda, de forma similar a
la descrita antes.
- Event structure: es similar a la estructura condicional, salvo que los casos estn vinculados
con sucesos o eventos originados por la interfaz de usuario, externamente o por otras partes
del programa. Los eventos caractersticos de la interfaz de usuario incluyen los clics del
ratn, la pulsacin de teclas, etc. Los sucesos externos incluyen termporizadores de
hardware o seales de disparo que indican cundo una adquisicin ha terminado, o cundo
se da una condicin de error.
En un VI basado en eventos, stos influyen directamente en el flujo de ejecucin de las
operaciones. La estructura incluye un bucle que espera a que ocurra un evento, ejecuta el cdigo
correspondiente, y vuelve a quedar en espera hasta el siguiente suceso.
Usa esta estructura cuando quieras sincronizar las acciones del usuario sobre el panel
frontal, con la ejecucin del diagrama de bloques. Si no usas este tipo de programacin, el

10 de 41
diagrama de bloques deber muestrear el estado de los objetos del panel frontal en un bucle,
comprobando cada vez si se ha producido algn cambio. Muestrear el panel frontal consume una
cantidad notable de recursos, y puede que algunos cambios no se detecten, si stos se
producen demasiado rpido. Si usas programacin basada en eventos para responder a las
acciones del usuario, eliminas la necesidad de muestrear el panel frontal para determinar las
acciones que ha realizado el usuario. En vez de eso, LabVIEW informa al diagrama de bloques
cada vez que sucede un evento que t hayas especificado en la estructura. De esta forma
reduces el consumo de recursos, simplifica el diagrama de bloques, y garantiza que ste
responde a todas las interacciones del usuario.
Usa los eventos generados mediante programacin para comunicar diferentes partes
del programa que no tengan dependencia en el orden de ejecucin. Estos eventos tienen las
mismas caractersticas que los generados por el usuario.
ICONO Y PATRN DE CONECTORES (Connector Pane)
Una vez construido el VI, puedes disear su icono y patrn de conectores correspondientes, que
te facilitarn su posterior uso como subVI. Todo VI muestra un icono en la esquina superior
derecha tanto de la ventana del panel frontal, como del diagrama de bloques. Un icono es una
representacin grfica de un VI que puede contener textos, imgenes, o una combinacin de
ambos. Si se usa un VI como subVI en un nuevo proyecto, el icono lo identifica en el diagrama
de bloques del nuevo proyecto. Haciendo doble clic sobre el icono, se abre el VI de referencia
para su edicin.
Adems del icono, puedes disear el patrn de conectores de un VI. ste es un conjunto de
terminales que corresponden a los controles e indicadores del VI, de forma similar a la lista de
parmetros de una funcin de llamada en los lenguajes de programacin basados en texto. El
patrn de conectores define las entradas y salidas que pueden cablearse al usar el VI como
subVI. El patrn de conectores recibe datos en sus terminales de entrada y los procesa segn la
funcionalidad definida en el diagrama de bloques, y finalmente vuelca los resultados en sus
terminales de salida, que estn vinculados con los indicadores del panel frontal del VI.
Para disear o editar el icono haz doble clic sobre el que por defecto aparece en la ventana del
panel frontal del VI. Para disear o editar el patrn de conectores haz clic con el botn derecho
del ratn y elige la funcin a realizar en el men desplegable (aadir terminal, eliminar terminal,
patrones, etc). Inicialmente, el patrn de conectores aparecer en color blanco pues la
correspondencia entre los terminales y los objetos del panel frontal debe asignarla el
programador. Para ello, haz clic sobre el terminal del patrn de conectores al que quieras asignar
una correspondencia y luego sobre el control o indicador del panel frontal elegido, o viceversa. El
color del terminal ser del tipo de datos que corresponda al control o indicador. Los terminales de
salida aparecen con lnea gruesa en el patrn de controles.

11 de 41

Figura 11. Ejemplo del diseo de un patrn de conectores con dos entradas y una salida.

CONTROLES E INDICADORES
CONTROLES E INDICADORES NUMRICOS
Usa los controles e indicadores numricos que encontrars en las paletas Numeric y Classic
Numeric para simular controles de desplazamiento lineal y rotatorio, y displays digitales. Las
paletas tambin incluyen las herramientas para editar los colores de las rampas de aquellos
controles que las presenten, as como para aadir un indicador de fecha a los datos y resultados
generados. Usa los controles e indicadores numricos para introducir o presentar datos
numricos.
Controles e indicadores lineales
Los controles e indicadores lineales incluyen los de desplazamiento vertical y horizontal, un
tanque, y un termmetro. Cambia el valor de un control o indicador lineal usando el cursor con el
icono que podra simbolizar nuestra mano sobre el ratn, y haz clic sobre el control, y desliza el
ratn en la direccin y el sentido que indique el control o indicador elegido. Los cambios que
hagas en los controles lineales cuando el VI est corriendo sern continuos, de forma que el
diagrama de bloques tomar los valores intermedios barridos en el cambio, tantos cuanto ms
rpido sea el ciclo de ejecucin del VI.
Los controles e indicadores lineales pueden mostrar ms de un valor. Haz clic en el botn
derecho del ratn sobre el objeto, y selecciona Add Slider del men desplegable para aadir ms
elementos al objeto.
Controles e indicadores rotatorios
Los controles e indicadores rotatorios incluyen, entre otros, ruedas, manecillas e indicadores
analgicos de aguja. Los objetos rotatorios funcionan de forma similar a los lineales. Puedes
cambiar su valor haciendo clic y arrastrando, haciendo clic sobre el punto final al que quieres
moverlo, o usando el display digital asociado al objeto, que est oculto por defecto y que puedes
mostrar seleccionndolo en el men del objeto, que se despliega al hacer clic con el botn
derecho del ratn.

12 de 41
Al igual que los controles e indicadores lineales, los objetos rotarios pueden tener ms de un
elemento de control o de indicacin. Para aadir elementos, elige en el men desplegable del
objeto Add Needle.
Controles e indicadores digitales
Los controles e indicadores digitales son la forma ms sencilla de introducir y mostrar datos
numricos. Puedes cambiar el tamao de los displays para acomodar ms dgitos. Para cambiar
el valor de un control o indicador digital, puedes hacer lo siguiente:
- usar el cursor operativo (el de la mano en el ratn) o el cursor de etiquetado (que puedes elegir
en la paleta de herramientas haciendo clic sobre la opcin que presenta una A y un cursor de
texto), y hacer clic dentro del display para introducir el valor desde el teclado.
- usar los cursores anteriores y hacer clic a la derecha del valor que se desea cambiar, y usar las
flechas del teclado arriba y abajo.
- usar el cursor operativo y hacer clic sobre las flechas que acompaan al control digital.
Formato numrico
Por defecto, LabVIEW muestra y almacena los nmeros como una calculadora. Un control o
indicador numrico muestra hasta 6 dgitos antes de pasar a notacin exponencial. Puedes
configurar el nmero de dgitos que quieres que LabVIEW muestre en un objeto numrico antes
de pasar a notacin exponencial. Para ello, debes acceder a las propiedades del objeto, que las
encontrars en el men desplegable que aparece con el botn derecho del ratn. La precisin
que selecciones slo afectar a la presentacin en el panel frontal, NO a la representacin del
tipo de dato.
Botones, interruptores e indicadores luminosos
Usa los controles e indicadores booleanos (verdadero/falso) para simular botones, interruptores
e indicadores luminosos. Usa estos controles e indicadores para introducir y mostrar valores
booleanos. Por ejemplo, si monitorizas la temperatura de un experimento y no debe sobrepasar
un valor crtico, puedes usar un indicador luminoso en el panel frontal para ponerte sobre aviso si
la temperatura comienza a subir.
Puedes usar el men desplegable del objeto para cambiar su apariencia y la forma en que
responden cuando hace clic sobre ellos.




13 de 41
Figura 12. Ejemplo de uso de un indicador lineal, un indicador luminoso, y un botn de parada.


CONTROLES E INDICADORES ALFANUMRICOS
Usa los controles e indicadores de cadena (strings) y de localizacin (path) para simular campos
de entrada y salida de texto, y para introducir o visualizar la ubicacin de un archivo o directorio.
Controles e indicadores de cadena
En un control de cadena puedes introducir o editar texto usando los cursores operativo y de
etiquetado. Por defecto, el texto nuevo o editado no pasa al diagrama de bloques hasta que no
termines la edicin, bien haciendo clic fuera del campo de texto, cambiando de ventana de
trabajo, haciendo clic en el icono Enter de la barra de herramientas, o pulsando la tecla Enter del
teclado numrico. Si pulsas la tecla Enter del teclado alfabtico introducirs un retorno de carro
en el campo de texto.
Controles de texto cclicos o de anillo (rings)
Usa los controles de anillo para crear una lista de tems de texto que quieras seleccionar
cclicamente en el panel de control. Encontrars un par de casos: los anillos de texto, y los
anillos de men. En el primer caso, la seleccin devuelve la cadena alfanumrica elegida,
mientras en el segundo, el terminal de control devuelve un valor numrico asignado a la opcin
elegida. Puedes usar este tipo de controles para seleccionar los casos para una estructura
condicional.
Para aadir elementos a los anillos, haz clic en el botn derecho del ratn para
desplegar el men del objeto, y elige Edit tems. Aade las opciones en la lista que mostrar el
objeto. El orden de los tems en la lista ser el mismo que finalmente presente el control. Por
defecto el anillo te permite aadir manualmente opciones no contempladas en la lista, lo que en
algunas aplicaciones puede dar lugar a un incorrecto funcionamiento del VI. Si quieres evitar
esto, desactiva la casilla Allow Undefined Strings en el men desplegable del objeto.
Cuando configures la lista de texto para un control de anillo, puedes especificar cualquier
valor para cada opcin. Para ello desactiva la opcin Sequential Values en el men Edit tems de
las propiedades del objeto. Por defecto los valores asignados sern los ordinales que marcan su
posicin en la lista, comenzando desde 0.
Controles e indicadores de localizacin
Usa los controles e indicadores de localizacin para introducir o mostrar la ubicacin de un
archivo o directorio. Los controles e indicadores de localizacin funcionan de forma similar a los
controles e indicadores de cadena. La diferencia est en que LabVIEW formatea la localizacin
usando la sintaxis adecuada a la plataforma que se est usando (Windows, Linux, etc). LabVIEW
dispone del nodo Not A Path para detectar cundo un usuario falla al introducir la ubicacin de
un archivo o directorio.
CONTROLES E INDICADORES MULTIDIMENSIONALES
Usa los controles de lista localizados en la paletas List & Table y Classic List & Table para dar al
usuario una lista de tems que pueda seleccionar.
Listas

14 de 41
Puedes configurar las listas para aceptar selecciones mltiples. Usa la opcin multicolumna para
mostrar ms informacin acerca de cada tem, tal como el tamao o la fecha de creacin.
Puedes aadir, adems, un smbolo al lado de cada opcin.
rboles
Usa este tipo de control para dar al usuario una lista jerrquica de tems que podr seleccionar.
Puedes organizar los tems en grupos de tems, o nodos, de forma similar a cmo se hace en el
explorador de Windows.
Tablas
Usa este control para crear una tabla en el panel frontal. Cada celda de la tabla es una cadena, y
cada celda est definida por su posicin en una fila y una columna. Por tanto, una tabla muestra
un array 2D de cadenas.

CONTROLES CONTENEDORES
Usa los controles contenedores para agrupar controles e indicadores, para presentar objetos
ActiveX en el panel frontal, o para mostrar el panel frontal de otro VI en el panel frontal del VI
actual.
Controles de pestaas
Usa este tipo de contenedor para solapar paneles frontales diferentes en un rea pequea. Un
control de pestaas consiste de pginas y pestaas. Ubica los objetos de un panel frontal en
cada pgina y usa las pestaas para mostrarlos.
Los controles de pestaa son tiles cuando tengas varios objetos del panel frontal que se
usan juntos o durante una fase especfica de la operacin. Por ejemplo, puedes querer tener un
VI que requiera al usuario que configure varios parmetros antes de comenzar un test, luego
permitir al usuario modificar aspectos del test cuando est en progreso, y finalmente permitirle
mostrar y salvar slo los datos ms relevantes del test.
Controles de subpanel
Usa los subpaneles para mostrar el panel frontal de otro VI sobre el panel frontal del VI actual.
Por ejemplo, puedes usar un subpanel para disear una interfaz de usuario que se comporte
como un asistente y vaya mostrando en la misma rea del panel frontal diferentes escenarios.


15 de 41


Figura 13. Ejemplo de un contenedor de pestaas que incluye una lista multicolumna y una figura
jpg en la primera pgina, y un subpanel y un control de anillo, en la segunda.

Controles e indicadores de dilogo
Usa estos controles en las cajas de dilogo que crees para comunicarte con el usuario. Estos
controles son similares a los que aparecen en el panel frontal del VI y difieren slo en su
apariencia.
Etiquetas
Puedes aadir etiquetas en el panel frontal y en el diagrama de bloques para comentar el
procedimiento.
GRFICOS
Usa grficos (graphs) y registros (charts) para mostrar tus datos de forma grfica. Ambos difieren
en la forma en que presentan y actualizan los datos. Los VIs con grficos normalmente recogen
los datos en un array y entonces los representan en el grfico, lo cual es similar a una tabla de
datos a partir de los que se genera la curva. Por el contrario, un registro anexa los nuevos datos
a aquellos generados previamente y que ya estn mostrados grficamente. En un registro
puedes ver las nuevas lecturas en el contexto de las adquiridas previamente.
TIPOS DE GRFICOS
Registros y grficos de forma de onda: presentan los datos a una velocidad constante de
muestreo.
Grficos XY: presentan los datos a una velocidad de muestreo variable, tal como ocurre en
aplicaciones con medidas asncronas.
Registros y grficos de intensidad: presentan datos 3D en un grfico 2D empleando una escala
de colores para la tercera dimensin.
Grficos de forma de onda digital: presentan los datos como pulsos o grupos de lneas digitales.
Los ordenadores transfieren entre s datos digitales en forma de pulsos.
Grficos 3D (slo Windows): presentan datos 3D en grficos 3D creados como objetos ActiveX, y
que son insertados en forma de subpaneles en el panel frontal del VI.


16 de 41
OPCIONES
Mltiples ejes X e Y
Todos los grficos pueden mostrar mltiples ejes X e Y, mientras los registros slo tienen
habilitado el aumento del nmero de ejes Y. Puedes encontrar la opcin Duplicate Scale en el
men desplegable del objeto.

Figura 14. Ejemplo de grfico de forma de onda con dos ejes Y.
Cambia la apariencia de los grficos y registros
Puedes cambiar la apariencia de estos objetos usando su men desplegable para ocultar o
mostrar opciones.
- Plot Legend: Define el color y el estilo de las curvas. Aumenta el tamao de la caja para
acceder a las opciones de todas las curvas en una representacin mltiple.
- Scale Legend: Define las etiquetas de los ejes y configura sus opciones.
- Graph Palette: Cambia la escala y el formato mientras el VI est funcionando.
- X Scale e Y Scale: Da formato a los ejes X e Y.
- Cursor Legend (slo en grficos): Muestra un marcador en un punto de coordenadas
definidas por el usuario. Puedes presentar ms de un marcador simultneamente sobre un
grfico.
- X Scrollbar: Barra de desplazamiento para visualizar zonas del grfico fuera del zoom.
Puedes modificar el comportamiento de los cursores del grfico, las opciones de escala, y los
ejes. Puedes modificar los grficos de intensidad y de forma de onda para que se ajusten a los
requerimientos de tus datos, o para mostrar ms informacin. Entre las opciones disponibles para
los registros, se incluyen una barra de desplazamiento, una leyenda, una paleta, un display digital,
y la representacin de las escalas frente al tiempo.

17 de 41

Figura 15. Elementos de un grfico.
Cursores grficos
Los cursores sobre los grficos te permiten leer el valor exacto de un punto en una curva. El
valor se muestra en la barra Cursor Legend. Para aadir cursores slo tienes que seleccionar la
opcin Cursor Legend en el men desplegable del objeto, y aumentar la barra en tantas filas
como cursores necesites. Puedes etiquetar los cursores, y fijarlos en posiciones concretas.
Autoscaling
Los grficos pueden automticamente ajustar sus escalas horizontal y vertical para encajar los
datos en el mximo rea de representacin. Este comportamiento se conoce como autoscaling.
Puedes activar o desactivar esta opcin usando el men desplegable del grfico o registro. La
opcin est habilitada por defecto. Puede ser desaconsejable en aplicaciones que requieran alta
velocidad de procesamiento.
Formato de los ejes
Usa la opcin Format and Precision del men desplegable de un grfico o un registro para
especificar cmo quieres que aparezcan los ejes X e Y.
Por defecto, el eje X est configurado para usar notacin en coma flotante y mostrar
una etiqueta de tiempo, y el eje Y est configurado para usar formato automtico y mostrar una
etiqueta de amplitud. Usa el men desplegable para acceder a las propiedades de los grficos y
registros, y cambiar estas opciones, si lo necesitas.
Usa la opcin Format and Precision del men de propiedades para especificar un
formato numrico para los ejes de un grfico o registro. Selecciona Scales para renombrar un eje
y dar formato a la apariencia de la escala. Por defecto, los grficos y registros muestran hasta 6
dgitos antes de pasar a notacin exponencial.
Elige la opcin Direct entry mode preferred si quieres usar cdigos de texto para el
formateo numrico de los ejes.
EDITA LOS REGISTROS

18 de 41
Al contrario que los grficos, que cada vez muestran un paquete de datos que sobrescribe el
paquete anterior, los registros se actualizan peridicamente y mantienen una historia de los
datos previamente almacenados.
Puedes modificar los registros de forma de onda y de intensidad para que se ajusten a
los requerimientos de tus datos, o para mostrar ms informacin. Las opciones disponibles para
los registros son entre otras, una barra de desplazamiento, una leyenda, una paleta y un display
digital. Puedes modificar la longitud de datos en el histrico, los modos de actualizacin, y las
ventanas de presentacin de grficos.
GRFICOS XY Y DE FORMA DE ONDA
La diferencia entre estos tipos de grfico estriba en que los segundos estn limitados a un
muestreo constante, mientras que en el primer caso cualquier conjunto de pares de valores
puede ser representado.
Los grficos de forma de onda slo presentan funciones con puntos igualmente
distribuidos a lo largo del eje X. El grfico XY es un objeto grfico cartesiano de propsito
general que presenta funciones multievaluadas, tales como circunferencias o curvas con una
base de tiempo variable. En ninguno de los casos a limitaciones en el nmero de puntos a
representar. Ambos aceptan varios tipos de datos, lo que te evitar tener que manipularlos antes
de representarlos.
Tipos de datos para generar un grfico de forma de onda con una sola curva
El grfico de forma de onda acepta dos tipos de datos si slo se quiere presentar una curva.
El grfico acepta un array lineal de valores e interpreta los datos como puntos sobre el
grfico e incrementa el ndice en x comenzando en x = 0. El grfico tambin acepta un cluster
con un valor de x inicial, un valor para el incremento en x, y un array lineal para los valores del
eje Y.

Figura 16. Ejemplo de grfico creado a partir de un array. El valor inicial de x es 0, y la escala del
eje X es 1.

19 de 41

Figura 17. Ejemplo de grfico creado a partir de un cluster que define el valor inicial de x y la
escala del eje X.
Tipos de datos para generar un grfico con mltiples curvas
Un grfico de forma de onda acepta un array 2D de valores, donde cada fila del array es una
curva independiente. El terminal interpreta los datos como los puntos sobre el grfico e
incrementa el ndice en x, comenzando en x = 0.

Figura 18. Un ejemplo de representacin de curvas mltiples usando arrays 2D.


20 de 41
Figura 19. Otra forma de representacin de curvas mltiples usando arrays 2D.
Un grfico de forma de onda mltiple tambin acepta un cluster con un valor de x
inicial, un valor para el incremento en x, y un array 2D para los valores del eje Y. Este tipo de
datos es til cuando quieras mostrar mltiples seales muestreadas todas a la misma frecuencia.

Figura 20. Un ejemplo de representacin de curvas mltiples usando clusters.
Puedes hacer tambin que cada una de las representaciones tenga su propio valor
inicial para x, y diferente escala en este eje. En ese caso, el tipo de datos es un array de
clusters definidos como antes.

Figura 21. Otra forma de representacin de curvas mltiples usando clusters.
Grficos XY mostrando una sola curva
El tipo de datos en este caso es un cluster que contiene un array lineal con los valores de x, y
otro array lineal con los valores de y. Los grficos XY tambin aceptan un array 2D de puntos,
donde cada punto es un cluster que contiene un valor de x y un valor de y.

21 de 41

Figura 22. Ejemplo de representacin de una curva simple usando grficos XY.

Figura 23. Una va alternativa para la representacin de una sola curva usando grficos XY.
Grficos XY mostrando mltiples curvas
Si quieres presentar varias curvas en un grfico XY, este objeto acepta un array 2D de las
diferentes curvas, donde cada una de ellas es un cluster que contiene arrays lineales con los
valores de x y de y. El grfico XY tambin admite un array de clusters de curvas, donde cada una
es un array lineal de puntos definidos como clusters.


22 de 41

Figura 24. Ejemplo de representacin de curvas mltiples usando grficos XY.

Figura 25. Otra va para la representacin de curvas mltiples usando grficos XY.

GENERACIN DE INFORMES
LEER Y GUARDAR DATOS
Los nodos que uses para salvar y recuperar datos dependern del formato de los archivos.
Puedes leer o escribir datos a los archivos en tres formatos: texto, binario, y datalog. El formato
que uses depender de los datos que adquieras o crees, y las aplicaciones que accedern a
esos datos.
Usa las siguientes lneas como gua para determinar el formato que ms te interese:

23 de 41
- Si quieres que tus datos sean transferibles a otras aplicaciones, tales como Microsoft Excel,
SigmaPlot u Origin, usa archivos de texto, porque ellos son los ms comunes y ms
verstiles.
- Si necesitas realizar accesos aleatorios para leer o escribir en un archivo, o si la velocidad y
el espacio de disco son cruciales, usa entonces archivos binarios, ya que ellos son ms
eficientes que los archivos de texto tanto en velocidad como en tamao.
- Si necesitaras manipular registros complejos de datos o diferentes tipos de datos, usa
archivos datalog porque son la mejor forma de almacenar datos, si slo vas a acceder a ellos
desde LabVIEW.
Para aplicaciones en las que slo quieras salvar los datos al final de un proceso, usa
los VIs de alto nivel que encontrars en la opcin File I/O de la paleta de controles del diagrama
de bloques.
Usa los VIs de alto nivel cuando quieras salvar o recuperar los siguientes tipos de
datos:
- Caracteres en archivos de texto.
- Lneas de texto en archivos de texto.
- Arrays lineales o 2D de datos numricos de precisin simple en archivos de texto.
- Arrays lineales o 2D de datos numricos de precisin simple o enteros de 16 bits en archivos
binarios.
Puedes ahorrar tiempo y esfuerzo usando los nodos de alto nivel. Estas rutinas estn diseadas
sobre otros nodos de bajo nivel para sintetizar las operaciones ms comunes. Evita emplazar
estos nodos de alto nivel en estructuras cclicas, porque realizarn las operaciones de apertura y
cierre de archivos cada vez que se ejecute un ciclo.

Figura 26. Ejemplo del uso de un nodo de alto nivel para salvar una tabla de datos en formato
ASCII.


24 de 41
CREACIN DE INFORMES
Usa los VIs que aparecen en la opcin Report Generation que encontrars en la paleta de
controles del diagrama de bloques. Estos te permitirn imprimir y salvar informes que contienen
informacin sobre el propio VI o sobre los datos que ste genera. Usa el nodo Easy Print VI
Panel o Documentation VI para generar un informe bsico que contenga documentacin del VI.
Usa el nodo Easy Text Report VI si quieres generar un informe que contenga datos generados
por un VI. Usa el resto de los nodos para enriquecer tus informes.
Usa los VI de Report Generation para realizar las siguientes tareas:
- Incorporar texto, grficos, tablas o documentacin del VI a un informe.
- Ajustar el tipo, tamao, estilo y color de las fuentes de texto.
- Configurar la orientacin del informe: vertical u horizontal.
- Definir membretes y textos al pie.
- Ajustar mrgenes y tabulaciones.

Figura 27. Cmo acceder a los nodos especficos para la generacin de informes.

MEDIDA Y CONTROL
Cuando usas un PC para automatizar un sistema de medida, no ests limitado al tipo de
instrumento que puedas controlar. Puedes acoplar instrumentos con diferentes protocolos, tales
como GPIB, serie, PXI e instrumentos modulares.
Cuando uses PCs para controlar instrumentos, necesitas entender los siguientes
aspectos acerca del instrumento:
- El tipo de conector que acepta el instrumento.
- El tipo de cable necesario.

25 de 41
- Las propiedades elctricas (niveles de las seales, aislamientos, y restricciones en la
longitud del cable).
- Los protocolos de comunicacin (comandos ASCII, comandos binarios, formato de los
datos).
- El tipo de drivers disponibles.
INTERFAZ GPIB (General-Purpouse Instrument Bus)
La mayora de los fabricantes de instrumentos, tanto de propsito general, como para
aplicaciones ms especializadas, ofrecen la posibilidad de usar el protocolo GPIB para su
control. Comnmente los instrumentos GPIB se usan como terminales de medida
independientes, y las medidas suelen tomarse a mano. No obstante, puedes automatizar la
adquisicin usando un PC para controlar el instrumento.
Controladores, emisores y receptores
Para determinar qu dispositivo tiene un control activo del bus, el protocolo GPIB distingue a los
dispositivos entre controladores, emisores o receptores. Cada dispositivo tiene una direccin
GPIB nica, que es un nmero entre 0 y 30. El controlador define los vnculos de comunicacin,
responde a los dispositivos que requieren un servicio, enva comando GPIB, y pasa y recibe del
bus. Los controladores marcan cundo un emisor tiene que hablar y poner datos en el bus. Los
controladores deciden cundo un receptor debe leer datos del bus. Puedes hacer que varios
receptores estn activos a la vez.
El bus GPIB tiene 24 canales, que consisten en 8 lneas de datos, 5 lneas de gestin
del bus (EOI, IFC, SRQ, ATN, REN), 3 lneas handshake (DAV, NRFD, NDAC), y 8 lneas de
tierra. El bus GPIB usa un esquema de transferencia de datos asncrono con 8 bits en paralelo
(=1 byte), que se transmiten secuencialmente. La velocidad de transferencia la impone el
participante ms lento en la comunicacin. Debido a que la unidad de datos en este protocolo es
un byte, los mensajes transferidos son codificados frecuentemente como cadenas de caracteres
alfanumricos (ASCII).
El bus GPIB permite velocidades de transferencia de hasta 1Mbytes/s, siempre que se
respeten las siguientes especificaciones elctricas:
- La separacin mxima entre dos dispositivos no debe ser mayor de 4 m, y la separacin
media no debe superar los 2 metros.
- La longitud mxima del cable no debe superar los 20 m.
- El nmero de instrumentos conectados no debe ser mayor de 15, de los cuales slo dos
tercios funcionan simultneamente.
Si tu aplicacin necesita que se excedan estos lmites, tendrs que aadir hardware
adicional para mejorar la calidad de las seales.

26 de 41
Nodos especficos
Los nodos especficos los encontrars en la opcin Instrument I/OGPIB, en la barra de
controles del diagrama de bloques. Bsicamente, las operaciones que realizars para
comunicarte o adquirir datos de un instrumento a travs del puerto GPIB sern:
- Configurar: configura el controlador. Normalmente el controlador tiene asignada por defecto
la direccin 0. Los instrumentos suelen traer una direccin de fbrica que podrs cambiar
usando el men del instrumento, o bien configurando un array de interruptores en alguna
parte interna o externa del instrumento.
- Escribir: abre el puerto, y enva un comando al instrumento a travs del bus. Los comandos
son normalmente caracteres ASCII seguidos por algn carcter de control (escape) del tipo
fin de lnea y/o retorno de carro. Encontrars estos caracteres en la barra de controles del
diagrama de bloques para adjuntarlos a los comandos que quieras transmitir. Los comandos
que acepta el instrumento suelen estar listados y comentados en sus manuales.
- Leer: lee los datos volcados en el bus por el instrumento, si as se le solicit con un comando
anterior. Tendrs que decirle el tamao de bytes que codifican los datos. Este dato no suele
aparecer en los manuales, as que en muchas ocasiones te vers obligado a probar varios
valores antes de encontrar el adecuado.

Figura 28. Secuencia bsica en la comunicacin a travs de GPIB: configuracin, escritura y
lectura.

COMUNICACIN A TRAVS DEL PUERTO SERIE
Los puertos serie permiten la transmisin de datos entre un PC y un perifrico, que puede ser un
instrumento programable, u otro PC. En la comunicacin serie los bits se transmiten
secuencialmente a travs de una sola lnea de transmisin, y a velocidad constante. Usa este
mtodo cuando no necesites altas velocidades de transferencia o cuando tengas que transmitir
datos a largas distancias. La mayora de los PCs tienen uno o ms puertos serie, de forma que
no necesitars hardware extra.

27 de 41
Para las comunicaciones a travs del puerto serie tendrs que especificar cuatro
parmetros: la velocidad de transmisin (en baudios), el nmero de bits que codifican un
carcter, el sentido del bit de paridad, y el nmero de bits de parada.
La velocidad de transmisin es una medida de lo rpido que se mueven los datos entre
los instrumentos.
Los bits de datos se transmiten en orden creciente de significacin. El bit menos
significantivo es el primero en la cadena, y sta termina con el bit ms significativo. Para
interpretar los bits de datos en un byte, debes leerlos de derecha a izquierda, y entender 1 como
voltaje positivo, y 0 como voltaje negativo.
El bit de paridad opcional se transmite al final de la cadena de bits que forman la
palabra. El bit de paridad, si est presente, tambin sigue una lgica invertida. Este bit se incluye
como test de errores en la transmisin. Puedes elegir entre paridad par o impar. Si eliges paridad
par, el bit de paridad se ajusta de forma que la suma del nmero de 1s en la cadena de datos y
el bit de paridad sea un entero par.
La ltima parte de un paquete de informacin serie consiste en 1, 1.5 o 2 bits que se
representan siempre como voltajes negativos. Una vez que termina la transmisin de un
carcter, la lnea permanece en una condicin negativa. El siguiente carcter comienza con un
voltaje positivo.
Para una velocidad en baudios definida, puedes calcular la velocidad mxima de
transmisin en caracteres por segundo, dividiendo la velocidad en baudios entre el nmero de
caracteres en el paquete.
Los siguientes ejemplos son los estndares ms recomendados para comunicacin a
travs del puerto serie:
- RS-232: este protocolo es el ms extendido, y se usa para conectar un ratn, una impresora
o un mdem. Tambin se usa en instrumentacin industrial.
- RS-422: este protocolo usa una seal elctrica diferencial, que lo diferencia del RS-232, que
usa seales con referencia a tierra. La transmisin diferencial usa dos lneas para transmitir y
recibir seales. Esto aporta una mayor inmunidad a la lnea de transmisin frente a ruidos
(mejora la SNR), y permite transmisiones a mayores distancias que el RS-232.
- RS-485: es una variacin del protocolo RS-422 que permite conectar hasta 32 dispositivos
en un solo puerto. Puedes crear redes de dispositivos conectados a un solo puerto RS-485.
La inmunidad frente al ruido y la capacidad de multiconexin resultan muy atractivas para
aplicaciones industriales que requieran controlar y/o monitorizar un conjunto de dispositivos
desde un solo PC.
Normalmente encontrars las especificaciones de un instrumento para la comunicacin
a travs del puerto serie, en el manual del fabricante.

28 de 41
Nodos especficos
Los nodos especficos los encontrars en la opcin Instrument I/OSerial, en la barra de
controles del diagrama de bloques. Bsicamente, las operaciones que realizars para
comunicarte o adquirir datos de un instrumento a travs del puerto RS-232 sern:
- Configurar: establece los parmetros de comunicacin para el puerto serie.
- Escribir: abre el puerto y enva un comando al instrumento, bien para su ajuste o para
solicitarle informacin. Los comandos son normalmente caracteres ASCII seguidos por algn
carcter de control (escape) del tipo fin de lnea y/o retorno de carro. Encontrars estos
caracteres en la barra de controles del diagrama de bloques para adjuntarlos a los comandos
que quieras transmitir. Los comandos que acepta el instrumento suelen estar listados y
comentados en sus manuales.
- Leer: lee los datos enviados por el instrumento, si as se le solicit con un comando anterior.
Tendrs que decirle el tamao de bytes que codifican los datos. Este dato puedes
conseguirlo usando el nodo Byte Count que encontrars en la paleta de controles del
diagrama de bloques. Debido a las limitaciones propias del protocolo, el tiempo de
transferencia ser mayor cuanto mayor sea la informacin en juego y menor la velocidad. En
ocasiones ser necesario introducir algn retraso entre las operaciones de escritura y lectura
para evitar problemas en la comunicacin.
- Cerrar: cierra el puerto. A diferencia del puerto GPIB, el puerto serie debe cerrarse una vez
termines la comunicacin con el instrumento. Ten esto presente cuando trabajes con subVIs
que incluyan comunicaciones a travs de este puerto.

Figura 29. Ejemplo de la secuencia bsica de comunicacin a travs del puerto serie:
configuracin, escritura, nmero de bytes y lectura.

VISA
LabVIEW ofrece un nuevo estndar para el control de instrumentos programables con el nombre
VISA. VISA puede controlar puertos GPIB, serie, Ethernet, PXI y VXI. VISA es un concepto
unificador de protocolos, que evita el uso de nodos diferentes segn el instrumento a controlar.
El uso de estos nodos es similar a los especficos para cada protocolo. La configuracin de los

29 de 41
instrumentos est controlada por el programa Measurement & Automation Explorer (MAX), de
forma que cada instrumento es un recurso al accedes seleccionndolo de una lista de
dispositivos disponibles, en vez de haciendo referencia a su direccin GPIB, o puerto COM, en el
caso de comunicaciones serie. LabVIEW ofrece un programa auxiliar para la comunicacin con
instrumentos, que puede servirte para testar comandos, y configurar el puerto.
OTROS DISPOSITIVOS I/O
Podrs encontrar til usar una tarjeta sincronizadora (timer/counter board) para coordinar tu
sistema de control de instrumentacin y/o adquisicin de datos.
En algunas aplicaciones en las que el tiempo juega un papel crucial, no podrs usar la
temporizacin suministrada por software, ya que sta est fuertemente influenciada por la
velocidad de procesado del programa, y puede variar entre ciclos. En estos casos es mejor que
uses hardware externo que no use los recursos temporales del PC.
Una solucin es usar una tarjeta sincronizadora unida a un bloque de conectores
(BNC, y de lneas de transmisin), para generar y/o contar pulsos TTL simples, o trenes de
pulsos TTL. Estos dispositivos pueden usarse tanto en aplicaciones sncronas, como asncronas.
Tendrs que configurar manualmente el tipo de bloque de conectores asociado a la tarjeta
sincronizadora. Esto podrs hacerlo a travs del programa MAX suministrado con LabVIEW
La base de conectores te permitir, segn modelo, seleccionar la base de tiempo,
lanzar manualmente pulsos simples, e incluso usar un encoder para simular movimiento.
Tambin segn modelo, tendrs disponible una serie de lneas digitales que podrs agrupar para
crear direcciones y/o palabras.

Figura 30. Bloque de conectores.
Los nodos especficos para el control de la tarjeta sincronizadora no estn disponibles
por defecto. Tendrs que usar el CD suministrado por el fabricante para habilitarlos. Una vez
instalados, los encontrars en la opcin NI Measurements Data Acquisition.

30 de 41

Figura 31. Ejemplo de un VI con nodos para controlar una tarjeta sincronizadora.

PROGRAMACIN AVANZADA
PROGRAMACIN PROCEDIMENTAL
La programacin procedimental se basa en el uso de rutinas o funciones que aglutinan
operaciones que sern llamadas desde un programa principal o programa gestor.
SUBVIs
Puedes acudir al uso de subVIs cuando tengas que realizar una operacin frecuentemente. Esto
te permitir reducir la complejidad del diagrama de bloques. El subVI se ejecutar como
cualquier otro nodo presente en el diagrama de bloques. Por defecto, el subVI correr
internamente sin mostrar su panel frontal. Puedes, no obstante, cambiar este comportamiento en
el men de propiedades que encontrars en VI Properties de la opcin File de la barra de men.
Por defecto, cualquier VI puede comportarse como subVI, sin ms que insertarlo en el
diagrama de bloques usando la opcin Select a VI de la paleta de funciones. Puedes crear
subVIs a partir del cdigo presente en un diagrama de bloques. Para ello, selecciona la porcin
del cdigo, y haz clic en Create SubVI que encontrars en la opcin Edit de la barra de men.
Conviene respetar ciertos criterios a la hora de crear un subVI:
- Procura aadir terminales para la gestin de errores.
- Elige patrones de conectores que tengan una distribucin adecuada para los terminales de
entrada y salida.
- Siempre que sea posible, ubica los terminales de entrada a la izquierda (controles) y los de
salida a la derecha (indicadores).
- Si vas a crear una familia de subVIs que comparten seales, procura disear los patrones de
conectores para que mantengan la alineacin de las conexiones.

31 de 41
-
LLAMADAS DINMICAS A UN VI
Puedes llamar y/o cargar un VI dinmicamente en vez de usar vnculos estticos como en el
caso anterior. Un vnculo esttico a un subVI hace que ste se cargue al mismo tiempo que el VI
principal. Por el contrario, una llamada dinmica hace que el subVI no se cargue hasta que el VI
principal no lo necesite. Si has diseado un VI con un diagrama de bloques muy complejo,
puedes ahorrar tiempo de carga y memoria usando este tipo de programacin. Adems, al cerrar
la llamada liberas la memoria empleada en su ejecucin.
Usa los nodos que encontrars en la opcin Application Control de la paleta de
funciones. Habitualmente, la secuencia que usars para llamar a un subVI de forma dinmica
sern:
Open VI Reference: usa como entrada bsica la direccin del subVI al que quieres llamar.

Figura 32. Sintaxis del nodo Open VI Reference.
Call by Reference Node: este nodo activa la ejecucin del VI. Una vez realizadas las conexiones
adecuadas, el nodo conoce el patrn de conectores del subVI, y lo muestra insertado en el icono.
Los terminales de este patrn de conectores estn habilitados para introducir o extraer datos en
o del panel frontal del subVI.

Figura 33. Sintaxis del nodo Call by Reference Node.
Close Reference: cierra la llamada y libera la memoria empleada.

Figura 34. Sintaxis del nodo Close Reference.

32 de 41

CONFIGURACIN PROGRAMTICA DE UN VI
Durante la ejecucin puedes configurar y conocer las propiedades de un VI, y de los objetos que
lo constituyen. Esto te permitir modificar el comportamiento de los diferentes elementos en
funcin de los resultados que se generen durante el funcionamiento. Usa el nodo Property Node
que encontrars en la opcin Application Control de la paleta de funciones. Por defecto, el nodo
no est vinculado a ningn objeto. Tendrs que usar su men desplegable para realizar tal
vnculo.

Figura 35. Sintaxis del nodo Property Node.
Puedes crear tambin este tipo de nodos haciendo uso del men desplegable del
objeto. Para ello, haz clic con el botn derecho del ratn sobre el control o indicador de inters, y
selecciona CreateProperty Node. De esta forma, el nodo estar vinculado al objeto desde su
creacin.

Figura 36. Ejemplo ilustrativo del empleo de un nodo de propiedad para enfatizar un indicador.

VARIABLES LOCALES Y GLOBALES
Las variables locales y globales son conceptos avanzados de LabVIEW. El uso de estas
variables dificulta el seguimiento de la programacin de un diagrama de bloques, as que salas
con cuidado. El uso incorrecto de estas variables puede dar lugar a un comportamiento
inesperado del VI. Su uso excesivo, adems, ralentizar la ejecucin del VI.
Puedes crear variables locales para los controles e indicadores usando bien la paleta de
funciones, o el men desplegable del objeto. Usa las variables locales para acceder a objetos del
panel frontal desde ms de una localizacin en un VI, y pasar datos entre estructuras del
diagrama de bloques que no puedas cablear. En ocasiones puede ser recomendable usar

33 de 41
indicadores, o registros de desplazamiento, como alternativa a las variables locales, si lo que
quieres es introducir recursividad en el VI.

Figura 37. Ejemplo del uso de variables locales.
Usa variables globales para acceder y compartir datos entre varios VIs que corren
simultneamente. Las variables globales se generan en el interior de un tipo especial de VI que
slo dispone del panel frontal. Aade controles e indicadores a este panel frontal para definir los
tipos de datos de las variables globales que quieres que contenga. En la prctica, este panel
frontal trabaja como un contenedor de variables a las que podrs acceder y actualizar desde
mltiples VIs. Puedes usar variables globales, por ejemplo, para definir las variables de
inicializacin de un sistema.

Figura 38. Ejemplo del uso de variables globales.

TRABAJAR CON PROGRAMAS EXTERNOS
LabVIEW proporciona acceso a otras aplicaciones basadas en Windows usando tecnologas
.NET y ActiveX. Puedes usar LabVIEW como cliente .NET para acceder a los objetos,
propiedades y mtodos asociados con servidores .NET. Conviene saber, no obstante, que
LabVIEW no es un servidor .NET. Puedes usar LabVIEW, adems, como cliente ActiveX para

34 de 41
acceder a objetos, propiedades, mtodos y eventos asociados con otras aplicaciones ActiveX.
LabVIEW tambin puede funcionar como servidor ActiveX, de forma que otras aplicaciones
puedan acceder a los objetos, propiedades y mtodos de LabVIEW.

Figura 39. Ejemplo de un VI que arranca la aplicacin Microsoft Excel.

GESTIN DE ERRORES
Cada error generado por LabVIEW tiene un cdigo numrico y un mensaje asociado. Por
defecto, cuando un VI est en ejecucin y se genera un error, LabVIEW reacciona suspendiendo
la ejecucin, enfatizando el subVI o nodo implicado en el error, y mostrando una ventana de
error. Para ignorar cualquier error que se genere, conecta el terminal de salida de error (Error
Out) del subVI o nodo de funcin, a la entrada de error (Error In) del nodo Clear Errors, que
encontrars en la paleta de funciones, en la opcin Time & Dialog.
Aunque confes en el buen funcionamiento de un VI que hayas creado, no puedes
predecir siempre todos los problemas que puede encontrar otro usuario. Sin un mecanismo para
comprobar los errores, slo podrs saber que un VI no trabaja adecuadamente, pero no el
motivo por el cual esto ocurre.
Incluye herramientas de gestin de errores en tus VIs, especialmente si ste va a
realizar operaciones de entrada/salida, como por ejemplo, gestin de archivos o comunicaciones
con instrumentos.
Gestionar los errores en los VIs puede ayudarte a identificar los siguientes problemas:
- comunicaciones inicializadas incorrectamente, o escritura de datos incorrectos en un
dispositivo.
- fallos en un dispositivo externo.
- cambios en la ubicacin o funcionalidad de un VI o una librera.
Como se ha comentado anteriormente, LabVIEW suspende la ejecucin de un VI
cuando se genera un error. Sin embargo, puedes cambiar este comportamiento. Por ejemplo, si

35 de 41
por alguna causa el tiempo de espera en la comunicacin de un instrumento sobrepasa un cierto
valor definido (Time Out), se generar un error que detendr el VI. Puedes evitar esta reaccin y
continuar la ejecucin del VI, o reintentar el establecimiento de la comunicacin tras un cierto
tiempo, aadiendo los nodos de funciones apropiados en el diagrama de bloques.
Cuando un VI est funcionando, LabVIEW comprueba los errores en cada nodo de
ejecucin. Si LabVIEW no encuentra ningn error el nodo se ejecuta normalmente. Si LabVIEW
detecta un error, el nodo se lo pasa al siguiente, que a su vez hace lo mismo con los siguientes.
LabVIEW informa del error al final del flujo de ejecucin.

Figura 40. Ilustracin del empleo de los nodos para la gestin de errores.

MULTITAREA
Por multitarea se entiende la capacidad que tiene un sistema operativo para alternar
rpidamente entre diferentes tareas, dando la apariencia de que stas se ejecutan de forma
simultnea. Por ejemplo, en Windows, una tarea generalmente es una aplicacin como Microsoft
Word, Excel, o LabVIEW. Cada aplicacin corre durante un periodo corto de tiempo antes de
pasar a la siguiente. A diferencia de Windows 3.1, Windows 2000/NT/9x/XP usa una tcnica
conocida como multitarea preventiva, donde el sistema operativo puede tomar el control del
procesador en cualquier instante, con independencia del estado de la aplicacin actual en
ejecucin.
Multihilo extiende la idea de la multitarea al interior de las aplicaciones, de forma que
operaciones especficas dentro de una aplicacin, pueden ser subdivididas en hilos individuales,
cada uno de ellos corriendo, tericamente, en paralelo. En este caso, el sistema operativo puede
dividir el tiempo de procesado no slo entre aplicaciones diferentes, sino tambin entre cada hilo
dentro de una aplicacin. Por ejemplo, en un programa multihilo en LabVIEW, la aplicacin
puede dividirse en tres hilos: uno para la interfaz de usuario, otro para la adquisicin de datos, y
finalmente otro para el control de un instrumento. Es importante notar que cada uno de ellos
puede tener una prioridad de ejecucin diferente y operar de forma independiente.
Finalmente, multiproceso se refiere al caso en que dos o ms procesadores corran en
un ordenador, cada uno controlando hilos separados. As, una aplicacin con un solo hilo puede

36 de 41
correr slo en un procesador cada vez, mientras una aplicacin multihilo puede tener dos hilos
separados ejecutndose simultneamente en dos procesadores. Por ejemplo, en LabVIEW, el
hilo de adquisicin de datos podra correr en un procesador, mientras el hilo de la interfaz de
usuario podra hacerlo en otro.
LabVIEW usa multitarea preventiva en aquellos sistemas operativos que ofrecen esta
caracterstica. LabVIEW usa tambin multitarea cooperativa cuando es necesario (por ejemplo,
en aplicaciones que corren extensamente en paralelo).

Figura 41. Ejemplo ilustrativo de las capacidades multitarea de LabVIEW.

DISTRIBUCIN DE APLICACIONES (EJECUTABLES)
Si quieres distribuir VIs para otros ordenadores o usuarios, puedes considerar el incluir el cdigo
fuente del diagrama de bloques para que los usuarios puedan editarlo, o puedes ocultarlo, o
incluso eliminarlo. En el caso que desees distribuir VIs incluyendo el cdigo fuente del diagrama
de bloques, puedes habilitar una proteccin bajo clave para acceder a l.
Si lo que quieres es distribuir VIs que puedan ser usados por otros desarrolladores en
otros lenguajes de programacin, tienes la opcin de construir aplicaciones ejecutables o
libreras compartidas. Los ejecutables y las libreras compartidas son apropiadas cuando no
esperes, o no desees, que los usuarios editen el VI.
Nota: Slo puedes crear ejecutables y libreras compartidas en la versin de LabVIEW Professional
Development System, o usando el programa Application Builder, que no est disponible en las
versiones LabVIEW Base Package ni LabVIEW Full Development System, pero que puede adquirirse
de forma independiente.
Si lo que deseas es distribuir VIs eliminando el cdigo fuente del diagrama de bloques,
para que as los usuarios no puedan editarlo, usa la opcin Save UIT Options al salvar el VI. De
esta forma, reducirs, adems, el tamao del archivo. Si usas esta opcin, los usuarios no
podrn correr el VI en otra plataforma, ni actualizarlo a versiones futuras de LabVIEW.
Nota: Si usas la opcin Save UIT Options para guardar un VI, hazlo en una carpeta diferente, o usa un
nombre diferente, de lo contrario perders el cdigo fuente.

37 de 41
Para usar el programa Application Builder para crear tus ejecutables, instaladores, o
libreras compartidas (dll), selecciona Build Application or Shared Library (DLL) en la opcin
Tools de la barra de men.
Las libreras compartidas son tiles cuando desees compartir la funcionalidad de tus
VIs con otros desarrolladores. Si usas libreras compartidas, permites que otros lenguajes de
programacin puedan acceder al cdigo desarrollado en LabVIEW.

Figura 42. Ejemplo de un VI corriendo como una aplicacin stand-alone (ejecutable).

LLAMADA A CDIGO EXTERNO
Estas herramientas de programacin son muy avanzadas, y quizs no sean necesarias en la
mayora de las aplicaciones prcticas de control de instrumentacin y adquisicin de datos.
Puedes hacer llamadas a la mayora de las libreras dinmicas de Windows (archivos dll), as
como a cdigo C, para ejecutarlo en el entorno de LabVIEW. Podrs comprobar que algunos de
los nodos disponibles en la paleta de funciones estn basados en llamadas a libreras dinmicas
(p.ej., nodos de control de entradas de usuario).

Figura 43. Algunos nodos incorporados en LabVIEW se apoyan en libreras dll, como es el caso
de los nodos de entradas de usuario.

38 de 41
TCNICAS DE DEPURACIN
Si un VI no est daado, pero genera datos inesperados, puedes usar las siguientes tcnicas
para identificar y corregir problemas:
- Usa los terminales Error In y Error Out de los nodos para detectar e identificar dnde y qu tipo
de error se ha producido.
- Para ver la lista de errores en un VI, selecciona Show Error List en la opcin Windows de la
barra de men, o haz clic en el botn de ejecucin de la barra de herramientas. Si el VI tiene
errores, este botn presentar una flecha rota de color gris, en vez de una flecha entera de
color blanco.
- Si haces triple clic sobre un cable con el cursor operativo, se enfatizar su camino y podrs
asegurarte de que el cable conecta los terminales apropiados.
- Usa la ayuda de contexto para comprobar los valores por defecto de cada nodo de funcin y
cada subVI en el diagrama de bloques.
- Usa la herramienta Search, que encontrars tanto en la paleta de controles como la paleta de
funciones, para buscar subVIs, texto, y otros objetos en un VI.
- Usa Show VI Hierarchy, que encontrars en la opcin Browse de la barra de men, para
encontrar subVIs desconectados. Al contrario que los nodos de funciones, los subVIs no
siempre generan errores, a menos que el subVI requiera al menos una entrada. Si
errneamente dispones un subVI en el diagrama de bloques, ste se ejecutar cuando lo haga
el diagrama de bloques. Consecuentemente, el VI puede realizar tener un comportamiento
extrao.
- Usa el botn con la bombilla de la barra de herramientas para seguir el flujo de ejecucin del
diagrama de bloques. Esta opcin es muy til para detectar fallos en la secuencia de ejecucin,
y detectar nodos generadores de fallos. Si abres un subVI durante la ejecucin, y esta opcin
est activada, tambin podrs seguir el flujo en el diagrama de bloques del subVI.
- Usa los botones de ejecucin paso-a-paso para ver cada accin del VI en el diagrama de
bloques.
- Usa el cursor de muestreo de la paleta de herramientas para tomar valores intermedios en el
diagrama de bloques, y para comprobar los datos de error de los nodos de funcin y de los
subVIs, principalmente si en el VI se realizan operaciones de entrada/salida.
- Usa el cursor de parada para detener temporalmente la ejecucin, y as pasar al modo paso-a-
paso, o introducir puntos de muestreo.
- Suspende la ejecucin de un subVI para editar los valores de los controles e indicadores, para
controlar el nmero de veces que se ejecuta, o para regresar al comienzo de la ejecucin del
subVI.
- Si el diseo del VI te lo permite, extrae mdulos de cdigo del diagrama de bloques para
ejecutarlos individualmente y comprobar su correcto funcionamiento.

39 de 41
- Comprueba que los datos que genera un nodo de funcin o un subVI no son indefinidos. Esto
pasa a menudo con los valores numricos. Si, por ejemplo, un nmero es dividido por 0, el
resultado ser Inf (infinito), mientras que el nodo o subVI siguientes esperan un valor numrico.
- Si la velocidad de ejecucin es menor que la esperada, comprueba que no est activado el
botn de la bombilla en alguno de los subVIs del diagrama de bloques. Comprueba adems si
has cerrado las ventanas de los subVIs implicados en el VI, pues su presencia afecta a la
ejecucin del VI.
- Comprueba la representacin de los controles e indicadores para ver si hay desbordamiento.
Esto puede ocurrir al convertir nmeros en coma flotante en enteros, o enteros en pequeos
enteros. Por ejemplo, puedes tener desbordamiento si conectas un entero de 16 bits a un nodo
de funcin que slo acepta enteros de 8 bits.
- Verifica si algn bucle For ejecuta 0 iteraciones y produce arrays vacos.
- Comprueba que has inicializado los registros de desplazamiento, a menos que
intencionadamente quieras usar el valor generado en una ejecucin del bucle, en la siguiente
ejecucin.
- Comprueba el orden de los elementos contenidos en un cluster. LabVIEW detecta errores entre
tipos de datos, pero si ste es el mismo para varios elementos del cluster, LabVIEW
interpretar que no hay error en el cluster.
- Comprueba el orden de ejecucin de los nodos.
- Verifica que el VI no contiene subVIs ocultos. Puede que inadvertidamente hayas ocultado un
subVI tras otro nodo, o que lo hayas hecho al reducir el tamao de una estructura.

Figura 44. Activando el botn de la bombilla, puedes seguir la ejecucin de un VI en el diagrama
de bloques.


40 de 41
CONTROL REMOTO
Usa el servidor Web de LabVIEW para crear documentos HTML, publicar imgenes de paneles
frontales, e incluir VIs en una pgina Web. Puedes controlar el acceso de los navegadores a tus
VIs, decidiendo cules son accesibles y cules no.
Accede a las opciones del servidor Web de LabVIEW a travs de la opcin Tools de la
barra de men, seleccionando Options. All podrs:
- definir el directorio raz,
- habilitar el servidor Web,
- controlar el acceso de los navegadores a los paneles frontales de tus VIs,
- configurar qu paneles frontales de tus VIs estarn visibles en la Web.
Antes de publicar VIs en la Web, debes habilitar el servidor Web en la pgina Web
Server: Configuration, bien a travs de ToolsOptions, o a travs de ToolsWeb Publishing
ToolOptions. Para que aparezca publicado, el VI debe estar abierto. Para crear un documento
HTML que muestre el panel frontal de un VI, configura y completa las opciones que encontrars
en ToolsWeb Publishing Tool. Podrs:
- crear un documento HTML,
- incluir en un documento HTML imgenes estticas o animadas del panel frontal de un VI,
- incluir a VI que los clientes puedan ver y controlar remotamente,
- aadir texto de cabecera y al pie de los paneles frontales publicados,
- aadir un borde alrededor de un panel frontal,
- previsualizar el documento HTML,
- salvar el documento,
- habilitar el servidor Web para publicar documentos HTML e imgenes de paneles frontales en
la Web.

41 de 41

Figura 45. Acceso remoto al panel frontal de un VI usando un navegador.
Puedes tambin ver y CONTROLAR el panel frontal de un VI remotamente, bien desde
LabVIEW, o desde un navegador Web. Cuando un cliente abre el panel frontal remotamente, el
servidor Web enva el panel frontal al cliente, pero el diagrama de bloques y los subVIs incluidos
en l, permanecen en el servidor. El cliente puede interactuar con el panel frontal de forma
similar a como lo hara si el VI estuviera alojado en su ordenador, pero el diagrama de bloques y
los subVIs incluidos en l, se ejecutan en el servidor. Usa esta herramienta para publicar paneles
frontales o para controlar de forma rpida y fcil, aplicaciones remotas de forma segura.
Si quieres ver remotamente el panel frontal de un VI usando LabVIEW como cliente,
selecciona OperateConnect to Remote Panel, y configura la ventana de dilogo para especificar
la direccin del servidor de Internet y el VI que deseas visualizar. Por defecto, el panel frontal se
muestra en modo pasivo. Puedes pasar a modo activo marcando la opcin Request Control, o
haciendo clic con el botn derecho en cualquier punto del panel frontal, y selecciona Request
Control en el men desplegable.
Un mensaje te indicar si eres el nico cliente que accede al panel frontal de un VI. Si
otro cliente est controlando el panel frontal en el momento de tu conexin, el servidor quedar
en modo de espera, hasta sobrepasar un tiempo lmite, o hasta que t lo decidas.

Figura 46. Acceso remoto al panel frontal de un VI usando Connect To Remote Panel.