Vous êtes sur la page 1sur 40

INTRODUCCIN A LA INSTRUMENTACIN VIRTUAL.

PROGRAMACIN EN LABVIEW.

Ignacio Moreno Velasco


Pedro L. Snchez Ortega
PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 2


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

INDICE
1.- INTRODUCCIN A LOS SISTEMAS DE ADQUISICIN 5

2.- SOFTWARE 7
CONCEPTO DE INSTRUMENTO VIRTUAL .............................................................................................7
Estructura del software ....................................................................................................................... 7
Programa de aplicacin ........................................................................................................................................ 7
SOFTWARE CONTROLADOR DE DISPOSITIVO ....................................................................................8

3.- PRACTICAS DE INICIACIN A LABVIEW 9


Prctica 1: Realizar la suma de 2 nmeros ......................................................................................10
Insertar los elementos en el panel frontal. ......................................................................................................10
Insertar la operacin de suma ...........................................................................................................................10
Llamadas a la AYUDA:......................................................................................................................................10
Ejecucin del programa .....................................................................................................................................10
Sustitucin de controles e indicadores.............................................................................................................11
Prctica 2: Otras operaciones y controles ........................................................................................ 11
Introducir funciones de comparacin:.............................................................................................................12
Tipos de datos: ....................................................................................................................................................12
Concatenacin de cadenas alfanumricas frente a suma de nmeros. .......................................................13
paso a ....................................................................................................................................................................13
paso b...............................................................................................................Error! Marcador no definido.
Prctica 3: adquisicin y procesamiento bsicos............................................................................ 14
Tcnicas de depuracin: .....................................................................................................................................14
Creacin de SubVI's ...........................................................................................................................................15
Prctica 4: Utilizacin de subVI's .................................................................................................... 16
Prctica 5: Secuencia While-loop .................................................................................................... 16
paso a ....................................................................................................................................................................16
paso b ....................................................................................................................................................................17
Prctica 6: registros de desplazamiento ......................................................................................... 18
paso a ....................................................................................................................................................................18
paso b ....................................................................................................................................................................18
Prctica 7: Bucle For. ....................................................................................................................... 19
Prctica 8: MATRICES. ..................................................................................................................... 20
paso a ....................................................................................................................................................................20
paso b ....................................................................................................................................................................20
Prctica 9: tipos de grficos .............................................................................................................. 21
Prctica 10: Nudo frmula. ............................................................................................................... 22
Prctica 11: Estructura CASE ............................................................................................................ 22
Opcin mltiple de la estructura case. .............................................................................................................22
4.- ADQUISICIN DE DATOS. 23
Conceptos bsicos de adquisicin de datos (a/d) ............................................................................ 23
Velocidad de muestreo .......................................................................................................................................23
Resolucin ............................................................................................................................................................24
Rango ....................................................................................................................................................................25
Prctica 12: adquisicin de datos ..................................................................................................... 26
Paso A: uso de la funcin "AI Acquire waveform simu.VI" ....................................................................... 27
Paso B: Escalado de tiempos. ...........................................................................................................................27
Paso C: anlisis en frecuencia ............................................................................................................................29
Paso D: Escalado de frecuencia ........................................................................................................................29
# Ejercicios ............................................................................................................................ 30
RESOLUCIN ESPECTRAL ........................................................................................................................30
ALIASING ..........................................................................................................................................................30
Enventanado ........................................................................................................................................................30
PRCTICA 13: filtrado ....................................................................................................................... 31

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 3


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

5.- BUS GPIB. 32


Introduccin al bus GPIB................................................................................................................... 32
Historia ................................................................................................................................................................. 32
Caractersticas mecnicas y elctricas............................................................................................................... 32
Funcionamiento .................................................................................................................................................. 33
IEEE 488-2.......................................................................................................................................................... 35
HS488 ................................................................................................................................................................... 35
Programacin con LabVIEW .............................................................................................................. 36
Conexin labview-dispositivo GPIB ............................................................................................................... 36
Envo de comandos ............................................................................................................................................ 36
Recepcin de respuestas ................................................................................................................... 37
Obtencin de datos de la cadena de respuesta de un instrumento: ............................................................ 38
Aplicaciones EN RED .......................................................................................................................... 39
Servidor remoto de comandos GPIB .............................................................................................................. 39
Aplicaciones de distribucin de seal en red .................................................................................................. 40

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 4


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

1.- INTRODUCCIN A LOS SISTEMAS DE ADQUISICIN


El esquema general de una cadena de medida cuya misin es la adquisicin de datos puede ser el siguiente:

Este esquema general o alguna de sus variaciones lo encontraremos en mltiples entornos de los que cabe
destacar dos: uno ser el de los procesos industriales y el otro ser el de ensayos y test que englobaremos bajo la
denominacin de entorno de laboratorio.

ENTORNO INDUSTRIAL
En un proceso industrial existirn varios sensores que suministran informacin, convenientemente
acondicionada, al elemento controlador del sistema. El elemento controlador, que estar basado en algn
microprocesador, recibir la informacin de los sensores directamente o mediante un proceso de comunicacin.
Adems de la presentacin de dicha informacin en la forma deseada (generalmente grfica) el elemento
controlador dar las ordenes oportunas a los actuadores para mantener el proceso funcionando dentro de los
mrgnes previstos.

Sensor Acondicionador Transmisin de datos presentacin

SISTEMA
Perturbaciones
en el sistema Controlador

actuador acondicionador Transmision de ordenes

ENTORNO DE LABORATORIO
Para la instrumentacin virtual o los procesos de laboratorio, la informacin puede venir dada no slo por
sensores, sino tambin por otros sistemas de medida (osciloscopios, multmetros, etc.) con capacidad de
comunicacin. Partiendo de la informacin recogida podemos cambiar las condiciones de la prueba,
modificando parmetros de los aparatos (generadores de funciones, fuentes de alimentacin) .

Presentacin,
Procesado,
Control
Aparatos de medida

Sistemas de
BUS Adquisicin
excitaciones

SISTEMA BAJO
actuadores PRUEBA sensores

usuario

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 5


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

En un entorno como el descrito, la tendencia actual es que sea un software especializado quien se encargue del
control del sistema, coordinando el funcionamiento de los distintos elementos.

Uno de estos programas software es LabView de la multinacional National Instruments. Labview permite
recoger, analizar y monitorizar los datos dentro de un entorno de programacin grfico en el que se ensamblan
objetos llamados instrumentos virtuales (Vis) para formar el programa de aplicacin con el que interactuar el
usuario y que se denomina instrumento virtual.

Adems de lo que es la propia representacin de los datos en los paneles interactivos que funcionan como si se
tratara de instrumentacin real, permite mltiples opciones de manejo de datos, como su almacenamiento en
disco y compartirlos en red o con otras aplicaciones. La interaccin con otras aplicaciones se podr realizar
mediante llamadas a libreras de enlace dinmico (DLL: Dinamic Link Library) e intercambio dinmico de datos
(DDE: Dynamic Data Exchange) en modo local o mediante TCP/IP en conexiones remotas. Siempre buscando
independencia de la plataforma en la que hayamos realizado nuestra aplicacin.

La capacidad de comunicacin con otros sistemas ser una cualidad importante en cualquier equipo sistema.
Adems de la comunicacin mediante interfaces comunes como el RS-232 o 485, podremos utilizar otros
estndares ms especficos de instrumentacin como el IEEE-488 ms conocido como GPIB , el VXI o en
entornos industriales mas especficos el CAN.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 6


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

