Sie sind auf Seite 1von 28

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.

Das könnte Ihnen auch gefallen