introducción a la instrumentación virtual. el entorno de …petrus.upc.es/ · la utilizacin...

16
Práctica 1: Introducción a la Instrumentación Virtual. El entorno de trabajo Labview 4.0 1. - Introducción a la Instrumentación Virtual. Control de Instrumentos desde el ordenador. Automatización de medidas Muchas veces la realización de una medida requiere la intervención de varios instrumentos, unos generan estímulos sobre el dispositivo que se pretende medir, y otros recogen la respuesta a estos estímulos. Este conjunto de instrumentos que hace posible la realización de la medida, recibe el nombre de sistema de instrumentación. Todo sistema de instrumentación consta de unos instrumentos, un sistema de interconexión de estos instrumentos y un controlador inteligente que gestiona el funcionamiento de todo el sistema y da las ó rdenes para que una medida se realice correctamente. La utilización manual de instrumentos para realizar medidas es prácticamente un hecho aislado, s ó lo en los procesos de investigación y desarrollo de nuevos prototipos, o en entornos docentes es una práctica habitual. A nivel industrial las medidas para el control de un determinado proceso, las pruebas funcionales sobre un equipo o el control de calidad de la producci ón se realizan de manera automá tica. La automatización de las medidas requiere que los instrumentos gocen de un cierto grado de inteligencia para que puedan ser gobernados por un controlador que se comunica con los instrumentos a través de un BUS de instrumentación (GPIB, VXI, RS232...). La figura 1 muestra un sistema de instrumentación virtual Figura 1 Sistema de Instrumentación virtual (National Instruments Inc.)

Upload: vancong

Post on 23-Sep-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Práctica 1:

Introducción a la Instrumentación Virtual. Elentorno de trabajo Labview 4.0

1. - Introducción a la Instrumentación Virtual. Control deInstrumentos desde el ordenador. Automatización de medidas

Muchas veces la realizaci ón de una medida requiere la intervenci ón de variosinstrumentos, unos generan est ímulos sobre el dispositivo que se pretende medir, y otrosrecogen la respuesta a estos est ímulos. Este conjunto de instrumentos que hace posiblela realizaci ón de la medida, recibe el nombre de sistema de instrumentaci ón. Todosistema de instrumentaci ón consta de unos instrumentos, un sistema de interconexi ón deestos instrumentos y un controlador inteligente que gestiona el funcionamiento de todoel sistema y da las órdenes para que una medida se realice correctamente.

La utilizaci ón manual de instrumentos para realizar medidas es pr ácticamente unhecho aislado, s ólo en los procesos de investigaci ón y desarrollo de nuevos prototipos, oen entornos docentes es una pr áctica habitual. A nivel industrial las medidas para elcontrol de un determinado proceso, las pruebas funcionales sobre un equipo o el controlde calidad de la producci ón se realizan de manera autom át ica. La automatizaci ón de lasmedidas requiere que los instrumentos gocen de un cierto grado de inteligencia para quepuedan ser gobernados por un controlador que se comunica con los instrumentos atrav és de un BUS de instrumentaci ón (GPIB, VXI, RS232...). La figura 1 muestra unsistema de instrumentaci ón virtual

Figura 1 Sistema de Instrumentación virtual (National Instruments Inc.)

Los inicios de la instrumentaci ón controlable desde el ordenador, y de hecho delos sistemas de instrumentaci ón, se sit úan a mediados de los a ños 60 cuando HewlettPackard, desarroll ó su bus para instrumentaci ón HP-IB (Hewlett Packard Interface Bus)que permit ía conectar su gama de instrumentos programables a un ordenador. Estainterfase gan ó r ápidamente gran popularidad y en 1975 fue aceptada como un standard:el IEEE-488. Desde aquellos d ías hasta ahora el standard ha sufrido variasmodificaciones y el bus GPIB (acr ónimo de General Purpose Interface Bus, por el quese le conoce habitualmente) se ha convertido en uno de los m ás populares en el campode la instrumentaci ón programable.

Pero no es lo mismo hablar de instrumentaci ón controlable por ordenador que deinstrumentaci ón virtual. De la primera a la segunda existe un salto importante, salto queha sido posible gracias a los avances en el campo de la inform át ica. Hablar deinstrumentos virtuales es hablar de un software que se ejecuta sobre el controlador, quepermite independizarnos de los instrumentos reales y de la forma de interconectarlos.En muchas ocasiones el usuario final del sistema de instrumentaci ón s ólo ve losinstrumentos virtuales en la pantalla del ordenador.

