You are on page 1of 18

LabVIEW2010

Ing. Erik Ral Coveas Len


erikrcl@hotmail.com

PROGRAMANDO CON LabVIEW


MANUAL RPIDO DE LabVIEW 2010

Software de Programacin Grfica LabVIEW 2010

LabVIEW es un novedoso lenguaje de programacin grfica para aplicaciones que involucren adquisicin,
control, anlisis y presentacin de datos. LabVIEW es un entorno de programacin destinado al desarrollo de
aplicaciones, similar a los sistemas de desarrollo comerciales que utilizan el lenguaje C/C ++ o BASIC. Sin embargo,
LabVIEW se diferencia de dichos programas en un importante aspecto: los citados lenguajes de programacin se
basan en lneas de texto para crear el cdigo fuente del programa, mientras que LabVIEW emplea la programacin
grfica o lenguaje G para crear programas basados en diagrama de bloques.
Adems de las funciones bsicas de todo lenguaje de programacin, LabVIEW posee extensas libreras de
funciones y subrutinas; entre ellas, LabVIEW incluye libreras especficas para la comunicacin remota con equipos
generadores de funciones, osciloscopios, etc.
Las ventajas que proporciona el empleo de LabVIEW se resumen en las siguientes:

Se reduce el tiempo de desarrollo de las aplicaciones al menos 4 a 10 veces, ya que es muy intuitivo y fcil de
aprender.
Dota de gran flexibilidad al sistema, permitiendo cambios y actualizaciones tanto del hardware como del
software.
Da la posibilidad a los usuarios de crear soluciones completas y complejas.
Con un nico sistema de desarrollo se integran las funciones de adquisicin, anlisis y presentacin de datos.
El sistema est dotado de un compilador grfico para lograr la mxima velocidad de ejecucin posible.
Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
Para el empleo de LabVIEW no se requiere gran experiencia en programacin, ya que se emplean iconos,
trminos e ideas familiares a cientficos e ingenieros, y se apoya sobre smbolos grficos en lugar de lenguaje escrito
para construir las aplicaciones. Por ello resulta mucho ms intuitivo que el resto de los lenguajes de programacin
convencionales.
LabVIEW tambin proporciona potentes herramientas que facilitan la depuracin de los programas.
CMO TRABAJA LABVIEW?
Los programas desarrollados mediante LabVIEW se denominan Instrumentos Virtuales (VIs), porque su
apariencia y funcionamiento imitan los de un instrumento real. Los VIs tienen una parte interactiva con el usuario y
otra parte de cdigo fuente, y aceptan parmetros procedentes de otros VIs. Todos los VIs tienen un panel frontal y
diagrama de bloques. Las paletas contienen las opciones que se emplean para crear y modificarlos VIs. A
continuacin se proceder a realizar una descripcin de estos conceptos.
1. PANEL FRONTAL
Se trata de la interfaz grfica del VI con el usuario. Esta interfaz recoge las entradas procedentes del
usuario y representa las salidas proporcionadas por el programa. Un panel frontal est formado por una serie
de botones, pulsadores, potencimetros grficos, etc. Cada uno de ellos puede estar definido como un control
o como un indicador. Los primeros sirven para introducir parmetros al VI, mientras que los indicadores se
emplean para mostrar los resultados producidos, ya sean datos adquiridos o resultados de alguna operacin.

Panel Frontal del Programa

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
2. DIAGRAMA DE BLOQUES
El Diagrama de Bloques constituye el cdigo fuente del VI. En el Diagrama de Bloques es donde se
realiza la implementacin del programa del VI para controlar o realizar cualquier procesado de las entradas y
salidas que se crearon en el Panel Frontal.
El Diagrama de Bloques incluye funciones y estructuras integradas en las libreras que incorporan
LabVIEW. En el lenguaje G las funciones y las estructuras son nodos elementales. Son anlogas a los
operadores o libreras de funciones de los lenguajes convencionales.
Los controles e indicadores que se colocaron previamente en el panel frontal, se materializan en el
diagrama de bloques mediante los terminales. A continuacin se presenta un ejemplo de lo recin citado.

Diagrama de Bloques del Programa

