Rampa/estabilización (RMPS)
Esta información corresponde a los controladores
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 y ControlLogix 5590.La instrucción Progresión lineal/estabilización (Ramp/Soak, RMPS) proporciona un número de segmentos de períodos alternativos de progresión lineal y estabilización.
Idiomas disponibles
Diagrama de lógica de escalera
Esta instrucción no está disponible en la lógica de diagrama de escalera.
Bloque de funciones

Texto estructurado
RMPS(RMPS_tag,RampValue,SoakValue,SoakTime);
Operandos
Bloque de funciones
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
RMPS tag | RAMP_SOAK | estructura | Estructura RMPS |
RampValue | REAL | matriz | Matriz de valores de rampa. Introduzca un valor de rampa para cada segmento (de 0 a NumberOfSegs-1). Los valores de rampa se introducen como tiempo en forma de minutos o como velocidad en forma de unidades/minuto. El parámetro TimeRate refleja qué método se usa para especificar la rampa. Si un valor de rampa no es válido, la instrucción establece el bit correspondiente en Status y cambia al modo Manual de operador o Retención de programa. Esta matriz debe ser, al menos, tan grande como NumberOfSegs. Válido = de 0,0 a número de punto flotante positivo máximo |
SoakValue | REAL | matriz | Matriz de valores de estabilización. Introduzca un valor de estabilización para cada segmento (de 0 a NumberOfSegs-1). Esta matriz debe ser, al menos, tan grande como NumberOfSegs. Válido = cualquier punto flotante |
SoakTime | REAL | matriz | Matriz de tiempo de estabilización. Introduzca un tiempo de estabilización para cada segmento (de 0 a NumberOfSegs-1). Los tiempos de estabilización se introducen en minutos. Si un valor de estabilización no es válido, la instrucción establece el bit correspondiente en Status y cambia al modo Manual de operador o Retención de programa. Esta matriz debe ser, al menos, tan grande como NumberOfSegs. Válido = de 0,0 a número de punto flotante positivo máximo |
Texto estructurado
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
RMPS tag | RAMP_SOAK | estructura | Estructura RMPS |
RampValue | REAL | matriz | Matriz de valores de rampa. Introduzca un valor de rampa para cada segmento (de 0 a NumberOfSegs-1). Los valores de rampa se introducen como tiempo en forma de minutos o como velocidad en forma de unidades/minuto. El parámetro TimeRate refleja qué método se usa para especificar la rampa. Si un valor de rampa no es válido, la instrucción establece el bit correspondiente en Status y cambia al modo Manual de operador o Retención de programa. Esta matriz debe ser, al menos, tan grande como NumberOfSegs. Válido = de 0,0 a número de punto flotante positivo máximo |
SoakValue | REAL | matriz | Matriz de valores de estabilización. Introduzca un valor de estabilización para cada segmento (de 0 a NumberOfSegs-1). Esta matriz debe ser, al menos, tan grande como NumberOfSegs. Válido = cualquier punto flotante |
SoakTime | REAL | matriz | Matriz de tiempo de estabilización. Introduzca un tiempo de estabilización para cada segmento (de 0 a NumberOfSegs-1). Los tiempos de estabilización se introducen en minutos. Si un valor de estabilización no es válido, la instrucción establece el bit correspondiente en Status y cambia al modo Manual de operador o Retención de programa. Esta matriz debe ser, al menos, tan grande como NumberOfSegs. Válido = de 0,0 a número de punto flotante positivo máximo |
Consulte
Sintaxis de texto estructurado
para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.Estructura RMPS
Especifique una única estructura de RMPS para cada instrucción.
Parámetro de entrada | Tipo de datos | Descripción |
|---|---|---|
EnableIn | BOOL | Habilita la entrada. Si no está en falso, la instrucción no se ejecuta y las salidas no se actualizan. El valor predeterminado es verdadero. |
PV | REAL | Entrada de señal de temperatura analógica escalada a la instrucción. Válido = cualquier punto flotante Valor predeterminado = 0,0 |
PVFault | BOOL | Indicador de estado incorrecto de PV. Si es verdadero, la entrada no es válida, la instrucción se pone en el modo Retención de programa o Manual de operador y la instrucción establece el bit correspondiente en Status. El valor predeterminado es falso. |
NumberOfSegs | DINT | Número de segmentos. Especifique el número de segmentos de rampa/estabilización usado por la instrucción. El tamaño de las matrices de RampValue, SoakValue y SoakTime debe ser como mínimo de NumberOfSegs. Si este valor no es válido, la instrucción se coloca en el modo Retención de programa o Manual de operador y la instrucción establece el bit correspondiente en Status. Válido = de 1 a (tamaño mínimo de las matrices RampValue, SoakValue o SoakTime) Valor predeterminado = 1 |
ManHoldAftInit | BOOL | Manual/Retención tras inicialización. Si es verdadero, la rampa/estabilización se encuentra en el modo Retención de programa o Manual de operador una vez que se completa la inicialización. De lo contrario, la progresión lineal/estabilización permanece en su modo previo después de que se haya completado la inicialización. El valor predeterminado es falso. |
CyclicSingle | BOOL | Ejecución cíclica/individual. Es verdadero si la acción es cíclica y falsa si es individual. La acción cíclica repite continuamente el perfil de rampa/estabilización. La acción individual realiza el perfil de progresión lineal/estabilización una vez y a continuación se detiene. El valor predeterminado es falso. |
TimeRate | BOOL | Configuración del valor de rampa de tiempo/velocidad. Es verdadero si los parámetros RampValue se introducen en forma del tiempo expresado en minutos que debe transcurrir para alcanzar la temperatura de estabilización. Es falso si los parámetros RampValue se introducen en forma de velocidad en unidades/minuto. El valor predeterminado es falso. |
GuarRamp | BOOL | Rampa garantizada. Si es verdadero y la instrucción está en modo Automático, la rampa se suspende temporalmente si la diferencia entre PV y Output es superior a RampDeadband. Está borrado de forma predeterminada. |
RampDeadband | REAL | Banda muerta de rampa garantizada. Especifique la cantidad en unidades de ingeniería que se permite que PV sea distinto a la salida cuando GuarRamp está activada. Si este valor no es válido, la instrucción establece el valor de RampDeadband en 0,0 y la instrucción establece el bit correspondiente en Status. Válido = cualquier flotante 0,0Valor predeterminado = 0,0 |
GuarSoak | BOOL | Estabilización garantizada. Si es verdadero y la instrucción está en modo Automático, el temporizador de estabilización se borra si la diferencia entre PV y Output es superior a SoakDeadband. El valor predeterminado es falso. |
SoakDeadband | REAL | Banda muerta de estabilización garantizada. Especifique la cantidad en unidades de ingeniería que se permite que PV sea distinto a la salida cuando GuarSoak está activada. Si este valor no es válido, la instrucción establece el valor de SoakDeadband en 0,0 y la instrucción establece el bit correspondiente en Status. Válido = cualquier flotante 0,0Valor predeterminado = 0,0 |
CurrentSegProg | DINT | Programa de segmento actual. El programa de usuario escribe un valor solicitado para CurrentSeg en esta entrada. Este valor se usa si la rampa/estabilización está en modo Manual de programa. Si este valor no es válido, la instrucción establece el bit correspondiente en Status. Válido = de 0 a NumberOfSegs-1 Valor predeterminado = 0 |
OutProg | REAL | Programa de salida. El programa de usuario escribe un valor solicitado para Out en esta entrada. Este valor se usa como Out cuando la progresión lineal/estabilización está en modo Manual de programa. Válido = cualquier punto flotante Valor predeterminado = 0,0 |
SoakTimeProg | REAL | Programa de tiempo de estabilización. El programa de usuario escribe un valor solicitado para SoakTimeLeft en esta entrada. Este valor se usa si la rampa/estabilización está en modo Manual de programa. Si este valor no es válido, la instrucción establece el bit correspondiente en Status. Válido = de 0,0 a número de punto flotante positivo máximo Valor predeterminado = 0,0 |
CurrentSegOper | DINT | Operador de segmento actual. La interfaz de operador escribe un valor solicitado para CurrentSeg en esta entrada. Este valor se usa si la rampa/estabilización está en modo Manual de operador. Si este valor no es válido, la instrucción establece el bit correspondiente en Status. Válido = de 0 a NumberOfSegs-1 Valor predeterminado = 0 |
OutOper | REAL | Operador de salida. La interfaz de operador escribe un valor solicitado para Out en esta entrada. Este valor se usa como Out cuando la progresión lineal/estabilización está en modo Manual de operador. Válido = cualquier punto flotante Valor predeterminado = 0,0 |
SoakTimeOper | REAL | Operador de tiempo de estabilización. La interfaz de operador escribe un valor solicitado para SoakTimeLeft en esta entrada. Este valor se usa si la rampa/estabilización está en modo Manual de operador. Si este valor no es válido, la instrucción establece el bit correspondiente en Status. Válido = de 0,0 a número de punto flotante positivo máximo Valor predeterminado = 0,0 |
ProgProgReq | BOOL | Solicitud de programa del programa. El programa de usuario lo establece en verdadero para solicitar Control de programa. Se ignora si ProgOperReq es verdadero. Si se mantiene en verdadero y ProgOperReq en falso, se bloquea la instrucción en el Control de programa. El valor predeterminado es falso. |
ProgOperReq | BOOL | Solicitud de operador del programa. El programa de usuario lo establece en verdadero para solicitar Control de operador. Si se mantiene este valor en verdadero, se bloquea la instrucción en el Control de operador. El valor predeterminado es falso. |
ProgAutoReq | BOOL | Solicitud de modo Automático de programa. El programa de usuario lo establece en verdadero para solicitar que la rampa/estabilización entre en modo Automático. Se ignora si el bucle está en Control de operador, si ProgManualReq es verdadero o si ProgHoldReq es verdadero. El valor predeterminado es falso. |
ProgManualReq | BOOL | Solicitud de modo Manual de programa. El programa de usuario lo establece en verdadero para solicitar que la rampa/estabilización entre en modo Manual. Se ignora si la progresión lineal/estabilización está en Control de operador o si ProgHoldReq es verdadero. El valor predeterminado es falso. |
ProgHoldReq | BOOL | Solicitud de modo Retención de programa. El programa de usuario lo establece en verdadero para solicitar que se detenga la rampa/estabilización sin cambiar Out, CurrentSeg o SoakTimeLeft. También es útil cuando un lazo PID que obtiene su punto de ajuste a partir de la rampa/estabilización deja la cascada. Un operador puede lograr lo mismo poniendo la progresión lineal/estabilización en modo Manual de operador. El valor predeterminado es falso. |
OperProgReq | BOOL | Solicitud de programa del operador. La interfaz de operador lo establece en verdadero para solicitar el Control de programa. Se ignora si ProgOperReq es verdadero. La instrucción borra la entrada a falsa. El valor predeterminado es falso. |
OperOperReq | BOOL | Solicitud de operador del operador. La interfaz de operador lo establece en verdadero para solicitar el Control de operador. Se ignora si ProgProgReq es verdadero y ProgOperReq es falso. La instrucción borra la entrada a falsa. El valor predeterminado es falso. |
OperAutoReq | BOOL | Solicitud de modo Automático de operador. La interfaz de operador lo establece en verdadero para solicitar que la rampa/estabilización entre en modo Automático. Se ignora si el lazo está en Control de programa o si OperManualReq es verdadero. La instrucción borra la entrada a falsa. El valor predeterminado es falso. |
OperManualReq | BOOL | Solicitud de modo Manual de operador. La interfaz de operador lo establece en verdadero para solicitar que la rampa/estabilización entre en modo Manual. Se ignora si el lazo está en Control de programa. La instrucción borra la entrada a falsa. El valor predeterminado es falso. |
Initialize | BOOL | Inicializa los valores de programa y operador. Si es verdadero y está en modo manual, la instrucción establece CurrentSegProg = 0, CurrentSegOper = 0, SoakTimeProg = SoakTime[0] y SoakTimeOper = SoakTime[0]. Initialize se ignora en modo Automático o Retención. La instrucción borra este parámetro y lo establece en falso. El valor predeterminado es falso. |
ProgValueReset | BOOL | Restablecer los valores de control del programa. Si es verdadero, la instrucción borra ProgProgReq, ProgOperReq, ProgAutoReq, ProgHoldReq y ProgManualReq a falso. El valor predeterminado es falso. |
Parámetro de salida | Tipo de datos | Descripción |
|---|---|---|
EnableOut | BOOL | Indica si la instrucción está habilitada. Se establece en falso si Out produce un desbordamiento. |
Out | REAL | La salida de la instrucción de rampa/estabilización. |
CurrentSeg | DINT | Número de segmento actual. Muestra el número de segmento actual del ciclo de rampa/estabilización. Los segmentos comienzan a numerarse a partir de 0. |
SoakTimeLeft | REAL | Tiempo de estabilización restante. Muestra el tiempo de estabilización restante para la estabilización actual. |
GuarRampOn | BOOL | Estado de rampa garantizada. Se establece en verdadero si se está utilizando la función Rampa garantizada y la rampa está suspendida de forma temporal porque la diferencia entre PV y la salida es superior a RampDeadband. |
GuarSoakOn | BOOL | Estado de estabilización garantizada. Se establece en verdadero si se está utilizando la función Estabilización garantizada y se borra el temporizador de estabilización porque la diferencia entre el PV y la salida es superior al valor de SoakDeadband. |
ProgOper | BOOL | Indicador de control de programa/operador. Verdadero cuando está en modo Control de programa. Falso cuando está en modo Control de operador. |
Auto | BOOL | Modo automático. Es verdadero cuando la rampa/estabilización está en modo Automático de programa o Automático de operador. |
Manual | BOOL | Modo manual. Es verdadero cuando la rampa/estabilización está en modo Manual de programa o Manual de operador. |
Hold | BOOL | Modo retención. Es verdadero cuando la rampa/estabilización está en modo Retención de programa. |
Status | DINT | Estado del bloque de funciones. |
InstructFault (Status.0) | BOOL | La instrucción detectó uno de los siguientes errores de ejecución. No se trata de un error mayor o menor del controlador. Se comprueban los bits de estado restantes para determinar lo que ha ocurrido. |
PVFaulted (Status.1) | BOOL | PVHealth es incorrecto. |
NumberOfSegsInv (Status.2) | BOOL | El valor de NumberOfSegs no es válido o no es compatible con un tamaño de matriz. |
RampDeadbandInv (Status.3) | BOOL | Valor de RampDeadband no válido. |
SoakDeadbandInv (Status.4) | BOOL | Valor de SoakDeadband no válido. |
CurrSegProgInv (Status.5) | BOOL | Valor de CurrSegProg no válido. |
SoakTimeProgInv (Status.6) | BOOL | Valor de SoakTimeProg no válido. |
CurrSegOperInv (Status.7) | BOOL | Valor de CurrSegOper no válido. |
SoakTimeOperInv (Status.8) | BOOL | Valor de SoakTimeOper no válido. |
RampValueInv (Status.9) | BOOL | Valor de RampValue no válido. |
SoakTimeInv (Status.10) | BOOL | Valor de SoakTime no válido. |
Descripción
La instrucción RMPS se utiliza típicamente para proporcionar un perfil de temperatura en un proceso de calentamiento por lotes. La salida de esta instrucción es típicamente la entrada al punto de ajuste de un lazo PID.
Siempre que el valor calculado para la salida no sea válido, NAN o
INF, la instrucción establece Out en el valor no válido y establece la marca de estado de desbordamiento matemático. Los parámetros internos no se actualizan. En cada uno de los escaneados posteriores, la salida se calcula utilizando los parámetros internos desde el último escaneado en el que la salida era válida.
INF, la instrucción establece Out en el valor no válido y establece la marca de estado de desbordamiento matemático. Los parámetros internos no se actualizan. En cada uno de los escaneados posteriores, la salida se calcula utilizando los parámetros internos desde el último escaneado en el que la salida era válida.Monitorización de la instrucción RMPS
Hay una placa frontal de operador disponible para la instrucción RMPS.
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. Consulte Atributos comunes para ver los fallos relacionados con el operando.
Ejecución
Bloque de funciones
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Los bits EnableIn y EnableOut se establecen en falsos. |
Tag.EnableIn es falso | Los bits EnableIn y EnableOut se establecen en falsos. |
Tag.EnableIn es verdadero | Los bits EnableIn y EnableOut se establecen en verdaderos. La instrucción se ejecuta. |
Primera ejecución de instrucción | Se establece CurrentSeg en 0. El modo se establece al modo Manual de operador. SoakTimeProg y SoakTimeOper se establecen en SoakTime[0] si SoakTime[0] es válido. |
Primer escaneado de instrucción | Todas las entradas de solicitud de operador se borran a falsas. Si ProgValueReset es verdadero, todas las entradas de solicitud de programa se borran a falsas. El modo Control de operador se establece al modo manual si el modo actual es retención. |
Post-escaneado | Los bits EnableIn y EnableOut se establecen en falsos. |
Texto estructurado
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Consulte Pre-escaneado en la tabla Bloque de funciones. |
Ejecución normal | Consultar Tag.EnableIn es verdadero en la tabla Bloque de funciones. |
Post-escaneado | Consulte Post-escaneado en la tabla Bloque de funciones. |
Modo inicial aplicado en el Primer escaneado de instrucción
La siguiente tabla muestra el control de finalización basándose en las entradas de solicitud de programa.
Control al comienzo del primer escaneado | ProgOperReq | ProgProgReq | ProgValueReset | FirstRun | Control al final del primer escaneado |
|---|---|---|---|---|---|
Control de operador | falso | verdadero | falso | na | Control de programa |
na | falso | na | na | Control de operador | |
Control de programa | verdadero | Na | falso | falso | Control de operador |
na | Na | verdadero | verdadero | Control de operador | |
falso | falso | falso | verdadero | Control de operador | |
falso | verdadero | falso | na | Control de programa | |
na | Na | verdadero | falso | Control de programa | |
falso | falso | falso | falso | Control de programa |
La siguiente tabla muestra el control de finalización basándose en las solicitudes de modo Manual, Automático y Retención.
Control al comienzo del primer escaneado | Oper Auto Req | Oper Man Req | Prog Auto Req | Prog Man Req | Prog Hold Req | Man Hold AftInit | Prog Value Restablecer | Primero Marcha | Control al final de la primera exploración |
|---|---|---|---|---|---|---|---|---|---|
Control de operador | na | na | na | na | na | falso | na | falso | Modo actual de operador |
na | na | na | na | na | na | na | Modo manual de operador | ||
na | na | na | na | na | verdadero | na | na | ||
Control de programa | na | na | falso | falso | falso | falso | na | falso | Modo actual de programa |
na | na | na | na | na | falso | verdadero | falso | ||
na | na | verdadero | falso | falso | falso | falso | na | Modo automático de programa | |
na | na | na | verdadero | falso | falso | falso | na | Modo manual de programa | |
na | na | na | na | verdadero | falso | falso | na | Modo retención de programa | |
na | na | na | na | na | verdadero | na | na |
Ejemplo
En este ejemplo, la instrucción RMPS acciona el punto de ajuste de una instrucción PIDE. Cuando la instrucción PIDE está en el modo Cascada/Relación, la salida de la instrucción RMPS se utiliza como el punto de ajuste. El valor de PV correspondiente a la instrucción PIDE se puede alimentar opcionalmente en la entrada PV de la instrucción RMPS si quiere utilizar rampa garantizada y/o estabilización garantizada.
En este ejemplo, las matrices AutoclaveRSSoakValue, AutoclaveRSSoakTime y AutoclaveRSRampValue son matrices de tipo REAL con 10 elementos que permiten acomodar un perfil RMPS de hasta 10 segmentos.
Bloque de funciones