2.- SOFTWARE

CONCEPTO DE INSTRUMENTO VIRTUAL


A diferencia de un instrumento real, que podemos tener en cualquier laboratorio o planta de procesos, y que
queda perfectamente definido por unos mandos de control y unos elementos de representacin, un instrumento
virtual estar ligado al concepto de software. Este software se ejecutar en un ordenador que tendr alojado unos
elementos hardware concretos, tarjetas de adquisicin de datos (analgicos y digitales), tarjetas de interfaz con los
buses de instrumentacin y unos canales de control tambin analgicos y digitales.
Nuestro instrumento virtual permitir manejar ese hardware mediante una interfaz grfica de usuario (IGU) que
se asemejar al panel de mandos de los aparatos habituales (Osciloscopio, multmetro, etc.)
Mediante le representacin en pantalla de los elementos grficos de visualizacin y control que servirn de
interfaz con el usuario, este observar los estados de las entradas seleccionadas en la pantalla e interactuar con
las salidas directamente o mediante la ejecucin de las rutinas que halla programado.

ESTRUCTURA DEL SOFTWARE

Bsicamente, el software se encargar de comunicar la interfaz de usuario del ordenador con el hardware
de adquisicin de datos dotando a la aplicacin de la funcionalidad requerida.
Podemos realizar una separacin de las capas o partes del software: Programa de aplicacin, controladores
de dispositivo (drivers) y libreras de aplicacin (APIs).

PROGRAMA DE APLICACIN
El programa de aplicacin, tambin llamado instrumento virtual, consta de dos partes: interfaz de usuario y
funcionalidad de la aplicacin:

IGU (Interfaz Grfica de usuario)

Permite la interaccin de la aplicacin con el usuario.


Bsicamente consta de controles e indicadores para visualizacin e introduccin de datos.
La mayora de entornos de programacin disponen de libreras de controles e indicadores creados que
evitan una gran cantidad de trabajo al usuario.

Funcionalidad de la aplicacin

Una de las funciones bsicas ser la de obtener datos del hardware de forma transparente al usuario.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 7


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

La funcionalidad del programa incluye tratamiento de seal, control del flujo de programa, control de
errores, etc
Puede implementarse en lenguajes basados en texto (Visual Basic, C++, LabWindows/CVI, etc.) o puede
utilizar lenguaje grfico como LabWiew, Snap Master, DasyLab, HP-VEE, Visual Designer de Burr Brown,
etc..

Nuestro estudio se centrar en la programacin bajo el entorno de programacin grfica LabView.

PROGRAMACIN GRFICA
Los procesos programables se definirn mediante un lenguaje grfico en vez de un lenguaje orientado a lneas de
cdigo como estamos acostumbrados normalmente.
En este tipo de programacin las funciones son bloques que se interconectan entre s, intercambiando la
informacin.

SOFTWARE CONTROLADOR DE DISPOSITIVO


El acceso al hardware ya no se realiza mediante llamadas directas a sus registros, si no que los fabricantes
proporcionan una capa intermedia que aisla al programador de detalles hardware. Esta capa intermedia facilita la
comunicacin entre el hardware y nuestro entorno de programacin. Suele implementarse mediante DLLs, por
lo que se necesita una versin especfica para cada sistema operativo. (p. ej. Win16 y Win32).

GUI

NI-DAQ Configuration
utility

Registro de
Windows
NI-DAQ.DLL

DAQ.DRV

TARJETA DAQ

Todas las tarjetas ofrecen estas libreras como complemento software. Es tan importante la
documentacin como la variedad y flexibilidad de las libreras.

P. EJ. NI-DAQ DE NATIONAL INSTRUMENTS


nidaq32.dll: Ocupa ms de 2 MB y contiene cientos de funciones para el manejo de tarjetas de NI.
nidaqcfg.dll: Librera para la configuracin de los dispositivos conectados.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 8


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

3.- PRCTICAS DE INICIACIN A LABVIEW


Las prcticas de que consta esta introduccin a la programacin con LabVIEW y los objetivos perseguidos son:

INTRODUCCIN A LA PROGRAMACIN GRFICA CON LABVIEW


Practica 1:
Realizacin de la suma de 2 nmeros.
Contacto con el entorno de trabajo, panel de control y zona de diagrama.
Concepto de visualizador y control.
Llamadas a la ayuda en linea para las funciones.
Ejecucin nica y ejecucin cclica.
Practica 2:
Cambio de los controladores numricos por otros grficos.
Tipos de datos
Suma de cadenas de caracteres.
Prctica 3:
Ejecucin en modo depuracin.
Concepto de instrumento virtual (VI)
Creacion de instrumentos virtuales.
Prctica 4
Incorporacin de subVI
Jerarqua de programa.
Prctica 5
Secuencia While-Loop
Grficas
Prctica 6
Registro de desplazamiento
'Bundle'
Prctica 7
Bucles 'For'
Prctica 8
Arrays de elementos
Prctica 9
Grficas Chart y graph
Prctica 10
Nodo frmula
Prctica 11
Estructuras 'case'

ADQUISICIN DE DATOS
Prctica 12
Simulacin de adquisicin de datos
Escalado de tiempos
Grficas en funcin de la frecuencia
Analizador de espectro
Prctica 13
Filtrado

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 9


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PRCTICA 1: REALIZAR LA SUMA DE 2 NMEROS

INSERTAR LOS ELEMENTOS EN EL PANEL FRONTAL.


Para ello en el panel frontal insertaremos el elemento Controls/Numeric/DigitalControl. de la paleta "Functions"
Lo haremos 3 veces, una para el elemento A, otra para el B y otra para un tercero que ser la suma de ambos
A+B.
A medida que los vayamos insertando rellenaremos la casilla de etiqueta para cada uno de ellos.
Durante la ejecucin, aumentaremos el valor de A y B mediante el dedo de la barra de herramientas
Para mover uno de los elementos insertados podemos hacerlo mediante la flecha de la barra de
herramientas, arrastrando el objeto y soltndolo en la posicin deseada.

INSERTAR LA OPERACIN DE SUMA:


En la ventana de diagrama seleccionar FUNTIONS/Numeric/Add
Distinguiremos entre control e indicador en la parte del diagrama de bloques
Las uniones que relacionan los elementos con la operacin se hacen mediante el elemento carrete de hilo de la
paleta de herramientas

Etiqueta

LLAMADAS A LA AYUDA:
Mediante CONTROL+H o seleccionando la opcin Show Help del men HELP
Situndonos sobre cualquier elemento nos informar de su utilidad y que conexiones necesita.

Nombre de la
funcin seleccionada

EJECUCIN DEL PROGRAMA


Para ver el resultado de nuestro programa ejecutamos el programa pulsando con el ratn sobre el botn . Esto
ejecutar el programa una sola vez. Si cambiamos los valores de los controles digitales no veremos el resultado
correcto hasta que lo pulsemos de nuevo
Si pulsamos el botn el programa se ejecutar continuamente, por lo que si cambiamos los valores de los
controles el resultado se refrescara instantneamente.
Pulsando sobre los botones de abortar o pausa, ) , respectivamente, podremos detener la ejecucin
definitiva o temporalmente. Para salir de la pausa volveremos a pulsar sobre ese botn.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 10


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Pulsar sobre CONTROL+B borra de nuestro diagrama las uniones defectuosas realizadas mediante el
carrete de hilo, porque no llevan a ningn sitio o porque unan elementos no relacionables.