Funcin.
Estructura.
Terminales (Controles e Indicadores).

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
El diagrama de bloques se construye conectando los distintos objetos entre s, como si de un circuito se tratar.
Los cable unen terminales de entrada y salida con los objetos correspondientes, y por ello fluyen los datos.
LabVIEW posee una extensa librera de funciones, entre ellas, aritmticas, comparaciones, conversiones,
funciones de entrada / salida, de anlisis, etc.
Las estructuras, similares a las declaraciones causales y a los bucles en lenguajes convencionales, ejecutan el
cdigo que contienen de forma condicional o repetitiva (bucle for, while, case, ).
Los cables son las trayectorias que siguen los datos desde su origen hasta su destino, ya sea una funcin, una
estructura, un terminal, etc. Cada cable tiene un color o un estilo diferente, lo que diferencia unos tipos de datos de
otros.

3.

PALETAS
Las paletas de LabVIEW proporcionan las herramientas que se requieren para crear y modificar tanto
el panel frontal como el diagrama de bloques. Existen las siguientes paletas:

Paleta de herramientas (Tools Palette).


Paleta de controles (Controls Palette).
Paleta de funciones (Functions Palette).

3.1 Paleta de Herramientas (Tools Palette)

Paleta de Herramientas

Se emplea tanto en el panel frontal como en el diagrama de bloques. Contiene las herramientas
necesarias para editar y depurar los objetos tanto del panel frontal como del diagrama de bloques.

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
Las opciones que presenta esta paleta son las siguientes:

Operate Value: Cambia el valor de los controles.

Position/size/Select: Desplaza, cambia de tamao y selecciona los objetos.

Edit Text: Edita texto y crea etiquetas.

Connect Wire: Une los objetos en el diagrama de bloques.

Object Shortcut Menu: Abre el men desplegable de un objeto.

Scroll Windows: Desplaza la pantalla sin necesidad de emplear las barras de desplazamiento.

Set/Clear Breakpoint: Fija puntos de interrupcin de la ejecucin del programa en VIs,


funciones y estructuras.

Probe Data: Crea puntos de prueba en los cables, en los que se puede visualizar el valor del dato
que fluya por dicho cable en cada instante.

Set Color: Establece el color de fondo y el de los objetos.

3.2 Paleta de Controles (Controls Palette)


Se utiliza nicamente en el panel frontal. Contiene todos los controles e indicadores que se
emplearn para crear la interfaz del VI con el usuario.

Ventana de la Paleta de Controles Express del Panel Frontal

Ventana de la Paleta de Controles Avanzada del


Panel Frontal

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
El men Controls de la ventana correspondiente al panel frontal contiene las siguientes opciones:

Numeric: Para la introduccin y visualizacin de cantidades numricas.

Boolean: Para la entrada y visualizacin de valores booleanos.

String & Path: Para la entrada y visualizacin de texto.

Array & Cluster: Para agrupar los elementos.

List & Table: Para visualizar y/o seleccionar una lista de opciones.

Graph: Para representar grficamente los datos.

Ring & Enum: Para manejar datos de formato especial.

Containers: Para disear ventanas de dilogo parecidas a la de Windows.

I/O: Para mostrar los drivers de manejo de datos de entrada y salida.

Dialog Controls: Para insertar controles de dilogo al panel frontal.

Classic Controls: Para mostrar los controles clsicos, utilizados en las versiones anteriores
de LabVIEW.

Refnum: Para gestin de archivos.

Decorations: Para introducir decoraciones en el panel frontal. No visualizan datos.

Express: Muestra la ventana de Paleta de Controles Express.

Select a Control: Para seleccionar cualquier control.

User Controls: Para elegir un control creado por el propio usuario.

Al seleccionar objetos desde el men controls estos aparecen sobre el panel frontal, pueden
colocarse donde convenga, y adems tienen su propio men desplegable que permite la configuracin
de algunos parmetros especficos de cada tipo de control.
Universidad Alas Peruanas Filial Cajamarca
http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
3.3 Paleta de Funciones (Functions Palette)
Se emplea en el diseo del diagrama de bloques. La paleta de funciones contiene todos los objetos
que se emplean en la implementacin del programa del VI, ya sean funciones aritmticas, de
entrada/salida de seales, entrada/salida de datos a fichero, adquisicin de seales, temporizacin de la
ejecucin del programa, etc.

Ventana de da Paleta de Funciones Express del Diagrama de


Bloques

Ventana de la Paleta de Controles Avanzada del Diagrama de


Bloques