Cambiar entre Control de programa y Control de operador
La instrucción RMPS se puede controlar mediante un programa de usuario o una interfaz de operador. El tipo de control se puede cambiar en cualquier momento.

(1) Puede bloquear la instrucción en el Control de operador dejando el valor ProgOperReq establecido en verdadero.
(2) Puede bloquear la instrucción en el Control de programa dejando ProgProgReq establecido en verdadero mientras ProgOperReq es falso.
Si se pasa del Control de operador al Control de programa, mientras las entradas ProgAutoReq, ProgManualReq y ProgHoldReq se establecen en falsas, el modo se determinará tal como siguiente:
Si la instrucción estaba en el modo Automático de operador, la transición se realiza al modo Automático de programa.
Si la instrucción estaba en el modo Manual de operador, la transición se realiza al modo Manual de programa.
Si se pasa del Control de programa al Control de operador, mientras las entradas OperAutoReq y OperManualReq se establecen en falsas, el modo se determinará tal como siguiente:
Si la instrucción estaba en el modo Automático de programa, la transición se realiza al modo Automático de operador.
Si la instrucción estaba en el modo Manual de programa o Retención de programa, pues la transición se realiza al modo Manual de operador.
Control de programa
En el siguiente diagrama se muestra cómo funciona la instrucción RMPS en Control de programa.

