Control para elementos Encendido-Apagado (On/OFF) para sistemas de primer orden y sobre-amortiguados
Bang-Bang Control: un control de planta de primer orden fácil de programar y calibrar cuando la salida del sistema es un actuador de encendido y apagado.
¿Para qué sirve esto?
El objetivo de este documento es presentar un control de planta de primer orden fácil de programar y calibrar cuando la salida del sistema sea un actuador de encendido-apagado. Este algoritmo se basa en el control Bang-Bang, que utiliza histérisis para activar y desactivar la salida del control con una mejora de un filtro de primer orden en un lazo de retroalimentación interno para aumentar la modulación de la salida.
El tipo de salidas que este control puede accionar son las siguientes:
- Válvulas solenoide
- Válvulas motorizadas con 2 posiciones (Abrir/Cerrar)
- Relés de estado sólido (para accionar resistencias de calentamiento).
- Contactores electromecánicos.
Esta solución se ha probado en sistemas físicos de calentamiento térmico y de calentamiento/refrigeración descritos en la sección de herramientas y requisitos previos como en un equipo de pruebas, y en sistemas de control de nivel (probado en un sistema industrial que no se muestra aquí) donde tenemos caudal de entrada y salida.
¿Es útil para mí?
El principio de funcionamiento del Bang-Bang es el control de encendido/apagado con histérisis, pero hemos añadido un lazo interno de retroalimentación en la salida de encendido/apagado a través de un filtro de primer orden.
El efecto final del filtro de retroalimentación de primer orden en el control Bang-Bang es compensar el tiempo muerto que transcurre entre el actuador que afecta a la variable medida y el sensor que informa de la medida real.
Con el filtro de retroalimentación, la oscilación en la salida de control comenzará antes que si solo tuviera el comparador de histérisis, lo que limitaría la cantidad de calor que ingresa al tanque y ayudaría a evitar el sobreimpulso a medida que el líquido calentado llega al sensor.
Este algoritmo puede sustituir a un lazo de control proporcional por integración que necesita estar conectado a una salida proporcional al tiempo, es más sencillo de ajustar y tiene menos parámetros que configurar.
Nota: Sugerimos que utilice este algoritmo para sistemas de primer orden y solo para sistemas de segundo orden críticamente vaciados y sobrevaciados (ζ≥1). Un sistema no amortiguado puede producir oscilaciones no deseadas que pueden tener un comportamiento inesperado.
¿Cómo puedo hacer que funcione?
Conocimientos previos:
- Teoría de funcionamiento mejorada del algoritmo Bang-Bang.
- Definición de un sistema críticamente amortiguado o sobreamortiguado de primer y segundo orden.
* Documentación completa disponible aquí (en inglés)
En la Figura 1 se muestra el diagrama de bloques del algoritmo de control Bang-Bang mejorado:
El principio de funcionamiento Bang-Bang es el control de encendido/apagado con histérisis. Como muestra el diagrama, el sistema se encenderá cuando la entrada [e2] sea mayor que H, pero se mantendrá encendido hasta que [e2] sea menor que L.
Por lo general, esta es toda la funcionalidad Bang-Bang, pero hemos añadido un lazo interno de retroalimentación en la salida de encendido/apagado a través de un filtro de primer orden. Este filtro se aplica matemáticamente en el algoritmo.
Este filtro de primer orden (FOF) recibirá el estado del bloque de salida Bang-Bang (BB) (histérisis) que es 1 (uno) o 0 (cero), depende de si la salida está activada o desactivada. El resultado será una carga o descarga de la capacitancia en función del estado de la salida del bloque Bang-Bang. La tendencia de la salida FOF será K cuando la salida BB esté activa y tenderá a cero cuando la salida esté desactivada.
La salida del FOF se resta del error [e], lo que produce un [e2] reducido que tenderá a K, esto significa que, cuando el error (e=SP-PV) sea mayor durante suficiente tiempo, e2 tenderá a e-Kr,. Por lo tanto, e2 será mayor que H encendiendo la salida del BB.
El elemento de control final permanecerá abierto hasta que la planta alcance la diferencia indicada por e2 ≤ L; la salida del BB se apagará incluso cuando la planta aún no haya alcanzado el punto de ajuste, pero, entonces, el filtro de retroalimentación iniciará una descarga que provocará un incremento en e2. La descarga continuará hasta que e2 alcance H que volverá a activar la salida de BB.
El proceso continuará su ciclo entre encendido/apagado hasta que la variable de procesoel PV alcance el SetPoint.
Sintonización en el Bang-Bang
El método de sintonización es bastante intuitivo. Pero es mejor empezar con una ganancia pequeña en el filtro de retroalimentación y pocas unidades de error para activar el control y pocas unidades para desactivarlo. Puede comenzar con el centro en cero. Por ejemplo, comience con [H = 0.5% de la variable de control] y [L=- 0.5% de la variable de control]. Haz K=0 para ver cómo reacciona el sistema ante un Bang-Bang puro.
El tiempo de muestreo debe ser igual a la llamada periódica de la función Bang-Bang. Este parámetro es importante porque determinará el tiempo del sistema para los siguientes pasos.
Compruebe el sobreimpulso después de que el sistema se estabilice, haga [K] igual al sobreimpulso y [Tao] igual al tiempo muerto (t0) para estimar este tiempo (no tiene que ser preciso), mida el tiempo entre la activación de la salida del actuador y el cambio visible y perceptible de 0.5% en la variable de control.
Esto configurará el Bang-Bang para el primer paso de Tunning.
Al observar la capacidad del sistema, puede reducir el vacío entre [H] y [L] para reducir la magnitud de las fluctuaciones en torno al punto de ajuste [SP].
También puede reducir o aumentar el periodo de encendido/apagado si modifica [Tao] en el control. Esto mejorará la precisión de la salida del sistema, pero creará un aumento de los ciclos de encendido/apagado en el actuador.
Tenga en cuenta que, si el actuador tiene un funcionamiento mecánico, como un relé, un contactor o una válvula solenoide, la vida útil del actuador será inversa al número de ciclos de conexión/desconexión, por lo que tendrá que hacer un compromiso entre la vida útil del actuador y la precisión del control.
Enfriamiento Bang-Bang (actuador para disminuir la variable de control)
El algoritmo para disminuir la variable de control, como la refrigeración en un tanque calentado o la válvula de liberación de presión en un tanque a presión, es muy similar al diagrama de calefacción pero con algunos cambios, como se muestra en la Figura 2.
La diferencia en el algoritmo es que la salida de disminución se multiplica por -1 antes de alimentar la entrada del filtro de lazo interior. Los diferentes parámetros de control, ahora la histérisis enciende el actuador de disminución cuando el e2 es menor que de SP en el punto DecON y apagará el actuador de disminución cuando el e2 sea mayor que el punto DecOFF.
Calentamiento y refrigeración Bang-Bang
El último caso para Bang-Bang es cuando se tienen ambos actuadores para el mismo sistema. Este es el caso de aplicaciones como el recubrimiento cromado o galvanizado, donde los sistemas necesitan estar a una cierta temperatura para comenzar el proceso. Sin embargo, una vez que el proceso está en funcionamiento, este genera más calor gracias a la corriente de recubrimiento eléctrico y, por lo tanto, necesita ser enfriado.
En este caso, tenemos que utilizar el Bang-Bang en modo dual, como se muestra en la Figura 3.
Como se puede ver en la Figura 8, tenemos 2 histérisis, una para accionar el actuador de aumento y otra para accionar el actuador de disminución. La clave para afinar esta opción es asegurarse de que el parámetro [DecON] sea siempre menor que el [IncOn] y es preferible que el punto de apagado de ambos parámetros no se cruce. Es preferible que ambas histérisis se configuren como mutuamente excluyentes.
Herramientas y requisitos previos:
Software:
- Studio 5000 Logix Designer v35
- FactoryTalk View ME v12.00.00
Hardware:
- ControlLogix (modelo 1756-L83) Firmware v35
- Adaptador Ethernet de E/S CompactLogix (5069-AEN2TR)
- Tarjeta de entrada analógica universal CompactLogix (5069-IY4)
- Tarjeta de salida digital CompactLogix 16 24 V CC (5069-OB16F)
- PanelView Plus 7 Performance 700 (2711P-T7C22A9P)
Componentes del sistema de pruebas:
- 1 computadora personal acuario de 8 litros
- 1 sensor de temperatura RTD PT100
- 1 relé de estado sólido; bobina de entrada 24 V CC/salida 125 V CA
- 1 resistencia de calentamiento de 400 vatios
Archivos:
- BB.acd Instrucción Logix Designer Addon
Entradas y salidas del sistema de pruebas
Las entradas y salidas utilizadas son:
- 1 sensor de temperatura PT100 RTD conectado a la entrada del modulo E/S remota en la ranura 3 entrada 0 (5069-IY4) Tag de controlador: Compact_Ethernet_Adapter:3:I.Ch00.Data.
- 2 salidas de CC conectadas a la tarjeta de 24 salidas de CC del modulo E/S remota en la ranura 2 salida 0 y 1. Compact_Ethernet_Adapter:2:O.Pt00.Data & Compact_Ethernet_Adapter:2:O.Pt01.Data.
Instrucción Bang-Bang Add On (AOI)
La instrucción Bang-Bang Add On contiene los parámetros de la instrucción, las variables de entrada y las variables de salida para que el control funcione de la misma forma que la lógica. Los parámetros de entrada y salida se muestran en la placa frontal realizada para Panelview Plus 7.
Estructura AOI
La instrucción AOI tiene un tipo de datos definido para nombrar a cada sistema de control por su nombre único. En el caso de este ejemplo, el nombre del sistema es "Acuarium" que tiene el tipo de datos {aoi_Bang_Bang}.
Parámetros para habilitar/inhabilitar:
Lista de parámetros y descripción:
[BB_is_ON] Variable de entrada booleana para ENCENDER o APAGAR el control.
[Has_inc_element] Entrada booleana para indicar si el control tiene actuador de incremento variable.
[Has_dec_element] Entrada booleana para indicar si el control tiene actuador de decrecimiento variable.
Parámetros de operación:
[PV] Variable del proceso: este es un parámetro real del valor de punto flotante. Debe asignar la variable escalizada de la tarjeta de entrada a esta variable.
[SP] Punto de ajuste: este es un parámetro real del valor de punto flotante. Esta variable se establecerá en la HMI o en cualquier dispositivo de entrada que establezca la referencia para el control.
Parámetros de calibración:
[Inc_On] Parámetro real del valor con punto flotante. Esto es parte de la histérisis de la Bang-Bang. Si el error de entrada a la histérisis es mayor que este valor, la salida al aumento de la variable de control se enciende.
[Inc_Off] Parámetro real del valor con punto flotante. Esto es parte de la histérisis de la Bang-Bang. Si el error de entrada a la histérisis es menor que este valor, la salida al aumento de la variable de control se apaga.
[Dec_On] Parámetro del valor con punto flotante. Esto es parte de la histérisis del Bang-Bang. Si el error de entrada a la histérisis es menor que este valor, la salida a la disminución de la variable de control se enciende.
[Dec_Off] Parámetro real del valor con punto flotante. Esto es parte de la histérisis del Bang-Bang que si el error de entrada a la histérisis es mayor que este valor, la salida a la disminución de la variable de control se apaga.
[tsample] Parámetro real del valor con punto flotante. Este parámetro debe ser igual al tiempo definido para el tiempo de escán de la tarea periódica para el Bang-Bang.
[Tao] Parámetro real del valor con punto flotante. Es la constante de tiempo en segundos para el filtro de primer orden en la retroalimentación del lazo interior.
[K] Parámetro real del valor con punto flotante. Es la ganancia a la que tenderá la salida del sistema de primer orden tras un largo periodo de tiempo (por lo general, 7 veces Tao). Si K = 3, después de 7 multiplicado por Tao, la salida del filtro será cercana a 3.
Parámetros de monitoreo
[e] Variable real del valor con punto flotante. Indica la diferencia entre el punto de ajuste y la variable de proceso ([e] = [SP] - [PV]).
[e2] Variable real del valor con punto flotante. Es la diferencia entre el error [e] y la salida del filtro de primer orden [FB_Filter_Out].
[FB_Filter_In] Variable real del valor con punto flotante. Es la entrada al filtro de retroalimentación que resulta de sumar los parámetros de salida [INC_OUT] - [DEC_OUT]. Estos parámetros son las salidas reales a los elementos actuadores. Dado que los parámetros [INC_OUT] y [DEC_OUT] son booleanos, se requiere utilizar variables enteras para añadir estos parámetros antes de asignarlas a la entrada Filtro.
[FB_Filter_Out] Variable real del valor con punto flotante. Es la salida del filtro de retroalimentación que resulta de la digitalización de la función de transferencia de un sistema de primer orden. Para que sea sencillo, la ecuación diferencial de primer orden se transforma en muestreo digital con el método de Euler.
La ecuación del filtro es la siguiente:
Parámetros de salida
[INC_OUT] Parámetro booleano de salida. Esta es la salida que debe conectarse a la tarjeta de salida para accionar el actuador variable de control del aumento.
[DEC_OUT] Parámetro booleano de salida. Esta es la salida que debe conectarse a la tarjeta de salida para accionar el actuador variable de control de descenso.
Variables internas de la AOI
La instrucción Add On tiene otras variables internas necesarias para ejecutar la instrucción, como la conversión de Booleano a número entero. No describiremos cada una de estas variables en este documento, ya que la instrucción AOI está abierta a revisión y edición.
Panelview más 7 pantallas
La pantalla de edición de máquinas Panelview 7 se suministra como placa frontal para el control Bang-Bang.
La placa frontal se suministra como muestra para un sistema y se incluye en el paquete de documentación.
Conocimientos previos
Definición de un sistema vaciado o sobrevaciado de forma crítica de primer orden y de segundo orden.
Puede consultar el documento completo aquí (en inglés).
Descargas
Tenga en cuenta: deberá aceptar los Términos y condiciones para cada descarga.
¿Necesita ayuda?
Si necesita ayuda con alguna aplicación o tiene comentarios acerca del Innovation Center, por favor contáctenos.
Guía de instalación
Para implementar la Instrucción Add On, verifique los siguientes pasos.
Studio 5000 AOI
Paso 1
Extraiga los archivos de BB.ZIP a su directorio de trabajo.
Paso 2
Abra el archivo BB.acd en Studio 5000.
Paso 3
Abra el proyecto en el que desea utilizar el Bang-Bang (se supone que la asignación de E/S de su proyecto ya está hecha).
Paso 4
Resalte la instrucción Select the aoi_Bang_Bang en el menú Assets de la sección del organizador de controladores en Logix Designer.
Seleccione el AOI Bang-Banf en el menú de activos en el organizador del controlador en Logix Designer.
Paso 5
Haga clic con el botón derecho del ratón y seleccione Copy, como se muestra en la imagen.
Paso 6
Vaya al programa que desea utilizar el Bang-Bang y, en Assets, resalte select the folder Add-On Instructions.
Paso 7
Verifique que su programa de destino tenga la nueva AOI copiada; en data type también debería tener una nueva estructura en Add-On-Defined.
Paso 8
Cree una tarea periódica en la que desee utilizar el Control Bang-Bang o copie y pegue la tarea de ejemplo del programa BB.acd. Si decide copiar la tarea periódica, debe hacerlo en 2 pasos:
a. Seleccione la tarea Bang_Bang (10ms), haga clic con el botón derecho del mouse y seleccione copy.
b. Vaya a su programa de destino y en la carpeta Task haga clic con el botón derecho del ratón y seleccione paste. La tarea periódica se creará en el programa de destino.
c. Desde el programa BB.acd en la tarea Bang_Bang (10ms), haga clic con el botón derecho, seleccione la rutina BB_Logic y seleccione copy.
d. En el programa de destino, seleccione Bang_Bang (10ms) y haga clic con el botón derecho para pegar la lógica.
Paso 9
En Controller Tags, defina una nueva variable "Acuarium" (porque este es el nombre del sistema en la rutina BB_Logic).
Paso 10
En la rutina BB_Logic del programa llamado {IOAssignments_n_Scaling}, cambie la dirección de entrada analógica de E/S para que coincida con su proyecto. Cambie también la salida digital a los actuadores de control para que coincida con su proyecto.
Paso 11
Su Bang-Bang debería estar listo para funcionar en su programa de destino.
Ver Studio ME
Para utilizar la plantilla para PanelView Plus 7 Performance, deberá recuperar el proyecto del archivo .mer en Studio 5000 View ME.
Paso 12
Desde el archivo zip, descomprima el archivo llamado PV7P_BB.mer (recuerde que este archivo está en la versión 12 para ViewME).
Paso 13
Utilice Factory Talk ViewME Application Manager desde el menú de herramientas dentro de la aplicación FactoryTalk ViewME.
Paso 14
Seleccione "Restore runtime application".
Paso 15
Seleccione el archivo BB.mer.
Paso 16
Seleccione Open application. La aplicación debería restaurarse.
También puede encontrar muchos vídeos sobre cómo restaurar una aplicación .mer para recuperar.