Parámetros State y Mode PID_Temp (S7-1200, S7-1500) - PID

PID_Temp (S7-1200, S7-1500)

ft:publication_title
PID_Temp (S7-1200, S7-1500)
Product
PID
Version
V20
Publication date
11/2024
Language
es-ES
Parámetros State y Mode PID_Temp

Interrelación de los parámetros

El parámetro State indica el modo de operación actual del regulador PID. El parámetro State no puede modificarse.

Con un flanco ascendente en ModeActivate, PID_Temp pasa al modo guardado en el parámetro de entrada/salida Mode.

Heat.EnableTuning y Cool.EnableTuning definen para la optimización inicial y la optimización fina si la optimización se realiza para la calefacción o para la refrigeración.

Si se conecta la CPU o se cambia de STOP a RUN, PID_Temp se inicia en el modo de operación guardado en Mode. Para dejar PID_Temp en el modo de operación "Inactivo", ajuste RunModeByStartup = FALSE.

Significado de los valores

State / Mode

Descripción del modo de operación

0

Inactivo

En el modo de operación "Inactivo" se emiten los siguientes valores de salida:

  • 0.0 como valor de salida PID (PidOutputSum)

  • 0.0 como valor de salida para calefacción (OutputHeat) y valor de salida para refrigeración (OutputCool)

  • 0 como valor de salida analógico para calefacción (OutputHeat_PER) y valor de salida analógico para refrigeración (OutputCool_PER)

  • FALSE como valor de salida PWM para calefacción (OutputHeat_PWM) y valor de salida PWM para refrigeración (OutputCool_PWM)

Estos valores no dependen de los límites ni del escalado del valor de salida configurados en las estructuras Config.Output.Heat y Config.Output.Cool.

1

Optimización inicial

La optimización inicial determina el comportamiento del proceso a un escalón del valor de salida y busca el punto de inflexión. Los parámetros PID óptimos se calculan a partir de la pendiente máxima y el tiempo muerto del sistema regulado. Para obtener los mejores parámetros PID, debe efectuarse una optimización inicial y una optimización fina.

PID_Temp ofrece distintos tipos de optimización inicial en función de la configuración:

  • Optimización inicial para calefacción:

    Se emite un salto en el valor de salida para calefacción, se calculan los parámetros PID para calefacción (estructura Retain.CtrlParams.Heat) y a continuación se regula al valor de consigna en el modo automático.

    Si el comportamiento de proceso depende en gran medida del punto de operación, con PIDSelfTune.SUT.AdaptDelayTime puede activarse una adaptación del tiempo de retardo a la consigna.

  • Optimización inicial para calefacción y refrigeración:

    Se emite un salto en el valor de salida para calefacción. En cuanto el valor real se encuentra cerca del de consigna, se emite un salto en el valor de salida para refrigeración. Se calculan los parámetros PID para calefacción (estructura Retain.CtrlParams.Heat) y refrigeración (estructura Retain.CtrlParams.Cool). A continuación se regula hasta el valor de consigna en el modo automático.

    Si el comportamiento de proceso depende en gran medida del punto de operación, con PIDSelfTune.SUT.AdaptDelayTime puede activarse una adaptación del tiempo de retardo a la consigna.

    Dependiendo del efecto del actuador de refrigeración en comparación con el actuador de calefacción, puede modificarse la calidad de la optimización utilizando simultáneamente o no las salidas de calefacción y refrigeración durante la optimización. Esta circunstancia se puede definir con PIDSelfTune.SUT.CoolingMode.

  • Optimización inicial para refrigeración:

    Se emite un salto en el valor de salida para refrigeración y se calculan los parámetros PID para refrigeración (Struktur Retain.CtrlParams.Cool). A continuación se regula hasta el valor de consigna en el modo automático.

Si se desean optimizar los parámetros PID para calefacción y refrigeración, con la ejecución de una "Optimización inicial para calefacción" y seguidamente una "Optimización inicial para refrigeración" cabe esperar un mejor comportamiento de regulación que con la ejecución de una "Optimización inicial para calefacción y refrigeración". No obstante, la ejecución de la optimización inicial en dos pasos requiere más tiempo.

Requisitos generales para la optimización inicial:

  • La instrucción PID_Temp se llama en un OB de alarma cíclica.

  • Modo de operación Inactivo (State = 0), Manual (State = 4) o Automático (State = 3)

  • ManualEnable = FALSE

  • Reset = FALSE

  • La consigna y el valor real se encuentran dentro de los límites configurados.

Requisitos para la optimización inicial para calefacción:

  • Heat.EnableTuning = TRUE

  • Cool.EnableTuning = FALSE

  • El valor real no debe aproximarse demasiado a la consigna.

    |Setpoint - Input| > 0.3 * |Config.InputUpperLimit - Config.InputLowerLimit| y

    |Setpoint - Input| > 0.5 * |Setpoint|

  • El valor de consigna es mayor que el valor real.

    Setpoint > Input