La forma habitual de construir un sistema de instrumentaci ón virtual, a partir delos instrumentos controlables que tenemos disponibles y de tarjetas de adquisici ónconectadas directamente al bus del controlador es utilizar un software comercial quefacilite esta tarea. Existen varias posibilidades pero se pueden resumir en dos grandesgrupos, los entornos de programaci ón de tipo lingüístico y los entornos deprogramaci ón gr áficos. Adem ás de este software necesitaremos una tarjeta controladora(GPIB en nuestro caso) dentro del ordenador para que act úe de controlador, y losdrivers de control de los instrumentos que los suele facilitar el fabricante del entorno deprogramaci ón.

Para la realizaci ón de estas pr ácticas, utilizaremos la tarjeta controladora GPIB-PCIIA de National Instruments, junto con una tarjeta de adquisici ón de datos del mismofabricante (PCLab+). El entorno de trabajo es un entorno gr áfico de programaci ón,LabView 4.0 .

2.- Introducción a LabView 4.1

La palabra LabView esta formada por las iniciales de Laboratory VirtualInstrument Engineering Workbench. Es un entorno gr áfico para el desarrollo deaplicaciones en el campo de la instrumentaci ón, desde la adquisici ón de datos hasta elcontrol remoto de instrumentos. El entorno dispone de librer ías matem áticas, para elan álisis de datos y de los drivers de control de varios instrumentos.

Los programas de Labview se denominan instrumentos virtuales, VI, por quesu apariencia es la de un instrumento de laboratorio. Estos VI son equivalentes a lasfunciones de C o a los procedimientos de Pascal.

Un VI consta de dos partes bien diferenciadas, el Panel Frontal (Front Panel) yel Diagrama de Bloques (Block Diagram). El panel frontal es la interfase del

programa con el usuario, en él est án representadas todas las entradas y salidas delprograma. Por analog ía a un instrumento real, las entradas del panel frontal se llamancontroles y las salidas indicadores. El diagrama de bloques es el c ódigo deprogramaci ón escrito en lenguaje gr áfico. Los distintos componentes del diagrama debloques son los nodos del programa. Los componentes est án interconectados unos conotros. Estas interconexiones definen el flujo de datos en el diagrama de bloques. Lafigura 2 contiene el panel frontal y el diagrama de bloques de un VI .

Figura 2: Panel frontal y diagrama de bloques de un VI.

3.- Programación con LabView 4.1

Para empezar un programa en Labview, en la ventana que aparece cuandoabrimos el programa debemos seleccionar la opci ón New VI, aparecer án entonces dosventanas vac ías, una correspondiente al panel frontal y una correspondiente al diagramade bloques.

El dise ño del programa se suele empezar en el panel frontal. Se debe decidircomo ser á la interfase de usuario, es decir que entradas y salidas tendr á el programa.Veamos un ejemplo de c ómo se realiza este dise ño.

se ñal sinusoidal del cual podemos variar laamplitud entre 0 y 10. La frecuencia de la se ñal será fija. Como par ámetros de entradanecesitaremos un control para la amplitud y un control de puesta en marcha. Comosalida necesitaremos un indicador que nos permita visualizar la se ñal generada.

Nos situamos sobre el panel de control. Deben aparecer dos paletas flotantes,una paleta de herramientas que sirve para editar, modificar y depurar VI’s y la paleta decontroles que sirve para crear el panel frontal (figura 3 ). Si alguna de estas dos paletasno es visible se debe activar show Tools palette o show Controls palette de la opci ónwindows de la barra de men ú superior.

Figura 3 Paletas de herramientas, controles y funciones

En la paleta de controles seleccionaremos los controles num éricos y de entreellos un control circular (Knob) y lo colocaremos sobre el panel frontal. A continuaci ónescribiremos el nombre de este control (amplitud).

Figura 4. Controles numéricosPodemos observar que al situar un elemento sobre el panelfrontal, aparece también en el diagrama de bloques una referencia a esteelemento que lleva el mismo nombre. En este caso es un cuadrado con líneadoble de color naranja que indica que es una entrada de un número entero(figura 5).

Figura 5. Panel frontal y diagrama de bloques después de insertar el control numérico

