Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion en Labview
Programacion en Labview
ROGRAMACIN EN AB
3 I.T.I.E.
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
3.-
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 9: tipos de grficos ........................................................................................................... 21 Prctica 10: Nudo frmula. ............................................................................................................. 22 Prctica 11: Estructura CASE .......................................................................................................... 22
4.-
ADQUISICIN DE DATOS.
23
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
3 I.T.I.E.
5.-
BUS GPIB.
32
Historia .................................................................................................................................................................32 Caractersticas mecnicas y elctricas ..............................................................................................................32 Funcionamiento ..................................................................................................................................................33 IEEE 488-2..........................................................................................................................................................35 HS488 ...................................................................................................................................................................35 Conexin labview-dispositivo GPIB ...............................................................................................................36 Envo de comandos............................................................................................................................................36
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
3 I.T.I.E.
Este esquema general o alguna de sus variaciones lo encontraremos en mltiples entornos de los que cabe destacar dos: uno ser el de los procesos industriales y el otro ser el de ensayos y test que englobaremos bajo la denominacin de entorno de laboratorio. ENTORNO INDUSTRIAL En un proceso industrial existirn varios sensores que suministran informacin, convenientemente acondicionada, al elemento controlador del sistema. El elemento controlador, que estar basado en algn microprocesador, recibir la informacin de los sensores directamente o mediante un proceso de comunicacin. Adems de la presentacin de dicha informacin en la forma deseada (generalmente grfica) el elemento controlador dar las ordenes oportunas a los actuadores para mantener el proceso funcionando dentro de los mrgnes previstos.
Sensor Acondicionador Transmisin de datos presentacin
Perturbaciones en el sistema
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
excitaciones actuadores
BUS
SISTEMA BAJO PRUEBA
sensores
usuario
3 I.T.I.E.
En un entorno como el descrito, la tendencia actual es que sea un software especializado quien se encargue del control del sistema, coordinando el funcionamiento de los distintos elementos. Uno de estos programas software es LabView de la multinacional National Instruments. Labview permite recoger, analizar y monitorizar los datos dentro de un entorno de programacin grfico en el que se ensamblan objetos llamados instrumentos virtuales (Vis) para formar el programa de aplicacin con el que interactuar el usuario y que se denomina instrumento virtual. Adems de lo que es la propia representacin de los datos en los paneles interactivos que funcionan como si se tratara de instrumentacin real, permite mltiples opciones de manejo de datos, como su almacenamiento en disco y compartirlos en red o con otras aplicaciones. La interaccin con otras aplicaciones se podr realizar mediante llamadas a libreras de enlace dinmico (DLL: Dinamic Link Library) e intercambio dinmico de datos (DDE: Dynamic Data Exchange) en modo local o mediante TCP/IP en conexiones remotas. Siempre buscando independencia de la plataforma en la que hayamos realizado nuestra aplicacin. La capacidad de comunicacin con otros sistemas ser una cualidad importante en cualquier equipo sistema. Adems de la comunicacin mediante interfaces comunes como el RS-232 o 485, podremos utilizar otros estndares ms especficos de instrumentacin como el IEEE-488 ms conocido como GPIB , el VXI o en entornos industriales mas especficos el CAN.
3 I.T.I.E.
2.- SOFTWARE
CONCEPTO DE INSTRUMENTO VIRTUAL
A diferencia de un instrumento real, que podemos tener en cualquier laboratorio o planta de procesos, y que queda perfectamente definido por unos mandos de control y unos elementos de representacin, un instrumento virtual estar ligado al concepto de software. Este software se ejecutar en un ordenador que tendr alojado unos elementos hardware concretos, tarjetas de adquisicin de datos (analgicos y digitales), tarjetas de interfaz con los buses de instrumentacin y unos canales de control tambin analgicos y digitales. Nuestro instrumento virtual permitir manejar ese hardware mediante una interfaz grfica de usuario (IGU) que se asemejar al panel de mandos de los aparatos habituales (Osciloscopio, multmetro, etc.) Mediante le representacin en pantalla de los elementos grficos de visualizacin y control que servirn de interfaz con el usuario, este observar los estados de las entradas seleccionadas en la pantalla e interactuar con las salidas directamente o mediante la ejecucin de las rutinas que halla programado.
Bsicamente, el software se encargar de comunicar la interfaz de usuario del ordenador con el hardware de adquisicin de datos dotando a la aplicacin de la funcionalidad requerida. Podemos realizar una separacin de las capas o partes del software: Programa de aplicacin, controladores de dispositivo (drivers) y libreras de aplicacin (APIs). PROGRAMA DE APLICACIN El programa de aplicacin, tambin llamado instrumento virtual, consta de dos partes: interfaz de usuario y funcionalidad de la aplicacin:
IGU (Interfaz Grfica de usuario)
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.
3 I.T.I.E.
La funcionalidad del programa incluye tratamiento de seal, control del flujo de programa, control de errores, etc Puede implementarse en lenguajes basados en texto (Visual Basic, C++, LabWindows/CVI, etc.) o puede utilizar lenguaje grfico como LabWiew, Snap Master, DasyLab, HP-VEE, Visual Designer de Burr Brown, etc.. Nuestro estudio se centrar en la programacin bajo el entorno de programacin grfica LabView.
PROGRAMACIN GRFICA
Los procesos programables se definirn mediante un lenguaje grfico en vez de un lenguaje orientado a lneas de cdigo como estamos acostumbrados normalmente. En este tipo de programacin las funciones son bloques que se interconectan entre s, intercambiando la informacin.
GUI
NI-DAQ Configuration utility
TARJETA DAQ
Todas las tarjetas ofrecen estas libreras como complemento software. Es tan importante la documentacin como la variedad y flexibilidad de las libreras.
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.
3 I.T.I.E.
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 7
ADQUISICIN DE DATOS
Prctica 12
Simulacin de adquisicin de datos Escalado de tiempos Grficas en funcin de la frecuencia Analizador de espectro
Prctica 13
Filtrado
3 I.T.I.E.
Etiqueta
LLAMADAS A LA AYUDA: Mediante CONTROL+H o seleccionando la opcin Show Help del men HELP Situndonos sobre cualquier elemento nos informar de su utilidad y que conexiones necesita.
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
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.
Para cambiar la escala del depsito al valor 100, basta con sobrescribir el valor mximo con la herramienta de escritura Podemos realizar el cambio entre las distintas herramientas, flecha, mano, carrete de hilo con la pulsacin del tabulador y el espaciador.
11
3 I.T.I.E.
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
12
3 I.T.I.E.
Para realizar el cambio de la precisin de un dato invocaremos el men contextual pulsando el botn derecho cuando estemos sobre l y seleccionando el submen de REPRESENTATION del men emergente. CONCATENACIN DE CADENAS ALFANUMRICAS FRENTE A SUMA DE NMEROS. La funcin equivalente a la suma de nmeros es la concatenacin de caracteres, que da por resultado una nica cadena formada por otras simples.
Paso A
La concatenacin bsica corresponde con este ejemplo, donde usamos la funcin Funcions/strings/concatenate
strings
Paso B
En el ejemplo siguiente concatenamos varios elementos; algunos de los cuales son el resultado de la conversin de nmeros a cadenas de caracteres.
STRINGS/ADITIONAL../to fractional
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.
13
3 I.T.I.E.
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
Podemos insertar una punta de prueba en cualquier cable del diagrama para visualizar el valor en dicho punto. del men de herramientas, pulsando Para crear esta punta de prueba, seleccionamos la herramienta con el ratn en aquellos puntos de cable donde deseemos saber el valor de la variable.
14
3 I.T.I.E.
CREACIN DE SUBVI'S Son el equivalente a las subrutinas en los lenguajes de programacin basados en texto.Con ellos conseguimos una programacin mejor estructurada y por tanto ms legible as como evitar la repeticin de cdigo. La diferencia respecto a las tradicionales subrutinas es que un subVI puede ejecutarse de forma autnoma sin necesidad de que est incluido en un VI. Al hacer doble click sobre un subVI se abre el panel de control correspondiente a dicho subprograma. Para salvar un VI como fichero lo haremos mediante las distintas opciones del men FILE, SAVE y SAVE AS. Deberemos poner nosotros la extensin .VI ya que por defecto el programa no aade extensin alguna.
Crear un subVI
Partiendo de un VI como el del ultimo ejemplo, crearemos un subVI para utilizarlo posteriormente en otras partes de nuestros VI's. Tendremos que definir unas entradas y unas salidas para posteriormente efectuar las conexiones en el diagrama. Haciendo doble click ( doble pulsacin) sobre el icono de la parte superior derecha del panel de control podemos editar el dibujo que identificar a nuestro subVI.
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.
15
3 I.T.I.E.
Lo haremos mediante el men del diagrama Select a VI.... Lo seleccionaremos de la lista de ficheros y lo pegaremos en la ventana diagrama de nuestro instrumento virtual.
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.
16
3 I.T.I.E.
sequence
Para ello, situaremos la funcin dentro de un bucle While que se ejecutar como mnimo 1 vez hasta que la condicin procedente del botn sea FALSE.
El nmero de decimales que aparecen en el visualizador puede ser modificado mediante la propiedad asociada de su men contextual. Diferenciaremos entre la ejecucin nica del programa, que se detendr cuando pongamos en botn asociado al control del bucle y la parada en la ejecucin mediante el botn de STOP.
OFF
el
PASO B
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:
17
3 I.T.I.E.
PASO A
En la zona izquierda del bucle pinchar con el ratn y pulsar el botn derecho; seleccionar Add Shif Register. Despus en la zona derecha pinchar y seleccionar Add Element Para comprender mejor el efecto del registro de desplazamiento activaremos el modo de depuracin, para ver como evolucionan los valores. Es importante resear la diferencia entre parar un programa correctamente, una vez acabada las acciones contenidas en un bucle o abortar la ejecucin mediante el botn sin ningn control sobre las acciones que han sido ejecutadas y las que han quedado pendientes. PASO B Para visualizar simultaneamente la grafica corresponiente a la media y al valor original; lo haremos mediante la opcin FUNTIONS/CLUSTER/BUNDLE.
18
3 I.T.I.E.
Todas las propiedades del trazado estn accesibles en el men contextual de la leyenda
19
3 I.T.I.E.
PRCTICA 8: MATRICES.
PASO A Construiremos una matriz que contendr las 100 tiradas del dado: Primero, insertar en el panel frontal un array CONTROL/ARRAY & CLUSTER/Array. Despus introducir dentro del control array un visualizador numrico. Los elementos del array se almacenarn en el tnel (punto negro en el marco de la estructura for-loop) si tenemos habilitada la opcin de autoindexado, sino slo el ltimo dato ser pasado al exterior del bucle.
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:
20
3 I.T.I.E.
Observar la diferencia en el grosor del cable del array que sale del bucle FOR. Las funciones para encontrar el mximo y el mnimo del array se encuentran en
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.
21
3 I.T.I.E.
Un ejemplo mas completo y vistoso del uso de la estructura formula-node puede verse en la zona de ejemplos, Examples/General/Graphs/gengraph.llb en el instrumento virtual llamado bouncing cube.vi
Para evitar que pite de forma continua, cambiar la constante de comparacin a un valor 0,999
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.
22
3 I.T.I.E.
Establece que para poder reconstruir una seal muestreada, la velocidad de muestreo fs debe ser al menos el doble de la mayor de las componentes de la seal muestreada:
fs 2 * fmax
En la prctica se toma al menos entre 3 y 5 veces mayor que la frecuencia mxima. Como explicaremos en el prximo punto, esto evita que las frecuencias superiores cercanas a la mxima produzcan aliasing.
Ej.: Las seales de audio recogidas por un micrfono y convertidas a seal elctrica tienen (idealmente) componentes de hasta 20 KHz. Para digitalizar esta informacin y poder reconstruirla despus se debe muestrear a una velocidad mayor de 40 Kmuestras/s. (Los Compact Disc lo hacen a la velocidad normalizada de 44,8 Kmuestras/s) Aliasing (solapamiento)
Seal muestreada a frecuencia inferior a la de Nyquist, aparece el aliasing: Al reconstruir la seal se obtiene otra frecuencia inferior.
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:
23
3 I.T.I.E.
Cuando una seal de frecuencia fx se muestrea a una velocidad fs, su espectro aparece reflejado en fx-fs/2 como puede apreciarse en la siguiente figura:
Solapamiento
En este caso, al muestrear la seal f1, el espectro reflejado f1-fs/2 queda a la izquierda del origen de frecuencias, por lo que no hay problema. Sin embargo al muestrear la seal f2 su espectro reflejado f2-fs/2, se solapa con f1 confundindose con l. De esta forma, la seal f2 interfiere con la seal til f1.
Ejemplo: seal cuadrada de 500 Hz: nicamente nos fijaremos en un ancho de banda limitado a 2 KHz, por lo que idealmente, adems de la fundamental slo debera existir un armnico a 1500 Hz.
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).
24
3 I.T.I.E.
Cuando hablamos de conversores A/D, el valor del bit menos significativo recibe el nombre de LSB.
1LSB =
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.
25
3 I.T.I.E.
Hay que seleccionar el rango (Polaridad y ganancia) de forma que se ajuste al mximo al rango de la seal a medir obteniendo as la MAYOR RESOLUCIN posible. (1 LSB =
Rango dinmico
Expresa la diferencia mxima de magnitud que puede haber entre dos seales de entrada de forma que ambas puedan medirse. Suele expresarse en decibelios (dB).
Ejemplo: DAQ 12 bits, 10 V Mx. tensin medible: 10 V Mn. tensin medible: 1 LSB = 10V/212 = 2'44 mV Rango dinmico = 20 log10 (10 V/[10V/212]) = 20 log10 (212) = 72 dB
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.
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
26
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
27
3 I.T.I.E.
OPCIONAL: Guardar los datos adquiridos en un fichero con formato de hoja de clculo:
28
3 I.T.I.E.
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:
29
3 I.T.I.E.
EJERCICIOS
Mostrar y explicar al profesor el resultado de las siguientes cuestiones: Comprobar mediante los cursores de la grfica temporal que la frecuencia de la seal se corresponde con la que aparece en el espectro. RESOLUCIN ESPECTRAL Se trata de averiguar de forma experimental la relacin que define la resolucin espectral f, para lo cual: 1. Seleccionar el canal 0. 2. Dejar fs constante (cumpliendo Nyquist) y variar el n de muestras N (P. ej. 128, 256, 512). Qu ocurre con el espectro?. Hallar f numricamente. 3. Dejar el n de muestras constante (P. ej. 256) y variar fs cumpliendo Nyquist. Qu ocurre con el espectro?. Hallar f numricamente. 4. A partir de los datos recogidos establecer la ecuacin que define f en funcin de fs y N. ALIASING Configurar el VI de forma que pueda observarse el fenmeno del aliasing. ENVENTANADO Con este ejercicio, trataremos de ver el efecto de realizar la FFT sobre un nmero no entero de periodos de la seal muestreada. Este efecto puede paliarse mediante el uso de ventanas de alisado previas a la FFT. Observar el espectro de amplitud: Qu sucede cuando la velocidad de muestreo es un mltiplo entero de la frecuencia de la seal medida (i.e. fs = n fm) y adems el nmero de muestras por periodo es un nmero entero?. Qu sucede cuando no se dan estas circunstancias?
10,0 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
30
3 I.T.I.E.
5,0 4,5 4,0 3,5 3,0 2,5 2,0 1,5 1,0 0,5 0,0 0 25 50 75 100 125 150 175 200 225 250 Hz
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.
31
3 I.T.I.E.
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.
32
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.
Los dispositivos conectados al bus pueden adoptar uno o varios de los roles definidos: Hablante, escuchador y controlador.
ESCUCHADOR (LISTENER)
Capaz de recibir datos de la interfaz cuando est direccionado (habilitado) por el controlador. Puede haber hasta 14 escuchadores activos simultaneamente en el bus. Dispositivos escuchadores pueden ser por ejemplo una impresora, un generador de funciones, etc..
HABLANTE (TALKER)
Un hablante, cuando se le ha direccionado, enva mensajes a uno o varios escuchadores que reciben los datos. Por ejemplo un osciloscopio puede actuar como hablante y como escuchador. Slo puede haber un hablante activo sobre la interfaz.
CONTROLADOR
Gestiona el flujo de informacin en el bus enviando comandos a todos los dispositivos. El controlador es capaz de direccionar (habilitar) a un hablante que quiera enviar un mensaje a varios escuchadores, permitiendo una operacin de transferencia de datos. l mismo puede ejercer de emisor o receptor.
Se podra configurar un bus sin dispositivo controlador y en el que hubiera un dispositivo con capacidad nicamente de hablante y varios con capacidad nicamente de escucha.
33
3 I.T.I.E.
La funcin de controlador la suele realizar un dispositivo conectado al ordenador (Tarjeta ISA, PCI, PCMCIA, etc.) que habitualmente tiene adems capacidad de hablante y escuchador. En sistemas con varios controladores slo uno puede estar actuando como tal. El controlador activo puede pasar el mando del bus a otro controlador que se halle inactivo.
Lineas segn su funcin
LINEAS DE DATOS
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
3 I.T.I.E.
EOI (End Or Identify): Tiene dos funciones; el hablante activa esta linea para indicar el ltimo byte de un dato a los receptores activos. Con ATN a "1", la activacin de esta lnea indica que el controlador realiza un sondeo paralelo.
IEEE 488-2 Viene a paliar los problemas que arrastra el estndar desde el veterano IEEE 488.1. Se mantiene la compatibilidad con IEEE 488.1, pero los beneficios del nuevo estndar slo se obtienen cuando se tiene un sistema totalmente compatible IEEE 488.2 Normaliza el lenguaje de programacin de los dispositivos incorporanto el estndar SCPI.
SCPI (Standar Commands for Programmable Intruments)
Una de las cosas que no define el estndar IEEE 488.1 es la estructura y sintaxis del lenguaje que se usa para programar los dispositivos, lo que provoca que p. ej. un programa elaborado para un osciloscopio no funcione con un osciloscopio de otra marca. Esto aumenta el trabajo de los programadores y por tanto los costes de desarrollo y mantenimiento. Podemos comparar el problema con el caso de las lineas telefnicas: puedo establecer una comunicacin con China por que las lineas son compatibles, pero si no conozco el idioma, no lograr que el hablante y el escuchador se entiendan. SCPI viene a solventar esa dificultad idiomtica entre instrumentos definiendo un estructura y sintaxis comn del lenguaje. HS488 Es una propuesta de la compaia National Instruments para la mejora de las velocidades de transmisin de la norma 488. Entre dos dispositivos compatibles HS488 separados por 2 metros de cable se pueden alcanzar de hasta 8 MB/s. En un sistema con 15 dispositivos y 15 metros de cable la velocidad puede alcanzar 15 MB/s
35
3 I.T.I.E.
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.
36
3 I.T.I.E.
Entre los comandos que admite el generador de funciones HM-8130 tenemos por ejemplo: SIN Genera a la salida la onda senoidal de los valores seleccionados OT0 Desactiva y OT1 activa la salida de seal. OF0 Desactiva la tensin de Offset en la salida y OF1 la activa. DFR Visualiza la frecuencia. DAM Visualiza la amplitud LK1 Bloquea la botonera del generador para impedir su manejo en modo local. LK0 lo desbloquea. Otros comandos que precisan adjuntar un dato son por ejemplo:
FRQ:dato AMP:dato OFS:dato
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.
37
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.
En general es interesantre para el usuario que la interfaz de nuestro VI se parezca lo ms posible al panel frontal del instrumento real. Colocaremos mandos para todas las funciones que necesitemos controlar.
38
3 I.T.I.E.
Por razones didcticas, hemos aadido un visualizador de la cadena que se enviar al instrumento. El diagrama de bloques que debemos implementar es el siguiente:
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.
39
3 I.T.I.E.
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.
SERVIDOR DE COMANDOS Ordenador que enva las cadenas de control GPIB. El VI mostrar en el panel una cartula similar a la del Instrumento a controlar.
Uno de los ordenadores, el que tiene la tarjeta de adquisicin, manda a los otros, mediante TCP-IP por la red ethernet, la seal capturada.
Red Ethernet del laboratorio.
CLIENTE DE SEAL. Ordenador que recibe la seal capturada por la tarjeta situada en otro ordenador, va TCP-IP, y los representa en pantalla.
CLIENTE DE SEAL. Ordenador que recibe la seal capturada por la tarjeta situada en otro ordenador, va TCP-IP, y los representa en pantalla.
Sensor
La red ethernet del laboratorio puede ser ampliada a internet, ya que en el laboratorio asignamos unas direcciones IP ficticias.
40