Requisitos para la optimización inicial para calefacción y refrigeración:

  • Heat.EnableTuning = TRUE·

  • Cool.EnableTuning = TRUE

  • La salida de refrigeración está activada (Config.ActivateCooling = TRUE).

  • La conmutación de parámetros PID está activada (Config.AdvancedCooling = TRUE).

  • El valor real no debe aproximarse demasiado a la consigna.

    |Setpoint - Input| > 0.3 * |Config.InputUpperLimit - Config.InputLowerLimit| y

    |Setpoint - Input| > 0.5 * |Setpoint|

  • El valor de consigna es mayor que el valor real.

    Setpoint > Input

Requisitos para la optimización inicial para refrigeración:

  • Heat.EnableTuning = FALSE·

  • Cool.EnableTuning = TRUE·

  • La salida de refrigeración está activada (Config.ActivateCooling = TRUE).

  • La conmutación de parámetros PID está activada (Config.AdvancedCooling = TRUE).

  • Se ha llevado a cabo una "Optimización inicial para calefacción" o una "Optimización inicial para calefacción y refrigeración" (PIDSelfTune.SUT.ProcParHeatOk = TRUE) correcta, a ser posible en la misma consigna.

  • El valor real debe estar próximo a la consigna.

    |Setpoint - Input| < 0.05 * |Config.InputUpperLimit - Config.InputLowerLimit|

Cuanto más estable es el valor real, con mayor facilidad y precisión se pueden calcular los parámetros PID. Un ruido del valor real es aceptable siempre que la subida del valor real sea considerablemente mayor que el ruido. Esto tiene más probabilidades de suceder en los modos de operación "Inactivo" o "Manual".

La consigna se congela en la variable CurrentSetpoint. La optimización se cancela cuando se cumple:

  • Setpoint > CurrentSetpoint + CancelTuningLevel

    o bien

  • Setpoint < CurrentSetpoint - CancelTuningLevel

El método para el cálculo de los parámetros PID puede definirse por separado con PIDSelfTune.SUT.TuneRuleHeat y PIDSelfTune.SUT.TuneRuleCool para calefacción y refrigeración.

Antes de recalcular los parámetros PID, se guarda una copia de seguridad de estos en la estructura CtrlParamsBackUp y es posible reactivarlos con LoadBackUp.

Una vez realizada correctamente la optimización inicial, se pasa al modo automático.

Si la optimización inicial no se ha realizado correctamente, el cambio del modo de operación depende de ActivateRecoverMode.

Se muestra la fase de la optimización inicial con PIDSelfTune.SUT.State.

Para iniciar una optimización inicial para calefacción o una optimización inicial para calefacción y refrigeración desde el modo automático, es recomendable hacer coincidir el cambio requerido de la consigna con el flanco ascendente en ModeActivate. Si primero se cambia la consigna y luego se inicia la optimización inicial, el valor de salida en el modo automático varía y provoca una modificación del valor real. Esto puede tener un efecto negativo sobre la optimización inicial subsiguiente o incluso impedir su inicio.

2

Optimización fina

La optimización fina genera una oscilación constante y limitada del valor real. Los parámetros PID se optimizan para el punto de operación a partir de la amplitud y la frecuencia. Los parámetros PID existentes después de la optimización fina muestran en su mayoría un comportamiento de guía y ante fallos mucho mejor que los parámetros PID de la optimización inicial. Para obtener los mejores parámetros PID, debe efectuarse una optimización inicial y una optimización fina.

PID_Temp intenta generar automáticamente una oscilación que es mayor que el ruido del valor real. La estabilidad del valor real ejerce tan solo una mínima influencia sobre la optimización fina.

PID_Temp ofrece distintos tipos de optimización fina en función de la configuración:

  • Optimización fina para calefacción:

    PID_Temp genera una oscilación del valor real con cambios periódicos en el valor de salida para calefacción y calcula los parámetros PID para calefacción (Struktur Retain.CtrlParams.Heat).

  • Optimización fina para refrigeración:

    PID_Temp genera una oscilación del valor real con cambios periódicos en el valor de salida para refrigeración y calcula los parámetros PID para refrigeración (Struktur Retain.CtrlParams.Cool).

Offset temporal de la optimización para el regulador de calefacción y refrigeración

Si se utiliza PID_Temp como regulador de calefacción (Config.ActivateCooling = TRUE), el valor de salida PID (PidOutputSum) en la consigna debe cumplir los siguientes requisitos para que pueda generarse una oscilación del valor real y para que la optimización fina pueda realizarse correctamente:

  • Valor de salida PID positivo para la optimización fina para calefacción

  • Valor de salida PID negativo para la optimización fina para refrigeración

