regulacion continua pid

28
REGULACION CONTINUA PID La regulación PID de los procesos básicos por medio del PLC SIEMENS S7 300, se procesa en los bloques de función FB41 “CONT_C” y FB42 “CONT_S”. Estos se encargan de crear lazos simples de control como presión, nivel, caudal o temperatura. La función del bloque FB41 “CONT_C” se pueden controlar sistemas de control continuo como presión, nivel y otros; utilizando las entradas y salidas analógicas. Por otro lado el bloque FB42 “CONT_S” consta normalmente de un control PI para los actuadores integrales produciendo una regulación discontinua. En este caso nos profundizaremos en la función FB41 que se explicará a continuación. 1. BLOQUE DE REGULACION FB41 El diagrama de bloques del regulador continúo con bloque de función FB41 “CONT_C” es el siguiente:

Upload: joseph-guerra

Post on 22-Nov-2015

22 views

Category:

Documents


1 download

TRANSCRIPT

  • REGULACION CONTINUA PID La regulacin PID de los procesos bsicos por medio del PLC SIEMENS S7 300, se procesa en los bloques de funcin FB41 CONT_C y FB42 CONT_S. Estos se encargan de crear lazos simples de control como presin, nivel, caudal o temperatura. La funcin del bloque FB41 CONT_C se pueden controlar sistemas de control

    continuo como presin, nivel y otros; utilizando las entradas y salidas analgicas. Por

    otro lado el bloque FB42 CONT_S consta normalmente de un control PI para los

    actuadores integrales produciendo una regulacin discontinua. En este caso nos

    profundizaremos en la funcin FB41 que se explicar a continuacin.

    1. BLOQUE DE REGULACION FB41

    El diagrama de bloques del regulador contino con bloque de funcin FB41 CONT_C

    es el siguiente:

  • Los parmetros de entrada mostrados en el bloque se encuentran en el lado izquierdo;

    y a su vez las salidas se encuentran en el lado derecho. Estos parmetros se explican a

    continuacin:

    SP_INT: Este parmetro tambin llamado Set Point o consigna fija; es el nmero que ingresamos para compararlo con los datos de salida entregados por el regulador. Por medio de un nmero real se podr introducir normalmente un porcentaje de -100% hasta 100%. De igual manera se podra introducir un nmero segn la variable. Ejemplo: 100 bar en caso de presin, 5 metros si se trata de nivel, etc.

  • PVPER_ON:

    Este es un parmetro que podemos activar o desactivar (binario) para poder definir el

    tipo de lectura del proceso(PV) desde un parmetro dado desde la periferia (PV_PER),

    como por ejemplo la entrada analgica de un sensor; o desde un parmetro interno

    dado por una DWORD con el parmetro PV_IN.

    Si este valor es 0 leeremos el valor del PV desde el parmetro PV_IN; si es 1 se

    leer desde el parmetro PV_PER como de costumbre. Es un valor de lectura y

    escritura y su valor inicial es 0;

    PV_PER:

    Este recibe la informacin directamente del sensor, es decir se toma el valor de la

    lectura en la entrada analgica del PLC (PEWXXX, IWXXX); para luego ser guardada en

    el parmetro PV_PER. Con un rango de 0 a 10V, 4 a 20 mA y su valor de PLC se

    encontrar entre 0 y 27648, normalmente si el sensor es no es bipolar.

  • CPR_IN:

    Esta funcin convierte el valor entero que recibimos del sensor en valores reales entre

    el -100.0 % y el 100.0 % (realiza un escalado), aplicando la siguiente frmula:

    PV_NORM:

    Esta funcin normaliza los porcentajes de los valores proporcionados por el sensor,

    adecuando los parmetros PV_FAC y PV_OFF, tal y como se puede apreciar en la

    siguiente frmula:

  • PV_FAC: Factor del valor del proceso. Multiplica la salida de la funcin CPR_IN, para adaptar los valores proporcionados por el sensor a un nuevo rango. Su valor puede ser cualquier nmero real, pero normalmente ser 1.

    PV_OFF:

    El offset del valor del proceso. Aade un valor a la salida de la funcin CPR_IN para

    adaptarlo al nuevo rango. Su valor puede ser cualquier nmero real, pero

    normalmente ser 0.

    EJEMPLO 1: Se quiere controlar la temperatura de un depsito, expresando el valor de entrada en

    Celsius y se quiere normalizar la temperatura de -15C a 54C entre el 0% y el 100%.

  • EJEMPLO 2:

    Supongamos que queremos controlar el nivel de un depsito representando la

    consigna en porcentajes el valor del nivel (0% 100 %) nos lo da un sensor que nos

    proporciona 0 10 V.

    En este caso el PV_FAC = 1 y PV_OFF = 0 ya que el valor del sensor esta convertido al

    porcentaje en la funcin CPR_IN.

    EJEMPLO 3:

    Supongamos que el anterior depsito tiene una capacidad de 500 litros como mximo

    (10 V del sensor) y que ahora el control de la consigna no se hace en porcentajes sino

    en litros por lo que el valor de la consigna a introducir no ser de 0 a 100 sino de 0 a

    500.

    En este caso PV_FAC = 5 y PV_OFF = 0 si se quiere obtener un valor mximo del sensor

    de 500 litros.

  • PI_IN:

    En cuanto a esta entrada, tendramos que adaptar el valor entero que nos proporciona

    el sensor con las dems funciones del autmata para convertirlo en valor real, y para

    que, de este modo, la funcin realice una correcta comparacin con SP_INT. Se utiliza

    cuando el valor del PV es real (entre el -100.0 % y el 100.0 %) o haya sido adaptado al

    valor de la magnitud fsica (en formato real DWORD).

    NOTA: en cualquier caso los valores que introducimos como consigna as como valores

    que recibimos de los parmetros PV_IN o PV_PER tendrn que ser de la misma

    proporcin en el punto de comparacin ya que si no estaramos restando diferentes

    proporciones.

    PV:

    La lectura del valor del proceso (PV) se guarda en este parmetro y estar en nmeros

    reales, porcentajes (-100.0 % a 100.0 %) o en cualquier otra unidad. Es slo de lectura.

    DEADB_W: Despus de realizar la comparacin, podremos aplicar el DEAD_BAND a lo que vaya a ser el error. Por ejemplo, si se quiere eliminar las fluctuaciones o el ruido que puede provocar un sensor. As pues, introduciendo el nmero real en este parmetro, definiremos la amplitud de esta banda. El valor inicial es de 0.0 y eso significa que el DEAD_BAND est desconectado.

  • Cuanto ms ancha sea esta banda, menos precisin tendr la regulacin, ya que, mientras el error no salga de esta banda, el regulador no se dar cuenta de que ha habido alguna variacin en el error.

    ER:

    Error de regulacin. Es slo de lectura y hace referencia al error de lazo del proceso

    que estemos controlando en el momento. Su valor estar en nmeros reales.

    A continuacin se puede observar el diagrama de bloques correspondientes a los

    parmetros de configuracin del algoritmo de regulacin PID. La estructura del

    algoritmo trabaja en paralelo as las acciones proporcionales, integrales y derivativas

    estn colocadas en paralelo. Por lo tanto cada accin se puede conectar y

    desconectar individualmente para obtener los reguladores P, PI, PID.

    DEAD_BAND

  • El funcionamiento se basa en la siguiente formula:

    GAIN: La ganancia proporcional del regulador ser (Kp), y puede adquirir cualquier valor real positivo o negativo. Cuando requiera una accin directa en la regulacin del proceso introduciremos valores positivos en este parmetro y cuando se trate de una accin inversa valores negativos.

    Explicacin: Accin Directa: Supongamos que estemos controlando el caudal de agua que pasa por un tubo controlando el abrir y cerrar de una vlvula que hemos colocado o controlado la consigna de velocidad de una motobomba. Si sube el valor de consigna para el control del caudal de agua habr que abrir ms la vlvula o subir la consigna de velocidad de la motobomba. Por eso se le denomina accin directa por que cuando se quiere incrementar el valor del PV del proceso tambin se incrementa la salida del regulador (relacin directa).

  • Accin Inversa: Supongamos que estemos controlando la presin de gas de un depsito controlando el abrir y cerrar de una vlvula que hemos colocado a la salida. Como bien sabemos si abriramos la vlvula la presin del depsito disminuira y si la cerrramos aumentara. Si el valor de consigna para controlar la presin sube la vlvula debera cerrarse Por ello se denomina accin inversa porque cuando se quiere incrementar el valor del PV del proceso la salida del regulador debe disminuir,

    INT:

    Esta funcin nos da la salida del regulador correspondiente a la accin integral segn

    los parmetros Ti, INT_HOLD, I_ITL_ON, I_ITLVAL.

  • Ti: Es el tiempo de la accin integral y su unidad se fijar en segundos. El valor mnimo de este parmetro est relacionado con el parmetro CYCLE (Ti >= CYCLE) y tendr un valor inicial de 20 segundos (T#20S). INT_HOLD: Cuando este parmetro binario se activa, la salida correspondiente al integrador se bloquea en el valor que tiene en el momento, independientemente de la evolucin del error. I_ITLVAL: Si al comienzo de la regulacin, o en cualquier otro momento, queremos que el regulador tenga un porcentaje concreto en la salida, se lo indicaremos mediante este parmetro de nmero real. El valor inicial es 0.0. Este parmetro est relacionado con el parmetro I_ITL_ON. I_ITL_ON:

    Para que el valor del integrador introducido en el parmetro I_ITLVAL pase a la salida

    del regulador, definiremos este valor binario en 1.

    DIF:

    Esta funcin nos da la salida del regulador correspondiente a la accin derivativa segn

    los parmetros Td y TM_LAG:

  • Td:

    El tiempo y la unidad de la accin derivada se fija en segundos. El valor mnimo de este

    parmetro est relacionado con el parmetro CYCLE (Td >= CYCLE) y tendr un valor

    inicial de 10 segundos (T#10S).

    TM_LAG: El efecto de la accin derivada lo podemos retrasar mediante este parmetro, segn el tiempo introducido en el mismo. El valor mnimo de este parmetro est relacionado con el parmetro CYCLE (TM_LAG >= CYCLE/2) y tendr un retardo inicial de 2 segundos (T#2S). P_SEL, I_SEL y D_SEL:

    Mediante estos parmetros binarios, podemos configurar diferentes tipos de

    reguladores de control del proceso (P, I, PI, PD o PID). Se debera examinar el proceso a

    controlar y elegir la estructura ms adecuada. El regulador predeterminado en la

    configuracin inicial es del tipo PI, por lo tanto, P_SEL = 1, I_SEL = 1 y D_SEL = 0.

  • LMN_P, LMN_I y LMN_D: Estos parmetros reales que son slo de lectura hacen referencia a la proporcin que las constantes P, I y D tienen en toda la salida del regulador. Por ejemplo: Si el regulador es del tipo P, es evidente que toda la salida debe de estar en el parmetro LMN_P, y los parmetros LMN_I y LMN_D sern cero, ya que, en este caso, no estarn activados. Si el regulador es del tipo PI, y si la regulacin del proceso se est efectuando correctamente (sin ningn error), es evidente que toda la salida estar en el parmetro LMN_I, y el valor del parmetro LMN_P ser casi cero, aunque est activado. LMN_D ser cero, por supuesto. Cuando se trate de un regulador PID y mientras los valores del PV no lleguen set point,

    los tres parmetros evolucionarn segn el error.

    DISV: Para simular una perturbacin en el proceso, este parmetro nos permite aadir o restar un valor a la salida que origina el regulador.

  • Por ultimo aparecern los parmetros de configuracin de la salida originada por el

    regulador para utilizarlas manual o automticamente para establecer lmite y preparar

    la salida provisional en porcentajes, nmeros reales y en formato de periferia.

    MAN_ON:

    Todos los reguladores pueden funcionar manual o automticamente. As, si este bit

    fuese un 1, el valor escrito en el parmetro MAN se transferira a la salida del

    regulador. Por ejemplo, si escribimos MAN = 50.0, en la salida tendramos 5 V.

    50.0

  • FUNCION LMNLIMIT:

    A veces, conviene fijar unos lmites a la salida que genera el regulador, por ejemplo,

    cuando no es conveniente abrir o cerrar del todo una vlvula (por problemas de

    seguridad). Dichos lmites se definen mediante los siguientes parmetros:

    LMN_HLM:

    Es el lmite superior que generar el regulador. Funcionando tanto manual como

    automticamente, este lmite no se podr superar nunca. Supongamos las siguientes

    caractersticas: LMN_HLM = 70.0 %, el regulador fijado en modo manual y MAN = 80.0

    %. En este caso, la salida mxima sera del 70 %, es decir, de 7 V en caso de (0 a 10V).

    Cuando el valor de salida llega a LMN_HLM, se activa otro parmetro binario,

    QLMN_HLM, lo cual nos indica que hemos llegado al valor mximo de salida. Segn el

    valor de este bit, el PLC puede realizar la accin que le corresponde en cada caso.

    LMN_LLM: Es el lmite inferior que generar el regulador. Funcionando tanto manual como automticamente, el lmite de salida nunca ser menor que el parmetro LMN_LLM. Supongamos las siguientes caractersticas: LMN_LLM = 20.0 %, el regulador fijado en modo manual y MAN = 10.0 %. En este caso, la salida mxima tambin sera del 20 %, es decir, de 2 V en caso de (0 a 10V). Cuando el valor de salida baja a LMN_LLM, se activa otro parmetro binario,

    QLMN_LLM, lo cual nos indica que hemos llegado al valor mnimo de salida. Segn el

    valor de este bit, el PLC debe realizar las acciones o correcciones que le corresponden

    si se cree necesario.

  • FUNCION LMN_NORM:

    Se utiliza para normalizarla salida originada por el regulador y convertirlo en

    porcentajes segn la funcin de entrada PV_NORM conforme a la siguiente formula:

    LMN: Es la salida de la funcin LMN_NORM, y nos proporciona la salida definitiva en porcentajes (slo de lectura). LMN_FAC: Este parmetro multiplicar la salida del regulador. LMN_OFF:

    Este parmetro aadir un offset a la salida. Los dos son nmeros reales.

  • FUNCION CPR_OUT:

    La funcin CPR_OUT convierte automticamente el valor real de salida en nmero

    entero, aplicando la des-escalizacin, y el resultado lo deja en el parmetro LMN_PER,

    segn la siguiente frmula:

    Normalmente, a este parmetro se le adjudicar la direccin de la salida analgica a la

    que est conectado el actuador (PAWXXX, QWXXX).

    COMRST: Si especificamos este parmetro en 1, la funcin FB CONT_C se resetea o reinicia. Esto se puede realizar en cualquier momento, pero lo ms adecuado es programarlo en el bloque OB100 (cuando el PLC pasa de STOP a RUN, ya que se trata de un bloque que se ejecuta una vez).

  • Despus de haber reseteado, los valores acumulados en los parmetros LMN_P, LMN_I

    y LMN_D se ponen en cero y, por consiguiente, la salida del regulador tambin ser

    cero. Si el valor de este bit se mantiene en 1, el regulador se queda bloqueado, por

    lo que resulta necesario que durante la regulacin sea 0.

    Consideraciones Claves:

    CYCLE:

    Es el tiempo de muestreo. Este parmetro define la frecuencia con el que se realiza la

    llamada al bloque FB41. Comnmente se utiliza (20ms* cantidad) de reguladores para

    el S7300.

    N DE LAZOS:

    El nmero de lazos programable con el bloque FB41 en una determinada CPU se

    determina con la siguiente formula:

    Si quisiramos hacer en una CPU 70 lazos PID en este caso la memoria mnima utilizada

    seria la siguiente:

    Cuando aparte de la memoria el n de PID a programar sea grande el mencionado

    parmetro CYCLE ser muy relevante y habr que estimarlo adecuadamente.

    En las CPU 300 para realizar la misma funcin FB41 se requiere entre 1.1ms y 1.63ms y

    en las CPU 400 se requiere entre 54us y 185us segn la versin de la CPU.

    Se deben realizar los bloques cclicamente por lo tanto cuando se trate dela CPU 300

    se programaran en OB25 y cuando se trate de la CPU 400 en bloques OB32, OB33,

    OB34 y OB35.

    2. PUESTA EN MARCHA

    Para la puesta en marcha usaremos un CPU 314-2 PN/DP.

    2.1. Primero se debe crear un nuevo proyecto (PID_S7_300).

    2.2. Vamos al modo Vista General del proyecto damos doble clic al PLC y vamos a la

    opcin alarmas cclicas.

  • 2.3. Se programara el bloque OB35 para realizar el ciclo de lazo cerrado cada 20 ms.

    2.4. Ahora en las propiedades de las entradas y salidas anlogas las configuramos

    para el rango de medicin del sensor y el rango que entregara en actuador:

    Doble clic en PLC

    Buscar la opcin Alarmas Cclicas

  • Primero nos fijamos en las direcciones asignadas a los Perifricos para ello

    vamos a la opcin AI5/AO2 de las propiedades generales de la CPU:

    Ahora configuramos la entrada IW800 y QW800 que corresponde al canal de entrada y

    salida 0 como tensin 0 10 V.

  • 2.5. Luego se debe crear un nuevo bloque de organizacin en este caso el OB35

    para llamar el bloque FB41 cclicamente.

    Vamos al rbol del proyecto y damos doble clic en la opcin Agregar nuevo

    bloque.

    Se abrir un ventana en la que escogemos la opcin OB>> Cyclic >> CYC_INT5 [OB35] y

    damos clic en Aceptar.

  • 2.6. Ahora ingresamos el bloque FB41 con nombre CONT_C y lo arrastramos hacia

    el OB35.

  • Nos saldr un aviso para crear el DB para el bloque CONT_C, damos clic en

    Aceptar.

    Nos saldr el bloque CONT_C con las entradas y salidas explicadas

    anteriormente:

    Arrastramos el bloque en el OB35

  • 2.7. Agregamos la entrada y salida de la periferia (Canal0) y la marca M0.0 para el

    reseteado del bloque PID.

  • 2.8. Ahora guardamos y cerramos la ventana de programacin del bloque OB35 e

    insertaremos un nuevo bloque de organizacin llamado OB100, este solo se

    activara una sola vez al inicio del programa.

  • Buscamos la opcin Startup >> COMPLETE RESTART [OB 100] y damos clic en

    Aceptar.

    2.9. En el OB100 agregamos la siguiente lgica:

  • Ing. Luis Garrido Vasquez.