SUSTITUCIN DE CONTROLES E INDICADORES


Sustituiremos o reemplazaremos los controles existentes por otros diferentes, como por ejemplo por
CONTROLS/NUMERIC/Horizontal Pointer Slide.

Obsrvese que solamente cambiamos la parte correspondiente a la interfaz de usuario, no a la funcionalidad.

PRCTICA 2: OTRAS OPERACIONES Y CONTROLES


Partiendo de lo aprendido en la prctica 1, realizar las operaciones de suma, resta, multiplicacin y divisin de las
entradas A y B utilizando como salidas para los resultados distintos visualizadores, tanque, agujas, etc.

Para cambiar la escala del depsito al valor 100, basta con sobrescribir el valor mximo con la
herramienta de escritura

Podemos realizar el cambio entre las distintas herramientas, flecha, mano, carrete de hilo con
la pulsacin del tabulador y el espaciador.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 11


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

INTRODUCIR FUNCIONES DE COMPARACIN:


Las funciones de comparacin se encuentran en FUNTIONS/COMPARISON/GREATER.
Introducir Leds como resultado de las comparaciones, CONTROLS/BOOLEAN.

Cambio de colores: podemos modificar las propiedades de color de la mayora de los elementos del panel de
control con la herramienta pincel

La alineacin de las partes de un diagrama y del panel de control se realiza mediante las listas

desplegables de la barra de herramientas.

TIPOS DE DATOS:
Existen 12 representaciones para los controles o indicadores digitales:

Precisin simple: 32 bits (SGL).


Precisin doble: 64 bits (DBL).
Precisin extendida (EXT): nmeros de coma flotante.
Nmero entero con signo (I8) de tipo byte (8 bits).
Nmero entero sin signo (U8) de tipo byte (8 bits).
Nmero entero con signo (I16) de tipo palabra (16 bits).
Nmero entero sin signo (U16) de tipo palabra (16 bits).
Nmero entero con signo (I32) de tipo entero extendido (32 bits).
Nmero entero sin signo (U32) de tipo entero extendido (32 bits).
Complejos de precisin simple (CSG).
Complejos de precisin doble (CDB).
Complejos de precisin extendida (CXT): nmeros complejos de coma flotante.

Los lmites, mximo y mnimo, dependen del tipo ; un entero con signo (8 bits) estar entre los valores de -128 a
127.
Precisin: Simple Doble Extendida
Nmero positivo mximo 3,4 E38 1,7 E308 1,1 E4932
Nmero positivo mnimo 1,5 E-45 5,0 E-324 1,9 E-4951
Nmero negativo mnimo -1,5 E-45 -5,0 E-324 -1,9 E-4951
Nmero negativo mximo -3,4 E38 -1,7 E308 -1,1 E4932

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 12


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Para realizar el cambio de la precisin de un dato invocaremos el men contextual pulsando el botn derecho
cuando estemos sobre l y seleccionando el submen de REPRESENTATION del men emergente.

CONCATENACIN DE CADENAS ALFANUMRICAS FRENTE A SUMA DE NMEROS.


La funcin equivalente a la suma de nmeros es la concatenacin de caracteres, que da por resultado una nica
cadena formada por otras simples.

Paso A
La concatenacin bsica corresponde con este ejemplo, donde usamos la funcin Funcions/strings/concatenate
strings

Paso B
En el ejemplo siguiente concatenamos varios elementos; algunos de los cuales son el resultado de la conversin
de nmeros a cadenas de caracteres.

STRINGS/ADITIONAL../to
fractional

STRINGS/PICK LINE &


APPEND

Para realizar un selector como el de la imagen debemos usar la


propiedad TEXT LABEL en el men contextual del selector. Una vez
hecho esto, podremos aadir nuevos textos al selector, pulsando en el
men contextual que aparece en su display sobre las opciones ADD
ITEM BEFORE ADD ITEM AFTER.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 13


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PRCTICA 3: ADQUISICIN Y PROCESAMIENTO BSICOS


La adquisicin aunque simulada correspondera con un esquema hardware donde un sensor est conectado a uno
de los canales de una de las tarjetas de adquisicin de datos disponibles en el ordenador. El esquema sera el
siguiente:

Sensor
Ordenador de Control Tarjeta 1

Tarjeta 2

Insertar la funcin : FUNCTIONS/TUTORIAL/Demo voltaje Read.VI

Este VI solo funciona si seleccionamos los valores 0 1 en el control Device y el control Chanel dando error en
cualquier otro caso. (i.e. Device 0 = Tarjeta 1, Device 1 = Tarjeta 2).

TCNICAS DE DEPURACIN:

Seleccionando el botn de la ventana de diagrama se ejecutar la aplicacin en modo depuracin.

Podemos insertar una punta de prueba en cualquier cable del diagrama para visualizar el valor en dicho punto.

Para crear esta punta de prueba, seleccionamos la herramienta del men de herramientas, pulsando
con el ratn en aquellos puntos de cable donde deseemos saber el valor de la variable.

En el momento de ejecucin nos aparecer en el diagrama una ventana con el valor.

Recordemos que para obtener ayuda sobre una determinada funcin podemos activar la ayuda.
Se la llama mediante CONTROL-H. y al situarnos sobre un elemento nos da la informacin referida a
el, conexiones y tipos de datos que utiliza.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 14


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

CREACIN DE SUBVI'S
Son el equivalente a las subrutinas en los lenguajes de programacin basados en texto.Con ellos conseguimos una
programacin mejor estructurada y por tanto ms legible as como evitar la repeticin de cdigo. La diferencia
respecto a las tradicionales subrutinas es que un subVI puede ejecutarse de forma autnoma sin necesidad de que
est incluido en un VI.

Al hacer doble click sobre un subVI se abre el panel de control correspondiente a dicho subprograma.

Para salvar un VI como fichero lo haremos mediante las distintas opciones del men FILE, SAVE y SAVE AS.
Deberemos poner nosotros la extensin .VI ya que por defecto el programa no aade extensin alguna.

Crear un subVI
Partiendo de un VI como el del ultimo ejemplo, crearemos un subVI para utilizarlo posteriormente en otras
partes de nuestros VI's. Tendremos que definir unas entradas y unas salidas para posteriormente efectuar las
conexiones en el diagrama.

Haciendo doble click ( doble pulsacin) sobre el icono de la parte superior derecha del panel de control
podemos editar el dibujo que identificar a nuestro subVI.

Si una vez modificado y dejado como definitivo, pulsamos con el botn derecho y elegimos la opcin Show
conector veremos la disposicin de conexiones de nuestro subVI.
Pulsar el botn derecho para ver los distintos tipos de patterns (plantillas de conexin) y elegir el que se adapte a
nuestras entradas y salidas; normalmente las entradas estarn a la izquierda y las salidas a la derecha.

En la ventana panel de control seleccionar la posicin dentro del pattern y con el carrete de hilo el control
correspondiente de entrada o salida. Si esta seleccionado como entrada o salida habr cambiado del blanco al gris
en el pattern elegido por nosotros.
Una vez realizadas las conexiones y modificaciones del icono podemos guardarlas.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 15


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PRCTICA 4: UTILIZACIN DE SUBVI'S


Partiendo del subVI que acabamos de crear y que muestra la temperatura en grados Fahrenheit, realizar un VI
que visualice la temperatura en grados centgrados.