(1) Si la ejecución es individual (no cíclica), debe cambiar el valor de ProgAutoReq desde falso hasta verdadero, si se completa una ejecución del perfil de rampa/estabilización y quiere que se realice otra ejecución del perfil de rampa/estabilización.
(2) Cuando la instrucción está configurada para la ejecución individual y se completa el perfil de Rampa-estabilización del modo Automático, la instrucción se realiza la transición al modo Retención.
(3) La instrucción se pone en el modo Retención si PVFaulted es verdadero o cualquiera de las siguientes entradas no es válida: NumberOfSegs, CurrentSegProg o SoakTimeProg.
En la siguiente tabla se describen los posibles modos de Programa.
Modo | Descripción |
|---|---|
Modo automático de programa | Cuando se está en el modo Automático, la instrucción ejecuta el perfil de rampa/estabilización de forma secuencial. |
Modo manual de programa | Cuando se está en el modo Manual, el programa de usuario controla directamente el Out de la instrucción. Las entradas CurrentSegProg, SoakTimeProg y OutProg se transfieren a las salidas CurrentSeg, SoakTimeLeft y Out. Cuando la instrucción se pone en modo Automático, se reanuda la función de rampa/estabilización con los valores introducidos por última vez desde el programa de usuario. CurrentSegProg y SoakTimeProg no se transfieren si no son válidos. Para que la transición al modo Manual se lleve a cabo sin problemas, las entradas CurrentSegProg, SoakTimeProg y OutProg se actualizan continuamente a los valores actuales de CurrentSeg, SoakTimeLeft y Out cuando ProgValueReset está establecido y la instrucción no se encuentra en el modo Manual de programa. |
Modo retención de programa | Cuando se está en el modo Retención, las salidas de la instrucción se mantienen en sus valores actuales. Si se está en este modo cuando ProgOperReq se establece para que cambie al Control de operador, la instrucción cambia al modo Manual de operador. |
Control de operador
En el siguiente diagrama se muestra cómo funciona la instrucción RMPS en Control de operador.

