# SOLVIMUS\_GE20\_MBUS\_VALUE

## `SOLVIMUS_GE20_MBUS_VALUE` (FB)

FUNCTION\_BLOCK SOLVIMUS\_GE20\_MBUS\_VALUE

InOut:

| Scope       | Name                          | Type                             | Initial      | Comment                                                                                                                |
| ----------- | ----------------------------- | -------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                         | `BOOL`                           | TRUE         | Enable / disable communication ( TRUE = enabled )                                                                      |
| Input       | `byUnitId`                    | `BYTE`                           | 255          | <p>Address of the device (set via IP address) (<br>Default: 255 )</p>                                                  |
| Input       | `xUpdateActual`               | `BOOL`                           | FALSE        | <p>Update of actual values (on every rising edge<br>)</p>                                                              |
| Input       | `wBaseAdressMbusDevice`       | `WORD`                           | 10           | <p>Modbus - base register for the MBus device<br>information</p>                                                       |
| Input       | `wBaseAdressMbusValue`        | `WORD`                           | 20           | <p>Modbus - base register for the MBus<br>value information</p>                                                        |
| Input       | `xResError`                   | `BOOL`                           | FALSE        | <p>Reinitialization of the outputs ‘eErrorCodeCom’ to the<br>no-error state (on each rising edge)</p>                  |
| Inout       | `ModbusClient`                | `ModbusClientBase`               |              | Client of the device                                                                                                   |
| Output      | `liVal_Raw`                   | `LINT`                           |              | <p>Meter value in 64-bit integer format - signed -<br>unscaled</p>                                                     |
| Output      | `rVal_Raw_SF`                 | `REAL`                           |              | Scaling factor for ‘liVal\_Raw’                                                                                        |
| Output      | `liVal`                       | `LINT`                           |              | <p>Meter value in 64-bit integer format - signed -<br>scaled ( = ‘liVal\_Raw’ x scaling factor ‘rVal\_Raw\_SF’ )</p>   |
| Output      | `rVal`                        | `REAL`                           |              | <p>Meter value in 32-bit IEEE 754 floating point format -<br>signed - scaled to ‘byValueUnit’ ( = final value<br>)</p> |
| Output      | `rVal_kWh`                    | `REAL`                           |              | (‘rVal’ in kWh) x scaling factor ‘rVal\_kWh\_SF’                                                                       |
| Output      | `eValUnit`                    | SOLVIMUS\_GE20\_MBUS\_UNIT\_TYPE |              | Unit of the meter value                                                                                                |
| Output      | `dtSysTime`                   | `DT`                             |              | <p>Timestamp of the MBus device (UTC, in Germany UTC +1 /<br>+2 h depending on summer/winter time)</p>                 |
| Output      | `xAlarm`                      | `BOOL`                           | FALSE        | General fault ( TRUE = fault )                                                                                         |
| Output      | `xAlarmCom`                   | `BOOL`                           | FALSE        | General fault - communication ( TRUE = fault )                                                                         |
| Output      | `eErrorCodeCom`               | ModbusErrorCode                  |              | Error code - communication ( 0 = no error )                                                                            |
| Output      | `xBusy`                       | `BOOL`                           |              | Communication indicator ( TRUE = communication )                                                                       |
| Input Const | `wBaseAdressMbusDeviceOffset` | `WORD`                           | 10           | <p>Offset for calculating the base address (Requirement:<br>xBaseAdressMode = TRUE )</p>                               |
| Input Const | `xBaseAdressMode`             | `BOOL`                           | FALSE        | Method of determining the base address:                                                                                |
| Input Const | `diAdrOffset`                 | `DINT`                           | 0            | <p>Offset for calculating Modbus addresses (from the Modbus<br>registers) (permissible range: -1, 0, +1)</p>           |
| Input Const | `rVal_kWh_SF`                 | `REAL`                           | 1.0          | Scaling factor for the output ‘rVal\_kWh’                                                                              |
| Input Const | `rVal_SF`                     | `REAL`                           | 1.0          | Scaling factor for the output ‘rVal’                                                                                   |
| Input Const | `tTimeUpdateActual`           | `TIME`                           | TIME#1m0s0ms | <p>Update interval for operations influenced by the input<br>'xUpdateActual'</p>                                       |