Si no se ha podido escribir el nombre del indicador, situarse sobre el mismo yapretar el bot ón derecho del mouse. Aparecer á un men ú desplegable con las opciones deedici ón de este control (figura 6)

Figura 6 Men ú desplegable de un control

Seleccionar Show Label y escribir ahora el nombre del control. Observar queadem ás del control circular existe un indicador digital con el valor de la amplitudseleccionado. Este indicador se puede ocultar si se desea.

Una vez fijado el control de la amplitud de la se ñal de entrada colocaremos en elpanel frontal el control que nos permita la puesta en marcha del generador. En este casoseleccionaremos los controles booleanos de la paleta de controles y escogeremos unbot ón que nos permita poner en marcha el generador (figura 7).

Figura 7 Controles booleanos

Ahora en el diagrama de bloques ha aparecido una referencia al bot ón quehemos situado en al panel frontal un cuadrado con doble l ínea de color verde con lainscripci ón TF en su interior. La doble l ínea nos indica que es un control (una entrada)el color verde indica que es un dato booleano (figura 8).

Figura 8 Panel frontal y diagrama de bloques tras insertar los dos controles de entrada

Ahora que ya tenemos definidas todas las entradas al programa definiremos la salida. Ennuestro caso un indicador que nos permita visualizar la se ñal generada. En la paleta decontroles seleccionaremos el grupo indicadores gr áficos y de entre ellos el waveformgraph (permite dibujar una gr áfica en funci ón de su índice) (figura 9).

Figura 9 Panel frontal y diagrama de bloques después de insertar los dos controles y elindicador.

Una vez m ás en el diagrama de bloques ha aparecido una referencia al indicadordel panel frontal, en este caso un rect ángulo de color naranja con l ínea simple indicandoque es una salida de n úmeros enteros. Al final de esta primera pr áctica aparece unareferencia con los c ódigos de colores y de grosor de l íneas para los distintos tipos dedatos.

Ahora que tenemos el panel frontal definido, pasaremos a la construcci ón deldiagrama de bloques. Activaremos la paleta de funciones de la misma manera que lapaleta de controles del panel frontal y en ella seleccionaremos la subpaleta de an álisis,dentro de ella la generaci ón de funciones y dentro de esta última un VI que nos generauna forma de onda sinusoidal (figura 10)

Figura 10: Subpaleta de an álisis y subpaleta de generación de funciones.

En el diagrama de bloques, debemos realizar las conexiones de los distintoselementos que indiquen el flujo con que se van a realizar las distintas operaciones. Paraestablecer estas conexiones, seleccionaremos de la paleta de herramientas el carrete dehilo.

Antes de empezar las conexiones veamos qu é entradas y salidas tiene el VI quenos genera (la se ñal senoidal). Para ello nos situamos sobre el icono y apretamos el

bot ón de la derecha del mouse. Aparecer á un men ú desplegable donde podemosonline help. A trav és de ella se activa una ayuda donde aparece

una descripci ón completa de la funci ón.

La figura 11 muestra las entradas y las salidas de este VI.

Figura 11: Conexiones del VI que genera la señal sinusoidal.

Como entradas debemos definir el n úmero de muestras de la se ñal, la amplitud,la fase en grados y el n úmero de ciclos a visualizar. Como salidas nos da un vector denumeros correspondientes a las muestras de una seña l senoidal y una se ñal de error.

En nuestro caso, el n úmero de muestras, la fase y el n úmero de ciclos sonconstantes num éricas. Para fijar su valor, seleccionaremos de la paleta de funciones laopci ón numeric y dentro de ella escogeremos una constante y escribiremos su valor, porejemplo 1024 muestras, 30º de desfase y 2,5 ciclos. A continuaci ón uniremos cada unade estas constantes con la entrada correspondiente de la funci ón seno mediante elcarrete de hilo. Finalmente uniremos la salida de se ñal con el indicador visual. Elaspecto del diagrama de bloques debe ser parecido al de la figura 12.

Figura 12: Diagrama de bloques tras realizar las conexiones.

El control del funcionamiento del generador, se realiza a trav és del interruptorON/OFF cuya representaci ón en el diagrama de bloques es un indicador booleano (T/F).Este indicador lo utilizaremos como control de un bucle while que controle lageneraci ón de se ñal. Para crear este bucle, seleccionaremos la opci ón estructuras de lapaleta de funciones y dentro de ésta el bucle while. Nos situaremos en el externosuperior derecho del ‘c ódigo del programa’ y arrastraremos el mouse hasta envolver