(1) Cuando la instrucción está configurada para la Ejecución individual y se completa el perfil de rampa/estabilización del modo Automático, la instrucción se realiza la transición al modo manual.
(2) La instrucción se pone en el modo Manual si PVFaulted es verdadero o cualquiera de las siguientes entradas no es válida: NumberOfSegs, CurrentSegOper o SoakTimeOper.
En la siguiente tabla se describen los posibles modos de Operador.
Modo | Descripción |
|---|---|
Modo automático de operador | Cuando se está en el modo Automático, la instrucción ejecuta el perfil de rampa/estabilización de forma secuencial. |
Modo manual de operador | Cuando se está en el modo Manual, el operador controla directamente el Out de la instrucción. Las entradas CurrentSegOper, SoakTimeOper y OutOper se transfieren a las salidas CurrentSeg, SoakTimeLeft y Out. Cuando la instrucción se pone en el modo Automático, se reanuda la función de rampa/estabilización con los valores introducidos por última vez desde el operador. CurrentSegOper y SoakTimeOper no se transfieren si no son válidos. Para que la transición al modo Manual se lleve a cabo sin perturbaciones, las entradas CurrentSegOper, SoakTimeOper y OutOper se actualizan continuamente a los valores actuales de CurrentSeg, SoakTimeLeft y Out cuando la instrucción no se encuentra en el modo Manual de operador. |
Ejecutar el perfil de rampa/estabilización
El siguiente diagrama ilustra cómo la instrucción RMPS ejecuta el perfil de rampa/estabilización.