Introducir el subVI creado en la prctica 3


Lo haremos mediante el men del diagrama Select a VI.... Lo seleccionaremos de la lista de ficheros y lo
pegaremos en la ventana diagrama de nuestro instrumento virtual.

OPCIONAL:
Aadir un
indicador de
grados Kelvin
K = C + 273

Como queda claro en el diagrama de bloques: T (C) = [T (F) - 32] * 5/9

En vez de crear manualmente un control para cada entrada y un indicador para cada salida, es
posible realizar esta tarea automticamente:

- Mediante el carrete de hilo, pulsar con el botn derecho sobre la entrada o salida y elegir la
opcin create control o create indicator .
- Segn el caso el programa crea automticamente el tipo necesitado incluso con su etiqueta.

Si no hemos puesto la etiqueta a algn elemento deberemos seleccionar el elemento con el botn
derecho y elegir la opcin show label; una vez en pantalla introducir el valor deseado.

Siguiendo la ejecucin del programa en modo de depuracin podemos ver como las funciones esperan de
izquierda a derecha a que se vayan generando los datos que necesitan para completar la operacin.

Un SubVI puede llamar a mltiples VIs dando lugar a una jerarqua que podemos visualizar grficamente. Para
ello existe la opcin show VI hierarchy del men Project.

PRCTICA 5: SECUENCIA WHILE-LOOP


La secuencia While-loop permite repetir las acciones que situemos dentro del bucle hasta que deje de cumplirse
una condicin que nosotros establezcamos.

PASO A
Como ejemplo generaremos un nmero aleatorio entre 0 y 1 mediante la funcin FUNTIONS/NUMERIC/Ramdom
Number. El resultado lo representaremos mediante una grfica en el panel de control: CONTROL/GRAPH/Wave
form Chart.
La ejecucin debe parar cuando el usuario pulse un botn ON/OFF.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 16


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

La funcin tiene como entrada un valor en milisegundos.


El valor mximo que llega del selector es 10, por tanto
retardo mximo = 10 * 100 mseg = 1 segundo.
OPCIONAL:
Forzar el
orden de
ejecucin
mediante una
estructura
sequence

Para ello, situaremos la funcin dentro de un bucle While que se ejecutar como mnimo 1 vez hasta que la
condicin procedente del botn sea FALSE.

El nmero de decimales que aparecen en el visualizador puede ser modificado mediante la propiedad asociada
FORMAT & PRECISSION de su men contextual.

Diferenciaremos entre la ejecucin nica del programa, que se detendr cuando pongamos en OFF el
botn asociado al control del bucle y la parada en la ejecucin mediante el botn de STOP.

PASO B
Podemos incluir un retardo entre la generacin de uno y otro punto mediante la funcin FUNTIONS/Time &
Dialog/Wait Until Next ms Multiple, tal y como puede verse en la siguiente figura:

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 17


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PRCTICA 6: REGISTROS DE DESPLAZAMIENTO


Veremos la aplicacin de los registros de desplazamiento (Shit registers) en el clculo de promedios.

Para evitar que la 1


iteracin tenga los
registros vacos

El promedio se
realiza sobre 4
muestras

PASO A

Aadir los registros de desplazamiento:


En la zona izquierda del bucle pinchar con el ratn y pulsar el botn derecho; seleccionar Add Shif Register.
Despus en la zona derecha pinchar y seleccionar Add Element

Para comprender mejor el efecto del registro de desplazamiento activaremos el modo de depuracin, para ver
como evolucionan los valores.

Es importante resear la diferencia entre parar un programa correctamente, una vez acabada las acciones
contenidas en un bucle o abortar la ejecucin mediante el botn sin ningn control sobre las acciones que
han sido ejecutadas y las que han quedado pendientes.

PASO B
Para visualizar simultaneamente la grafica corresponiente a la media y al valor original; lo haremos mediante la
opcin FUNTIONS/CLUSTER/BUNDLE.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 18


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PRCTICA 7: BUCLE FOR.


Un bucle For (For-loop) permite la ejecucin del cdigo que situemos dentro del bucle un nmero de veces
predeterminada.

Podemos copiar trozos de programa de un VI a otro


(seleccionar - copiar - pegar). Se recomienda copiar
esta parte desde el VI anterior.

Cambiar el color, grosor y tipo de trazo de las grficas:

Todas las propiedades


del trazado estn
accesibles en el men
contextual de la
leyenda

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 19


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PRCTICA 8: MATRICES.

PASO A
Construiremos una matriz que contendr las 100 tiradas del dado:
Primero, insertar en el panel frontal un array CONTROL/ARRAY & CLUSTER/Array.
Despus introducir dentro del control array un visualizador numrico.

Los elementos del array se almacenarn en el tnel (punto negro en el marco de la estructura for-loop) si
tenemos habilitada la opcin de autoindexado, sino slo el ltimo dato ser pasado al exterior del bucle.

En el men contextual de este punto


(tunel) se activa/desactiva la opcin
de autoindexado (Enable indexing)

PASO B
Aadir un grfico CONTROLS/GRAPH/Wave form Graph para la visualizacin grfica del array. Quedar como se
muestra en el panel y diagrama siguientes:

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 20


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PRCTICA 9: TIPOS DE GRFICOS


Comparar la diferencia entre los grficos CHART y los GRAPH, calculando la media, mximo y mnimo de las
temperarturas generadas aleatoriamente por el subVI denominado Digital Thermometer.vi de la librera Tutorial.

Tambin puede usarse el VI


creado anteriormente que
devuelve la temperatura en grados
centgrados.

Observar la diferencia en el grosor del cable del array que sale del bucle FOR.
Las funciones para encontrar el mximo y el mnimo del array se encuentran en FUNTIONS/ARRAY/Array
Max & min
Para calcular la media lo haremos mediante la funcin FUNTIONS/ANALISIS/Probability & Statistics/Mean
Para hacer el BUNDLE mas grande de forma que permita conectar ms elementos, situamos el puntero en
alguna de las esquinas y estiramos hacia abajo.

Tener en cuenta que incluimos 2 tipos de grficos, Graph y Chart. Para dar sentido temporal al eje x
de la grfica se debe realizar un bundle con tres elementos: la matriz de puntos, su separacin en el
tiempo y el origen. Como hemos fijado pausas de 250 ms entre muestras entonces delta X es 0'25
(segundos). Xo establece el origen del eje x, en este caso 0.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 21


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PRCTICA 10: NUDO FRMULA.


Permite incorporar a un VI frmulas matemticas definidas por el usuario.

Lo insertamos con FUNTIONS/STRUCTURES/FORMULA NODO

Para aadir entradas o salidas lo haremos pulsando con el botn derecho del ratn en el marco del nodo frmula
y seleccionando add input o add output..
Las frmulas incluidas (todas las que necesitemos para calcular las salidas) deben terminar en punto y coma (;).
Los resultados de cada frmula dan lugar a una matriz unidimensional. La unin de esas dos matrices da lugar a
una matriz de 2 dimensiones. Esa conversion se realiza mediante la funcin FUNTIONS/ARRAY/BUILD ARRAY

OPCIONAL:
Hallar el valor RMS
de la funcin
senoidal mediante
el VI

statistics/RMS

Un ejemplo mas completo y vistoso del uso de la estructura formula-node puede verse en la zona de
ejemplos, Examples/General/Graphs/gengraph.llb en el instrumento virtual llamado bouncing cube.vi

