CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
Programación avanzada
1. Programación
avanzada
de un PLC
Esta es una guía referencial como apoyo para estructurar un
programa de PLC con técnicas de un automatismo avanzado
Ing. Paul Gálvez Fernández
paul.galvez@usm.cl
2. Técnicas de Programación
Implementación
El algoritmo PID está
programado en los
controladores del DCS o
PLC’s
4 – 20 mA
Armario de control
Módulos
de control
Módulos
de entrada
/ salida
Ing. Paul Gálvez Fernández
3. Técnicas de Programación
Unidades de proceso
y actuadores
representados con
simbolos especiales
Instrumentos de
medida y regulación
representados por
círculos con
números y letras
LT
102
LC
102
Ing. Paul Gálvez Fernández
4. Técnicas de Programación
Lazo de Control
Controlador Proceso
Transmisor
Actuador
w u y
4-20 mA
4-20 mA
SP 45
PV 45.5
4-20 mAdel
transmisor
4-20 mA al
actuador
Ing. Paul Gálvez Fernández
6. Técnicas de Programación
CRP_IN PV_NORM
DEADBAND
+
-
%
PVPER_ON
0
1
ER
DEADB_W
PV
SP_INT
PV_IN
PV_PER
PV_FAC
PV_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
7. Técnicas de Programación
INT
TI, INT, HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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
8. Técnicas de Programación
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.
LMNLIMIT
LMN_HLM,
LMN_LLM
LMN_NORM
LMN_FAC,
LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
MAN_ON
1
0
Función PID
MAN
By P.G.F.
Etapas
Ing. Paul Gálvez Fernández
9. Técnicas de Programación
CRP_IN PV_NORM
DEADBAND
+
-
%
PVPER_ON
0
1
GAIN
X
ER
DEADB_W
PV
SP_INT
PV_IN
PV_PER
PV_FAC
PV_OFF
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
DISV
LMNLIMIT
LMN_HLM,
LMN_LLM
LMN_NORM
LMN_FAC,
LMN_OFF
CRP_OUT
%
LMN
LMN-PER
QLMN_HLM
QLMN_LLM
MAN_ON
1
0
MAN
Comparación entre la consigna y el
valor 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
10. Técnicas de Programación
CRP_IN PV_NORM
DEADBAND
+
-
%
PVPER_ON
0
1
ER
DEADB_W
PV
SP_INT
PV_IN
PV_PER
PV_FAC
PV_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
11. 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
+
-
%
PVPER_ON
0
1
ER
DEADB_W
PV
PV_IN
PV_PER
PV_FAC
PV_OFF By P.G.F.
SP_INT
Ing. Paul Gálvez Fernández
12. 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_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
Ing. Paul Gálvez Fernández
13. Técnicas de Programación
Etapas AL DETALLE
CRP_IN PV_NORM
DEADBAND
+
-
%
0
1
ER
DEADB_W
PV
PV_IN
PV_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
By P.G.F.
Ing. Paul Gálvez Fernández
14. 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_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
100
27648
PV_PER
Ing. Paul Gálvez Fernández
15. 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_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
Ing. Paul Gálvez Fernández
16. 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_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
Ing. Paul Gálvez Fernández
17. 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_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
Ing. Paul Gálvez Fernández
18. 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
LT LC
Ing. Paul Gálvez Fernández
19. 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
LT LC
Ing. Paul Gálvez Fernández
20. 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
PV
PV_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_IN
PV_PER
Ing. Paul Gálvez Fernández
21. 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_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
PV
PV_IN
Ing. Paul Gálvez Fernández
22. 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_FAC
PV_OFF By P.G.F.
SP_INT
PVPER_ON
PV_PER
PV
PV_IN
Ing. Paul Gálvez Fernández
23. 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
24. 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
25. 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
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
DISV
By P.G.F.
GAIN
X
Ing. Paul Gálvez Fernández
26. 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
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
DISV
By P.G.F.
GAIN
X
Ing. Paul Gálvez Fernández
27. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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.
GAIN
X
Ing. Paul Gálvez Fernández
28. Técnicas de Programación
Etapas AL DETALLE
Acción directa/inversa
LC
LT
considerar el tipo de
válvula
LT LC
Direct acting controller Kp < 0 Reverse acting controller Kp > 0
u(t)=Kp(w-y) si aumenta y decrece u con Kp positiva
Etapa 2
GAIN:
Ing. Paul Gálvez Fernández
29. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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).
GAIN
X
Ing. Paul Gálvez Fernández
30. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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).
GAIN
X
Ing. Paul Gálvez Fernández
31. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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.
GAIN
X
Ing. Paul Gálvez Fernández
32. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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).
GAIN
X
Ing. Paul Gálvez Fernández
33. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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.
GAIN
X
Ing. Paul Gálvez Fernández
34. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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.
GAIN
X
Ing. Paul Gálvez Fernández
35. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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”.
GAIN
X
Ing. Paul Gálvez Fernández
36. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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
GAIN
X
Ing. Paul Gálvez Fernández
37. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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).
GAIN
X
Ing. Paul Gálvez Fernández
38. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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).
GAIN
X
Ing. Paul Gálvez Fernández
39. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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”.
GAIN
X
Ing. Paul Gálvez Fernández
40. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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.
GAIN
X
Ing. Paul Gálvez Fernández
41. Técnicas de Programación
INT
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
DIF
TD, TM_LAG
P_SEL
I_SEL
D_SEL
LMN_P
+ +
LMN_I
LMN_D
1
0
1
0
1
0
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.
GAIN
X
Ing. Paul Gálvez Fernández
42. 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
MAN_ON
1
0
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
43. 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
MAN_ON
1
0
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
44. 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
MAN_ON
1
0
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
45. 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
MAN_ON
1
0
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
46. 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
MAN_ON
1
0
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
47. 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
MAN_ON
1
0
MAN
By P.G.F.
퐿푀푁 = 퐿푀푁퐿퐼푀퐼푇 ∗ 퐿푀푁_퐹퐴퐶 + 퐿푀푁_푂퐹퐹
Ing. Paul Gálvez Fernández
48. 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
MAN_ON
1
0
MAN
By P.G.F.
Ing. Paul Gálvez Fernández
49. 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
MAN_ON
1
0
MAN
By P.G.F.
퐿푀푁_푃퐸푅 = 퐿푀푁
26748
100
Ing. Paul Gálvez Fernández
50. 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).
By P.G.F.
Recordemos las relaciones de los valores de salida en
porcentajes, números enteros (periféricos) y valores analógicos.
0% ……….. 0 ..…. 0 V / 4mA
50%.........13824 …5 V / 12 mA
100%.......27648 …10 V / 20 mA
Ing. Paul Gálvez Fernández
51. 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
52. 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