todo el gr áfico que debe controlar el bucle, manteniendo apretado el bot ón izquierdo delmouse.

Ahora debemos conectar el indicador T/F al control del bucle (una flecha enforma circular de color verde). En la Figura 13 se encuentra el diagrama de bloques delgenerador.

Figura 13. Diagrama de bloques del generador de señal senoidal

Antes de continuar, salvaremos el programa realizado. Para ello vamos al men úy escogemos la opci ón para guardar el fichero save as.

4. - Ejecución de un programa con LabView 4.1

Existen varias formas de ejecutar un programa en LabView. Las distintasopciones pueden encontrarse en la barra de tareas del diagrama de bloques (figura 14):

Figura 14: Barra de tareas del diagrama de bloques

A continuaci ón se describen las distintas opciones de ejecuci ón:

Ejecuci ón del programa. LabView compilar á el programa si es necesario.

Mientras se esta ejecutando el programa el bot ón anterior cambia de aspecto yse transforma en la imagen de la izquierda

Si se est á ejecutando un subVI el bot ón de ejecución se transforma en el de laizquierda.

Ejecuci ón continua hasta que se aprieta el bot ón de pausa o se finaliza la

Inicio de ejecuci ón paso a paso. Ejecuta una estructura o un subVI se para en elsiguiente nodo.

Ejecuta el primer paso de una estructura o un subVI y se para antes de ejecutar elsiguiente paso.

Finaliza la ejecuci ón de una estructura, diagrama de bloques o VI y se para

Adem ás de estas opciones se puede ejecutar el programa en modo ‘highlight’.Este modo de ejecuci ón permite ver una animaci ón de c ómo se ejecuta el VI

Cuando al ejecutar un VI existen errores aparece una ventana como la de la figura 15con una lista de los errores que se han encontrado.

Si nos situamos con el cursor sobre uno de los errores apretando el bot ón Find, se indicad ónde est á el error en el diagrama de bloques.

Aunque un VI no d é errores de ejecuci ón, puede ser que no est é realizando la

Figura 15. Lista de errores

funci ón que esper ábamos. Para poder depurar el funcionamiento existen dosherramientas: probe y breakpoint. La primera nos permite visualizar el valor de undato mientras fluye en el diagrama de bloques. La segunda nos permite establecer unpunto de interrupci ón en el programa. Ambas se encuentran en la paleta deherramientas.

En un VI pueden existir varias funciones que se ejecuten simult áneamente. Dehecho, el único requisito para que se ejecute un determinado bloque es que tenga losdatos disponibles a su entrada. Normalmente el flujo de datos en el VI es de izquierda aderecha; las entradas suelen estar situadas a la izuierda del icono y las salidas a laderecha. Si se desea que se ejecuten ciertos bloques en un orden determinado se debeutilizar una estructura llamada secuencia.

En la figura 16 la secuencia de ejecuci ón de los bloques es A, C, B, D, E

Figura 16

A

DC

B

E

Descripción del entorno informático de trabajo del laboratorio

Los puestos de trabajo dispones de un ordenador basado en un microprocesador IntelPentium. El sistema operativo es Windows95 y todos los puestos de trabajo estancontectados mediante una red telem át ica a la UPCNet. Cada usuario dispone de undirectorio de trabajo en este servidor, de forma que es accesible desde cualquier puestode trabajo o desde el exterior del laboratorio. Se recomineda hacer copias de seguridaden diskettes.

Trabajo en el laboratorio

1. - Realizar en el cuaderno de laboratorio un gr áfico descriptivo de los componentesdel sistema de instrumentaci ón virtual del puesto de trabajo (controlador, instrumentos,conexiones)

2. - Iniciar el entorno de trabajo LabView y explorar las diferentes utilidades en laspaletas de herramientas, controles y funciones. ¿Qu é son los bloques de color amarilloque aparecen en algunas subpaletas de la paleta de funciones? (busque la respuesta conla ayuda del programa)

3. - Construir el generador de se ñal sinusoidal tal como se ha indicado en los apartadosanteriores. Probar los distintos modos de ejecuci ón. Insertar alg ún probe y alg únbreakpoint para ver c ómo funcionan. Ejecutar el programa en modo highlight y observarel flujo de datos.

