Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Control anti-windup usando el bloque PID Controller

Este ejemplo muestra cómo utilizar procedimientos anti-windup para evitar la integración windup en controladores PID cuando se saturan los actuadores. El bloque PID Controller de Simulink® incorpora dos métodos anti-windup integrados, back-calculation y clamping, así como un modo de seguimiento para gestionar escenarios industriales más complejos. El bloque PID Controller admite varias funcionalidades que permiten gestionar problemas relacionados con controladores windup, frecuentes en escenarios industriales.

La planta que se va a controlar es un proceso saturado de primer orden con intervalo inactivo.

El bloque PID Controller se ha ajustado con saturación ignorada con el sintonizador PID de Simulink® Control Design™.

La planta controlada es un proceso de primer orden con intervalo inactivo descrito por

$$P(s)=\frac{1}{10s+1}e^{-2s}$.

La planta tiene límites de saturación de entrada conocidos de [-10, 10], que se explican en el bloque Saturation etiquetado como Plant Actuator. El bloque PID Controller de Simulink muestra dos métodos anti-windup integrados que permiten tener en cuenta la información disponible sobre la saturación de entrada de la planta.

Rendimiento sin usar anti-windup

Primero, examine el efecto de saturación en el lazo cerrado cuando el bloque PID Controller no tiene en consideración el modelo de saturación. Simular el modelo genera estos resultados. La figura muestra el punto de referencia frente a la salida medida sin anti-windup.

La figura muestra la salida del controlador y la entrada de saturación sin anti-windup.

Estas figuras resaltan dos problemas relacionados con el control de un sistema con saturación de entrada:

  1. Cuando el valor del punto de referencia es 10, la señal de control PID alcanza un estado estacionario a unos 36.29, fuera del intervalo del actuador. Por lo tanto, el controlador funciona en una región no lineal en la que aumentar la señal de control no tiene efecto en la salida del sistema, una condición que se conoce como winding up. Observe que la ganancia CC de la planta es unidad. Por lo tanto, la salida del controlador no necesita tener un valor de estado estacionario fuera del intervalo del actuador.

  2. Cuando el valor del punto de referencia se convierte en 5, hay un retraso considerable antes de que la salida del controlador PID vuelva a estar dentro del intervalo de actuador.

Diseñar el controlador PID para tener en cuenta el efecto de saturación mejora su rendimiento permitiendo que opere en la región lineal la mayor parte del tiempo y se recupere rápidamente de la no linealidad. Puede usar un mecanismo anti-windup para lograrlo.

Configurar un bloque para anti-windup basado en el cálculo inverso

El método de anti-windup por cálculo inverso utiliza un lazo de retroalimentación para reiniciar el integrador interno del bloque PID Controller cuando el controlador alcanza límites de saturación específicos e introduce una operación no lineal. Para activar anti-windup, vaya a la pestaña Output Saturation en el cuadro de diálogo del bloque. Seleccione Limit output e introduzca los límites de saturación para la planta. A continuación, desde la lista Anti-windup method, seleccione back-calculation. Después, especifique el coeficiente por cálculo inverso (Kb). La inversa de esta ganancia es la constante de tiempo del lazo anti-windup. En este ejemplo, la ganancia por cálculo inverso elegida es 1. Para obtener más información sobre cómo elegir este valor, consulte [1].

Una vez activado el cálculo inverso, el bloque tiene un lazo de seguimiento interno que reinicia la salida Integrator. Esta figura muestra la vista bajo máscara del bloque PID Controller con cálculo inverso.

Observe con qué rapidez vuelve la señal de control PID a la región lineal y qué rápido el lazo se recupera de la saturación.

La salida del controlador u(t) y la entrada saturada SAT(u) coinciden porque Limit output está activado.

Para visualizar mejor el efecto de anti-windup, esta figura ilustra la salida de planta medida y(t) con y sin anti-windup.

