Post on 22-Jun-2015
description
Programación avanzadade un PLC
Ing. Paul Gálvez Fernández
Esta es una guía referencial como apoyo para estructurar un programa de PLC con técnicas de un automatismo avanzado
paul.galvez@usm.cl
Técnicas de ProgramaciónImplementación
El algoritmo PID está programado en los controladores del DCS o PLC’s
4 – 20 mA
Armario de control
Módulos de entrada / salida
Módulos de control
Ing. Paul Gálvez Fernández
Técnicas de Programación
Instrumentos demedida y regulaciónrepresentados porcírculos connúmeros y letras
Unidades de procesoy actuadoresrepresentados consimbolos especiales
LT102
LC102
Ing. Paul Gálvez Fernández
Técnicas de Programación
ProcesoControlador
Transmisor
Actuadorw u y
4-20 mA
4-20 mA
SP 45PV 45.5
4-20 mAdeltransmisor
4-20 mA alactuador
Lazo de Control
Ing. Paul Gálvez Fernández
Técnicas de ProgramaciónSala de Control
4 – 20 mA
Campo
Operación
Ing. Paul Gálvez Fernández
Técnicas de Programación
CRP_IN PV_NORM
DEADBAND
+-
%
PVPER_ON
0
1
ER
DEADB_W
PV
PV_PER
PV_IN
SP_INT
PV_FACPV_OFF
Función PID
Etapa 1: Para realizar la comparación entre la consigna y el valor real del proceso normalizado, y crear el error de regulación.
By P.G.F.
Etapas
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT, HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
Función PID
Etapa 2: Para aplicar un tipo de regulador diferente (P, PI, PID) al error originado en la parte anterior, introducir los valores de los parámetros de cada uno, leer la salida que corresponde a cada parámetro y, teniendo en cuenta la perturbación DISV, originar la salida real del regulador.
By P.G.F.
Etapas
Ing. Paul Gálvez Fernández
Técnicas de Programación
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
Función PID
Etapa 3: Para utilizar la salida que origina el regulador manual o automáticamente, para establecer límites y preparar la salida definitiva en números reales (%) y en formato de periferia.
By P.G.F.
Etapas
Ing. Paul Gálvez Fernández
Técnicas de Programación
CRP_IN PV_NORM
DEADBAND
+-
%
PVPER_ON
0
1
X
GAIN
ER
DEADB_W
PV
PV_PER
PV_IN
SP_INT
PV_FACPV_OFF
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
Comparación entre la consigna y elvalor real del proceso automatizado
Introducir parámetros del controlador y considerar perturbaciones
Establece límites y prepara la salida definitiva
Ing. Paul Gálvez Fernández
Técnicas de Programación
CRP_IN PV_NORM
DEADBAND
+-
%
PVPER_ON
0
1
ER
DEADB_W
PV
PV_PER
PV_IN
SP_INT
PV_FACPV_OFF
Etapa 1
SP_INT: con este parámetro se fija la consigna del lazo de regulación; se tratará de un número real y, normalmente, de un porcentaje (del -100.0 % hasta el 100.0 %). De todas formas, se puede introducir directamente el valor de la magnitud física, por ejemplo, 0.45 Atm. si se trata de presión, o 75 lit. si se trata de nivel o volumen, o 1,2 l/s si se trata de caudal.
By P.G.F.
Etapas AL DETALLE
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PVPER_ON: mediante este parámetro binario definiremos el modo de lectura al valor del proceso (PV). Si es “0”, leeremos el valor del PV desde el parámetro PV_IN; si es “1”, se leerá desde el parámetro PV_PER, como de costumbre. Es un valor de lectura – escritura, y el inicial es “0”.
Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV
PV_PER
PV_IN
PV_FACPV_OFF By P.G.F.
PVPER_ONSP_INT
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PV_PER: en este parámetro recibiremos la información que nos proporcione directamente un sensor, es decir, el valor de la lectura de una tarjeta analógica. Así, este parámetro guardará la dirección de la entrada a la que está conectada el sensor (PEWXXX). Cuando el sensor sea de una única polaridad (0…10 V) y la medición se encuentre en rango nominal, el valor estará comprendido entre 0 y 27648 y, cuando sea bipolar, el valor se encontrará entre -27648 y 27648.
Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV
PV_IN
PV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV
PV_IN
PV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
By P.G.F.
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
CPR_IN: esta función 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 fórmula:
Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV
PV_IN
PV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
𝐶𝑃 𝑅𝐼𝑁=𝑃𝑉 𝑃𝐸𝑅100
27648
PV_PER
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PV_NORM: esta función normaliza los porcentajes de los valores proporcionados por el sensor, adecuando los parámetros PV_FAC y PV_OFF, tal y como se puede apreciar en la siguiente fórmula:Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV
PV_IN
PV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
𝑃𝑉𝑁𝑂𝑅𝑀 (𝑆𝑎𝑙𝑖𝑑𝑎)=𝐶𝑃𝑅𝐼𝑁 (𝑆𝑎𝑙𝑖𝑑𝑎)∗𝑃𝑉 𝐹𝐴𝐶+𝑃𝑉𝑂𝐹𝐹
PV_PER
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PV_FAC: factor del valor del proceso. Multiplica la salida de la función CPR_IN, para adaptar los valores proporcionados por el sensor a un nuevo rango. Su valor puede ser cualquier número real, pero normalmente será 1. Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV
PV_IN
PV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PV_OFF: el offset del valor del proceso. Añade un valor a la salida de la función CPR_IN para adaptarlo al nuevo rango. Su valor puede ser cualquier número real, pero normalmente será 0. Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV
PV_IN
PV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PV_OFF ejemplo 1: Supongamos que queremos controlar el nivel de un depósito, expresando la consigna en porcentajes. El valor del nivel (0 %... 100 %) nos lo da un sensor que nos proporciona 0…10 V.
En este caso deberá ser PV_FAC =1 y PV_OFF =0, ya que el valor del sensor está convertido al porcentaje en la función CPR_IN.
Etapas AL DETALLE
LCLT
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PV_OFF ejemplo 2: supongamos que el anterior depósito tiene una capacidad de 500 litros como máximo (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, se ajustarán PV_FAC =5 y PV_OFF =0, si se quiere obtener un valor máximo del sensor de 500 litros.
En cualquier caso, los valores que introducimos como consigna, así como los valores que recibimos de los parámetros PV_IN o PV_PER, tendrán que ser de la misma proporción en el punto de comparación, ya que, sino, estaríamos restando diferentes proporciones.
Etapas AL DETALLE
LCLT
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PV_IN: en cuanto a esta entrada, tendríamos que adaptar el valor entero que nos proporciona el sensor con las demás funciones del autómata para convertirlo en valor real, y para que, de este modo, la función realice una correcta comparación 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 física (en formato real DWORD).
Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PVPV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
PV_IN
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
PV: la lectura del valor del proceso (PV) se guarda en este parámetro y estará en números reales, porcentajes (-100.0 % …0… 100.0 %) o en cualquier otra unidad. Es sólo de lectura. Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
PV
PV_IN
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
DEADB_W: después de realizar la comparación, 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 número real en este parámetro, definiremos la amplitud de esta banda. El valor inicial es 0.0 y eso significa que DEAD_BAND está desconectado.
Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+-
%
0
1
ER
DEADB_W
PV_FACPV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
PV
PV_IN
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
DEADB_W: Cuanto más ancha sea esta banda, menos precisión tendrá la regulación, ya que, mientras el error no salga de esta banda, el regulador no se dará cuenta de que ha habido alguna variación en el error. La siguiente imagen nos muestra el gráfico que relaciona los parámetros de creación de error (ER), consigna, PV y DEAD_BAND.
Etapas AL DETALLE
DEADBAND
DEADB_W
By P.G.F.
DEADB_W
SP_INT-PV
ER
ER=(SP_INT-PV)+DEAD_W ER=(SP_INT-PV)-DEAD_W
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapa 1
ER: error de regulación. Es sólo de lectura y hace referencia al error de lazo del proceso que estemos controlando en el momento. Su valor estará en números reales.
Etapas AL DETALLE
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 2
A continuación se puede observar el diagrama de bloques correspondiente a los parámetros de configuración del algoritmo de regulación PID. La estructura del algoritmo PID trabaja en “posición” o en paralelo. Así, las acciones proporcional, integral y derivativa están colocadas en paralelo, por lo que cada acción se puede conectar y desconectar individualmente para obtener los reguladores P, I, PI, PD o PID.
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 2
Su funcionamiento se basa en la siguiente fórmula:
𝐿𝑀𝑁 (𝑡 )=𝐺𝐴𝐼𝑁∗(𝐸𝑟+ 1𝑇𝑖∫𝐸𝑟 ∗ (𝑑𝑡 )+𝑇𝑑 𝑑 (𝐸𝑟 )
𝑑𝑡)
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
GAIN: La ganancia proporcional del regulador será (kp), y puede adquirir cualquier valor real positivo o negativo. Cuando se requiera una acción “directa” en la regulación del proceso, introduciremos valores positivos en este parámetro y, cuando se trate de una acción inversa, valores negativos.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Acción directa/inversa
Direct acting controller Kp < 0 Reverse acting controller Kp > 0
u(t)=Kp(w-y) si aumenta y decrece u con Kp positiva
LT
considerar el tipo de válvula
LCLT
LC
Etapa 2
GAIN:
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2 GAIN
Acción directa: supongamos que estemos controlando el caudal del agua que pasa por un tubo, controlando el abrir-cerrar de una válvula que hemos colocado o controlando la consigna de velocidad de una motobomba. Si sube el valor de la consigna para el control del caudal del agua, habrá que abrir más la válvula o subir la consigna de la velocidad de la motobomba. Por eso se le denomina acción directa, porque cuando se quiere incrementar el valor del PV del proceso, también incrementa la salida del regulador (existe relación directa).
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2 GAIN
Acción inversa: supongamos que queremos controlar la presión de gas de un depósito, controlando el abrir-cerrar de una válvula colocada en la salida. Como bien sabemos, si abriésemos la válvula, la presión de dicho depósito bajaría y, si la cerrásemos, subiría. Si el valor de la consigna del regulador para controlar la presión sube, la válvula deberá cerrarse. Por eso se le denomina acción inversa, porque cuando se quiere incrementar el valor del PV del proceso, la salida del regulador debe disminuir (existe una relación contraria o inversa).
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
Función INT: Esta función nos da la salida del regulador correspondiente al efecto del integral, según los para metros Ti, IN_HOLD, I_ITL_ON, I_ITLVAL.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
Ti: Es el tiempo de la acción integral y su unidad se fijará en segundos. El valor mínimo de este parámetro está relacionado con el parámetro CYCLE (Ti >= CYCLE) y tendrá un valor inicial de 20 segundos (T#20S).
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
INT_HOLD: cuando este parámetro binario se activa, la salida correspondiente al integrador se bloquea en el valor que tiene en el momento, independientemente de la evolución del error.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
I_ITLVAL: si al comienzo de la regulación, o en cualquier otro momento, queremos que el regulador tenga un porcentaje concreto en la salida, se lo indicaremos mediante este parámetro de número real. El valor inicial es 0.0. Este parámetro está relacionado con el parámetro I_ITL_ON.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
I_ITL_ON: para que el valor del integrador introducido en el parámetro I_ITLVAL pase a la salida del regulador, definiremos este valor binario en “1”.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
Función DIF: esta función nos da el valor de salida del regulador correspondiente a la acción derivada, según los parámetros Td y TM_LAG
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
Td: el tiempo y la unidad de la acción derivada se fija en segundos. El valor mínimo de este parámetro está relacionado con el parámetro CYCLE (Td >= CYCLE) y tendrá un valor inicial de 10 segundos (T#10S).
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
TM_LAG: el efecto de la acción derivada lo podemos retrasar mediante este parámetro, según el tiempo introducido en el mismo. El valor mínimo de este parámetro está relacionado con el parámetro CYCLE (TM_LAG >= CYCLE/2) y tendrá un retardo inicial de 2 segundos (T#2S).
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
P_SEL, I_SEL y D_SEL: mediante estos parámetros binarios, podemos configurar diferentes tipos de reguladores de control del proceso (P, I, PI, PD o PID). Se debería examinar el proceso a controlar y elegir la estructura más adecuada. El regulador predeterminado en la configuración inicial es del tipo PI, por lo tanto, P_SEL = “1”, I_SEL = “1” y D_SEL = “0”.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
LMN_P, LMN_I, LMN_D: estos parámetros reales que son sólo de lectura hacen referencia a la proporción que las constantes P, I y D tienen en toda la salida del regulador.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
INT
TI, INT_HOLD,I_ITL_ON,I_ITLVAL
DIF
TD, TM_LAG
I_SEL
P_SEL
D_SEL
+ +LMN_I
LMN_D
LMN_P
0
0
0
1
1
1
DISV
By P.G.F.
Etapas AL DETALLE
Etapa 2
DISV: para simular una perturbación en el proceso, este parámetro nos permite añadir o restar un valor a la salida que origina el regulador.
X
GAIN
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
Por último, aparecerán los parámetros de configuración de la salida originada por el regulador, para utilizarlas manual o automáticamente, para establecer límites y preparar la salida provisional en porcentajes, números reales y en formato de periferia.
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
MAN_ON: todos los reguladores pueden funcionar manual o automáticamente. Así, si este bit fuese un “1”, el valor escrito en el parámetro MAN se transferiría a la salida del regulador. Por ejemplo, si escribimos MAN = 50.0, en la salida tendríamos 5 V. Cuando el parámetro MAN_ON es “0”, el regulador estará calculando la salida automáticamente, según la fórmula
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
Función LMNLIMIT: a veces, conviene fijar unos límites a la salida que genera el regulador, por ejemplo, cuando no es conveniente abrir o cerrar del todo una válvula (por problemas de seguridad). Dichos límites se definen mediante los siguientes parámetros: LMN_HLM y LMN_LLM.
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
LMN_HLM: es el límite superior que generará el regulador. Funcionando tanto manual como automáticamente, este límite no se podrá superar nunca. Supongamos las siguientes características: LMN_HLM = 70.0 %, el regulador fijado en modo manual y MAN = 80.0 %. En este caso, la salida máxima sería del 70 %, es decir, de 7 V en caso de (0…10V).
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
LMN_LLM: es el límite inferior que generará el regulador. Funcionando tanto manual como automáticamente, el límite de salida nunca será menor que el parámetro LMN_LLM. Supongamos las siguientes características: LMN_LLM = 20.0 %, el regulador fijado en modo manual y MAN = 10.0 %. En este caso, la salida máxima también sería del 20 %, es decir, de 2 V en caso de (0…10V).
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
Función LMN_NORM: se utilizará para normalizar la salida originada por el regulador y convertirlo en porcentajes, según la función de entrada PV_NORM, conforme a la siguiente fórmula:
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
By P.G.F.
𝐿𝑀𝑁=𝐿𝑀𝑁𝐿𝐼𝑀𝐼𝑇∗𝐿𝑀𝑁 𝐹𝐴𝐶+𝐿𝑀𝑁𝑂𝐹𝐹
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
LMN_FAC: este parámetro multiplicará la salida del regulador. LMN_OFF: este parámetro añadirá un offset a la salida. Los dos
son números reales. LMN: es la salida de la función LMN_NORM, y nos proporciona
la salida definitiva en porcentajes (sólo de lectura).
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
Función CPR_OUT : convierte automáticamente el valor real de salida en número entero, aplicando la función Uneskale, y el resultado lo deja en el parámetro LMN_PER, según la siguiente fórmula:
LMNLIMIT
LMN_HLM,LMN_LLM
LMN_NORM
LMN_FAC,LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
1
0
MAN_ON
MAN
By P.G.F.
𝐿𝑀𝑁 𝑃𝐸𝑅=𝐿𝑀𝑁26748100
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Etapa 3
Función CPR_OUT : Normalmente, a este parámetro se le adjudicará la dirección de la salida analógica a la que está conectado el actuador (PAWXXX).
Recordemos las relaciones de los valores de salida en porcentajes, números enteros (periféricos) y valores analógicos.
By P.G.F.
0% ……….. 0 ..…. 0 V / 4mA
50%.........13824 …5 V / 12 mA
100%.......27648 …10 V / 20 mA
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Consideraciones claves
CYCLE : es el tiempo de muestreo. Este parámetro define la frecuencia con el que se realiza la llamada al bloque FB41.
N° de lazos : El número de lazos programables con la función FB41 en una determinada CPU se determina conforme a la siguiente fórmula:
Supongamos que en una CPU se deben programar 70 lazos PID; en ese caso, la memoria mínima requerida por la CPU sería la siguiente:
𝐶 𝑃𝑈𝑀𝑒𝑚=𝑚𝑒𝑚𝑜𝑟𝑖𝑎𝑟𝑒𝑞𝑢𝑒𝑟𝑖𝑑𝑎𝑝𝑜𝑟𝑒𝑙 𝐹𝐵+𝑛°𝑑𝑒 𝑙𝑙𝑎𝑚𝑎𝑑𝑎𝑠∗𝑡𝑎𝑚𝑎ñ 𝑜𝑑𝑒𝑙𝐷𝐵
𝑀𝑒𝑚𝑜𝑟𝑖𝑎 (𝐵𝑦𝑡𝑒 )=2,5𝑘𝑏𝑦𝑡𝑒 (𝐹𝐵41 )+70∗125 (𝐵𝑦𝑡𝑒 )=𝟏𝟏𝟑𝟏𝟎𝐁𝐲𝐭𝐞𝐬
Ing. Paul Gálvez Fernández
Técnicas de Programación
Etapas AL DETALLE
Consideraciones claves
Cálculo del tiempo mínimo de muestreo CYCLE :
Cuando aparte de la memoria, el nº de PID a programar sea grande, el mencionado parámetro CYCLE será muy relevante, y habrá que estimar su valor adecuadamente.
En las CPU de la gama S7300, para realizar la misma función FB41, se requiere entre ≈ 1.1 ms y 1.63 ms, y en las CPU de la gama S7400, entre ≈ 54 μs y 185 μs, según la versión de la CPU.
Se deben realizar los bloques FB cíclicamente. Por lo tanto, cuando se trate de CPUs S7300 se programarán en OB25 y, cuando se trate de CPUs S7400 en bloques OB32, OB33, OB24 y OB35.
Ing. Paul Gálvez Fernández
MUCHAS GRACIAS gentileza P.G.F.!!!
Ing. Paul Gálvez Fernández