# BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD

## `BELIMO_EPXXXR2_BAC_FW_4_2_0_MOD` (FB)

`FUNCTION_BLOCK` BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD

### **Representation**

<figure><img src="/files/71dc293f51c36ce7d0919618ba1529bacac641b6" alt=""><figcaption></figcaption></figure>

### Guidelines - software creation

The following function codes (FC) are supported: 3, 4 (additionally: 2, 4, 16)

For write operations to 32-bit data points (2 consecutive Modbus registers), FC16 must be used. No further registers may then be written in this telegram. Format of 32-bit data points: Register+0 (LSW): H-byte L-byte Register+1 (MSW): H-byte L-byte

FC 02 may only be used for register 105 (Malfunction and service information, start address = 1664).&#x20;

* For addressing, the address specifications must be used, not the register addresses.&#x20;
* For unused registers, the value 65535 (dec.) is read/written.&#x20;
* The Modbus addresses 1 - 247 can be set with the known Belimo tools.&#x20;
* All writable register addresses > 100 are persistent and must not be written cyclically&#x20;
* The device firmware cannot currently (06.09.2024) be read from address 103. The value 0 is always read.&#x20;
* Measured values - adjustment: Class ???&#x20;
* There are no measurable variables available for adjustment.

InOut:

| Scope       | Name                    | Type                                                       | Initial                                                                  | Comment                                                                                                                                                                      |
| ----------- | ----------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                   | `BOOL`                                                     | TRUE                                                                     | Enable / disable communication (TRUE = enable)                                                                                                                               |
| Input       | `byUnitId`              | `BYTE`                                                     | 1                                                                        | Address of the device (1 .. 247)                                                                                                                                             |
| Input       | `xUpdateActual`         | `BOOL`                                                     | FALSE                                                                    | <p>Update of actual values (on every rising edge<br>)</p>                                                                                                                    |
| Input       | `xUpdateSetp`           | `BOOL`                                                     | FALSE                                                                    | <p>Update of setpoints (on every rising edge<br>)</p>                                                                                                                        |
| Input       | `xUpdateConfig`         | `BOOL`                                                     | FALSE                                                                    | <p>Update of the configuration (on every rising<br>edge) (write access)</p>                                                                                                  |
| Input       | `xUpdateInfo`           | `BOOL`                                                     | FALSE                                                                    | <p>Update of the information (on every rising<br>edge)</p>                                                                                                                   |
| Input       | `xResError`             | `BOOL`                                                     | FALSE                                                                    | <p>Reinitialization of the outputs <code>eErrorCodeCom</code> or<br><code>xErrorCodeDev</code> to the error-free state (on every<br>rising edge)</p>                         |
| Input       | `rRelSetp`              | `REAL`                                                     | 0.0                                                                      | <p>Relative setpoint - position/air volume flow in % (0.0% =<br>rAbsVolFlowLimitMinFb, 100.0% = rAbsVolFlowLimitMaxFb)</p>                                                   |
| Input       | `eCommand`              | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_COMMAND            | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_COMMAND.None                     | Command for service functions (0 = None)                                                                                                                                     |
| Input       | `eOverrideCon`          | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_OVERRIDE\_CONTROL  | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_OVERRIDE\_CONTROL.None           | <p>Force override of the control signal - position/air volume flow<br>(0 = None)</p>                                                                                         |
| Inout       | `ModbusClient`          | `ModbusClientBase`                                         |                                                                          | Client of the device                                                                                                                                                         |
| Output      | `eSetpSourceFb`         | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_SETPOINT\_SOURCE   |                                                                          | <p>Actual values\_1: feedback - source for the setpoint -<br>position/air volume flow (1 = Modbus)</p>                                                                       |
| Output      | `eControlModeFb`        | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_CONTROL\_MODE      |                                                                          | <p>Actual values\_1: feedback - control mode (1 =<br>air volume flow)</p>                                                                                                    |
| Output      | `rRelSetpFb`            | `REAL`                                                     |                                                                          | <p>Actual values\_0: feedback - relative setpoint -<br>position/air volume flow in % (0.0 - 100.0 %)</p>                                                                     |
| Output      | `rRelSetpAnalog`        | `REAL`                                                     |                                                                          | <p>Actual values\_0: relative setpoint - position/air volume flow in %<br>(0.0 - 100.0 %) from input 0 - 10V (address 118 = 0 =<br>analog)</p>                               |
| Output      | `rRelPos`               | `REAL`                                                     |                                                                          | Actual values\_0: relative position in XXX.X %                                                                                                                               |
| Output      | `rAbsPos`               | `REAL`                                                     |                                                                          | <p>Actual values\_0: absolute position in XXX degrees (rotation) or<br>mm (linear movement)</p>                                                                              |
| Output      | `rRelVolFlow`           | `REAL`                                                     |                                                                          | <p>Actual values\_0: relative air volume flow in % (0.0 - 150.0 %) (<br>relative to ‘Maximum volumetric flow limit - address 106)</p>                                        |
| Output      | `rRelVolFlowLimitMin`   | `REAL`                                                     |                                                                          | <p>Actual values\_1: limit value - minimum percentage air volume<br>flow (reference: Vnom) (Control\_Mode = Flow Control) (2.5%<br>Vnom - 100.0% Vmax)</p>                   |
| Output      | `rRelVolFlowLimitMax`   | `REAL`                                                     |                                                                          | <p>Actual values\_1: limit value - maximum percentage air volume<br>flow (reference: Vnom) (Control\_Mode = Flow Control) (25.0%<br>Vnom - 100.0% Vnom)</p>                  |
| Output      | `rNomAbsVolFlowUnit`    | `REAL`                                                     |                                                                          | <p>Nominal air volume flow in the selected unit (addresses<br>112 and 113) (unit definition in address 147)</p>                                                              |
| Output      | `rSetpAbsVolFlowUnit`   | `REAL`                                                     |                                                                          | <p>Actual values\_0: setpoint for the absolute air volume flow in the<br>selected unit (unit definition in address 147)</p>                                                  |
| Output      | `rAbsVolFlowUnit`       | `REAL`                                                     |                                                                          | <p>Actual values\_0: absolute air volume flow in the selected unit<br>(unit definition in address 147)</p>                                                                   |
| Output      | `eVolFlowUnitFb`        | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_VOLUME\_FLOW\_UNIT |                                                                          | <p>Actual values\_1: feedback - unit for the absolute<br>air volume flow (unit definition in address 147)</p>                                                                |
| Output      | `rAbsVolFlowLimitMinFb` | `REAL`                                                     |                                                                          | <p>Actual values\_1: feedback - limit value - minimum absolute<br>air volume flow (reference: Vnom) (Control\_Mode = Flow<br>Control) (2.5% Vnom - 100.0% Vmax)</p>          |
| Output      | `rAbsVolFlowLimitMaxFb` | `REAL`                                                     |                                                                          | <p>Actual values\_1: feedback - limit value - maximum absolute<br>air volume flow (reference: Vnom) (Control\_Mode = Flow<br>Control) (25.0% Vnom - 100.0% Vnom)</p>         |
| Output      | `rTemp_Deg`             | `REAL`                                                     |                                                                          | Actual values\_0: current temperature in degrees Celsius                                                                                                                     |
| Output      | `rTemp_Fah`             | `REAL`                                                     |                                                                          | Actual values\_0: current temperature in degrees Fahrenheit                                                                                                                  |
| Output      | `rRelGlycolCon`         | `REAL`                                                     |                                                                          | Actual values\_0: current glycol concentration in percent                                                                                                                    |
| Output      | `dwTotalWaterVolume`    | `DWORD`                                                    |                                                                          | <p>Actual values\_0: total water volume in the selected unit (<br>unit definition in address 149)</p>                                                                        |
| Output      | `eVolumeUnitFb`         | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_VOLUME\_UNIT       |                                                                          | <p>Actual values\_1: feedback - unit of the total water volume (<br>unit definition in address 149)</p>                                                                      |
| Output      | `eOverrideConFb`        | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_OVERRIDE\_CONTROL  |                                                                          | Actual values\_0: current state - force override of the control signal - position/air volume flow (0 = None)                                                                 |
| Output      | `rSensor1ValueUnit`     | `REAL`                                                     |                                                                          | <p>Actual values\_0: current value of sensor 1 in the selected<br>unit (address 120: sensor type)</p>                                                                        |
| Output      | `eSensor1TypeFb`        | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_SENSOR\_1\_TYPE    |                                                                          | <p>Active: 0 - 65535 mV // Switch: 0.0 or 1.0<br>Actual values\_1: feedback - sensor type (address 120: sensor type)</p>                                                     |
| Output      | `eCommandFb`            | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_COMMAND            |                                                                          | <p>Actual values\_0: current state - command for service functions<br>(0 = None)</p>                                                                                         |
| Output      | `eDeviceType`           | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_DEVICE\_TYPE       |                                                                          | <p>Actual values\_0: current state - type of the device (0 = Device<br>not connected)</p>                                                                                    |
| Output      | `eBusTermin`            | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_BUS\_TERMINATION   |                                                                          | <p>Information\_0: status of the Modbus terminating resistor (<br>Active = Enabled)</p>                                                                                      |
| Output      | `sSerialNum`            | `STRING`                                                   |                                                                          | Information\_0: serial number of the device                                                                                                                                  |
| Output      | `wFirmwareVer`          | `WORD`                                                     |                                                                          | Information\_0: firmware version of the device                                                                                                                               |
| Output      | `eAO`                   | eManNum                                                    | eManNum.Auto                                                             | <p>Display - manual override on the device (actuator disconnected)<br>(0 = Automatic)</p>                                                                                    |
| Output      | `xAlarm`                | `BOOL`                                                     | FALSE                                                                    | Collective fault (TRUE = fault)                                                                                                                                              |
| Output      | `xAlarmCom`             | `BOOL`                                                     | FALSE                                                                    | Collective fault - communication (TRUE = fault)                                                                                                                              |
| Output      | `eErrorCodeCom`         | ModbusErrorCode                                            |                                                                          | Error code - communication (0 = no error)                                                                                                                                    |
| Output      | `stErrorCodeDev`        | `STRING`                                                   |                                                                          | <p>String with the numbers of the active device errors (error bits<br>0 - 15)</p>                                                                                            |
| Output      | `xBusy`                 | `BOOL`                                                     |                                                                          | Communication display (TRUE = communication)                                                                                                                                 |
| Input Const | `eVolumeUnit`           | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_VOLUME\_UNIT       | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_VOLUME\_UNIT.m3                  | <p>Unit of the total water volume (unit definition in<br>address 149)</p>                                                                                                    |
| Input Const | `eVolFlowUnit`          | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_VOLUME\_FLOW\_UNIT | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_VOLUME\_FLOW\_UNIT.m3\_per\_hour | <p>Unit for the absolute air volume flow (unit definition in<br>address 147)</p>                                                                                             |
| Input Const | `rMaxAbsVolFlowUnit`    | `REAL`                                                     | 40.0                                                                     | <p>Maximum value for the absolute air volume flow in the selected<br>unit (0.25<em>rNomAbsVolFlowUnit … 1.0</em>rNomAbsVolFlowUnit<br>) (unit definition in address 147)</p> |
| Input Const | `rMinAbsVolFlowUnit`    | `REAL`                                                     | 20.0                                                                     | <p>Minimum value for the absolute air volume flow in the selected<br>unit (0 … rMaxAbsVolFlowUnit) (unit definition in<br>address 147)</p>                                   |
| Input Const | `eSensor_1_Type`        | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_SENSOR\_1\_TYPE    | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_SENSOR\_1\_TYPE.None             | Definition of the type of sensor 1 (0 = None)                                                                                                                                |
| Input Const | `eSetpSource`           | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_SETPOINT\_SOURCE   | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_SETPOINT\_SOURCE.Bus             | <p>Source for the setpoint - position/air volume flow (1 = Modbus<br>)</p>                                                                                                   |
| Input Const | `eControlMode`          | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_CONTROL\_MODE      | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_CONTROL\_MODE.Flow\_Control      | Control mode (1 = air volume flow)                                                                                                                                           |
| Input Const | `tBusFailTimeout`       | `TIME`                                                     | TIME#2m0s0ms                                                             | Time period for evaluating a communication error                                                                                                                             |
| Input Const | `eBusFailAction`        | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_BUS\_FAIL\_ACTION  | BELIMO\_EPXXXR2\_BAC\_FW\_4\_2\_0\_MOD\_BUS\_FAIL\_ACTION.None           | <p>Action when a communication error occurs (0 =<br>none)</p>                                                                                                                |
| Input Const | `tTimeUpdateInfo`       | `TIME`                                                     | TIME#0ms                                                                 | <p>Update interval for the processes influenced by the input<br><code>xUpdateInfo</code> influenced</p>                                                                      |
| Input Const | `tTimeUpdateConfig`     | `TIME`                                                     | TIME#0ms                                                                 | <p>Update interval for the processes influenced by the input<br><code>xUpdateConfig</code> influenced</p>                                                                    |
| Input Const | `tTimeUpdateSetp`       | `TIME`                                                     | TIME#45s0ms                                                              | <p>Update interval for the processes influenced by the input<br><code>xUpdateSetp</code> influenced</p>                                                                      |
| Input Const | `tTimeUpdateActual`     | `TIME`                                                     | TIME#3s0ms                                                               | <p>Update interval for the processes influenced by the input<br><code>xUpdateActual</code> influenced</p>                                                                    |


---

# Agent Instructions: 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:

```
GET https://support.powerio.com/hub/codesys-hvac/en/hvac-modbus-library/functionblocks/belimo/belimo_epxxxr2_bac_fw_4_2_0_mod.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