Configurar un bloque para anti-windup basado en integración condicional

Otra estrategia anti-windup habitual es la integración condicional. Para activar anti-windup, en el cuadro de diálogo Block Parameters, seleccione la pestaña Saturation. Seleccione Limit output e introduzca los límites de saturación para la planta. A continuación, desde la lista Anti-windup method, seleccione clamping.

Esta figura muestra el punto de referencia frente a la salida medida con clamping.

Esta figura muestra que la salida del controlador u(t) y la entrada saturada SAT(u) coinciden entre sí porque Limit output está activado.

Para obtener más información sobre cuándo usar clamping, consulte [1].

Usar el modo de seguimiento para gestionar escenarios complejos de anti-windup

Las estrategias anti-windup analizadas hasta ahora se basan en métodos integrados para procesar la información de saturación proporcionada al bloque a través del cuadro de diálogo. Para que estas técnicas integradas funcionen como es debido, deben darse dos condiciones:

  1. Se conocen los límites de saturación de la planta y se pueden introducir en el cuadro de diálogo del bloque.

  2. La señal de salida del bloque PID Controller es la única señal que se introduce en el actuador.

Estas condiciones podrían ser restrictivas cuando se gestionan escenarios generales de anti-windup. El bloque de PID Controller muestra un modo de seguimiento que permite configurar un lazo de cálculo inverso anti-windup de forma externa. Los siguientes dos ejemplos muestran el uso del modo de seguimiento para anti-windup:

  1. Anti-windup para actuadores saturados con dinámicas en cascada

  2. Anti-windup para control PID con feedforward

Construir procedimientos anti-windup para actuadores saturados con dinámicas en cascada

El actuador en sldemo_antiwindupactuator tiene dinámicas complejas. Las dinámicas complejas son habituales cuando un actuador tiene sus propias dinámicas de lazo cerrado. El controlador PID está en un lazo externo y ve las dinámicas del actuador como un lazo interno, que también se denomina dinámicas en cascada saturadas.

Una estrategia anti-windup satisfactoria requiere transferir la salida del actuador al puerto de seguimiento del bloque PID Controller. Para configurar el tracking mode del bloque PID Controller, en el cuadro de diálogo Block Parameters, haga clic en la pestaña Initialization. Seleccione Enable tracking mode (Activar modo de seguimiento) y especifique la ganancia Kt. La inversa de esta ganancia es la constante de tiempo del lazo de seguimiento. Para obtener más información sobre cómo elegir esta ganancia, consulte [1].

La salida medida de la planta y(t) y la salida del controlador u(t) responden casi inmediatamente a los cambios en el punto de referencia. Sin el mecanismo anti-windup, estas respuestas tienen grandes retrasos.

Procedimiento anti-windup para control PID con feedforward

En otra configuración de control habitual, el actuador recibe una señal de control que es una combinación de una señal de control PID y un control feedforward. Abra el modelo sldemo_antiwindupfeedforward.

Para construir con precisión un lazo de cálculo inverso anti-windup, la señal de seguimiento debería restar la contribución de feedforward. Esta acción permite al bloque de PID Controller conocer su parte de la señal de control efectiva aplicada al actuador.

La ganancia de feedforward aquí es unidad porque la planta tiene una ganancia DC de 1.

La salida medida de la planta y(t) y la salida del controlador u(t) responden casi inmediatamente a los cambios en el punto de referencia. Cuando el valor del punto de referencia es 10, observe que la salida del controlador u(t) se reduce para estar dentro del intervalo del actuador.

Cuando el valor del punto de referencia es 10, observe que la salida del controlador u(t) se reduce para estar dentro del intervalo del actuador.

Esta figura muestra la salida de PID Controller y la entrada de la señal de compensación con anti-windup.

Referencias

[1] Åström, Karl J., and Tore Hägglund. Advanced PID Control. Triangle Park, NC: International Society of Automation, 2006.

Consulte también

Temas relacionados