4. - Decidir cu ál es el orden de ejecuci ón en el siguiente programa:

sinusoidal, cuadrada y triangularAmplitud: variable entre 0 y 10 VoltiosFrecuencia: variable entre 0 y 10 kHz

La presentacion de la se ñal se realizar á en el dominio temporal.

Para la realizaci ón de este generador partiremos del generador de se ñalsinusoidal dise ñado en los apartados anteriores.

5.1 Determinar que controles e indicadores tendra el generador de se ñal virtual y su

5.2 Realizar un esbozo del diagrama de bloques del generador donde se pueda apreciarcual ser á el flujo de datos.

5.3 Modificar adecuadamente el panel frontal para que sea posible elegir entre lasse ñales sinusoidal, triangular y cuadrada.. (Utilizar el help on line para conocer elfuncionamiento de los distintos tipos de selectores, ‘list and ring’ para el panel frontal).

5.4 Modificar el diagrama de bloques para que sea posible generar las tres se ñales.(Cambiar el VI de la funci ón seno por el VI sine wave) y a ñadir los VI correspondientesa la se ñal cuadrada y triangular. Se recomienda utilizar la estructura de datos case.

A

B

C

ED

F

5.5 Modificar el panel frontal y el diagrama de bloques para que sea posible seleccionarla frecuencia de la se ñal .(prestar atenci ón a como esta definida la frecuencia de la se ñalen los VI que generan las se ñales).

5.6 Modificar el panel frontal y el diagrama de bloques para que el eje vertical de lapresentaci ón de la se ñal temporal est é entre –10V y 10V y el eje horizontal en unidadesde tiempo. Para ello lo m ás recomendable es utilizar una estructura cluster que contienevarios tipos de datos distintos y utilizar como herramienta de presentaci ón unXYgraph, que permite realizar gr áficos cartsianos con dos ejes.

Creación de subVI’s

Un subVI tiene una funci ón similar a la de las subrutinas en los lenguajes deprogramaci ón textuales. Cuando un conjunto de operaciones se prevee que se va utilizaren diversas ocasiones, se suelen englobar estas dentro de un subVI. As í, un subVI es unVI que se llama dentro de otro VI.

Un VI que se usa como un subVI necesita un icono para ser llamado desde eldiagrama de bloques. Todos los VI tienen un ic óno gen érico en la parte superior derechade la pantalla que se puede editar haciendo un doble clik con el boton izquierdo delmouse.

El editor de iconos permite realizar un dibujo representativo del icono y fijar losterminalers de entrada y salida del mismo. Para definir los terminales de entrada y salidadel subVI nos situaremos sobre el icono (parte superior derecha de la pantalla) yapretando el bot ón derecho del mouse escojeremos la opci ón show connector.Apareceran en lugar del icono la representaci ón de los terminales de entrada y salida delVI. Habr án tantos terminales de entrada y salida como controles e indicadores tenga elVI. El n úmero de terminaels de entrada y salida se puede modificar colocandonos sobrela representaci ón de los terminales de entrada y salida, apretando el bot ón derecho del

patterns.

Cada control se debe asignar a un terminal de entrada y cada indicador a un terminalde salida. Esta asignaci ón se hace mediante la herramienta wire (carrete de hilo) queaparece por defecto en la pantalla cuando estamos en la opci ón show connector. Pararealizar la asignaci ón nos situeremos primero sobre un terminal y lo seleccionaremos,despu és nos colocamos sobre un control o un indicaodr y lo seleccionaremos tambi én.El control o indicador y el terminal quedar án unidos por una l ínea. Esta operaci ón sedebe repetir hasta que todos los indicadores, controles y terminales est éninterconectados.

6 Crear un SubVI con toda la parte correspondiente a la genraci ón de se ñal. Sustituir laparte de generaci ón de se ñal por el SubVI creado.

Trabajo opcional

7 Modificar el panel frontal y el diagrama de bloques para obtener el espectro de lase ñal y su presentaci ón Actuar sobre los ejes para que las unidades de la preesentaci ónsean las pertinentes.

8 Dise ñar un VI que sea un genrador de ruido. Considerar ruido uniforme y que laamplitud de ruido pueda variar entre 0 y 100% de la amplitud de la se ñal.

9 Crear un subVI a partir del VI anterior e incorporarlo al generador de funciones.