Guía Rápida de LabView
Guía Rápida de LabView
Guía Rápida de LabView
Autores:
Jordi Zaragoza
Llus Ferrer
ndice:
1 INTRODUCCIN ................................................................................................ 4
2 ESTRUCTURA DE LABVIEW.......................................................................... 5
3 ENTRONO DE TRABAJO ................................................................................. 5
3.1
CREACIN DE UN VI.................................................................................... 5
3.2
PANEL DE CONTROL (FRONT PANEL)........................................................... 6
3.2.1 Paleta de controles (Controls palette) ................................................... 7
3.3
DIAGRAMA DE BLOQUES.............................................................................. 8
3.3.1 Paleta de funciones (functions palette) .................................................. 9
3.3.2 Paleta de herramientas (Tools palette) ................................................ 11
4 PROGRAMACIN EN LABVIEW................................................................. 12
5 EJECUCIN DE UN VI.................................................................................... 12
6 ESTRUCTURAS ................................................................................................ 14
6.1
6.2
6.3
6.4
6.5
CASE STRUCTURE...................................................................................... 15
SEQUENCE STRUCTURE ............................................................................. 15
FOR LOOP .................................................................................................. 16
WHILE LOOP ............................................................................................. 17
FORMULA NODE ........................................................................................ 18
1 INTRODUCCIN
LabVIEW constituye un revolucionario sistema de programacin grfica para
aplicaciones que involucren adquisicin, control, anlisis y presentacin de datos. Las
ventajas que proporciona el empleo de LabVIEW se resumen en los siguientes puntos:
1. Se reduce el tiempo de desarrollo de las aplicaciones, como mnimo de 4 a 10 veces,
ya que es muy intuitivo y fcil de aprender.
2. Dota de gran flexibilidad al sistema, permitiendo cambios y actualizaciones tanto
del hardware como del software.
3. Da la posibilidad a los usuarios de crear soluciones completas y complejas.
4. Con un nico sistema de desarrollo se integran las funciones de adquisicin, anlisis
y presentacin de datos.
5. El sistema est dotado de un compilador grfico para lograr la mxima velocidad de
ejecucin posible.
6. Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.
LabVIEW es un entorno de programacin destinado al desarrollo de aplicaciones,
similar a los sistemas de desarrollo comerciales que utilizan el lenguaje C o BASIC. Sin
embargo, LabVIEW se diferencia de dichos programas en el importante aspecto que 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 diagramas de bloques.
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 lenguajes de programacin convencionales.
LabVIEW posee extensas libreras de funciones y subrutinas. Adems de las
funciones bsicas de todo lenguaje de programacin, LabVIEW incluye libreras
especficas para la adquisicin de datos, control de instrumentacin VXI, GPIB,
comunicacin serie, anlisis y guardado de datos.
LabVIEW tambin proporciona potentes herramientas que facilitan la depuracin de
los programas.
2 ESTRUCTURA DE LABVIEW
Los programas desarrollados mediante LabVIEW se denominan Instrumentos
Virtuales (VIs), porque su apariencia y funcionamiento imitan los de un instrumento real.
Sin embargo son anlogos a las funciones creadas con los lenguajes de programacin
convencionales. 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 un diagrama de bloques. Las paletas
contienen las opciones que se emplean para crear y modificar los VIs. A continuacin se
proceder a realizar una somera descripcin de estos conceptos.
3 ENTRONO DE TRABAJO
Esta seccin describe los requerimientos del software para esta gua rpida, como se
inicia el software en la versin PC, como se accede a las diferentes herramientas, ayudas y
como se inicializa un nuevo diseo.
En esta seccin se pretende que los usuarios sean capaces de:
1. Utilizar LabVIEW para crear aplicaciones.
2. Entender paneles frontales, diagramas de bloques, conos y paneles de
conexin.
3. Incorporacin de funciones de LabVIEW.
4. Creacin y guardado de programas en LabVIEW para su utilizacin como
subrutinas.
Para abordar los diferentes objetivos de esta gua y para una mejor comprensin por
parte del estudiante, se debern ir completando los diferentes ejercicios de ejemplo.
3.1 Creacin de un VI
Para la creacin de un nuevo VI seleccionar:
New Blank VI
Donde previamente ya se ha ejecutado la aplicacin principal de National
Instruments LabVIEW 7.
Nos deben aparecer dos ventanas (Fig. 3.1) nuevas, la de Front Panel y la de Block
Diagram.
En la ventana Front Panel se definen las variables de entrada/salida del programa,
en forma de controles, displays etc.
En la ventana Block Diagram se escribe el cdigo fuente del programa.
J. Zaragoza y Ll. Ferrer
a
b
10
11
12
13
14
15
10 11 12 13 14 15 16 17 18 19
20 21
1. Structures.- Muestra las estructuras de control del programa, junto con las
variables locales y globales.
2. Numeric.- Muestra funciones aritmticas y constantes numricas.
3. Boolean.- Muestra funciones y constantes lgicas.
4. String.- Muestra funciones para manipular cadenas de caracteres, as como
constantes de caracteres.
5. Array.- Contiene funciones tiles para procesar datos en forma de vectores.
6. Cluster.- Un cluster es una agrupacin de datos que incluso pueden ser de
diferente tipo. Seria el equivalente en lenguaje C a un estructura.
7. Comparison.- Muestra funciones que sirven para comparar nmeros, valores
booleanos o cadenas de caracteres.
8. Time & Dialog.- Contiene funciones para trabajar con cuadros de dilogo,
introducir contadores y retardos, etc.
9. File I/O.- Muestra funciones para operar con ficheros.
10. NI Mesuraments.- Propios.
11. Wareform.- Contiene generadores de seales.
12. Analyze.- Contiene un submen en el que se puede elegir entre una amplia
gama de funciones matemticas de anlisis.
13. 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.
14. Aplication Control.- Contiene varias funciones que regulan el
funcionamiento de la propia aplicacin en ejecucin.
15. Graphics & Sound.- Contiene visualizadores grficos y accesorios de
audio.
16. Communication.- Muestra diversas funciones que sirven para comunicar
varios ordenadores entre s, o para permitir la comunicacin entre distintos
programas.
17. Report Generation.- Genera especificaciones.
18. 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.
19. Select a VI.- Permite seleccionar cualquier VI para emplearlo como subVI.
20. Decoration.- Contiene elementos indicadores.
21. User Libraries.- Muestra as libreras definidas por el usuario. En este caso,
la librera mostrada contiene los drivers de la tarjeta de adquisicin de datos
de Advanced.
10
1
4
7
10
5
6
9
8
11
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), emplearn para introducir los datos por parte del usuario y presentar en pantalla los
resultados.
Una vez colocados en la ventana correspondiente al 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.
Se deben ir situando las funciones, estructuras, etc. que se requieran para el
desarrollo del programa, las cuales se unen a los terminales mediante cables. 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 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 Window Show Panel del men Window.
Un a vez situados en el panel frontal, se pulsar el botn de Run, situado en la barra
de herramientas.
Run
El programa comenzar a ejecutarse. Mientras dura la ejecucin del mismo, la
apariencia del botn de Run es la que se muestra a continuacin:
12
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 (Continuous Run). 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.
Ejecucin continua
Para finalizar la ejecucin de un programa se puede realizar 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.
Stop
Pausa
13
6 ESTRUCTURAS
En la paleta de funciones la primera opcin es la de las estructuras. stas controlan
el flujo del programa, bien sea mediante la secuenciacin de acciones, ejecucin de bucles,
etc.
14
6.1
Case Structure
Indicador del
subprograma
Selector
La estructura Case tiene al menos dos subprograma (True and False). nicamente
se ejecutar el contenido de uno de ellos, dependiendo del valor de lo que se conecte al
selector.
Identificador de
subdiagrama
15
Nmero de iteraciones
completadas
Figura 6.5 For Loop
16
Antes de que
comience el bucle
Valor
inicial
Primera iteracin
Valor
inicial
Siguiente iteracin
ltima iteracin
Valor
previo
Valor
previo
Nuevo
valor
Nuevo
valor
ltimo
valor
Nuevo
valor
Nmero de
iteraciones
completada
Terminal
condicional
Figura 6.8 While Loop
17
y = x x + x +1
Empleando bloques pertenecientes al lenguaje G quedara:
18
Para definir una frmula mediante esta estructura, se actuar del siguiente modo:
1. 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.
2. Una vez definidas las variables a emplear, se escribirn la o las frmulas en el
interior del recuadro (para ello se emplea el edit text). Cada frmula debe finalizar
con un ;.
3. Los operadores y funciones que se pueden emplear se explican en la ayuda de
LabVIEW, y son los que se muestran a continuacin:
Operadores:
Asignacin
Condicional
OR lgico
AND lgico
Relacionales
Aritmticos
=
?:
||
&&
== != > < >= <=
+ -* / ^
Funciones:
Abs, acos, acosh, asin, asinh, atan, atanh, ceil, cos, cosh, cot, csc, exp, expm1, floor,
getexp, getman, int, intrz, ln, lnp1, log, log2, max, min, mod, rand, rem, sec, sgn, sin, sinc,
sinh, sqrt, tan, tanh,
La sintaxis de una expresin incondicional es la siguiente:
<expresin condicional> ? <texpresin> : <fexpresin>
Si el valor lgico de la expresin condicional es true se ejecutar la texpresin. Si,
por el contrario, fuese false, lo que se aplicar ser fexpresin
Como ejemplo considrese el siguiente fragmento de cdigo:
if (x >= 0) then
y = sqrt (x)
else
y = -99
end if
19
7 EJEMPLO: CONSTRUCCIN DE UN VI
En este apartado se mostrar cmo construir una aplicacin mediante el empleo del
entorno de programacin que proporciona LabVIEW.
20
Proceso a seguir:
1. Abrir un panel frontal nuevo.
2. Colocar un "vertical switch" (paleta Boolean), cuyo nombre ser Enable. Su
finalidad ser finalizar la adquisicin.
3. Emplear el Edit Text para crear una etiqueta libre para ON y OFF.
Utilizar el Set Color para hacer que el borde de dicha etiqueta tenga volumen. La T en el
borde inferior izquierdo de la paleta de colores hace transparente un objeto.
4. Colocar el grfico waveform chart, situado en la paleta Graph. Su nombre
ser Random Signal. El grfico representar valores aleatorios en tiempo real.
5. El grfico tiene un display digital que muestra el ltimo dato. Pulsar el
botn derecho del ratn situado sobre el grfico, y seleccionar Digital Display del submen
Visible Items. Asimismo se deber deseleccionar Legend y Palette del mismo submen .
6. Empleando el Edit Text, pulsar dos veces con el botn izquierdo
del ratn sobre el 10.0 en el eje Y del grfico, introducir 1 y pulsar fuera del grfico.
Repetir para el -10. As se habr cambiado el fondo de escala.
7. Colocar un knob (paleta Numeric), cuyo nombre ser Loop Delay (sec)
Este control determinar la velocidad de ejecucin del bucle. Pulsar sobre l con el botn
derecho del ratn y deseleccionar Digital Display del submen Show.
8. Empleando el Edit Text, pulsar dos veces con el botn izquierdo
del ratn sobre el 10.0 de la escala, introducir 2 y pulsar fuera del control para introducir el
nuevo valor.
21
22
8 ADQUISICIN DE DATOS
En este apartado el estudiante debe materializarse con la tarjeta de adquisicin de
datos National Instruments PCI 6014. El fin es conseguir el dominio, manejo y
configuraciones de las I/O analgicas y digitales, como tambin del software de
programacin visual, el cul incorpora diversas funciones.
23
24
Figura 8.4 Relacin de pines entra la tarjeta de I/O y el conector de la tarjeta de adquisicin de
datos.
25
Se pueden ver en (Fig. 8.6) los parmetros a configurar que son los siguientes:
26
NOTA: realizar el siguiente ejemplo, en el que se tendr que configurar la tarjeta con los
parmetros que se han descrito anteriormente.
Una vez configurado el DAQ assitant, para que la adquisicin de datos sea
continua, lo pondremos dentro de un bucle while con un Waveform Graph en la salida de
datos para poder visualizar nuestra entrada.
Nuestra entrada a adquirir ser un seno de amplitud 2Vpp y frecuencia 50Hz que
generaremos con el generador de funciones del laboratorio.
Teniendo en cuenta que hemos seleccionado una entrada diferencial (lo que nos
implica una entrada de menor ruido) y por el canal ai0, la conexin de los pines de la placa
de I/O corresponde al pin 68 para entrada positiva y pin 34 para la entrada negativa
27
Teniendo en cuenta que la salida en este caso no es diferencial y por el canal ao0, la
conexin a los pines de la placa de I/O corresponde al pin 22 para salida positiva y pin 56
para GND.
28