PRCTICA 11: ESTRUCTURA CASE


Esta estructura de programacin permite que se ejecute una porcin de cdigo u otra segn se cumpla o no una
condicin impuesta por el usuario.
La funcin de sonido
'Beep.vi' se encuentra en
Funtions/advanced.

Para evitar que pite de forma continua, cambiar la constante de comparacin a un valor 0,999

OPCIN MLTIPLE DE LA ESTRUCTURA CASE.


Aunque en el ejemplo slo existen el caso verdadero y falso, pueden ponerse tantos casos como se necesiten:
Para aadir un caso ms, ya sea antes o despus deberemos seleccionar pulsando con el boton derecho del
ratn en el borde Add case before Add case After respectivamente.
Evidentemente la entrada al selector ya no podr ser binaria, sino que deber corresponder a un nmero
entero.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 22


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

4.- ADQUISICIN DE DATOS.

CONCEPTOS BSICOS DE ADQUISICIN DE DATOS (A/D)

VELOCIDAD DE MUESTREO

Teorema de Nyquist

Establece que para poder reconstruir una seal muestreada, la velocidad de muestreo fs debe ser al menos el
doble de la mayor de las componentes de la seal muestreada:
fs 2 * fmax

En la prctica se toma al menos entre 3 y 5 veces mayor que la frecuencia mxima. Como explicaremos en el
prximo punto, esto evita que las frecuencias superiores cercanas a la mxima produzcan aliasing.

Ej.: Las seales de audio recogidas por un micrfono y convertidas a seal elctrica tienen
(idealmente) componentes de hasta 20 KHz. Para digitalizar esta informacin y poder reconstruirla
despus se debe muestrear a una velocidad mayor de 40 Kmuestras/s. (Los Compact Disc lo hacen
a la velocidad normalizada de 44,8 Kmuestras/s)

Aliasing (solapamiento)

EN EL DOMINIO DEL TIEMPO:

Seal muestreada a frecuencia superior a la de Nyquist.

Seal muestreada a frecuencia inferior a la de Nyquist, aparece el aliasing: Al reconstruir la seal se obtiene otra frecuencia
inferior.

En la imagen inferior, si la seal original fuera de 3 KHz, Qu frecuencia observaramos tras


reconstruir la seal muestreada?

EN EL DOMINIO DE LA FRECUENCIA:
Supongamos una seal de inters f1 y otra interferente f2 como pueden verse en la siguiente figura:

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 23


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Cuando una seal de frecuencia fx se muestrea a una velocidad fs, su espectro aparece reflejado en fx-fs/2 como
puede apreciarse en la siguiente figura:

Solapamiento

En este caso, al muestrear la seal f1, el espectro reflejado f1-fs/2 queda a la izquierda del origen de frecuencias,
por lo que no hay problema. Sin embargo al muestrear la seal f2 su espectro reflejado f2-fs/2, se solapa con f1
confundindose con l. De esta forma, la seal f2 interfiere con la seal til f1.

Ejemplo: seal cuadrada de 500 Hz:

nicamente nos fijaremos en un ancho de banda limitado a 2 KHz, por lo que idealmente, adems de la
fundamental slo debera existir un armnico a 1500 Hz.

En la primera imagen la seal es muestreada a fs=4KHz y no se ha filtrado. Observamos aliasing de los


armnicos superiores.
En la segunda imagen, fs=4KHz y previamente al muestreo se realizado un filtrado paso-bajo con
frecuencia de corte de 2 KHz que ha eliminado muchos de los picos debidos al aliasing.
En la tercera imagen, adems del filtrado se ha subido fs= 8 KHz eliminando los picos. El armnico de 1000
Hz es debido a la imperfeccin de la seal cuadrada.

El filtrado debe ser previo al muestreo (i.e. filtrado analgico). Despus del muestreo, el aliasing no
puede eliminarse; la seal alias no puede separarse de la seal til mediante ningn tipo de filtro,
pus cae en su ancho de banda.

RESOLUCIN
Se refiere al incremento mnimo de tensin detectable, que coincidir con el valor del bit menos significativo
(LSB). Sin embargo, en tarjetas de adquisicin de datos la resolucin suele expresarse como el nmero de bits del
conversor A/D.

Una resolucin de 12 bits de un conversor A/D indica que es capaz de representar 4096
combinaciones binarias, es decir, 1 parte entre 4096 (2 12=4096).

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 24


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

LSB (LEAST SIGNIFICANT BIT)


Cuando hablamos de conversores A/D, el valor del bit menos significativo recibe el nombre de LSB.
Rango Rango (Voltios)
1LSB
n cuentas 2n bits

Si tenemos en cuenta que antes del conversor A/D casi siempre hay un amplificador, debemos incluir su
ganancia en el clculo del LSB.
Rango
1LSB
Ganancia 2n bits
donde el n de bits se refiere al conversor A/D, y el rango a la diferencia entre el valor mximo y mnimo de
tensin admitido en la entrada.

P.ej. 12 bits 10V en 4096 niveles 1 LSB = 2'44 mV (Ganancia=1)

# Hallar la resolucin de un conversor de 16 bits

RANGO
Como puede verse en la siguiente tabla, el rango de entrada viene determinado por la ganancia seleccionada.

Tabla 1: Configuraciones de entrada para la serie PCI E de National Instruments

Observar en la tabla que:


Donde dice precision debera decir resolution. La precisin mxima coincide con el valor de 1/2 LSB, pero
no siempre es as debido a tensiones de offset, ruido, derivas trmicas, etc.
El producto Ganancia * Rango de entrada es constante: Rango configurado = Ganancia * Rango de entrada.

Configuracin
El rango de las seales de entrada puede ser UNIPOLAR o BIPOLAR

UNIPOLAR: el rango de tensin de entrada est entre 0 y un valor positivo


BIPOLAR: el rango de tensin de entrada est entre un valor negativo y un valor positivo

Se puede programar la polaridad y el rango de forma que cada canal tenga una configuracin propia.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 25


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Hay que seleccionar el rango (Polaridad y ganancia) de forma que se ajuste al mximo al rango de la seal a medir
Rango
obteniendo as la MAYOR RESOLUCIN posible. (1 LSB = Voltios)
Ganancia 2N

Rango dinmico
Expresa la diferencia mxima de magnitud que puede haber entre dos seales de entrada de forma que ambas
puedan medirse. Suele expresarse en decibelios (dB).

Ejemplo: DAQ 12 bits, 10 V


Mx. tensin medible: 10 V
Mn. tensin medible: 1 LSB = 10V/212 = 2'44 mV
Rango dinmico = 20 log10 (10 V/[10V/212]) = 20 log10 (212) = 72 dB

Cada bit de resolucin aade 6 dB (tericos) al rango dinmico (20 log10 2 = 6)

Ejemplo: mquina rotativa


En una mquina rotativa, hay una frecuencia que determina la velocidad de rotacin del eje y otras
componentes pequeas que pueden delatar un deterioro de los cojinetes. La relacin entre las
componentes pequeas y la principal determina el mnimo rango dinmico. Las componentes pequeas
aumentan con el uso, de forma que un mayor rango dinmico del sistema de medida puede significar una
deteccin ms temprana.

En la figura puede verse:


En trazo claro con un rango dinmico de 72 dB (12 bits) una pequea componente debida a una
vibracin de 200 Hz pasa desapercibida.
En trazo oscuro con un rango dinmico de 90 dB (15 bits) se puede observar dicha componente.

