Rate Limiter (RLIM)
This information applies to the
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, CompactLogix
5480, ControlLogix
5580, and GuardLogix
5580 controllers.The Rate Limiter (RLIM) instruction limits the amount of change of a signal over time.
Available Languages
Ladder Diagram
This instruction is not available in ladder diagram logic.
Function Block
Structured Text
RLIM(RLIM_tag);
Operands
Function Block
Operand | Type | Format | Description |
RLIM tag | RATE_LIMITER | structure | RLIM structure |
RATE_LIMITER Structure
Input Parameter | Data Type | Description |
EnableIn | BOOL | Enable input. If false, the instruction does not execute and outputs are not updated.
Default is true. |
In | REAL | The analog signal input to the instruction.
Valid = any float
Default = 0.0 |
IncRate | REAL | Maximum output increment rate in per-second units. If invalid, the instruction sets IncRate = 0.0 and sets the appropriate bit in Status.
Valid = any float 0.0
Default = 0.0 |
DecRate | REAL | Maximum output decrement rate in per-second units. If invalid, the instruction sets DecRate = 0.0 and sets the appropriate bit in Status.
Valid = any float 0.0
Default = 0.0 |
ByPass | BOOL | Request to bypass the algorithm. When true, Out = In.
Default is false. |
TimingMode | DINT | Selects timing execution mode. 0 = Period mode 1 = oversample mode 2 = real time sampling mode Valid = 0 to 2
Default = 0 |
OversampleDT | REAL | Execution time for oversample mode.
Valid = 0 to 4194.303 seconds
Default = 0 |
RTSTime | DINT | Module update period for real time sampling mode
Valid = 1 to 32,767ms
Default = 1 |
RTSTimeStamp | DINT | Module time stamp value for real time sampling mode.
Valid = 0 to 32,767ms
Default = 0 |
Output Parameter | Data Type | Description |
EnableOut | BOOL | Indicates if instruction is enabled. Cleared to false if Out overflows. |
Out | REAL | The calculated output of the algorithm. |
DeltaT | REAL | Elapsed time between updates. This is the elapsed time in seconds used by the control algorithm to calculate the process output. |
Status | DINT | Status of the function block. |
InstructFault (Status.0) | BOOL | The instruction detected one of the following execution errors. This is not a minor or major controller error. Check the remaining status bits to determine what occurred. |
IncRateInv (Status.1) | BOOL | IncRate < 0. The instruction uses 0. |
DecRateInv (Status.2) | BOOL | DecRate < 0. The instruction uses 0. |
TimingModeInv (Status.27) | BOOL | Invalid TimingMode value.
For more information about timing modes, see Function Block Attributes. |
RTSMissed (Status.28) | BOOL | Only used in real time sampling mode. Set to true when
ABS(DeltaT – RTSTime) > 1 millisecond. |
RTSTimeInv (Status.29) | BOOL | Invalid RTSTime value. |
RTSTimeStampInv (Status.30) | BOOL | Invalid RTSTimeStamp value. |
DeltaTInv (Status.31) | BOOL | Set to true in oversample mode if either DeltaT <= 0 or DeltaT > 4194.303. |
Structured Text
Operand | Type | Format | Description |
RLIM tag | RATE_LIMITER | structure | RLIM structure |
See Structured Text Syntax for more information on the syntax of expressions within structured text.
Description
The RLIM instruction provides separate increment and decrement rates in per-second units. The ByPass input lets you stop rate limiting and pass the signal directly to the output.
Condition | Action |
ByPass is true | Out n = Inn Out n-1 = Inn |
ByPass is false and
DeltaT > 0 |
Affects Math Status Flags
No
Major/Minor Faults
None specific to this instruction. See Common Attributes for operand-related faults.
Execution
Function Block
Condition/State | Action Taken |
Prescan | EnableIn and EnableOut bits are cleared to false. |
Tag.EnableIn is false | EnableIn and EnableOut bits are cleared to false. |
Tag.EnableIn is true | EnableIn and EnableOut bits are set to true The instruction executes. |
Instruction first run | N/A |
Instruction first scan | Initialize Out with the value of In. |
Postscan | EnableIn and EnableOut bits are cleared to false. |
Structured Text
Condition/State | Action Taken |
Prescan | See Prescan in the Function Block table. |
Normal Execution | See Tag.EnableIn is true in the Function Block table. |
Postscan | See Postscan in the Function Block table. |
Example
Function Block
The RLIM instruction limits In by IncRate. If analog_input1 changes at a rate greater than the IncRate value, the instruction limits In. The instruction sets Out = rate limited value of In.
Structured Text
RLIM_01.In := analog_input1;
RLIM_01.IncRate := value;
RLIM(RLIM_01);
rate_limited := RLIM_01.Out;
Provide Feedback