Para seleccionar una funcin o estructura concreta, se debe desplegar el men Functions y elegir
entre las opciones que aparecen. A continuacin se enumeran todas ellas, junto con una pequea
definicin.

Structures: Muestra las estructuras de control del programa, junto con las variables locales y
globales.

Numeric: Muestra funciones aritmticas y constantes numricas.

Boolean: Muestra funciones y constantes lgicas.

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com

String: Muestra funciones para manipular cadenas de caracteres, as como constantes de


caracteres.

Array: Contiene funciones tiles para procesar datos en forma de vectores, as como constantes
de vectores.

Cluster: Contiene funciones tiles para procesar datos procedentes de grficas y destinados a
ser representados en ellas, as como las correspondientes constantes.

Comparison: Muestra funciones que sirven para comparar nmeros, valores booleanos o
cadena de caracteres.

Time & Dialog: Contiene funciones para trabajar con cuadros de dilogo, introducir contadores
y retardos, etc.

File I/O: Muestra funciones para operar con ficheros.

NI Measurements: Muestra drivers para el control de tarjetas de adquisicin de datos.

Waveform: Maneja todo tipo de formas de ondas, las procesa, transforma y muestra en
pantalla.

Analyze: Contiene un submen en el que se puede elegir entre una amplia gama de funciones
matemticas de anlisis.

Instrument I/O: Muestra un submen de VIs, que facilita la comunicacin con instrumentos
perifricos que siguen la norma ANSI/IEEE 488.2-1987, y el control del puerto serie.

Application Control: Contiene varias funciones que regulan el funcionamiento de la propia


aplicacin en ejecucin.

Graphics y Sound: Contiene a su vez un submen donde puede elegirse entre distintas libreras
referentes para generar grficas y sonidos mediante el computador.

Communication: Muestra diversas funciones que sirven para comunicar varios ordenadores
entre s, o para permitir la comunicacin entre distintos programas.

Report Generation: Genera todo tipo de reportes, as como tambin genera impresiones de
estos reportes.

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com

Advanced: Contiene diversos submens que permiten el control de la ayuda, de los VIs,
manipulacin de datos, procesado de eventos, control de la memoria, empleo de programas ejecutables
o incluidos en libreras DLL, etc.

Decorations: Para introducir decoraciones en el diagrama de bloques. No visualizan datos.

Express: Muestra la ventana de paleta de funciones express.

Select a VI: Permite seleccionar cualquier VI para emplearlo como subVI.

User Libraries: Muestra las libreras definidas por el usuario. En este caso, la librera mostrada
contiene los drivers de la tarjeta de adquisicin de datos de Advantech.

4. PROGRAMACIN EN LABVIEW
Con el entorno grfico de programacin de LabVIEW se comienza a programar a partir del panel
frontal.
En primer lugar se definirn y seleccionarn de la paleta de controles todos los controles (entradas que
dar el usuario) e indicadores (salidas que presentar en pantalla el VI) que se emplearn para introducir los
datos por parte del usuario y presentar en pantalla los resultados.
Una vez colocados en la ventana correspondiente del panel frontal todos los objetos necesarios, debe
pasarse a la ventana Diagram (Men Windows Show Diagram), que es donde se realiza la programacin
propiamente dicha (diagrama de bloques). Al abrir esta ventana, en ella se encuentran los terminales
correspondientes a los objetos situados en el panel frontal, dispuestos automticamente por LabVIEW.
Para facilitar la tarea de conexin de todos los terminales, en el men Help puede elegirse la opcin
Show Help, con lo que al colocar el cursor del ratn sobre un elemento aparece una ventana con
informacin relativa a ste (parmetros de entrada y salida). Adems, si se tiene seleccionado el cursor de
cableado, al situar ste sobre un elemento se muestran los terminales de forma intermitente.

5. EJECUCIN DE UN VI
Una vez que se ha concluido la programacin del VI se debe proceder a su ejecucin. Para ello la
ventana activa debe ser el panel frontal (si se est en la ventana del diagrama de bloques, se debe seleccionar
la opcin Show Panel del men Windows).

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
Una vez situados en el panel frontal, se pulsar el botn Run, situado en la barra de herramientas.

Barra de Herramientas del Panel Frontal mostrando el botn Run

El programa comenzar a ejecutarse. Mientras dura la ejecucin del mismo, la apariencia del botn
Run es la que se muestra a continuacin:

Barra de Herramientas del Panel Frontal mostrando el botn Run ejecutado

De este modo el programa se ejecutar una sola vez. Si se desea una ejecucin continua, se pulsar el
botn situado a la derecha del de Run (Run Continuously). Si durante el funcionamiento continuo del
programa se vuelve a pulsar el citado botn, se finalizar la ltima ejecucin del mismo, tras lo cual el
programa se parar.

Barra de Herramientas del Panel Frontal mostrando el botn Run Continuously

Para finalizar la ejecucin de un programa se puede operar de dos formas. La primera, y la ms


aconsejable, es emplear un botn en el Panel Frontal del VI, cuya pulsacin produzca la interrupcin del bucle
de ejecucin de la aplicacin. La segunda forma de detener la ejecucin del VI es pulsando el botn de pausa
o el de stop. La diferencia entre ambos es que si se pulsa stop, la ejecucin del programa finaliza
inmediatamente, mientras que si se pulsa pausa, se produce una detencin en el funcionamiento del programa,
retomndose su ejecucin una vez se vuelva a pulsar el mismo botn.

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

10

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com

Barra de Herramientas del Panel Frontal mostrando los botones Abort Execution y Pause

6. ESTRUCTURAS
En la paleta de funciones la primera opcin es la de las estructuras. stas controlan el flujo del
programa, bien se mediante la secuenciacin de acciones, ejecucin de bucles, etc.

Ventana Structures de la Paleta de Funciones

Las estructuras se comportan como cualquier otro nodo en el diagrama de bloques, ejecutando
automticamente lo que est programando en su interior una vez tiene disponibles los datos de entrada, y una
vez ejecutadas las instrucciones requeridas, suministran los correspondientes valores a los cables unidos a sus
salidas. Sin embargo, cada estructura ejecuta su subdiagrama de acuerdo con las reglas especficas que rigen
su comportamiento, y que se especifican a continuacin.
Un subdiagrama es una coleccin de nodos, cables y terminales situados en el interior del rectngulo
que constituye la estructura. El Foor Loop y el While Loop nicamente tienen un subdiagrama. El Case
Structure y el Sequence Structure, sin embargo, pueden tener mltiples subdiagramas, superpuestos como si
se tratar de cartas en una baraja, por lo que en el diagrama de bloques nicamente ser posible visualizar al
tiempo uno de ellos. Los subdiagramas se construyen del mismo modo que el resto del programa.
Las siguientes estructuras se hayan disponibles en el lenguaje G.

6.1 Stacket Sequence Structures


Este tipo de estructuras presenta varios subdiagramas, superpuestos como en una baraja de
cartas, de modo que nicamente se puede visualizar una en pantalla. Tambin posee un identificador del
subdiagrama mostrado en su parte superior, con posibilidad de avanzar o retroceder a otros subdiagramas
gracias a las flechas situadas a ambos lados del mismo.
Universidad Alas Peruanas Filial Cajamarca
11
http://www.uap.edu.pe

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com

Mdulo que representa a la estructura Stacket Sequence

Esta estructura secuencia la ejecucin del programa. Primero ejecutar el subdiagrama de la hoja
(frame) N0, despus el de la N1, y as sucesivamente.
Para pasar datos de una hoja a otra se pulsar el botn derecho del ratn sobre el borde de la
estructura, seleccionando la opcin Add Sequence Local.

Secuencia local en la estructura Stacket Sequence

6.2 Flat Sequence Structure


Este tipo de estructuras presenta varios subdiagramas, uno tras otro con un orden de izquierda a
derecha, de modo que se pueden visualizar todas las secuencias en pantalla.

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

12

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com

Mdulo que representa a la estructura Flat Sequence

Esta estructura secuencia la ejecucin del programa. Primero ejecutar el subdiagrama de la izquierda
(frame N0), despus el de la derecha (frame N1), y as sucesivamente.

Secuencia local en la estructura Flat Sequence

6.3 Case Structure

Al igual que otras estructuras posee varios subdiagramas, que se superponen como si de una
baraja de cartas se tratar. En la parte superior del diagrama aparece el identificador del que se est
representando en pantalla. A ambos lados de este identificador aparecen unas flechas que permiten pasar de un
subdiagrama a otro.
En este caso el identificador es un valor que selecciona el subdiagrama que se debe ejecutar en cada
momento.

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

