Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion en Labview
Programacion en Labview
NTTR
RO
OD
DU
UC
CC
CII
N
NA
A LLA
A IN
NS
STTR
RU
UM
MEEN
NTTA
AC
CII
N
N VIIR
RTTU
UA
ALL.
PRRO
OG
GR
RA
AM
MA
AC
CII
N
N EEN
N LA
AB
BVIEW.
3 I.T.I.E.
3 I.T.I.E.
INDICE
1.-
2.-
SOFTWARE
3.-
Tcnicas de depuracin:.....................................................................................................................................14
Creacin de SubVI's ...........................................................................................................................................15
paso a ....................................................................................................................................................................16
paso b....................................................................................................................................................................17
Prctica 6: registros de desplazamiento ....................................................................................... 18
paso a ....................................................................................................................................................................18
paso b....................................................................................................................................................................18
paso a ....................................................................................................................................................................20
paso b....................................................................................................................................................................20
4.-
ADQUISICIN DE DATOS.
23
Velocidad de muestreo.......................................................................................................................................23
Resolucin............................................................................................................................................................24
Rango ....................................................................................................................................................................25
# Ejercicios..................................................................................................................................... 30
5.-
BUS GPIB.
3 I.T.I.E.
32
Historia .................................................................................................................................................................32
Caractersticas mecnicas y elctricas ..............................................................................................................32
Funcionamiento ..................................................................................................................................................33
IEEE 488-2..........................................................................................................................................................35
HS488 ...................................................................................................................................................................35
3 I.T.I.E.
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
Perturbaciones
en el sistema
Acondicionador
Transmisin de datos
presentacin
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
excitaciones
actuadores
BUS
SISTEMA BAJO
PRUEBA
Aparatos de medida
Sistemas de
Adquisicin
sensores
usuario
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.
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.
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)
Una de las funciones bsicas ser la de obtener datos del hardware de forma transparente al usuario.
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.
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.
3 I.T.I.E.
Practica 1:
Practica 2:
Prctica 3:
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
3 I.T.I.E.
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
10
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.
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.
11
3 I.T.I.E.
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:
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
-3,4 E38
-1,7 E308
1,9 E-4951
-1,1 E4932
12
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
13
3 I.T.I.E.
Ordenador de Control
Tarjeta 1
Sensor
Tarjeta 2
Seleccionando el botn
Podemos insertar una punta de prueba en cualquier cable del diagrama para visualizar el valor en dicho punto.
del men de herramientas, pulsando
Para crear esta punta de prueba, seleccionamos la herramienta
con el ratn en aquellos puntos de cable donde deseemos saber el valor de la variable.
14
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
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.
conector
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.
15
3 I.T.I.E.
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
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.
16
3 I.T.I.E.
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
de su men contextual.
Diferenciaremos entre la ejecucin nica del programa, que se detendr cuando pongamos en
botn asociado al control del bucle y la parada en la ejecucin mediante el botn de STOP.
OFF
el
PASO B
Podemos incluir un retardo entre la generacin de uno y otro punto mediante la funcin FUNTIONS/Time &
tal y como puede verse en la siguiente figura:
17
3 I.T.I.E.
El promedio se
realiza sobre 4
muestras
PASO A
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.
18
3 I.T.I.E.
19
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.
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:
20
3 I.T.I.E.
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
21
3 I.T.I.E.
Functions/analysis
/probability and
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
Para evitar que pite de forma continua, cambiar la constante de comparacin a un valor 0,999
22
3 I.T.I.E.
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)
Seal muestreada a frecuencia inferior a la de Nyquist, aparece el aliasing: Al reconstruir la seal se obtiene otra frecuencia
inferior.
Supongamos una seal de inters f1 y otra interferente f2 como pueden verse en la siguiente figura:
23
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.
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 (212=4096).
24
3 I.T.I.E.
Cuando hablamos de conversores A/D, el valor del bit menos significativo recibe el nombre de LSB.
1LSB =
Rango
Rango
(Voltios)
=
n cuentas
2 n 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.
1LSB =
Rango
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)
25
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
obteniendo as la MAYOR RESOLUCIN posible. (1 LSB =
Rango
Voltios)
Ganancia 2 N
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
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:
26
3 I.T.I.E.
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.
27
3 I.T.I.E.
OPCIONAL:
Guardar los datos adquiridos en un fichero con formato de hoja de clculo:
28
3 I.T.I.E.
La funcin se encuentra en
Analisys/Measurement
29
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
ms
0 25
75
125
175
225
275
325
375
425
ms
30
3 I.T.I.E.
5,0
4,5
4,0
3,5
3,0
2,5
2,0
1,5
1,0
0,5
0,0
25
50
75
100
125
150
175
200
225
250
25
50
75
100
125
Hz
150
175
200
225
250
Hz
N out
=
N in
1
n 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
EJEMPLO:
1,0
0,0
-1,0
-2,0
2,0
1,0
0,0
-1,0
-2,0
2,0
1,0
0,0
-1,0
-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.
31
3 I.T.I.E.
32
3 I.T.I.E.
FUNCIONAMIENTO
Los dispositivos conectados al bus se comunican entre ellos mediante mensajes
Tipos de mensajes
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.
33
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
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
34
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
35
3 I.T.I.E.
Red de
instrumentos
GPIB
Libreria de funciones
GPIB
(Gpib-32.dll, etc)
Drivers hardware
(gpibpci.sys, etc)
bus GPIB
Ordenador de Control
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.
36
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
AMP:dato
OFS:dato
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
Originalmente
DATA
La conexin puede
realizarse por detrs
del VI, engaando
en apariencia.
Realizar seguimiento
de la conexin
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.
37
3 I.T.I.E.
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.
38
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
strings
La funcin se encuentra en
String/select & append
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.
39
3 I.T.I.E.
Red de
instrumentos
GPIB
CLIENTE DE COMANDOS.
Tarjeta controladora
Ordenador que recibe
bus GPIB
los comandos de la red ethernet,
va TCP-IP
y los enva al instrumento
mediante la tarjeta GPIB.
Instrumento GPIB
HM 8130
SERVIDOR DE COMANDOS
Ordenador que enva
las cadenas de control GPIB.
El VI mostrar en el panel
una cartula similar a la del
Instrumento a controlar.
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.
CLIENTE DE SEAL.
Ordenador que recibe
la seal capturada por
la tarjeta situada en otro ordenador,
va TCP-IP,
y los representa en pantalla.
CLIENTE DE SEAL.
Ordenador que recibe
la seal capturada por
la tarjeta situada en otro ordenador,
va TCP-IP,
y los representa en pantalla.
SERVIDOR DE SEAL
Ordenador que enva
la seal capturada a
la red de ordenadores.
Tarjeta Adquisicin.
Lab-PC-1200
Sensor
La red ethernet del laboratorio puede ser ampliada a internet, ya que en el laboratorio asignamos unas direcciones
IP ficticias.
40