# TROX\_BM0

## `TROX_BM0` (FB)

`FUNCTION_BLOCK` TROX\_BM0

### Representation

<figure><img src="/files/fcd777d8c20f50956ae4a1e839a0fa5b31708bbf" alt=""><figcaption></figcaption></figure>

InOut:

| Scope       | Name                    | Type                        | Initial                                | Comment                                                                                                                                                                                                                                    |
| ----------- | ----------------------- | --------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Input       | `xEn`                   | `BOOL`                      | TRUE                                   | Enable / disable communication (TRUE = enable)                                                                                                                                                                                             |
| Input       | `byUnitId`              | `BYTE`                      | 0                                      | Device address                                                                                                                                                                                                                             |
| 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       | `xResError`             | `BOOL`                      | FALSE                                  | <p>Reinitialization of the outputs <code>eErrorCodeCom</code> or<br><code>stErrorCodeDev</code> to the fault-free state (on every rising edge)</p>                                                                                         |
| Input       | `rSetpVolFlowPerc`      | `REAL`                      | 0.0                                    | <p>Setpoint - volume flow in % (0.0 - 100.0 %) (0.0 % =<br>Vmin, 100.0 % = Vmax)</p>                                                                                                                                                       |
| Input       | `xEnDevice`             | `BOOL`                      | FALSE                                  | <p>Enable / lock of the volume flow controller (FALSE =<br>forced control CLOSE, TRUE = forced control NONE)</p>                                                                                                                           |
| Inout       | `ModbusClient`          | `ModbusClientBase`          |                                        | Client of the device                                                                                                                                                                                                                       |
| Output      | `rVminUnit`             | `REAL`                      |                                        | <p>Minimum value - volume flow in the selected<br>volume flow unit</p>                                                                                                                                                                     |
| Output      | `rVmaxUnit`             | `REAL`                      |                                        | <p>Maximum value - volume flow in the selected<br>volume flow unit</p>                                                                                                                                                                     |
| Output      | `rVnomUnit`             | `REAL`                      |                                        | Rated volume flow in the selected volume flow unit                                                                                                                                                                                         |
| Output      | `rDamperPosPerc`        | `REAL`                      |                                        | <p>Absolute position of the air damper in percent (0.0% =<br>Closed, 100.0% = Open)</p>                                                                                                                                                    |
| Output      | `rDamperPosDegree`      | `REAL`                      |                                        | Absolute position of the air damper in degrees                                                                                                                                                                                             |
| Output      | `rVolFlowPerc`          | `REAL`                      |                                        | Actual value of the volume flow in percent of the rated volume flow                                                                                                                                                                        |
| Output      | `rVolFlowUnit`          | `REAL`                      |                                        | <p>Actual value of the volume flow in the selected<br>volume flow unit</p>                                                                                                                                                                 |
| Output      | `rSetpVolFlowPercFb`    | `REAL`                      |                                        | <p>Feedback of the setpoint - volume flow in % (0.0 - 100.0 %<br>) (0.0 % = Vmin, 100.0 % = Vmax)</p>                                                                                                                                      |
| Output      | `eCommandFb`            | TROX\_BM0\_COMMAND          |                                        | Feedback of the triggering of test functions (0 = none)                                                                                                                                                                                    |
| Output      | `eOverrideConFb`        | TROX\_BM0\_OVERRIDE\_CON    |                                        | <p>Feedback of the forced override of the air damper (0 =<br>none)</p>                                                                                                                                                                     |
| Output      | `eActuatorType`         | TROX\_BM0\_ACTUATOR\_TYPE   |                                        | Type of the actuator                                                                                                                                                                                                                       |
| Output      | `eVolumeFlowUnitFb`     | TROX\_BM0\_VOLUMEFLOW\_UNIT |                                        | <p>Feedback of the unit for the specification of the absolute<br>volume flows (1 = m3/h)</p>                                                                                                                                               |
| Output      | `eSetpSourceFb`         | TROX\_BM0\_SETP\_SOURCE     |                                        | <p>Feedback of the source for the setpoint (0 = Analog, 1 =<br>Bus)</p>                                                                                                                                                                    |
| Output      | `eBusTermin`            | TROX\_BM0\_BUS\_TERMINATION |                                        | State of the Modbus terminating resistor (1 = Active)                                                                                                                                                                                      |
| Output      | `eSensorTypeFb`         | TROX\_BM0\_SENSOR\_TYPE     |                                        | <p>Feedback of the type of the connected sensor (0 = none<br>)</p>                                                                                                                                                                         |
| Output      | `sSerialNum`            | `STRING`                    |                                        | Serial number of the device                                                                                                                                                                                                                |
| Output      | `wFirmwareVer`          | `WORD`                      |                                        | Firmware version of the device                                                                                                                                                                                                             |
| Output      | `rSensorValue`          | `REAL`                      |                                        | Current actual value of the sensor in mV                                                                                                                                                                                                   |
| Output      | `xSensorOffsetInDevice` | `BOOL`                      |                                        | <p>Indication of whether the sensors must be calibrated in the device<br>(TRUE = calibration in the device required, FALSE = calibration in the<br>FB required)</p>                                                                        |
| Output      | `rSetpAnalog`           | `REAL`                      |                                        | Setpoint in XXX.X % (0.0 - 100.0 %) based on the sensor                                                                                                                                                                                    |
| 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`                    |                                        | String with the numbers of the active device errors                                                                                                                                                                                        |
| Output      | `xBusy`                 | `BOOL`                      |                                        | Communication indicator (TRUE = communication)                                                                                                                                                                                             |
| Input Const | `rSensorValueOffset`    | `REAL`                      | 0.0                                    | <p>Constant measured value offset for the transmitted voltage -<br>actual value</p>                                                                                                                                                        |
| Input Const | `eSensorType`           | TROX\_BM0\_SENSOR\_TYPE     | TROX\_BM0\_SENSOR\_TYPE.NO\_SENSOR     | <p>Influence: Outputs: rSensorValue<br>Type of the connected sensor (0 = none)</p>                                                                                                                                                         |
| Input Const | `eSetpSource`           | TROX\_BM0\_SETP\_SOURCE     | TROX\_BM0\_SETP\_SOURCE.BUS            | Source for the setpoint (0 = Analog, 1 = Bus)                                                                                                                                                                                              |
| Input Const | `eControlMode`          | TROX\_BM0\_CONTROL\_MODE    | TROX\_BM0\_CONTROL\_MODE.CLOSED\_LOOP  | <p>Type of control / regulation (0 = Open Loop =<br>position control, 1 = Closed Loop = volume flow control)</p>                                                                                                                           |
| Input Const | `eCommand`              | TROX\_BM0\_COMMAND          | TROX\_BM0\_COMMAND.NO\_COMMAND         | Triggering of test functions (0 = none)                                                                                                                                                                                                    |
| Input Const | `eVolumeFlowUnit`       | TROX\_BM0\_VOLUMEFLOW\_UNIT | TROX\_BM0\_VOLUMEFLOW\_UNIT.M3\_PER\_H | <p>Unit for the specification of the absolute volume flows (1 =<br>m3/h)</p>                                                                                                                                                               |
| Input Const | `xSetpVolumeFlowMinMax` | `BOOL`                      | FALSE                                  | <p>Triggering the transfer of the parameters <code>rSetpVolumeFlowMin</code><br>or <code>rSetpVolumeFlowMax</code> (on every rising edge)</p>                                                                                              |
| Input Const | `rSetpVolumeFlowMax`    | `REAL`                      | 180.0                                  | <p>Setpoint for the maximum volume flow in the selected<br>volume flow unit (at rSetpVolFlowPerc = 100.0 %)</p>                                                                                                                            |
| Input Const | `rSetpVolumeFlowMin`    | `REAL`                      | 0.0                                    | <p>Setpoint for the minimum volume flow in the selected<br>volume flow unit (at rSetpVolFlowPerc = 0.0 %)</p>                                                                                                                              |
| Input Const | `tTimeOut`              | `TIME`                      | TIME#10s0ms                            | <p>Duration for activation of the state<br><code>Communication error</code> (t = 0s = disabled, for t > 0s (<br>at least 10 s) the parameter <code>rSetpVolFlowPerc</code><br>must be transferred cyclically with a time interval < t)</p> |
| Input Const | `eBusFailureCommand`    | TROX\_BM0\_BUS\_FAILURE     | TROX\_BM0\_BUS\_FAILURE.LAST\_SETPOINT | <p>Definition of the behavior in the event of a bus failure (0 = last<br>setpoint)</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/trox/trox_bm0.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.