13

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com

Mdulo que representa a la estructura Case

La estructura Case tiene al menos dos subdiagramas (True y False). nicamente se ejecutar el
contenido de unos de ellos, dependiendo del valor de lo que se conecte al selector.

6.4 For Loop


Es el equivalente al bucle For en los lenguajes de programacin convencionales. Ejecuta el
cdigo dispuesto en su interior un nmero determinado de veces.

Mdulo que representa la estructura For Loop

Ejecutar el bucle For es equivalente al siguiente fragmento de cdigo:


=0

Ejecutar subdiagrama del interior del Bucle


Para pasar valores de una iteracin a otra se emplean los llamados shift registers. Para crear uno, se
pulsar el botn derecho del ratn mientras ste se halla situado sobre el borde del bucle, seleccionando la
opcin Add Shift Registers. El shift registers consta de dos terminales, situados en los bordes laterales del
bloque. El terminal izquierdo almacena el valor obtenido en la iteracin anterior. El terminal derecho guardar

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

14

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
el dato correspondiente a la iteracin en ejecucin. Dicho dato aparecer, por tanto, en el terminal izquierdo
durante la iteracin posterior.

Estructura for Loop mostrando Shift Registers

Se puede configurar un Shift Registers para memorizar valores de varias iteraciones previas. Para ello,
con el ratn situado sobre el terminal izquierdo del shift registers se pulsar el botn derecho, seleccionando a
continuacin la opcin Add Element.

Estructura for Loop mostrando shift registers con capacidad para almacenar varios valores

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

15

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
6.5 While Loop

Es el equivalente al bucle while empleado en los lenguajes convencionales de programacin.


Su funcionamiento es similar al bucle for.

Mdulo que representa a la estructura While Loop

El bucle while es equivalente al cdigo siguiente:

El programa comprueba el valor de lo que se halle conectado al terminal condicional al finalizar el


bucle. Por tanto, el bucle siempre se ejecuta al menos una vez.
Con esta estructura tambin se pueden emplear los shift registers para tener disponibles los datos
obtenidos en iteraciones anteriores (es decir, para memorizar valores obtenidos). Su empleo es anlogo al de
los bucles for.

6.6 Formula Node


La estructura denominada formula Node se emplea para introducir en el diagrama de bloques frmulas
de un modo directo. Resulta de gran utilidad cuando la ecuacin tiene muchas variables o es relativamente
compleja. Por ejemplo, se desea implementar la ecuacin:
=

+1

Empleando bloques pertenecientes al lenguaje G quedara:

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

16

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com

Diagrama de bloques de la ecuacin

Si se utiliza la formula Node, se obtiene:

Implementacin de la ecuacin

+1

+ 1 utilizando la Formula Node

Para definir una frmula mediante esta estructura, se actuar del siguiente modo:

En primer lugar, se deben definir las variables de entrada y las de salida. Para ello, se pulsa con el
botn derecho del ratn sobre el borde de la formula node. A continuacin se seleccionar Add
input o Add output, segn se trate de una entrada o una salida, respectivamente. Aparecer un
rectngulo, en el que se debe escribir el nombre de la variable (se distingue entre maysculas y
minsculas). Todas las variables que se empleen deben estar declaradas como entradas o salidas.
Las que se empleen como variables intermedias se declararn como salidas, aunque
posteriormente no se unan a ningn bloque posterior.
Una vez definidas las variables a emplear, se escribirn la o las frmulas en el interior del
recuadro (para ello se emplea la labeling tool). Cada frmula debe finalizar con un ;.
Los operadores y funciones que se pueden emplear se explican en la ayuda del LabVIEW, y son
los que se muestran a continuacin:

Operadores:

Asignacin
Condicional
OR lgico
AND lgico
Relacionales
Aritmticos

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

=
?:
||
&&
==

!=

>

<

>=

<=

+-*/^

17

LabVIEW2010
Ing. Erik Ral Coveas Len
erikrcl@hotmail.com
Funciones:

La sintaxis de una expresin incondicional es la siguiente:


<

> <

> <

>

Si el valor lgico de la expresin condicional es true se ejecutar texpresin. Si por el contrario, fuese
false, lo que se aplicar ser fexpresin.

Universidad Alas Peruanas Filial Cajamarca


http://www.uap.edu.pe

18

You might also like