> For the complete documentation index, see [llms.txt](https://support.powerio.com/hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.powerio.com/hub/codesys-hvac/en/hvac-library/functionblocks/numeric/limiter.md).

# Limiter

## `Limiter` (FB)

FUNCTION\_BLOCK Limiter

### Short description

> Limit monitoring of an analog value

### Representation

<figure><img src="/files/9e1e3e6d0f275e86828a0e2d328933c133ecbe2a" alt=""><figcaption></figcaption></figure>

### Interfaces

#### Inputs

| Name  | Data type | Value range | Initial value | Function           |
| ----- | --------- | ----------- | ------------- | ------------------ |
| *rIn* | REAL      |             | 0             | Analog value input |

#### Outputs

| Name   | Data type | Value range | Initial value | Function                                                                                                |
| ------ | --------- | ----------- | ------------- | ------------------------------------------------------------------------------------------------------- |
| *rOut* | REAL      |             |               | Analog value output                                                                                     |
| *xErr* | BOOL      |             |               | <p>\* <strong>FALSE:</strong><br>no limit violation<br>\* <strong>TRUE:</strong><br>Limit violation</p> |

#### Setpoints / parameters

| Name                   | Data type    | Value range                                                  | Initial value | Function                                                                        |
| ---------------------- | ------------ | ------------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------- |
| **rReplacementValue**  | REAL         |                                                              | 0             | Value at the output *rOut* when limit is violated and option 'ReplacementValue' |
| **rReplacementOption** | eLimiterMode | InpultValue, MinValue, MaxValue, LastValue, ReplacementValue | InputValue    | Selection of the value at the output *rOut* depending on the chosen option      |
| **rMaxLimit**          | REAL         |                                                              | 150           | Upper limit                                                                     |
| **rMinLimit**          | REAL         |                                                              | -50           | Lower limit                                                                     |

### Function description

#### Analog value output *rOut*

The analog value output *rOut* follows the analog value input *rIn*, as long as the analog value input *rIn* does not violate either of the two limits **rMinLimit** or **rMaxLimit** is violated.\
A limit violation always occurs when the analog value input *rIn* is less than the limit **rMinLimit** or greater than the limit **rMaxLimit** is.\
In the event of a limit violation, the analog value output will be *rOut* determined depending on the selected option **rReplacementOption** (eLimiterMode).

| *rIn* | **ReplacementOption** | *rOut*                                          | Notes                                                                               |
| ----- | --------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------- |
| X     | InputValue            | *rIn*                                           | Option 'InpultValue'                                                                |
| X     | MinValue              | **rMinLimit**                                   | Option 'MinValue'                                                                   |
| X     | MaxValue              | **rMaxLimit**                                   | Option 'MaxValue'                                                                   |
| X     | LastValue             | Last state of *rOut* before the limit violation | Option 'LastValue' Warning: The last value is not retained during a PLC cold start! |
| X     | ReplacementValue      | **rReplacementValue**                           | Option 'ReplacementValue'                                                           |

Legend: X = any

#### Digital output *xErr*

The digital output *xErr* indicates an active limit violation.

| Limit violation | *xErr* | Notes              |
| --------------- | ------ | ------------------ |
| FALSE           | FALSE  | no limit violation |
| TRUE            | TRUE   | Limit violation    |

Legend: X = any

### CODESYS

InOut:

| Scope       | Name                 | Type         | Initial                 |
| ----------- | -------------------- | ------------ | ----------------------- |
| Input       | `rIn`                | `REAL`       | 0                       |
| Input Const | `rReplacementValue`  | `REAL`       | 0                       |
| Input Const | `rReplacementOption` | eLimiterMode | eLimiterMode.InputValue |
| Input Const | `rMaxLimit`          | `REAL`       | 150                     |
| Input Const | `rMinLimit`          | `REAL`       | -50                     |
| Output      | `rOut`               | `REAL`       |                         |
| Output      | `xErr`               | `BOOL`       |                         |
| Output      | `xAlarmHigh`         | `BOOL`       |                         |
| Output      | `xAlarmLow`          | `BOOL`       |                         |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://support.powerio.com/hub/codesys-hvac/en/hvac-library/functionblocks/numeric/limiter.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