Si no se cumplen estos requisitos, se puede especificar un offset temporal para la optimización fina que se emita a la salida de acción contrapuesta:

  • Offset para la salida de refrigeración (PIDSelfTune.TIR.OutputOffsetCool) en caso de optimización fina para calefacción.

    Antes de iniciar la optimización debe especificarse un valor de offset de optimización para refrigeración negativo que sea menor que el valor de salida PID (PidOutputSum) de la consigna en estado estacionario.

  • Offset para salida de calefacción (PIDSelfTune.TIR.OutputOffsetHeat) en la optimización fina para refrigeración.

    Antes de iniciar la optimización debe especificarse un valor de offset de optimización para calefacción positivo que sea mayor que el valor de salida PID (PidOutputSum) de la consigna en estado estacionario.

Entonces, el algoritmo PID compensa el offset especificado de manera que el valor real se mantenga en la consigna. A través de la magnitud del offset, el valor de salida PID se puede adaptar para que cumpla la condición antes mencionada.

Para evitar sobreoscilaciones mayores del valor real al especificar el offset, esta también puede incrementarse en varios pasos.

Si PID_Temp sale del modo Optimización fina, se restablece el offset de optimización.

Ejemplo de especificación de un offset para la optimización fina para refrigeración:

  • Sin offset:

    • Consigna (Setpoint) = valor real (ScaledInput) = 80 °C

    • Valor de salida PID (PidOutputSum) = 30.0

    • Valor de salida para calefacción (OutputHeat) = 30.0

    • Valor de salida para refrigeración (OutputCool) = 0.0

      La salida de refrigeración por si sola no permite generar una oscilación del valor real en torno a la consigna.

      En ese caso fallaría la optimización fina.

  • Con especificación de un offset para la salida de calefacción (PIDSelfTune.TIR.OutputOffsetHeat) = 80.0

    • Consigna (Setpoint) = valor real (ScaledInput) = 80 °C

    • Valor de salida PID (PidOutputSum) = -50.0

    • Valor de salida para calefacción (OutputHeat) = 80.0

    • Valor de salida para refrigeración (OutputCool) = -50.0

      Al especificar un offset para la salida de calefacción, la salida de refrigeración puede generar ahora una oscilación del valor real alrededor de la consigna.

      De este modo la optimización fina puede llevarse a cabo correctamente.

Requisitos generales para la optimización fina:

  • La instrucción PID_Temp se llama en un OB de alarma cíclica.

  • No se esperan perturbaciones.

  • La consigna y el valor real se encuentran dentro de los límites configurados.

  • El lazo de regulación es estacionario en el punto de operación. El punto de operación se ha alcanzado cuando el valor real coincide con la consigna.

    Si la zona muerta está conectada, es posible ajustar un error de regulación (desviación entre consigna y valor real) permanente. Esto puede tener un efecto negativo al realizar la optimización fina.

  • ManualEnable = FALSE

  • Reset = FALSE

  • Modo de operación Automático (State = 3), Inactivo (State = 0) o Manual (State = 4)

Requisitos para la optimización fina para calefacción:

  • Heat.EnableTuning = TRUE

  • Cool.EnableTuning = FALSE

  • Si PID_Temp está configurado como regulador de calefacción (Config.ActivateCooling = TRUE), en el punto de operación en el que debe realizarse la optimización debe estar activa la salida de calefacción (PidOutputSum > 0.0 (ver "Offset de optimización")).

Requisitos para la optimización fina para refrigeración:

  • Heat.EnableTuning = FALSE

  • Cool.EnableTuning = TRUE

  • La salida de refrigeración está activada (Config.ActivateCooling = TRUE).

  • El cambio de parámetros PID está activado (Config.AdvancedCooling = TRUE).

  • La salida de refrigeración debe estar activa en el punto de operación en el que debe realizarse la optimización (PidOutputSum < 0.0 (ver "Offset de optimización")).

La secuencia de la optimización fina depende del modo de operación a partir del cual se inicia:

  • Modo automático (State = 3) con PIDSelfTune.TIR.RunIn = FALSE (ajuste predeterminado)

    Si desea mejorar los parámetros PID existentes mediante optimización, inicie la optimización fina desde el modo automático.

    PID_Temp regula con los parámetros PID existentes hasta que el lazo de regulación es estacionario y se cumplen las condiciones para la optimización fina. Solo entonces comienza la optimización fina.

  • Modo de operación Inactivo (State = 0), Manual (State = 4) o Automático (State = 3) con PIDSelfTune.TIR.RunIn = TRUE

    Se intenta alcanzar la consigna con el valor de salida mínimo o máximo:

    • con el valor de salida mínimo o máximo para calefacción en la optimización fina para calefacción;

    • con el valor de salida mínimo o máximo para refrigeración en caso de optimización fina para refrigeración.

    lo que puede ocasionar una sobreoscilación muy alta. La optimización fina comienza cuando se alcanza la consigna.

    Si no es posible alcanzar la consigna, PID_Temp no cancela automáticamente la optimización.

