Académique Documents
Professionnel Documents
Culture Documents
IE-0502
ii
Sometido a la Escuela de Ingeniera Elctrica de la Facultad de Ingeniera de la Universidad de Costa Rica como requisito parcial para optar por el grado de: BACHILLER EN INGENIERA ELCTRICA Aprobado por el Tribunal:
___________________ Ing. Vctor M. Alfaro Profesor Gua ___________________ Ing. Jos Miguel Pez Profesor Lector ___________________ Ing. Orlando Arrieta Profesor Lector
IE-0502
iii
NDICE GENERAL
CAPTULO 1: Introduccin ............................................................................................1
1.1 1.2 Justificacin..............................................................................................................1 Objetivos ...................................................................................................................1
1.1.1 1.1.2 Objetivo general ..........................................................................................1 Objetivos especficos ....................................................................................1
1.3
3.3
3.4
IE-0502
iv
IE-0502
NDICE DE FIGURAS
Figura 2.1 Esquema de una tarjeta de adquisicin de datos .............................................5 Figura 3.1 Diagrama de la funcin para captura de formas de onda ............................11 Figura 3.2 Uso de la funcin Export Waveforms To Spreadsheet Filemodificada ...12 Figura 3.3 Cambios en la funcin Get Waveform Time Array.vi ..............................13 Figura 3.4 Cambios en la funcin Waveform Time to Date Time String.vi ..............14 Figura 3.5 Obtencin del tiempo transcurrido en la captura de una seal ...................14 Figura 3.6 Diagrama de la funcin para generar formas de onda .................................17 Figura 3.7 Panel de control de la herramienta para adquisicin de datos ....................19 Figura 3.8 Diagrama de bloques mostrando algunas de sus caractersticas .................21 Figura 3.9 Diagrama de bloques del caso 0; Configuracin...........................................22 Figura 3.10 Diagrama de bloques del caso 1; Generar y/o capturar.............................23 Figura 3.11 Adquisicin de una curva de reaccin.........................................................28 Figura 3.12 Adquisicin de seales en un sistema de control........................................29 Figura 3.13 Adquisicin de seales en un sistema de control de un proceso trmico ..30 Figura 4.1 Diagrama de bloques control proporcional ..................................................31 Figura 4.2 Esquema de lazo de control analgico ...........................................................32 Figura 4.3 Esquema de lazo de control analgico ...........................................................33 Figura A.1 Terminales de conexin de entrada y salida de la PCI-1200 .......................39 Figura C.1 Funcin para capturar seales analgicas ....................................................45 Figura C.2 Funcin para generar seales analgicas ......................................................45 Figura C.3 Funcin para generar formas de seal..........................................................46 Figura C.4 Funcin para capturar seales en archivo ....................................................46
IE-0502
vi
NDICE DE TABLAS
Tabla 3.1. Parmetros de los modelos de la planta ..........................................................28 Tabla 3.2. Parmetros de los controladores.....................................................................29 Tabla A.1. Configuraciones de entrada y salida analgicas............................................37 Tabla A.2. Modos de las entradas analgicas ...................................................................38 Tabla A.3. Terminales del conector de entrada y salida de la PCI-1200 .......................39 Tabla B.1 Terminales de control e indicadoras................................................................43
IE-0502
vii
NOMENCLATURA
A/D D/A RM RA NM NS t S/s DAQ VI Analgico / digital Digital / analgico Razn de muestreo Razn de actalizacin Nmero de muestras Nmero de seales Tiempo Samples, muestras por segundos Data Acquisition adquisicin de datos Virtual Instrument, instrumento virtual.
IE-0502
viii
RESUMEN
El objetivo principal de este proyecto fue desarrollar un sistema de captura de datos para el Laboratorio de Automtica, que permitiera principalmente la obtencin de la curva de reaccin de los procesos y las salidas de los sistemas de control. La herramienta para captura de datos se construy creando una interfaz de usuario en LabVIEW TM , que es un programa orientado a la programacin grfica de instrumentos virtuales, y haciendo uso de una tarjeta de adquisicin de datos National Instruments PCI1200. El desarrollo de este proyecto consisti bsicamente en una investigacin sobre el funcionamiento de la PCI-1200, as como un estudio del ambiente de programacin en LabView, para poder desarrollar el sistema de captura de datos. Posteriormente se creo una versin inicial de la herramienta la cual se prob en el laboratorio adquiriendo la curva de reaccin de un simulador de proceso, a partir de lo cual se le comenzaron a realizar modificaciones para depurar su funcionamiento y hacer aun ms fcil el proceso de captura de seales. El sistema para captura d datos desarrollado contiene bsicamente una funcin para la e captura de seales tanto en forma grfica como en archivo, as como un generador de seales que facilita el llevar a cabo la prueba para la captura de la curva de reaccin de un proceso. Para ambas funciones existen varias opciones de configuracin que el usuario debe completar para que al ejecutar el programa este realice su funcin adecuadamente, dependiendo de las caractersticas de la seal con que el usuario quiera trabajar. Mediante las pruebas realizadas en el laboratorio se pudo comprobar lo til que resulta esta herramienta ya que reduce el tiempo requerido para la realizacin de pruebas, al automatizar la medicin y captura de seales, adems que reduce el equipo y las conexiones necesarias para realizar tales pruebas. En el caso de procesos muy lentos facilita
IE-0502
ix
y mejora la toma de datos de las seales pues se pueden tomar una mayor cantidad de datos sin tener que estar pendiente de la seal durante todo el tiempo que esta este cambiando. El esquema de programacin utilizado para la implementacin del sistema de captura de datos, permite que se le realicen modificaciones fcilmente, para agregar funcionalidad a esta herramienta, por ejemplo se podran agregar funciones para la captura y gen eracin de seales digitales. Al finalizar la creacin del sistema de captura de datos SCD, se redact un manual del usuario, el cual contiene una explicacin clara de los pasos que se deben seguir para poder utilizar esta herramienta, especialmente en la obtencin de una curva de reaccin. Se incluy adems los pasos necesarios para configurar la tarjeta de adquisicin de datos PCI1200 para funcionar en conjunto con el SCD.
IE-0502
CAPTULO 1: Introduccin
1.1 Justificacin
El Laboratorio de Automtica de la Escuela de Ingeniera Elctrica de la Universidad de Costa Rica cuenta con varios equipos de medicin, algunos de los cuales son de reciente adquisicin, pero es poca la utilizacin que se hace de algunos de estos, por lo que no se ha logrado el mximo provecho de ellos. Es por esto, que la realizacin de este proyecto surge de la necesidad de dotar a los estudiantes que hacen uso de este laboratorio de herramientas adecuadas para la fcil utilizacin de un sistema de captura de datos y as lograr un mayor provec ho de algunas de las herramientas con que se cuenta en este laboratorio. Es importante mencionar que el hardware y software utilizado para la realizacin de este proyecto ya haba sido utilizado recientemente en otro proyecto 1, pero con el fin especfico de capturar los datos relacionados a un proceso de control de un motor de corriente directa. En este proyecto se pretendi lograr una interfaz para un sistema de adquisicin de datos, con el fin de capturar curvas asociadas a procesos de control, tratando de que esta sea lo ms general posible, y de fcil utilizacin en el laboratorio.
1.2 Objetivos
1.2.1 Objetivo general Desarrollar un sistema de captura de datos para el Laboratorio de Automtica que permita la obtencin de la curva de reaccin de los procesos y las salidas de los sistemas de control. 1.2.2 Objetivos especficos Revisar los equipos y programas disponibles en el Laboratorio de Automtica para captura de seales analgicas.
IE-0502
Desarrollar una interfaz grfica en LabView para el despliegue de las seales capturadas.
Combinar con los equipos y programas para automatizar las pruebas para determinar la curva de reaccin de un proceso.
Estudiar si las facilidades disponibles permiten la realizacin de una prueba de lazo cerrado con control P.
Realizar pruebas del sistema (hardware/software) con varios de los procesos disponibles en el laboratorio (en particular con los equipos de LabVolt de reciente adquisicin).
Preparar un manual de usuario que permita la utilizacin del sistema en forma rpida y segura por parte de los estudiantes que hacen uso del laboratorio.
IE-0502
IE-0502
en la historia del proceso. En funcin de la dinmica de estas seales existe tambin una amplia gama de dispositivos capaces de registrarlas. 2.1.2 Interfaz de una PC con el mundo 2 Es necesario definir algn mecanismo que permita a la PC relacionarse con los elementos del proceso y con los componentes que implementan la parte de supervisin e inclusive el control del sistema. Por ello en el presente apartado se estudia la forma en que es posible conectar una PC con los sensores y, o los preaccionadores / accio nadores de un proceso con el objeto de llevar a cabo el monitoreo y, o control del mismo. La PC ofrece varios puertos de comunicacin con el exterior, desde los convencionales puertos serie y paralelo, hasta los ms modernos; Fire-Wire, USB, Blue-Tooth, Wi-Fi. Tambin las propias ranuras de expansin del bus interno de la PC (EISA, ISA y PCI) son puertos vlidos para llevar a cabo la interconexin de la PC con el mundo que le rodea mediante la insercin de una tarjeta adecuada. Por ejemplo, una tarjeta de vdeo es un mecanismo para comunicar los datos que maneja la PC con un monitor; una tarjeta de red es el mecanismo para conectar una PC con otras PC en una red de comunicaciones. Si bien es cierto que cuando se comenz a usar la PC en tareas de mando y supervisin se desarrollaron instrumentos especficos para adquisicin de seales susceptibles de ser conectados a la PC por medio de buses especiales como GPIB, su elevado costo y la estandarizacin en el desarrollo y uso de tarjetas para PC de muchos tipos (grficas, sonido, red,...), los han llevado a desaparecer en nuestro das, en favor de las Tarjetas de Adquisicin de Datos (TAD). Debido bsicamente a las altas velocidades de transferencia que se pueden alcanzar con las TAD, la disponibilidad de varias r nuras de bus en cada equipo (PC), la a robustez mecnica y la compatibilidad mantenida a lo largo del tiempo por estos sistemas de expansin de bus, este ha sido el puerto de conexin ms empleado a la
IE-0502
hora de conectar una PC a un proceso, o definido de manera ms correcta, a la hora de llevar a cabo la adquisicin de datos del proceso y, o de comandar la ejecucin de acciones sobre los componentes del mismo. 2.1.3 Tarjetas de Adquisicin de Datos (TAD) En la figura 2.1 se muestra un esquema genrico de la arquitectura constructiva de una tarjeta de adquisicin de datos. Las TAD pueden estar mapeadas como entrada y salida sobre el espacio de memoria de la PC siendo posible direccionarla directamente. Esto simplifica su conexin y parametrizacin, pero es una solucin limitada por el nmero de registros de entrada y salida de cada tarjeta y por el nmero de direcciones de tarjetas posibles. Para romper esta limitacin por lo general las TAD son direccionadas por la PC como zonas de memoria de lectura y escritura, sin lmite en el nmero de canales analgicos y digitales, pero con velocidades de adquisicin ms lentas que las primeras.
IE-0502
2.1.4 Caractersticas de las TAD En una primera aproximacin se puede dividir una tarjeta de adquisicin de datos genrica en los bloques bsicos de la figura 2.1: Entradas analgicas: Se realiza la conversin a valores discretos de las seales analgicas de entrada. Salidas analgicas: Se convierten valores discretos en seales anal gicas. En la figura 2.1 se pueden ver dos canales de salida analgicos. Entradas y salidas digitales: Para la adquisicin y generacin de seales digitales. Control: Circuitos encargados de controlar todo el flujo de datos entre los distintos bloques incluyendo la temporizacin de las conversiones analgico / digital y digital / analgico. Interfaz con el bus: Se encarga de realizar las tareas de comunicacin entre la tarjeta y el bus de la PC. Todas las TAD presentan por lo general caractersticas muy similares, las cuales giran en torno a cuatro funcionalidades bsicas: Lectura de seales analgicas Escritura de seales analgicas Lectura de seales digitales Escritura de seales digitales
Comnmente estas cuatro funcionalidades vienen juntas en una nica TAD pero si el nmero de canales de entrada y, o de salida que se necesitan es insuficiente, la resolucin o la velocidad de lectura de seales analgicas es demasiado bajo, es posible encontrar tarjetas especializadas exclusivamente en una de estas tareas. Evidentemente su precio estar en concordancia con estas prestaciones y ser ms elevado.
IE-0502
Por norma estas tarjetas de propsito general suelen presentar adems algn tipo de contador de eventos externos y uno o varios temporizadores. Respecto a las entradas analgicas, las TAD incorporan canales de conversin A/D que permiten a la PC leer valores de seales analgicas del proceso y convertirlas en valores numricos de un determinado rango. La resolucin de la conversin viene determinada por el nmero de bits del convertidor, los cuales definen el valor mnimo y mximo del rango de conversin. Para las salidas analgicas, las TAD presentan canales de conversin D/A que permiten a la PC enviar al proceso consignas de funcionamiento en forma de valores numricos comprendidas en un rango. Los canales digitales de E/S pueden ser configurados mediante hardware o por software, para funcionar como entradas o salidas que permitan leer consignas digitales de los sensores del proceso o comandar la activacin de los preaccionadores / accionadores del proceso, respectivamente. 2.1.5 Adaptacin de seales en las TAD Por lo general las TAD trabajan con niveles de tensin y corriente TTL, esto es 0-5 V DC y pocos mA. Sin embargo los sensores y actuadores del proceso (tanto analgicos como digitales) suelen trabajar con tensiones mayores de 24 V DC o incluso con corrientes alternas 120, 220, 240 V AC y por supuesto con consumos superiores al mA. Por ello es necesario insertar entre las TAD y el proceso a controlar una tarjeta o circuitos que realicen la etapa de adaptacin de seales. Esta tarjeta de adaptacin recibe las seales de salida de la tarjeta TAD con las cuales puede controlar rels encargados de comandar la activacin de los accionadores del proceso. Estos accionadores son alimentados con la tensin y la corriente adecuada proporcionada por una fuente externa, la cual es seccionada por los rels de la etapa de adaptacin. Por su parte las seales procedentes de los sensores del proceso en el caso en que estos funcionen con tensiones superiores a las soportadas por la TAD, deben ser adaptadas tambin mediante un circuito adicional.
IE-0502
2.1.6 Modo de empleo de las TAD Las nuevas TAD son configurables directamente mediante software proporcionado por el fabricante tambin llamado manejador o driver. Estos manejadores se pueden configurar por medio de uno o varios cuadros de dilogo, es decir, el manejador viene acompaado de un programa que presenta al usuario con un conjunto de cuadros de dilogo para su configuracin, lo que implica que el usuario final puede tambin desconfigurar la tarjeta. Este modo de empleo de las TAD es adecuado cuando se va a emplear una aplicacin software ya hecha, como por ejemplo LabView o Matlab la cual va a ser adaptada para ejecutar el algoritmo de control o de supervisin deseado. Sin embargo, cuando se desea desarrollar desde cero la aplicacin de control o supervisin que ha de emplear la TAD para controlar o supervisar un proceso, lo ms normal es que la configuracin de la misma se haga por medio de instrucciones de programa invocando al manejador proporcionado por el fabricante. Dependiendo de lo moderna que sea la TAD este manejador puede consistir en algo tan sencillo (pero tan difcil de usar) como leer y escribir de un registro dado como si se leyera o escribiera por el puerto serie. Sin embargo, en las TAD ms modernas el fabricante suele proporcionar un conjunto de libreras en formato .dll o Actives cuando se trata de emplearlas desde Windows. As para configurar la tarjeta o leer o escribir seales de la misma, slo habra que invocar la funcin adecuada de la librera a la cual se le pasaran los parmetros correctos.
IE-0502
IE-0502
10
En este caso el dispositivo utilizado para adquisicin de datos fue una tarjeta PCI1200 fabricada por National Instruments ya instalada en una computadora del Laboratorio de Control Automtico, la cual se configur mediante el programa Measurement & Automation el cual es un software complementario de LabView para la configuracin de dispositivos de adquisicin de datos y cuyo uso se explicara posteriormente en el apndice correspondiente al manual del usuario. La funcin AI Acquire Waveforms al igual que cualquier otra en LabView es un bloque con varios puntos de entrada y salida, de los cuales, algunos o todos pueden ser conectados ya sea a variables de control, valores constantes o salidas de otras funciones, en el caso de las entradas, y con las entradas de otras funciones o con indicadores en el caso de las salidas. Los puntos de entrada de esta funcin que se utilizaron fueron; el identificador del dispositivo de captura, la seleccin de los canales, la razn de muestreo y el nmero de muestras por canal, en los tres ltimos casos las variables conectadas a estas fueron de control, lo cual quiere decir que en el panel de control aparecen como campos para que el usuario introduzca o seleccione el valor de estas variables, ya sea en forma directa o indirecta. Hay algunos detalles que se pueden mencionar sobre estos controles; en el campo para seleccin de los canales slo hay valores seleccionables si tales canales analgicos han sido previamente configurados, en cuanto a la razn de muestreo y nmero de muestras, el usuario debe introducir solo el primero, mientras que el nmero de muestras se calcula internamente a partir de un valor de tiempo introducido por el usuario, siguiendo la siguiente relacin:
NM = t RM
(1)
donde t es el periodo de tiempo en segundos en que se quiere observar la seal, NM es el nmero de muestras que se quiere capturar en tal periodo de tiempo, y RM es la razn de muestreo seleccionada, la cual adems debe cumplir con la siguiente restriccin:
IE-0502
11 (2)
RM
100 KS / s NS
Donde NS es la cantidad de seales o canales que se capturan simultneamente, esto debido a que la tarjeta de adquisicin de datos utilizada, la PCI-1200 adquiere seales analgicas a una razn mxima de cien mil muestras por segundo (S/s). La salida de la funcin de adquisicin de formas de onda es un arreglo almacenado en un buffer de memoria de la computadora, cuyos elementos son todos los datos correspondientes a cada entrada analgica muestreada, esta salida se conect en el diagrama de bloques a un indicador de salida que en el panel frontal es representado por un grfico para el trazado de formas de onda donde al ejecutar el programa se puede observar la seal o seales capturadas como en la pantalla de un osciloscopio, pero solo hasta despus de transcurrido el tiempo de captura indicado. Adicionalmente debe mencionarse que esta funcin slo captura el nmero de muestras que se le indica y detiene el proceso de captura, por lo que para poder darle seguimiento a una seal por un tiempo mayor, la funcin debera introducirse dentro de un lazo de repeticin como el lazo for, sin embargo finalmente se decidi realizar una sola iteracin de captura, lo cual es ms prctico en el proceso para la captura de una curva de reaccin. La figura 3.1 muestra el diagrama correspondiente a esta funcin y las conexiones hechas en la misma.
IE-0502
12
3.2.2 Captura de la seal en un archivo Uno de los propsitos de esta herramienta es la captura de curvas de reaccin de procesos para su posterior anlisis e identificacin de modelos del proceso, para esto existe un programa que hace la identificacin del modelo del proceso a partir de un archivo de texto que contenga la informacin de los puntos de la seal de entrada y salida del proceso, es decir los valores de la seal escaln introducida a la planta y de la curva de reaccin producida, as como el tiempo en que se produce cada uno de estos valores. Por ello la salida de la funcin para adquisicin de ondas se conect adicionalmente a una funcin de LabView para la captura de formas de onda en archivos de texto, pero como el formato del archivo generado por tal funcin no coincida con lo requerido por el programa disponible para la identificacin de modelos hubo la necesidad de realizar varias modificaciones a esta funcin. La funcin Export Waveforms To Spreadsheet File es una funcin de tipo polimrfica, lo cual significa que el mismo bloque contiene distintas funciones, y la que realice debe seleccionarse de una lista. Se selecciono la funcin Export Waveforms To Spreadsheet File (1D) que captura en una hoja de datos la informacin correspondiente a los puntos de varias seales disponibles en un arreglo de una dimensin de formas de onda, el archivo con extensin .vi correspondiente a esta funcin, se salvo cambindole el nombre al archivo para poder modificarlo sin alterar la funcin original en LabView y se realizaron las modificaciones que se mencionan adelante.
IE-0502
13
Esta funcin no es bsica, lo que en L abView se denomina subVI, lo que quiere decir que la funcin tiene un panel frontal y un diagrama de bloques que a su vez hace uso de otras subfunciones, que pueden tambin ser modificadas. Las modificaciones que se realizaron al archivo Export Waveforms To Spreadsheet File.vi y a algunas de sus subfunciones fueron las siguientes: 1. La funcin que obtiene de la seal un arreglo de los valores del tiempo transcurrido desde que se inicia la captura de la seal se modifico para que el tiempo inicial (t0) fuera cero y no los segundos correspondientes a la fecha y hora del da en que empez la captura, dato que esta contenido en la informacin de la seal capturada, junto con un arreglo de valores de los puntos muestreados de la seal y el intervalo de tiempo entre muestras de la seal (dt). En la figura 3.3 se muestra como tal cambio consisti en cambiar el t0 dado por la seal por un valor constante igual a cero en la entrada al lazo for que se encarga de ir sumando un valor dt al tiempo transcurrido a partir de t0 para todos los puntos de la seal muestreada.
2. Inicialmente tambin la funcin que devolva una cadena (string) con el tiempo (fecha y hora) se modific para que solo devolviera los segundos y microsegundos como cadena de tiempo en vez de la fecha y hora completas.
Julio del 2004
IE-0502
14
3. Esta ultima modificacin funcion al realizar pruebas de la interfaz capturando seales de procesos rpidos, sin embargo al realizar una prueba capturando la respuesta de un sistema de control de una planta trmica la cual tarda varios minutos, se not que el string de los segundos retornaba a cero cada vez que se completaba un minuto, lo cual se debe a que el formato segua correspondiendo al usado para dar la hora (0-59) por lo que la solucin final fue quitar esta funcin y reemplazarla por la funcin Number To Fractional String que convierte un nmero a una cadena en formato fraccional, es decir incluyendo tanto la parte entera como los decimales. En la figura 3.5 se observa el reemplazo realizado, en la misma se observa que al lazo for no se la indica el total de iteraciones N que debe realizar, en tal caso la conversin de formato se realiza para la totalidad de valores en el arreglo de tiempos que ingresa al lazo.
4. Adicionalmente se hicieron algunos otros cambios relacionados al formato y el contenido del encabezado que llevara el archivo donde se guardan los datos en caso
Julio del 2004
IE-0502
15
de que el usuario seleccione la opcin en el panel frontal para que tal archivo contenga encabezado. Estos cambios se pueden observar comparando el diagrama de bloques del archivo vi Export Waveforms To Spreadsheet File (1D) con el
diagrama del archivo Seal a archivo (1D).vi que es el nombre con el que se guardo la funcin modificada. 3.2.3 Generador de seales Para que la obtencin de curvas de reaccin fuera aun ms sencilla se incluy en la herramienta para la captura de seales, un diagrama adicional para la generacin de seales usando la funcin AO Generate Waveform para la salida de seales analgicas, de manera que la seal de prueba que debe introducirse al proceso pudiera ser generada con la misma PCI-1200; seleccionando en el panel frontal el canal de salida. La forma de onda que se conect como entrada a la funcin para salida de seales analgicas se generaron con la funcin Basic Function Generator que genera formas de onda bsicas (seno, cuadrada, triangular o diente de sierra) y a esta se conectaron controles para la seleccin del tipo, frecuencia, amplitud, fase y offset o nivel de DC de la seal, opciones disponibles en el panel frontal en forma directa o indirecta, para que el usua rio las modifique. Se agreg una seal de reinicio que cada vez que el lazo for inicia (i = 0) se hace verdadera haciendo que el valor de fase tome el valor indicado en la entrada de control correspondiente, de otra manera si el programa no terminara y debiera volver a ejecutar el lazo for con un nuevo valor de fase diferente indicado por el usuario, tal valor no se actualizara pues la funcin Basic Function Generator guarda el valor de fase para garantizar continuidad de la seal generada en lazos iterativos. Adems a esta funcin se le conect entradas de control para la informacin de muestreo (razn de muestreo y nmero de muestras), que determinan la cantidad de puntos generados y la velocidad de actualizacin de los mismos, el dato que corresponde a la razn de actualizacin se introduce tambin a la entrada correspondiente en la funcin de salida de seales analgicas para que haya
Julio del 2004
IE-0502
16
coherencia en la velocidad de generacin y la velocidad de actualizacin de puntos de seal en la salida de la TAD. Algunos de los datos introducidos a la funcin para generacin de seales son introducidos por el usuario pero en forma indirecta; El nmero de muestras en la informacin de muestreo se calcula internamente mediante la misma relacin dada por la ecuacin (1), a partir del valor en un campo de control para el tiempo que el usuario quiera que dure generndose la seal. El valor de la amplitud que requiere la funcin generadora es el valor pico de la seal, pero al usuario se le pide el valor pico-pico e internamente se divide por dos para tener el valor requerido. Para el caso de la fase, al usuario se le pone a disposicin un campo para que indique el tiempo de retraso de la seal e internamente se utiliza la siguiente relacin para calcular la fase:
fase = 360 t f
(3)
Donde, t es el periodo de tiempo en segundos que se quiera como retraso de la seal, f es la frecuencia indicada por el usuario, y -360 es la constante necesaria para convertir las unidades del desfase a grados y hacer al mismo negativo, para lograr atraso y no adelanto de la seal en el tiempo. El esquema para la generacin de seales se encerr en el mismo lazo usado para la captura de seales de manera que la generacin de la seal de prueba pudiera darse en forma simultanea, haciendo ms sencilla una prueba de captura de la curva de reaccin de un proceso, al tenerse la opcin de que con una sola indicacin del usuario se genere la seal de prueba y se capture tanto esta seal como la seal de respuesta del proceso obtenindose los datos necesarios para una identificacin del modelo de la planta. La figura 3.6 muestra la funcin generadora de seales con todos los detalles mencionados anteriormente.
IE-0502
17
IE-0502
18
opciones de generacin de seal; razn de actualizacin, tiempo de generacin, canal de salida, frecuencia, amplitud, tipo de seal, retardo y nivel DC. Adems de estos dos bloques, se incluyeron dos opciones para elegir si se desea solo capturar seales, solo generar seal, ambas o ninguna segn cual(es) de estos dos camp os estn marcados. 2. Seal generada, en esta ventana se muestra un grfico de la seal generada. 3. Seales capturadas, en esta ventana se muestra un grfico de las seales capturadas. 3.3.2 Men de opciones Debajo del control de ventana se incluy un control de lista el cual se uso para controlar que operacin se ejecuta una vez que el programa o VI se pone en ejecucin, las opciones que se incluyeron en este men son las siguientes: 1. Configuracin, al iniciar el programa automticamente se colocara esta opcin, en la cual se muestra la ventana correspondiente a las opciones de configuracin para que el usuario indique las opciones que desee. De igual manera cuando se termina de ejecutar la captura y, o generacin de seales el programa vuelve automticamente a esta opcin para que se cambien, de ser necesario, los datos de configuracin. 2. Generar y/o capturar, al ejecutar esta opcin se ejecuta la captura o generacin de seales, ambas operaciones o ninguna dependiendo de las opciones que el usuario haya marcado en la ventana de configuracin. 3. Terminar, termina la ejecucin del VI En la figura 3.7 se muestra la apariencia del panel frontal, o interfaz de usuario seleccionando el tab correspondiente a las opciones de configuracin.
IE-0502
19
3.3.3 Flujo de control Para lograr el comportamiento en la ejecucin del programa indicado en el punto anterior se implemento el flujo de control (en el diagrama de bloques) que se explicara a continuacin. Lazo de control while, mediante esta estructura de control se garantiz que la ejecucin del programa se mantuviera hasta que el usuario presione la opcin terminar debido a que como se vera en la explicacin de la estructura de control case, solo al presionar tal opcin se selecciona el caso que hace falso el dato booleano o binario que hace que el lazo while se repita mientras este sea verdadero.
IE-0502
20
Dentro de este lazo de control se coloc una estructura de control case y fuera de esta todos los controles que en el panel de control son disponibles al usuario en la ventana de configuracin. Estos controles solo se utilizan en uno de los casos del case, por lo que pudieron colocarse dentro del recuadro del caso correspondiente, pero esto no se hizo debido a que si en una posterior modificacin del programa se decidiera agregar un caso extra en el que se requiera de los mismos controles estos sean accesibles a tal caso. En el lazo while se tiene la posibilidad de aadir registros de cambio (shift registers) que permiten pasar valores de una iteracin a la siguiente. En este caso se utilizaron dos registros; uno de estos se utiliz para controlar la estructura case, de manera que si en una iteracin cambia la opcin de men seleccionada, sea por el flujo de control o por el usuario, segn el caso, este dato es pasado a la siguiente iteracin y es utilizado para seleccionar en la estructura case el caso correspondiente. El otro registro se utiliz para que cada iteracin se conociera la opcin del case seleccionada en la iteracin anterior, y este dato se utilizo para colocar una ventana dada en el panel frontal al haber un cambio de caso, y no dejar forzada esta ventana si el caso ya no cambia. Estructura de control case, esta es una estructura de control que permite que se ejecuten uno de entre varios diagramas de bloques, segn sea el caso seleccionado en su entrada de control. En este caso el dato de control proviene de los mismos casos de esta estructura, y es pasado por un registro de la estructura while (en la que esta contenida la estructura case) al pasar de una iteracin a la siguiente. El diagrama ejecutado en cada uno de los tres casos disponibles se explica a continuacin:
IE-0502
21
1. Caso 0, Configurar; En la figura 3.8 se observa como fuera de la estructura while se coloco una constante con valor cero la cual se escribe a un selector de opcin de men, seleccionndose por lo tanto la opcin de configuracin al iniciarse por primera vez el programa, la misma constante selecciona el caso 0 de la estructura case a travs de un registro de cambio de manera que esta seleccin slo es valida en la primera iteracin. El recuadro del caso 0, mostrado en la figura 3.9, contiene el control principal del men de opciones, conectado a la salida de un registro de cambio para que apenas el usuario seleccione otra opcin del men esta sea ejecutada en la prxima iteracin al escribirse a la entrada de seleccin de caso. La otra salida de este caso es una constante binaria con valor verdadero que se conecta al control del while garantizando que la ejecucin del programa continua. Adems este caso contiene otra
IE-0502
22
estructura case controlada por la condicin de que el caso en el men sea igual a 1. Si tal condicin es verdadera, la prxima iteracin corresponde a una nueva captura y/o generacin de seales, y entonces este case reinicia, o borra, los grficos anteriores correspondientes a la ultima ejecucin del caso 1.
2. Caso 1 Generar y/o capturar; este es el caso en que se ejecutan las funciones , principales del sistema de captura de datos, comentadas previamente, dentro de una estructura de control for que se ejecuta una sola vez. Este caso adems contiene un case de control de ventanas que al entrar a este caso (caso anterior distinto del actual 1) fuerza a mostrarse la ventana o tab correspondiente al grfico de captura o al grfico de seal generada segn las opciones seleccionadas en la ventana de configuracin. Dentro del case que controla si en la iteracin actual se fuerza o no un tab hay otra estructura case que es la que selecciona la ventana de seales capturadas si la opcin para capturar seales es verdadera y caso contrario muestra la ventana de seal generada.
IE-0502
23
Fuera de la estructura for hay otra estructura case que se encarga de construir la direccin (path) donde se guardara el archivo con los datos de las seales capturadas; si el usuario indica la direccin de la carpeta donde se guardara el archivo
Julio del 2004
IE-0502
24
entonces la salida del comparador es falsa y la direccin pasa por el case sin ser afectada, si el usuario deja la direccin vaca la salida del comparador es verdadera y se ejecuta el caso que toma la direccin completa del archivo VI que se esta utilizando y se le corta el nombre del archivo mediante la funcin Strip path, en ambos casos a la direccin se la agrega mediante la funcin build path el nombre del archivo indicado por el usuario, y la salida de esta entrada se conecta a la entrada path de la funcin modificada para captura de seales en archivo que se comento anteriormente. Las funciones para captura y generacin de seales contenidas en la estructura for fueron comentadas en la seccin 3.2, aqu solo hay que agregar que tanto el bloque de captura como el de generacin se han introducido en estructuras case para que cada cual se ejecute solo si la casilla correspondiente ha sid o seleccionada en la ventana de configuracin. La funcin que captura la seal en archivo tambin esta en un case para que solo se genere el archivo si el usuario lo indica y si se esta en la ltima iteracin del for. Adicionalmente hay que mencionar que una vez que se inicia la ejecucin de la captura y/o generacin de seales esta no se puede detener hasta que termine el tiempo de captura o generacin (el mayor) indicado por el usuario, sin tener que abortar la ejecucin del programa en LabView. Una constante con valor 0 es escrita tanto al control de men como a la salida del registro de cambio, para que al acabar la ejecucin del for se retorne al caso 0. 3. Caso 2, Terminar; este caso, ya mostrado en la figura 3.8 lo nico que hace es conectar a la variable de control del lazo while un valor verdadero para que termine la ejecucin del programa.
IE-0502
25
IE-0502
26
Razn de actualizacin: 1000 (S/s) Tiempo de generacin: 0.40 (s) Canal de salida: sal1, previamente configurado, nombrado as y asociado al canal de salida analgico 1 (terminal 10) de la PCI-1200.
Tipo de seal: Square wave, esta es una onda cuadrada. Esta opcin normalmente no deber ser cambiada pues lo que generalmente se requiere es una seal de prueba cuadrada.
Retardo: 0.055 s, este es el tiempo que transcurre antes de que se de el escaln, necesario para que los datos capturados tengan el formato adecuado para la posterior identificacin de un modelo.
Frecuencia: 2.5 Hz, valor de acuerdo con el tiempo de generacin especificado, para obtener un pulso de 0.2 s, de manera que la seal generada vuelva a cero al finalizar el tiempo de generacin, pues las salidas de la PCI-1200 permanecen con el ltimo valor de voltaje puesto en ellas.
Amplitud: 4.8V, esta es la magnitud del escaln. Nivel DC: 2.4V, este nivel se especifica a la mitad de la amplitud para que el escaln empiece en cero, este valor siempre debe calcularse como la mitad de la diferencia entre el valor mximo y mnimo de la onda cuadrada.
Captura de la seal de prueba: Para probar la seal de prueba se conect el terminal de salida 10 al terminal de entrada analgico 1 de la PCI-1200, la cual se encontraba configurada en modo NRSE, lo que implica que el terminal 9 de la tarjeta es comn a todas las entradas analgicas pero no est conectado a la tierra de la tarjeta, por lo que para tener una referencia adecuada de la seal se conect este terminal a la tierra de la tarjeta (terminal 11). En las opciones de captura se indicaron los siguientes parmetros:
IE-0502
27
Razn de muestreo: 2000 (S/s), este parmetro se vara en funcin de cuantas muestras se quieran tener de la seal en el periodo de captura, en este caso si se captura por 250ms se obtendrn 500 puntos de la seal en el archivo de datos capturado.
Tiempo de captura: 0.4 (s), con este tiempo se captur el total de la seal generada para comprobar que su comportamiento era el esperado, sin embargo al capturar la seal de prueba se cambi por 0.25 para obtener solo la porcin de la seal correspondiente a la aplicacin del escaln, antes de la cada de esta seal, pero suficiente para que la curva de reaccin se estabilizara.
Canal de entrada: ent1, este corresponde al terminal 1 de entrada en que se conect la seal de prueba.
Captura de la curva de reaccin: Tras comprobar que se estaba generando adecuadamente el escaln de prueba, se conect la salida (terminal 10) tambin a la entrada del proceso, la salida del proceso se conect a la entrada analgica 2 (ent2, terminal 2). Y el terminal comn (9) se conect a la tierra del proceso en vez de a la tierra de la tarjeta. Adems se cambio el tiempo de captura a 0.25 s y se agrego ent2 a los cana les de captura indicados Entonces los canales de entrada usados corresponden a los terminales 1 y 2 (ent1,ent2) de la PCI-1200, canales de entrada analgicos, el canal de salida corresponde al terminal 10 (sal1); canal de salida analgico, todos previamente configurados, la informacin acerca del procedimiento para la configuracin de los mismos se incluye en el manual del usuario desarrollado para el SCD e incluido en los apndices de este informe. Al ejecutar la captura de la seal de prueba y de la curva de reaccin se obtuvo el grfico mostrado en la figura 3.11.
IE-0502
28
Figura 3.11 Adquisicin de una curva de reaccin El archivo de datos obtenido se utiliz con el programa PILAC 3 para la identificacin de modelos de la planta, se seleccion el modelo con el menor IAEP, el de Ho et al. y a partir de los parmetros de este modelo se calcularon los parmetros del controlador para operar como regulador por el mtodo de Lpez ITAE y para operacin como servomecanismo por el mtodo de Arrieta ITAE para servomecanismos 4 . En las siguientes tablas se muestran los parmetros tanto de los modelos encontrados como de los controladores. Tabla 3.1. Parmetros de los modelos de la planta Mtodo kp tm Smith 1.060 0.019 0.022 Alfaro 1.060 0.018 0.022 Broida 1.060 0.023 0.021 Ho et al. 1.060 0.016 0.024
3 4
Desarrollado por Arce y Oviedo [2] Referencia para los mtodos de sintonizacin: Apuntes de clase del curso IE-432 de Alfaro
IE-0502
29
Tabla 3.2. Parmetros de los controladores Mtodo Lpez ITAE Arrieta ITAE (S ervo) Kc
0.8720
Ti
0.0256
Td
0.0091
0.7021
0.0238
0.0065
3.4.2 Captura de seales en un sistema de control Por ltimo se prob el SCD capturando las seales de entrada, salida y error, del sistema de control ya sintonizado, haciendo las conexiones de los terminales igual que para capturar la curva de reaccin y adicionalmente el terminal 3 (ent3) se conect a la salida del error del sistema de control. En la siguiente figura se muestra como ejemplo las seales capturadas para el sistema de control operando como servomecanismo y sintonizado por el mtodo de Lpez..
IE-0502
30
3.4.3 Pruebas con un proceso trmico El proceso utilizado en las pruebas del ejemplo anterior es relativamente rpido, por ello tambin se realizaron pruebas en un proceso trmico que es mucho ms lento. Las conexiones realizadas con la tarjeta PCI-1200 son similares al ejemplo anterior solo que en este caso la seal de prueba se produjo con el mismo equipo del proceso trmico. Solo como ejemplo para mostrar la efectividad del SCD, la siguiente figura muestra las curvas de temperatura del radiador (Voltaje de salida del transductor, 0.1T), voltaje
de error y voltaje de salida del amplificador integral en funcin del tiempo para el sistema de control sintonizado por el mtodo de Rovira y operando como servomecanismo.
IE-0502
31
Figura 4.1 Diagrama de bloques control proporcional La ganancia Kc del controlador debe ser lo suficientemente alta como para que la respuesta del sistema sea subamortiguada. La respuesta del sistema de lazo cerrado puede entonces identificarse como la de un sistema de segundo orden ms tiempo muerto y a partir de este modelo identificar uno para el proceso, ya sea de primer orden ms tiempo muerto o de segundo orden ms tiempo muerto.
IE-0502
32
IE-0502
33
Para realizar una prueba la funcin etiquetada my ctrol calc que es corresponde al campo donde se procesa la seal de entrada para generar una seal de salida se coloco una multiplicacin por 0.5, se ejecut el programa y se observaron las seales de entrada (una onda cuadrada de aproximadamente 2Hz de frecuencia) y salida con un osciloscopio, el resultado se muestra en la siguiente figura.
Figura 4.3 Esquema de lazo de control analgico En la figura se muestra como se produce un retardo, en este caso de aproximadamente 20ms entre la seal capturada y la seal generada, sin embargo se noto que este retraso no era constante, sino que variaba aunque no en forma muy significativa si no se utilizaba la computadora para algo ms mientras se corra el programa. Pero se observo que el retrazo se incrementaba si se intentaba agregar funciones al lazo, por ejemplo se intent agregar una funcin para capturar las seales en archivo pero esto incremento el retraso que se produca. A pesar de las limitaciones expuestas, un retraso de milisegundos no seria significativo en procesos lentos, en cuyo caso quizs seria factible realizar una prueba de control P utilizando esta misma funcin.
IE-0502
34
IE-0502
35
En el estudio sobre la factibilidad de realizar una prueba de control P haciendo uso de las funciones de LabView se concluy que esta podra ser factible
siempre y cuando el proceso sea relativamente lento pues en las pruebas realizadas se encontr que al procesar una seal para generar otra seal que fuera funcin de la primera se produca un retraso de varios milisegundos que adems no era constante, sino que variaba al ejecutar otros procesos simultneamente en la computadora. El manual del usuario realizado para el sistema de captura de datos desarrollado en este proyecto expone en forma clara los pasos para el uso del mismo, buscando que el mismo se convierta en una herramienta de utilidad para los estudiantes que hacen uso del Laboratorio de Control Automtico. 5.2
Recomendaciones
El esquema de ejecucin de la herramienta para captura de datos desarrollada se basa en una estructura de control case lo cual facilita posteriores mejoras de la misma, pues esta estructura permite la adicin de nuevos casos en los que se podran implementar funciones nuevas para el sistema de captura de datos. El sis tema para captura de datos desarrollado en este proyecto nicamente toma en cuenta la captura y generacin de seales analgicas, y no se hace uso de los terminales de entrada y salida digitales disponibles en la tarjeta PCI-1200, por lo que se recomienda que este sistema se ampli para a la captura y generacin de seales digitales, haciendo que su aplicacin sea aun ms general.
IE-0502
36
BIBLIOGRAFA
1. Alfaro, V. M.. Apuntes de Clase: IE-432 Laboratorio de Control Automtico, Escuela de Ingeniera Elctrica, Universidad de Costa Rica. Rev. Febrero 2004. 2. Arce, C. y M. Oviedo.Programa para la identificacin de procesos a partir de respuestas de lazo abierto y lazo cerrado (Control P) utilizando MATLAB 6.5. Proyecto de graduacin, Escuela de Ingeniera Elctrica, Universidad de Costa Rica. 2003. 3. National Instruments PCI-1200 User Manual, Multifunctional I/O Board for PCI Bus Computers Edicin. Julio 1998. 4. National Instruments Getting Started with LabVIEW Edicin. Julio 2000. 5. National Instruments Measurements Manual Edicin. Julio 2000. 6. National Instruments User Manual Edicin. Julio 2000. 7. Snchez, R. Modelado, Simulacin y Control de un Motor de Corriente Continua. Proyecto Elctrico. Escuela de Ingeniera Elctrica, Universidad de Costa Rica. 2004. 8. Universidad de Burgos Sistemas de Adquisicin de Datos, direccin del artculo en Internet: www2.ubu.es/ingelec/tecelec/inaki/docsinstrum/11-Sistemas AdquisicinDatos.pdf 9. Universidad de Oviedo Supervisin y control de procesos , direccin del artculo en Internet: http://www.isa.uniovi.es/~vsuarez/ Download/Apuntes.pdf
IE-0502
37
IE-0502
38
Existen tres modos de conexin para las seales de entrada analgicas, RSE, NRSE y DIFF. Con las configuraciones de punto comn la PCI-1200 puede controlar ocho canales de entrada analgica diferentes, con el modo diferencial es posible utilizar, mximo, cuatro canales. La tabla A.2 describe estas configuraciones. Tabla A.2. Modos de las entradas analgicas
Modo de entrada analgica RSE Descripcin Provee ocho entradas con la entrada negativa del amplificador de instrumentacin; punto comn de referencia de la medicin conectada con la tierra analgica de la tarjeta (condicin inicial) Provee ocho entradas con la entrada negativa del amplificador de instrumentacin conectada a AISENSE/AIGND y no conectado a tierra. Provee ocho entradas con la entrada positiva del amplificador de instrumentacin conectada a los canales 0, 2, 4 o 6 y la entrada negativa a los canales 1, 3, 5 o 7 respectivamente, de esta manera se seleccionan cuatro pares (0, 1), (2, 3), (4, 5), o (6, 7).
NRSE
DIFF
En la configuracin de entrada RSE no es recomendado por el fabricante, que el punto de referencia coincida con la tierra de la seal, ya que introduce una cada de tensin en la lnea de transmisin que se suma a la seal sensada. Si es necesario capturar seales referidas a la tierra del equipo en estudio se recomienda utilizar el modo NRSE, en donde todas la seales de entrada son referidas al mismo punto de referencia que no es la tierra de la tarjeta.
IE-0502
39
Figura A.1 Terminales de conexin de entrada y salida de la PCI-1200 Tabla A.3. Terminales del conector de entrada y salida de la PCI-1200
Terminal 1-8 Nombre de seal ACH<7...0> Direccin EA Referencia AGND Descripcin Analog Channel Canales de entrada analgicos 0-7 Analog Input Sense/ Analog Input Ground Conectado a AGND in modo RSE, sensor de entrada analgica en modo NRSE. Digital-to-Analog Converter 0 Output Voltaje de salida del canal de salida analgico 0. Analog Ground Salida analgica de referencia a tierra para voltajes de salida analgicos. Punto de retorno para la corriente bias para mediciones diferenciales. Digital-to-Analog Converter 1 Output Voltaje de salida del canal de salida analgico 1. Julio del 2004
AISENSE/AIGND
E/S
AGND
10
DAC0OUT
SA
AGND
11
AGND
N/A
N/A
12
DAC1OUT
SA
AGND
IE-0502
40
14-21
PA<7...0>
ESD
DGND
22-29
PB<7...0>
ESD
DGND
30-37
PC<7...0>
ESD
DGND
38
EXTTRIG
ED
DGND
39
EXTUPDATE*
ED
DGND
40
EXTCONV*
ESD
DGND
41 42
OUTB0 GATB0
SD ED
DGND DGND
43
OUTB1
ESD
DGND
44 45 46 47 48 49
ED ED SD ED ED SD
* Indica que la seal es activa en bajo EA = Entrada Analgica ED = Entrada Digital SA = Salida Analgica SD = Salida Digital
IE-0502
41
A.3 Especificaciones
A.3.1 Entrada Analgica Caractersticas de entrada Numero de canales .........................Ocho de terminal nico, ocho pseudodiferenciales o cuatro diferenciales, seleccionable por software Tipo de conversin AD ..................Aproximacin sucesiva Resolucin .....................................12 bits Velocidad mxima de muestreo .....100 K muestras / s Rangos de la seal de entrada
Ganancia de la tarjeta (Seleccin por software) 1 2 5 10 20 50 100 Rangos (Seleccin por software) 5 V 5V 2.5 V 1V 500 mV 250 mV 100 mV 50 mV 0 a 10 V 0 a 10 V 0a5V 0a2V 0a1V 0 a 500 mV 0 a 200 mV 0 a 100 mV
Acoplamiento de entrada................CD Mximo voltaje de operacin.........En modos DIFF y NRSE para la entrada negativa/ AISENSE; 5 V de AGND (bipolar) o 5 a 2 V (unipolar). Y la entrada positiva 5 a 10 V. Proteccin de sobrevoltaje ..............35 V encendida. 25 V apagada A.3.2 Salida Analgica
IE-0502
42
Resolucin .....................................12 bits Velocidad tpica de actualizacin...20 muestras / s 1 k muestras / s, dependiendo del sistema. Tipo de DAC .................................Buffer doble
IE-0502
43
Color
Anaranjado Anaranjado Anaranjado Anaranjado Anaranjado Anaranjado
IE-0502
44
Tabla B.1 Terminales de control e indicadoras (continuacin) String (cadena de caracteres) Rosa
Arreglo - entre los parntesis aparece el tipo de Varios dato de los elementos del arreglo Cluster Encierra varios elementos, es caf si los elementos son del mismo tipo o rosa si son diferentes. Camino (Path) Variante Forma de onda Numero de referencia (refnum) Caf o Rosa Verde agua Purpura Caf Verde agua
Polimorfico indica que la funcion acepta mas Purpura de un tipo de dato. Nombre de entrada / salida Imagen Purpura Azul
IE-0502
45
Figura C.1 Funcin para capturar seales analgicas Nombre de la funcin en LabView: AI Acquire Waveforms. Adquiere un nmero de muestras especificado de los canales especificados a la razn muestreo especificada y retorna los datos adquiridos. La funcin ejecuta una medicin de duracin limitada en los canales analgicos de entrada especificados. Si un error ocurre, aparece un cuadro de dialogo, dando la opcin de abortar la ejecucin o continuar la operacin.
Figura C.2 Funcin para generar seales analgicas Nombre de la funcin en LabView: AO Generate Waveform. Genera una seal en un buffer nico por un tiempo limitado por el canal analgico de salida dado a la razn de actualizacin especificada. Esta no retorna hasta que la generacin es completa. Si un error ocurre, aparece un cuadro de dialogo, dando la opcin de detener la funcin o continuar.
IE-0502
46
Figura C.4 Funcin para capturar seales en archivo Nombre de la funcin en LabView: Export Waveforms To Spreadsheet File. Convierta una seal en una cadena de texto y escribe la cadena a un nuevo archivo o lo agrega al final de un archivo existente. Esta funcin abre o crea el archivo y lo sierra luego. Esta funcin polimrfica sirve para convertir arreglos de seales de una dimensin, arreglos de seales de dos dimensiones, o una seal nica a una cadena de texto. El tipo de dato que se le indica determina la instancia polimrfica a utilizar.
IE-0502
47