(1) La rampa se completa cuando Out = SoakValue. Si durante la ejecución de la rampa, Out es mayor que SoakValue, Out se limita a SoakValue.
(2) La estabilización se completa cuando Out se mantiene en la cantidad de tiempo especificada en el SoakTime del segmento actual. Si el segmento ejecutado no fue el último segmento, CurrentSeg aumenta en uno.
(3) La estabilización se ha completado para el último segmento programado y la instrucción se ha configurado para realizar la ejecución cíclica. La instrucción establece CurrentSeg = 0.
(4) La estabilización se ha completado para el último segmento programado y la instrucción se ha configurado para realizar la ejecución individual.
(5) Cuando se regresa al modo Automático, la instrucción determina si se reanuda la rampa o la estabilización. Lo que se debe hacer a continuación depende de los valores de Out, SoakTimeLeft y SoakValue del segmento actual. Si Out = SoakValue para el segmento actual y SoakTimeLeft = 0, el segmento actual ha completado y comienza el siguiente segmento.
Rampa
El ciclo de rampa controla la rampa de Out desde el SoakValue del segmento anterior hasta el SoakValue del segmento actual. El tiempo en el que se atraviesa la rampa se define mediante los parámetros RampValue.
La rampa será positiva si Out es menor que SoakValue de destino del segmento actual. Si la ecuación de la rampa calcula un nuevo valor de Out superior al SoakValue de destino, el valor de Out se establece en SoakValue de destino.
La rampa será negativa si Out es mayor que SoakValue de destino del segmento actual. Si la ecuación de la rampa calcula un nuevo valor de Out inferior al SoakValue de destino, Out se establece en el SoakValue de destino.
Cada segmento tiene un valor de rampa. Tiene la opción de programar la rampa en unidades de tiempo o velocidad. Todos los segmentos deben programarse en las mismas unidades. En la siguiente tabla se describen las opciones de rampa:
Parámetro | Descripción |
|---|---|
Rampa basada en tiempo | TimeRate se establece en verdadero para las rampas basadas en tiempo (en minutos). El índice de cambio del segmento actual se calcula y se añade o se resta al valor de Out hasta que Out alcance el valor de estabilización del segmento actual. En la siguiente ecuación, DeltaT es el tiempo transcurrido en minutos desde que se ejecutó la instrucción por última vez. ![]() Donde RampStart es el valor de Out al comienzo del segmento actual. |
Rampa basada en índice | TimeRate se borra a falso para rampas basadas en índice (en unidades/minuto) El índice de cambio programada se añade o se resta al valor de Out hasta que Out alcance el valor de estabilización del segmento actual. En la siguiente ecuación, DeltaT es el tiempo transcurrido en minutos desde que se ejecutó la instrucción por última vez. ![]() |
Rampa garantizada
Se establece la entrada GuarRamp en verdadero para habilitar la rampa garantizada. Cuando se encuentra habilitada, la instrucción monitoriza la diferencia entre Out y PV. Si la diferencia está fuera del RampDeadband programado, la salida se deja inalterado hasta que la diferencia entre PV y Out esté dentro de banda muerta. La salida GuarRampOn se establece en verdadero cuando Out se mantiene debido a que la rampa garantizada está en vigor.
Estabilización
La estabilización es la cantidad de tiempo que la salida de bloque debe permanecer inalterado hasta que se inicie el siguiente segmento de rampa-estabilización. El ciclo de estabilización mantiene la salida en el valor de SoakValue durante una cantidad de tiempo programada antes de pasar al siguiente segmento. La cantidad de tiempo que debe estabilizar la salida se programa en los parámetros SoakTime.
Cada segmento tiene un valor de SoakValue y SoakTime. La estabilización comienza cuando Out se lleva mediante rampa al SoakValue del segmento actual. SoakTimeLeft representa el tiempo en minutos que queda para que la salida se establece. Durante la rampa, SoakTimeLeft se establece en el valor de SoakTime del segmento actual. Una vez que la rampa está completa, se reduce SoakTimeLeft para reflejar el tiempo en minutos que queda para el segmento actual. SoakTimeLeft = 0 cuando se expira SoakTime.
Estabilización garantizada
Se establece la entrada GuarSoak en verdadero para habilitar la estabilización garantizada. Cuando se encuentra habilitada, la instrucción monitoriza la diferencia entre Out y PV. Si la diferencia está fuera de SoakDeadband, se suspende la temporización del ciclo de estabilización y se borra el temporizador de estabilización interno. Si la diferencia entre los valores de Out y PV vuelve a estar dentro de banda muerta, se reanuda la temporización. La salida GuarSoakOn se establece en verdadero cuando se mantiene la temporización debido a que la estabilización garantizada está en vigor.
Entregue su opinión
0,0