PRCTICA 12: ADQUISICIN DE DATOS

FUNCIONES RELACIONADAS CON LA ADQUISICIN.


LabVIEW posee una biblioteca completa para el acceso al hardware de adquisicin de datos. Esta biblioteca est
subdividida en funciones bsicas y avanzadas segn su complejidad.

Para nuestra prctica, trabajaremos con un VI de simulacion dentro de la biblioteca DAQ-ALUMN.LLB del
directorio donde se encuentra instalado el programa LABVIEW.
Las diferentes seales que tenemos para cada canal son las siguientes:

Canal 0 Senoidal de 1 KHz 2 voltios de Amlitud


Canal 1 Onda cuadrada de 50 Hz. 4 voltios de amplitud
Canal 2 Seal en diente de sierra 100 Hz. 1 voltios de amplitud

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 26


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Canal 3 Seal triangular de 750 Hz. 0.125 voltios de amplitud


Canal 4 seal senoidal 1 KHz 2 voltios de amplitud con ruido de 0,25 voltios
Canal 5 seal senoidal 1 KHz 2 voltios de amplitud con ruido de 0,50 voltios
Canal 6 seal ruido de 0,5 voltios
Canal 7 seal senoidal 1 KHz 0,5 voltios de amplitud con ruido de 0,5 voltios

Para el correcto funcionamiento de este VI, la seal de muestreo debe ser mayor de 1000 Hz, de lo
contrario no podremos observar seal alguna.

PASO A: USO DE LA FUNCIN "AI ACQUIRE WAVEFORM SIMU.VI"

La funcin necesaria se llama AI Acquire waveform simu.VI, que aunque es


una simulacin se aproxima mucho a la situacin real (Por ejemplo nos
dar error si seleccionamos mal el canal.)

PASO B: ESCALADO DE TIEMPOS.


En esta segunda parte del ejercicio aprenderemos a escalar el eje X de la grfica, para que nos muestre tiempo en
vez de muestras.
Utilizar los cursores para determinar los tiempos y frecuencias de la seal visualizada

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 27


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Las opciones de cursores se


obtienen del men contextual de
la grfica.

OPCIONAL:
Guardar los datos adquiridos en un fichero con formato de hoja de clculo:

El VI que hemos aadido se encuentra en el grupo de funciones File I/O

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 28


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PASO C: ANLISIS EN FRECUENCIA


En esta tercera parte del ejercicio realizaremos las siguientes tareas:
Intercalar un subVI de anlisis que realiza el espectro de amplitud. (Librera: Analisys/Measurement)
Meter el grueso del programa dentro de un bucle While controlado por un botn de paro (Accin
mecnica Latch When Released)

Cambiar el nmero de muestras y la velocidad de muestreo (sample rate) mediante controles tipo potencimetro
observando su efecto sobre la seal visualizada.
Observar el tipo de accin mecnica para el botn APAGAR.

La funcin se encuentra en
Analisys/Measurement

PASO D: ESCALADO DE FRECUENCIA


De forma anloga a lo que se hizo para el eje de tiempos, hay que escalar el eje X de la grfica del espectro para
que muestre la frecuencia en Hz. Observar las diferencias respecto al anterior diagrama:

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 29


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

# EJERCICIOS
Mostrar y explicar al profesor el resultado de las siguientes cuestiones:

Comprobar mediante los cursores de la grfica temporal que la frecuencia de la seal se corresponde con
la que aparece en el espectro.

RESOLUCIN ESPECTRAL
Se trata de averiguar de forma experimental la relacin que define la resolucin espectral f, para lo cual:
1. Seleccionar el canal 0.
2. Dejar fs constante (cumpliendo Nyquist) y variar el n de muestras N (P. ej. 128, 256, 512). Qu ocurre
con el espectro?. Hallar f numricamente.
3. Dejar el n de muestras constante (P. ej. 256) y variar fs cumpliendo Nyquist. Qu ocurre con el
espectro?. Hallar f numricamente.
4. A partir de los datos recogidos establecer la ecuacin que define f en funcin de fs y N.

ALIASING
Configurar el VI de forma que pueda observarse el fenmeno del aliasing.

ENVENTANADO
Con este ejercicio, trataremos de ver el efecto de realizar la FFT sobre un nmero no entero de periodos de la
seal muestreada. Este efecto puede paliarse mediante el uso de ventanas de alisado previas a la FFT.

Observar el espectro de amplitud:


Qu sucede cuando la velocidad de muestreo es un mltiplo entero de la frecuencia de la seal medida
(i.e. fs = n fm) y adems el nmero de muestras por periodo es un nmero entero?.
Qu sucede cuando no se dan estas circunstancias?
10,0 10,0
7,5 7,5
5,0 5,0
2,5 2,5
0,0 0,0
-2,5 -2,5
-5,0 -5,0
-7,5 -7,5
-10,0 -10,0
0 25 75 125 175 225 275 325 375 425 0 25 75 125 175 225 275 325 375 425
ms ms

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 30


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

5,0 5,0
4,5 4,5
4,0 4,0
3,5 3,5
3,0 3,0
2,5 2,5
2,0 2,0
1,5 1,5
1,0 1,0
0,5 0,5
0,0 0,0
0 25 50 75 100 125 150 175 200 225 250 0 25 50 75 100 125 150 175 200 225 250
Hz Hz

PRCTICA 13: FILTRADO

El proceso ms evidente de filtrado es el promediado. La relacin Seal/Ruido que se obtiene


mediante esta tcnica es:
Nout 1

Nin n muestras

Por ejemplo un promediado de 4 muestras reduce a la mitad la potencia de ruido en la salida.


Observar que para reducir a la cuarta parte dicha relacion tendramos que usar un promediado de
16 muestras

Intercalar un filtro entre el array de seal y la grfica de forma que podamos eliminar todo el ruido posible de la
seal del canal 4. Para ello:

Crear una estructura case que permita elegir al usuario si desea filtrar o no la seal.
Dentro del caso True incorporar un filtro Butterworth (se encuentra en el grupo de funciones
Analysis/Filters/Butterworth filter.vi)
Crear automticamente los controles necesarios para configurar el filtro: tipo, orden, frecuencia superior
de corte, frecuencia inferior de corte.

En el filtro debe cumplirse 0 <fcorte fs/2, de lo contrario dar un error. Si slo pueden muestrearse
seales por debajo de fs/2, Qu sentido tendra un filtrarlas?.

2,0

1,0
EJEMPLO:
0,0

-1,0 En la 1 imagen podemos observar


-2,0 una seal util senoidal (1 V, 5 Hz, fs =
2,0 1000, N = 512) a la que se suma otra
1,0 seal ruidosa procedente de la red
0,0 elctrica (01 V, 50 Hz). En la 2
-1,0 imagen vemos la seal til filtrada
-2,0 (Filtro paso-bajo Butterworth, orden
2,0 4, fc = 20 Hz).
1,0 En la 3 grfica, la seal ruidosa
0,0 (Filtro paso-alto Butterworth, orden 4,
-1,0 fc = 20 Hz).
-2,0

0 50 100 150 200 250 300 350 400 450


ms

# Se trata de separar la seal til de la seal interferente mediante filtrado. Para ello probar a filtrar la seal del
canal 5, intentando realizar algo parecido al ejemplo de la figura anterior.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 31


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

