Por:Héctor Sifon
En ocasión de cursar la especialización en Automatización industrial en la UBA, desarrolle este software como proyecto final, el cual comparto con ustedes para libre disponibilidad. La siguiente es una lista de agradecimientos a los docentes y colegas que aportaron su visión al proyecto y sobre todo a los que oficiaron de beta testers: @Mauricio Farja, @Anibal Zanini, @Pablo Gonzalez @Carlos Godfrid, @Ariel Agnello, @Gabriel Blasco, @Guillermo Paez
CSTOOL El Proyecto:
El ingeniero de control suele tener que realizar ajustes de lazos PID, usualmente en situaciones donde no se dispone de modelo dinámico de la planta, y muchas veces, tampoco del tiempo para su obtención. Producto de esto, la mayor parte del trabajo de ajustes de lazos de control se realiza prescindiendo de las herramientas analíticas ampliamente conocidas y muy efectivas.
A los efectos de contribuir en la disminución de la brecha entre la teoría de control y su práctica diaria, se desarrolló software CSTOOL de asistencia para la identificación de modelos y ajuste de lazos de control. Esta herramienta permite identificar los parámetros del modelo, cuyo orden es definido por el usuario, a partir de la importación de datos en formato de un archivo CSV, que contengan el resultado de pruebas de perturbación sobre la variable controlada y su incidencia en la variable de procesos.
software CSTOOL
Para la identificación de los parámetros del modelo se utilizó el método de estimación por mínimos cuadrados, a lo que se adicionó una etapa de ajuste final por método de descenso de gradiente.
Esta última etapa permite corregir los casos donde, por presencia de ruido de medición, se obtengan parámetros con sesgo de estimación, lo cual es inherente al método de mínimos cuadrados.
Cabe mencionar
Que, al considerar como punto de partida para el algoritmo de descenso de gradiente, la estimación obtenida por mínimos cuadrados, se elude la problemática de mínimos locales que puede suceder si se utiliza el método de descenso de gradiente por sí solo.
Con esta combinación en etapas de algoritmos, se ha obtenido un buen desempeño en la estimación de parámetros de modelos aún en condiciones de señales ruidosas.
Adicional a la funcionalidad de identificación de modelo
El software desarrollado posee un entorno de simulación, el cual permite verificar el comportamiento a lazo cerrado para distintas configuraciones del controlador, siendo posible verificar el desempeño ante perturbaciones y cambios de Set Point. Por otra parte, la herramienta puede también obtener la configuración del controlador por método de IMC y calcular la distancia entre el gráfico de Nyquist al punto crítico, lo que da una idea de la robustez del ajuste realizado sobre el PID; logrando así un conjunto de funcionalidades que resulta muy útil como herramienta de apoyo en la tarea diaria del ingeniero de control.
Utilizando CSTOOL para identificar Modelos
Antes de Empezar:
Para poder obtener los datos que vamos a usar para la identificación fuera de línea, debemos realizar una prueba de campo, y obtener los datos de la variable de proceso y la variable de control. Debe tenerse en cuenta cumplir con siguientes criterios para que el proceso de identificación sea exitoso:
1. La frecuencia de muestreo debe asegurar que obtendremos al menos 10 muestras para el tiempo correspondiente a la constante de tiempo más pequeña de la dinámica a identificar. Es decir si la constante de tiempo más pequeña es de 10 segundos, será recomendable que el tiempo de muestreo sea de 1 segundo. Por otra parte, para procesos lentos es conveniente no excederse en las frecuencias de muestreo ya que conduce a archivos de datos innecesariamente grandes.
2. En la práctica real, los lazos de control están sometidos a perturbaciones. Las perturbaciones suelen no estar medidas directamente, pero notamos su aparición en el comportamiento dinámico del lazo de control, por lo cual, para la ventana de datos a considerar durante el proceso de identificación, tendremos que buscar un período libre de perturbaciones. Cabe señalar que el sistema será modelado como un sistema Sistema de única entrada y única salida.
3. Durante el período de identificación, utilizaremos el controlador en modo manual, provocando pequeñas modificaciones en la variable de control, para registrar los cambios que se inducen producto de estas variaciones en la variable de procesos. Es conveniente que realicemos más de un escalón, tanto positivo como negativo.
Instructivo :
Para iniciar un proceso de identificación partimos con los datos en un archivo CSV. Para poder cargar el archivo CSV debemos ir a la ventana de “Datos Crudos”, donde podremos acceder al botón “Importar desde CSV”.
Cuando se abra el archivo deberá seleccionar si el separador y separador decimal para continuar. Si la selección fue correcta, los datos de desplegarán en una tabla. En esta ventana debemos seleccionar que columna corresponde a la variable de proceso “PV” y cual a la variable controlada “CV”. Notar que la variable controlada solo puede mostrar valores entre 0 y 100, este es el valor de la salida de control del PLC/DCS que puede ser escalada a una señal de 4 a 20 mA o alguna otra que es enviada al elemento final de control, el cual podrá ser una válvula de control, un variador de frecuencia, etc.
Cuando se abra el archivo
Cuando se abra el archivo deberá seleccionar si el separador y separador decimal para continuar. Si la selección fue correcta, los datos de desplegarán en una tabla. En esta ventana debemos seleccionar que columna corresponde a la variable de proceso “PV” y cual a la variable controlada “CV”. Notar que la variable controlada solo puede mostrar valores entre 0 y 100, este es el valor de la salida de control del PLC/DCS que puede ser escalada a una señal de 4 a 20 mA o alguna otra que es enviada al elemento final de control, el cual podrá ser una válvula de control, un variador de frecuencia, etc.
Una vez que tenemos cargados los datos para el procesos de identificación, deberemos volver a la ventana “Modelo”, desde encontraremos el botón “Ajuste de Parámetros”, con él podremos acceder a la ventana de ajuste de modelo.
La ventana de “Ajuste de parámetros”
Ya en la ventana de “Ajuste de parámetros” debemos cargar algunos datos antes de proceder. Lo primero que debemos cargar son los valores medios del punto de reposo del sistema. Un aspecto a considerar es que resultará conveniente es que la ventana de análisis, la cual definiremos más adelante, comience con valor cercano a lo que identificamos como el punto de reposo del sistema. Cabe aclarar que la función transferencia que obtendremos en el proceso de identificación es un modelo linealizado del comportamiento dinámico del sistema, es decir que definimos en este punto el valor medio que se sumará a las predicciones del modelo lineal comparar con los datos reales. En el ejemplo que se muestra en la imagen previa se utiliza un valor para el punto de trabajo de 30 para PV y 50 para CV.
Tiempo de muestreo
Como parámetros de configuración resulta necesario indicarle al software el tiempo de muestreo, dado que este toma las muestras desconociendo este dato, y también el tiempo de demora o retardo del sistema, el cual debe ser estimado por el usuario, para lo cual puede valerse del cursor disponible para el gráfico. Es importante aclarar que el retardo se carga en unidades de número de muestras.
El paso siguiente es definir el orden del polinomio numerador y denominador del modelo a ajustar, aquí el usuario deberá tener en cuenta que el orden del denominador siempre deberá ser mayor al orden del numerador.
Otro aspecto a configurar antes de la identificación es la ventana de análisis, aquí especificamos el intervalo de muestras que será considerado para la identificación, esta funcionalidad nos permite excluir parte de las muestras en caso que notemos la presencia de una perturbación, pero también es buena práctica excluir una ventana de muestras del análisis para que podamos verificar la predicción del modelo utilizando un conjunto de datos no considerado para su obtención.
Habiendo completado la configuración previa podemos correr el algoritmo de ajuste de modelo por regresión lineal, utilizando el botón que se muestra en la siguiente figura. Para los casos donde por presencia de ruido la estimación muestre un desajuste, podemos recurrir a la optimización de la estimación por método de descenso de gradiente,.
Antes de abandonar la ventana podemos seleccionar el modelo que utilizaremos para trabajar, en caso que hayamos corrido las dos etapas del algoritmo tendremos dos opciones, al salir de la ventana con el botón aceptar habremos cargado el modelo.
Con este último paso dispondremos del modelo cargado, el que podremos editar o probar en la ventana de simulación.
Fuente: hosifon.blogspot.com