labview-filtros

Upload: lcharly007

Post on 11-Jul-2015

696 views

Category:

Documents


0 download

TRANSCRIPT

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)

2

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

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

9

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....................................................................................................................................................................17Prctica 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........................................................................................................................................................30PRCTICA 13: filtrado .................................................................................................................... 31

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

3

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

5.-

BUS GPIB.

32

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

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)

4

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

1.- INTRODUCCIN A LOS SISTEMAS DE ADQUISICINEl 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

BUSSISTEMA BAJO PRUEBA

sensores

usuario

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

5

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

En un entorno como el descrito, la tendencia actual es que sea un software especializado quien se encargue del control del sistema, coordinando el funcionamiento de los distintos elementos. Uno de estos programas software es LabView de la multinacional National Instruments. Labview permite recoger, analizar y monitorizar los datos dentro de un entorno de programacin grfico en el que se ensamblan objetos llamados instrumentos virtuales (Vis) para formar el programa de aplicacin con el que interactuar el usuario y que se denomina instrumento virtual. Adems de lo que es la propia representacin de los datos en los paneles interactivos que funcionan como si se tratara de instrumentacin real, permite mltiples opciones de manejo de datos, como su almacenamiento en disco y compartirlos en red o con otras aplicaciones. La interaccin con otras aplicaciones se podr realizar mediante llamadas a libreras de enlace dinmico (DLL: Dinamic Link Library) e intercambio dinmico de datos (DDE: Dynamic Data Exchange) en modo local o mediante TCP/IP en conexiones remotas. Siempre buscando independencia de la plataforma en la que hayamos realizado nuestra aplicacin. La capacidad de comunicacin con otros sistemas ser una cualidad importante en cualquier equipo sistema. Adems de la comunicacin mediante interfaces comunes como el RS-232 o 485, podremos utilizar otros estndares ms especficos de instrumentacin como el IEEE-488 ms conocido como GPIB , el VXI o en entornos industriales mas especficos el CAN.

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

6

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

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

ESTRUCTURA DEL SOFTWARE

Bsicamente, el software se encargar de comunicar la interfaz de usuario del ordenador con el hardware de adquisicin de datos dotando a la aplicacin de la funcionalidad requerida. Podemos realizar una separacin de las capas o partes del software: Programa de aplicacin, controladores de dispositivo (drivers) y libreras de aplicacin (APIs). PROGRAMA DE APLICACIN El programa de aplicacin, tambin llamado instrumento virtual, consta de dos partes: interfaz de usuario y funcionalidad de la aplicacin:IGU (Interfaz Grfica de usuario)

Permite la interaccin de la aplicacin con el usuario. Bsicamente consta de controles e indicadores para visualizacin e introduccin de datos. La mayora de entornos de programacin disponen de libreras de controles e indicadores creados que evitan una gran cantidad de trabajo al usuario.Funcionalidad de la aplicacin

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

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

7

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

La funcionalidad del programa incluye tratamiento de seal, control del flujo de programa, control de errores, etc Puede implementarse en lenguajes basados en texto (Visual Basic, C++, LabWindows/CVI, etc.) o puede utilizar lenguaje grfico como LabWiew, Snap Master, DasyLab, HP-VEE, Visual Designer de Burr Brown, etc.. Nuestro estudio se centrar en la programacin bajo el entorno de programacin grfica LabView.PROGRAMACIN GRFICA

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

SOFTWARE CONTROLADOR DE DISPOSITIVOEl 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).

GUINI-DAQ Configuration utility

Registro de Windows NI-DAQ.DLL DAQ.DRV

TARJETA DAQ

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

P. EJ. NI-DAQ DE NATIONAL INSTRUMENTS

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

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

8

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

3.- PRCTICAS DE INICIACIN A LABVIEWLas 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 11Grficas Chart y graph Nodo frmula Estructuras 'case'

ADQUISICIN DE DATOS

Prctica 12Simulacin de adquisicin de datos Escalado de tiempos Grficas en funcin de la frecuencia Analizador de espectro

Prctica 13

Filtrado

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

9

PRCTICAS DE INSTRUMENTACIN ELECTRNICA

3 I.T.I.E.

PRCTICA 1: REALIZAR LA SUMA DE 2 NMEROSINSERTAR 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 CONTROLESPartiendo 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 pincelLa 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/concatenatestrings

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 BSICOSLa 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'SPartiendo 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-LOOPLa 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 ELECTRNICALa 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 BDialog/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 DESPLAZAMIENTOVeremos 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 GRFICOSComparar 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 enMax & 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 ARRAYOPCIONAL: 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 CASEEsta 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 MUESTREOTeorema 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 DATOSFUNCIONES 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 amplitudCanal 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 voltiosCanal 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 enAnalisys/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.

EJERCICIOSMostrar 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 ELECTRNICA5,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: FILTRADOEl 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