5.- BUS GPIB.

INTRODUCCIN AL BUS GPIB

HISTORIA
En 1965 la empresa Hewlett Packard crea la interfaz de bus HP-IB (Hewlett Packard Interface Bus) para
conectar instrumentos programables a sus ordenadores.
Debido a sus ventajas se populariza de tal forma que en 1975 se estandariza como IEEE 488-1975
(Aunque es ms conocido como GPIB -General Purpose Interface Bus-)
En 1987 evoluciona dando paso al ANSI/IEEE 488.2, por lo que el anterior IEEE 488-1975 pasa a
denominarse ANSI/IEEE 488.1

CARACTERSTICAS MECNICAS Y ELCTRICAS


Se trata de un bus paralelo, formado por 8 lneas de datos, 3 lneas de protocolo, 5 de
gestin, 7 de masa y 1 apantallamiento. Tenemos por tanto un cable de 24
conductores.

Permite la conexin de dispositivos en estrella, o en linea:

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 32


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Utiliza niveles TTL y lgica negada.


Velocidades de transferencia de hasta 1 MB/s.
Hasta 15 dispositivos conectados al bus.
Separacin mxima de 4 m entre dos dispositivos cualesquiera del bus. Longitud total del cable de hasta
20 m

FUNCIONAMIENTO
Los dispositivos conectados al bus se comunican entre ellos mediante mensajes

Tipos de mensajes

Dependientes del dispositivo: Llamados datos a secas, contienen informacin especfica de los dispositivos
como pueden ser resultados de una medida, estado de un aparato, instrucciones de configuracin, etc.
De gestin: Tambin llamados mensajes de comando, realizan funciones como inicializar el bus,
direccionar dispositivos, etc.

Roles de los dispositivos


Los dispositivos conectados al bus pueden adoptar uno o varios de los roles definidos: Hablante, escuchador y
controlador.

ESCUCHADOR (LISTENER)
Capaz de recibir datos de la interfaz cuando est direccionado (habilitado) por el controlador. Puede haber hasta
14 escuchadores activos simultaneamente en el bus. Dispositivos escuchadores pueden ser por ejemplo una
impresora, un generador de funciones, etc..

HABLANTE (TALKER)
Un hablante, cuando se le ha direccionado, enva mensajes a uno o varios escuchadores que reciben los datos.
Por ejemplo un osciloscopio puede actuar como hablante y como escuchador. Slo puede haber un hablante
activo sobre la interfaz.

CONTROLADOR
Gestiona el flujo de informacin en el bus enviando comandos a todos los dispositivos. El controlador es capaz
de direccionar (habilitar) a un hablante que quiera enviar un mensaje a varios escuchadores, permitiendo una
operacin de transferencia de datos. l mismo puede ejercer de emisor o receptor.

Se podra configurar un bus sin dispositivo controlador y en el que hubiera un dispositivo con
capacidad nicamente de hablante y varios con capacidad nicamente de escucha.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 33


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

La funcin de controlador la suele realizar un dispositivo conectado al ordenador (Tarjeta ISA, PCI, PCMCIA,
etc.) que habitualmente tiene adems capacidad de hablante y escuchador.
En sistemas con varios controladores slo uno puede estar actuando como tal. El controlador activo puede pasar
el mando del bus a otro controlador que se halle inactivo.

Lineas segn su funcin

LINEAS DE DATOS
Son 8 y se denominan DIO1-DIO8
El estado de la linea de gestin ATN (se ver ms adelante) determina si la informacin presente en el bus
de datos corresponde a un dato o a un comando.
Todos los comandos y la mayora de datos utilizan el cdigo ASCII de 7 bits, de forma que la linea DIO8
se utiliza como paridad.

LINEAS DE PROTOCOLO
Estas tres lineas controlan de forma asncrona la transferencia de bytes de mensajes entre dispositivos,
garantizando que se realiza sin errores.
DAV (DAta Valid):. Es activada por el controlador cuando enva comandos y por el hablante cuando enva
mensajes de datos. Indica cuando la seales de datos son estables (vlidas) de forma que puedan ser
interpretadas de forma fiable por los escuchadores.
NRFD (Not Ready For Data): Un escuchador activa esta linea cuando no est preparado para la recepcin
de datos. Tendr valor falso cuando todos los receptores direccionados estn listos para recibir datos. Se
realiza la funcin OR cableada de las salidas NRFD de lo escuchadores direccionados. Siendo necesario que
todos estn preparados (todas las salidas NRFD a falso) para que la lnea NRFD se ponga a falso.
NDAC (No Data ACcepted): En estado verdadero indica que algn escuchador direccionado no ha aceptado
todava los datos enviados. Un estado falso indica que todos los receptores activos han aceptado los datos.
Nuevamente se realiza la funcin OR cableada de todas las salidas NDAC de los receptores activos.

En la siguiente figura puede verse la secuencia de control de transferencia de datos o handshake.

LINEAS DE GESTIN
Estas cinco lineas gestionan el flujo de datos e informacin del bus.
ATN (ATtentioN): El controlador activa ATN a verdadero cuando usa las lineas de datos para enviar comandos
y la pone a falso para permitir que un hablante enve datos.
IFC (Interface Clear): El controlador activa esta linea para inicializar el bus interrumpiendo el proceso que
se estaba realizando. Se deshabilita al hablante y a los escuchadores activos, quedando todos inactivos. El
controlador asume el mando del bus. Todos los dispositivos deben responder a esta lnea en cualquier
instante.
REN (Remote Enabled): El controlador activa esta linea para poner los dispositivos direccionados en modo
de programacin remota. Cuando no est activada los dispositivos se encuentran en modo de control local.
SQR (Service Request): Cualquier dispositivo puede activar esta linea para pedir servicio al controlador.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 34


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

EOI (End Or Identify): Tiene dos funciones; el hablante activa esta linea para indicar el ltimo byte de un
dato a los receptores activos. Con ATN a "1", la activacin de esta lnea indica que el controlador realiza un
sondeo paralelo.

IEEE 488-2
Viene a paliar los problemas que arrastra el estndar desde el veterano IEEE 488.1.
Se mantiene la compatibilidad con IEEE 488.1, pero los beneficios del nuevo estndar slo se obtienen
cuando se tiene un sistema totalmente compatible IEEE 488.2
Normaliza el lenguaje de programacin de los dispositivos incorporanto el estndar SCPI.

SCPI (Standar Commands for Programmable Intruments)


Una de las cosas que no define el estndar IEEE 488.1 es la estructura y sintaxis del lenguaje que se usa para
programar los dispositivos, lo que provoca que p. ej. un programa elaborado para un osciloscopio no funcione
con un osciloscopio de otra marca. Esto aumenta el trabajo de los programadores y por tanto los costes de
desarrollo y mantenimiento. Podemos comparar el problema con el caso de las lineas telefnicas: puedo
establecer una comunicacin con China por que las lineas son compatibles, pero si no conozco el idioma, no
lograr que el hablante y el escuchador se entiendan. SCPI viene a solventar esa dificultad idiomtica entre
instrumentos definiendo un estructura y sintaxis comn del lenguaje.

HS488
Es una propuesta de la compaia National Instruments para la mejora de las velocidades de transmisin de la
norma 488. Entre dos dispositivos compatibles HS488 separados por 2 metros de cable se pueden alcanzar de
hasta 8 MB/s. En un sistema con 15 dispositivos y 15 metros de cable la velocidad puede alcanzar 15 MB/s

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 35


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

