Está en la página 1de 40

INTRODUCCIN A LA INSTRUMENTACIN VIRTUAL. NTRODUCCIN A LA NSTRUMENTACIN IRTUAL PROGRAMACIN EN LABVIEW.

ROGRAMACIN EN AB

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)

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

INDICE
1.2.INTRODUCCIN A LOS SISTEMAS DE ADQUISICIN SOFTWARE 5 7

CONCEPTO DE INSTRUMENTO VIRTUAL .......................................................................................... 7 Estructura del software .................................................................................................................... 7 SOFTWARE CONTROLADOR DE DISPOSITIVO ................................................................................. 8

Programa de aplicacin ........................................................................................................................................7

3.-

PRACTICAS DE INICIACIN A LABVIEW

Prctica 1: Realizar la suma de 2 nmeros ................................................................................... 10

Prctica 2: Otras operaciones y controles ...................................................................................... 11

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

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

Prctica 4: Utilizacin de subVI's.................................................................................................. 16 Prctica 5: Secuencia While-loop.................................................................................................. 16

Tcnicas de depuracin:.....................................................................................................................................14 Creacin de SubVI's ...........................................................................................................................................15

paso a ....................................................................................................................................................................16 paso b....................................................................................................................................................................17


Prctica 6: registros de desplazamiento ....................................................................................... 18

Prctica 7: Bucle For. .................................................................................................................... 19 Prctica 8: MATRICES. .................................................................................................................. 20

paso a ....................................................................................................................................................................18 paso b....................................................................................................................................................................18 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

Prctica 12: adquisicin de datos ................................................................................................... 26

Velocidad de muestreo.......................................................................................................................................23 Resolucin............................................................................................................................................................24 Rango ....................................................................................................................................................................25 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)

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

5.-

BUS GPIB.

32

Introduccin al bus GPIB................................................................................................................ 32

Programacin con LabVIEW ........................................................................................................... 36

Historia .................................................................................................................................................................32 Caractersticas mecnicas y elctricas ..............................................................................................................32 Funcionamiento ..................................................................................................................................................33 IEEE 488-2..........................................................................................................................................................35 HS488 ...................................................................................................................................................................35 Conexin labview-dispositivo GPIB ...............................................................................................................36 Envo de comandos............................................................................................................................................36

Recepcin de respuestas ................................................................................................................ 37 Aplicaciones EN RED ....................................................................................................................... 39

Obtencin de datos de la cadena de respuesta de un instrumento:............................................................38 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)

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

Perturbaciones en el sistema

SISTEMA Controlador acondicionador Transmision de ordenes

actuador

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 Adquisicin

excitaciones actuadores

BUS
SISTEMA BAJO PRUEBA

sensores

usuario

Introduccin a la Instrumentacin Virtual. Programacin en LabVIEW (Ver. 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)

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)

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)

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. Cambio de los controladores numricos por otros grficos. Tipos de datos Suma de cadenas de caracteres. Ejecucin en modo depuracin. Concepto de instrumento virtual (VI) Creacion de instrumentos virtuales. Incorporacin de subVI Jerarqua de programa. Secuencia While-Loop Grficas

Practica 2:

Prctica 3:

Prctica 4 Prctica 5 Prctica 6

Registro de desplazamiento 'Bundle' Bucles 'For'

Prctica 7

Prctica 8 Arrays de elementos Prctica 9 Prctica 10 Prctica 11


Grficas Chart y graph Nodo frmula 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)

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 el programa se ejecutar continuamente, por lo que si cambiamos los valores de los Si pulsamos el botn controles el resultado se refrescara instantneamente. ) , respectivamente, podremos detener la ejecucin Pulsando sobre los botones de abortar o pausa, ( 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 Nmero negativo mnimo Nmero negativo mximo 1,5 E-45 -3,4 E38 5,0 E-324 -1,7 E308 1,9 E-4951 -1,1 E4932 -1,5 E-45 -5,0 E-324 -1,9 E-4951

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:

Ordenador de Control

Tarjeta 1

Sensor

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. 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.

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.

conector

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. 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


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

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.

FORMAT & PRECISSION

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
Dialog/Wait Until Next ms Multiple,

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:

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
Max & min

FUNTIONS/ARRAY/Array

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

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

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 (212=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.
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)

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 obteniendo as la MAYOR RESOLUCIN posible. (1 LSB =
Rango dinmico

Rango Voltios) Ganancia 2 N

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: 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
Canal 0

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

26

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

Seal triangular de 750 Hz. 0.125 voltios de amplitud 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
Canal 3 Canal 4

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 7,5 5,0 2,5 0,0 -2,5 -5,0 -7,5 -10,0 0 25 75 125 175 225 275 325 375 425 ms 10,0 7,5 5,0 2,5 0,0 -2,5 -5,0 -7,5 -10,0 0 25 75 125 175 225 275 325 375 425 ms

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

30

PRCTICAS DE INSTRUMENTACIN ELECTRNICA


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

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 0 25 50 75 100 125 150 175 200 225 250 Hz

PRCTICA 13: FILTRADO


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

N out = N in

1 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 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

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

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

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.

Dependientes del dispositivo:

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

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

Red de instrumentos GPIB

Drivers hardware (gpibpci.sys, etc)


Ordenador de Control

bus GPIB Instrumento GPIB HM 8130

1 Tarjeta interfaz GPIB

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 AMP:dato OFS:dato

Sita la frecuencia de la seal en el valor de dato (Hz). Sita la amplitud de salida segn dato (Voltios). 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 Se encuentra en el grupo de funciones Time &

Originalmente DATA

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:

String/concatenate strings

La funcin se encuentra en

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.

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 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.

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.

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.

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

40