La consigna se congela en la variable CurrentSetpoint. La optimización se cancela cuando se cumple:

  • Setpoint > CurrentSetpoint + CancelTuningLevel

    o bien

  • Setpoint < CurrentSetpoint - CancelTuningLevel

El método para el cálculo de los parámetros PID puede definirse por separado con PIDSelfTune.TIR.TuneRuleHeat y PIDSelfTune.TIR.TuneRuleCool para calefacción y refrigeración.

Antes de recalcular los parámetros PID, se guarda una copia de seguridad de estos en la estructura CtrlParamsBackUp y es posible reactivarlos con LoadBackUp.

Una vez realizada correctamente la optimización fina, el regulador cambia al modo automático.

Si la optimización fina no se ha realizado correctamente, el cambio del modo de operación depende de ActivateRecoverMode.

La fase de la optimización fina se muestra con PIDSelfTune.TIR.State.

3

Modo automático

En el modo automático, PID_Temp regula el sistema regulado conforme a los parámetros predefinidos.

Si se cumple uno de los requisitos siguientes, se cambia al modo automático:

  • Optimización inicial finalizada correctamente.

  • Optimización fina finalizada correctamente.

  • Cambio del parámetro de entrada/salida Mode al valor 3 y un flanco ascendente en ModeActivate.

El cambio de modo automático a modo manual se realiza sin discontinuidad únicamente en el editor de puesta de servicio.

En el modo automático se tiene en cuenta la variable ActivateRecoverMode.

4

Modo manual

En el modo manual se debe especificar un valor de salida PID manual en el parámetro ManualValue. Los valores resultantes de este valor manual en las salidas para calefacción y refrigeración se obtienen del escalado de salida configurado.

Este modo puede activarse también mediante ManualEnable = TRUE. Se recomienda cambiar los modos de operación solo mediante Mode y ModeActivate.

El cambio de modo manual a modo automático se efectúa sin discontinuidad.

En el modo manual se tiene en cuenta la variable ActivateRecoverMode.

5

Valor de salida sustitutivo con monitorización de errores

El algoritmo de regulación está desactivado. La variable SetSubstituteOutput determina qué valor de salida PID (PidOutputSum) se emite durante este modo de operación.

  • SetSubstituteOutput = FALSE: Último valor de salida PID válido

  • SetSubstituteOutput = TRUE: Valor de salida sustitutivo (SubstituteOutput)

Este modo de operación no puede activarse con Mode = 5.

Se activa en caso de error en lugar del modo de operación "Inactivo", cuando se cumplen todas las condiciones siguientes:

  • Modo automático (State = 3)

  • ActivateRecoverMode = TRUE

  • Se han producido uno o varios errores en los que interviene ActivateRecoverMode.

En cuanto los errores dejan de estar activos, PID_Temp pasa de nuevo al modo automático.

Comportamiento ENO

Si State = 0, entonces ENO = FALSE.

Si State ≠ 0, entonces ENO = TRUE.

Cambio automático de modo de operación durante la puesta en servicio

Una vez realizada correctamente la optimización inicial o la optimización fina, se activa el modo automático. La siguiente tabla muestra cómo se modifican Mode y State durante una optimización inicial correcta.

N.º de ciclo

Mode

State

Acción

0

4

4

Ajustar Mode = 1

1

1

4

Ajustar ModeActivate = TRUE

1

4

1

El valor de State se guarda en Mode

Se inicia la optimización inicial

n

4

1

Optimización inicial correcta

n

3

3

Se inicia el modo automático

En caso de error, PID_Temp cambia automáticamente el modo de operación.

La siguiente tabla muestra cómo se modifican Mode y State durante una optimización inicial incorrecta.

N.º de ciclo

Mode

State

Acción

0

4

4

Ajustar Mode = 1

1

1

4

Ajustar ModeActivate = TRUE

1

4

1

El valor de State se guarda en Mode

Se inicia la optimización inicial

n

4

1

La optimización inicial se ha cancelado

n

4

4

Se inicia el modo manual

Si ActivateRecoverMode = TRUE, se activa el modo de operación guardado en Mode. Al iniciar la optimización inicial o fina, PID_Temp ha guardado el valor de State en el parámetro de entrada/salida Mode. Por lo tanto, PID_Temp cambia al modo de operación desde el que se inició la optimización.

Si ActivateRecoverMode = FALSE, se cambia al modo de operación "Inactivo".