PROGRAMACIN CON LABVIEW

CONEXIN LABVIEW-DISPOSITIVO GPIB


Las siguientes figuras ilustran la conexin que permite controlar un instrumento GPIB mediante el software
LabVIEW cargado en nuestro ordenador.

LabVIEW

Red de
instrumentos
Libreria de GPIB
funciones GPIB
(Gpib-32.dll, etc)

Drivers hardware bus GPIB


(gpibpci.sys, etc)
Ordenador de Control
1 Tarjeta interfaz GPIB Instrumento GPIB
HM 8130

Tarjeta de
interfaz GPIB
2 Tarjeta interfaz GPIB

ENVO DE COMANDOS
En este apartado veremos como enviar ordenes por el bus GPIB al generador de funciones Hameg HM-8130
mediante LabView.
Las funciones relativas al bus GPIB se encuentran en Functions/Instrument I-O/GPIB
Debemos conocer previamente la direccin del bus asignada a nuestro aparato. Podemos verla directamente
segn la la configuracin de los microinterruptores que se encuentran es su parte trasera. Adems nos lo muestra
en su display cada vez que encendemos el aparato.

Se utiliza el gestor de errores por si no


hubiera instrumento alguno conectado y
para visualizar el resto de los errores.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 36


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Entre los comandos que admite el generador de funciones HM-8130 tenemos por ejemplo:
SIN Genera a la salida la onda senoidal de los valores seleccionados
OT0 Desactiva y OT1 activa la salida de seal.
OF0 Desactiva la tensin de Offset en la salida y OF1 la activa.
DFR Visualiza la frecuencia.
DAM Visualiza la amplitud
LK1 Bloquea la botonera del generador para impedir su manejo en modo local. LK0 lo desbloquea.

Otros comandos que precisan adjuntar un dato son por ejemplo:

FRQ:dato Sita la frecuencia de la seal en el valor de dato (Hz).


AMP:dato Sita la amplitud de salida segn dato (Voltios).
OFS:dato Sita la tensin de Offset al valor expresado por dato (Voltios).

Los comandos del generador pueden concatenarse para formar una nica cadena de comandos y enviarse a la
vez. Cada comando debe acabar con punto y coma ;.Por ejemplo:

LK1;TRM;RMP;FRQ:0;AMP:2,000E-2;OT1;OF0;

RECEPCIN DE RESPUESTAS
La comunicacin con los instrumentos implica la recepcin de respuestas tras el envo de comandos de
interrogacin. Por ejemplo para saber la frecuencia actual de la seal generada.
El subVI General Error Handler mostrar en pantalla los errores producidos en la comunicacin pro el bus en caso
de producirse. y asegura (al unir la salida de la accin de escritura con la de lectura) la correcta secuencia; no hay
ninguna duda de que primero se producir la escritura del comando de interrogacin, en espera de la respuesta y
posteriormente la lectura de la misma.

Originalmente
ADDRESS STRING
La conexin puede
realizarse por detrs
del VI, engaando
en apariencia.
Realizar seguimiento
de la conexin
Originalmente
DATA
Se encuentra en el grupo
de funciones Time &
Dialog
Entre los comandos de interrogacin que ofrecen respuesta por parte del generador de funciones estn:
FRQ? Devuelve la frecuencia actual
AMP? Voltaje actual a la salida
OFS? Tensin de Offset.
ID? Identificacin del aparato.
VER? Versin del equipo.
STA? Estado del equipo.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 37


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

OBTENCIN DE DATOS DE LA CADENA DE RESPUESTA DE UN INSTRUMENTO:


El instrumento devolver como respuesta a nuestra interrogacin una cadena de caracteres que deberemos tratar
para obtener la informacin de inters. Para ello trocearemos la respuesta, en cadenas de caracteres y nmeros,
para su posterior utilizacin.

La funcin se encuentra en
FUNTIONS/strings/additional string to number

En general es interesantre para el usuario que la interfaz de nuestro VI se parezca lo ms posible al panel frontal
del instrumento real. Colocaremos mandos para todas las funciones que necesitemos controlar.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 38


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Por razones didcticas, hemos aadido un visualizador de la cadena que se enviar al instrumento.
El diagrama de bloques que debemos implementar es el siguiente:

La funcin se encuentra en
String/concatenate
1 strings

La funcin se encuentra en
String/select & append
2

La funcin se encuentra en
String/Aditional.../to decimal

Realizar el programa por partes, visualizando el resultado de cada una de ellas (de 1 a 4) segn se
incorporan nuevas funciones. Por ltimo aadir el sub VI de escritura en el bus GPIB.

APLICACIONES EN RED
Podemos ver otras aplicaciones como son las relativas al control de instrumentacin no directamente conectada
a nuestro ordenador.

SERVIDOR REMOTO DE COMANDOS GPIB


Por ejemplo es posible controlar un dispositivo GPIB desde cualquier puesto de una red de ordenadores. Un
ordenador contiene la tarjeta de interfaz GPIB, pero el control lo podemos realizar desde otro ordenador, que
sera el que contenga el programa de aplicacin.

Los datos llegaran al aparato a controlar mediante el ordenador que tiene la tarjeta de bus, que actuara como un
servidor de datos; estos seran enviados por el ordenador que tiene el programa de control y que actuara como
un cliente.

Este intercambio de datos se hace mediante la tecnologa cliente-servidor dentro de las redes de ordenadores, y
permite la conexin remota, incluso va telefnica entre distintos equipos de distintas caractersticas siempre y
cuando cumplan con el protocolo de comunicacin.
Conexin para manejar el generador de funciones con comandos GPIB desde otro PC. El ordenador que no
tiene la tarjeta controladora es el que genera los comandos de control. Ambos ordenadores se comunican
mediante la red ethernet en el protocolo TCP-IP.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 39


PRCTICAS DE INSTRUMENTACIN ELECTRNICA 3 I.T.I.E.

Red Ethernet del laboratorio (cable UTP).

Red de
instrumentos
GPIB

CLIENTE DE COMANDOS. Tarjeta controladora Instrumento GPIB SERVIDOR DE COMANDOS


Ordenador que recibe bus GPIB Ordenador que enva
HM 8130
los comandos de la red ethernet, las cadenas de control GPIB.
va TCP-IP El VI mostrar en el panel
y los enva al instrumento una cartula similar a la del
mediante la tarjeta GPIB. Instrumento a controlar.

APLICACIONES DE DISTRIBUCIN DE SEAL EN RED

Cliente de la adquisicin de seal.


Uno de los ordenadores, el que tiene la tarjeta de adquisicin, manda a los otros, mediante TCP-IP por la red
ethernet, la seal capturada.
Red Ethernet del laboratorio.

Sensor
CLIENTE DE SEAL. CLIENTE DE SEAL. SERVIDOR DE SEAL Tarjeta Adquisicin.
Ordenador que recibe Ordenador que recibe Ordenador que enva Lab-PC-1200
la seal capturada por la seal capturada por la seal capturada a
la tarjeta situada en otro ordenador, la tarjeta situada en otro ordenador, la red de ordenadores.
va TCP-IP, va TCP-IP,
y los representa en pantalla. y los representa en pantalla.

La red ethernet del laboratorio puede ser ampliada a internet, ya que en el laboratorio asignamos unas direcciones
IP ficticias.

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 5.5) 40