# ABB\_B21\_23\_24

## `ABB_B21_23_24` (FB)

FUNCTION\_BLOCK ABB\_B21\_23\_24

InOut:

| Scope       | Name                 | Type               | Initial       | Comment                                                                                                                                |
| ----------- | -------------------- | ------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                | `BOOL`             | TRUE          | Enable / disable communication ( TRUE = enabled )                                                                                      |
| Input       | `byUnitId`           | `BYTE`             | 0             | Address of the device                                                                                                                  |
| Input       | `xUpdateActual`      | `BOOL`             | FALSE         | <p>Update of actual values (on every rising edge<br>)</p>                                                                              |
| Input       | `xUpdateCounter`     | `BOOL`             | FALSE         | <p>Update of the counters (on each rising<br>edge)</p>                                                                                 |
| Input       | `xUpdateInfo`        | `BOOL`             | FALSE         | <p>Update of the serial number / device type (on each<br>rising edge)</p>                                                              |
| Input       | `xResError`          | `BOOL`             | FALSE         | <p>Reinitialization of the outputs ‘eErrorCodeCom’ to the<br>no-error state (on each rising edge)</p>                                  |
| Input       | `xSendSysCommand`    | `BOOL`             | FALSE         | <p>Activation of transmission of system commands (on each<br>rising edge) (prerequisite: valid address and<br>valid value)</p>         |
| Inout       | `ModbusClient`       | `ModbusClientBase` |               | Client of the device                                                                                                                   |
| Output      | `rU1N`               | `REAL`             |               | Phase voltage L1 - N in V                                                                                                              |
| Output      | `rU2N`               | `REAL`             |               | Phase voltage L2 - N in V                                                                                                              |
| Output      | `rU3N`               | `REAL`             |               | Phase voltage L3 - N in V                                                                                                              |
| Output      | `rU12`               | `REAL`             |               | Line voltage L1 - L2 in V                                                                                                              |
| Output      | `rU23`               | `REAL`             |               | Line voltage L2 - L3 in V                                                                                                              |
| Output      | `rU31`               | `REAL`             |               | Line voltage L3 - L1 in V                                                                                                              |
| Output      | `rIL1`               | `REAL`             |               | Line current L1 in A                                                                                                                   |
| Output      | `rIL2`               | `REAL`             |               | Line current L2 in A                                                                                                                   |
| Output      | `rIL3`               | `REAL`             |               | Line current L3 in A                                                                                                                   |
| Output      | `rILN`               | `REAL`             |               | Current in the neutral conductor in A                                                                                                  |
| Output      | `rPhaseAnglePowTo`   | `REAL`             |               | Phase angle - power - total in degrees                                                                                                 |
| Output      | `rPowerFactorTo`     | `REAL`             |               | Power factor - total                                                                                                                   |
| Output      | `rPowerFactorL1`     | `REAL`             |               | Power factor L1                                                                                                                        |
| Output      | `rPowerFactorL2`     | `REAL`             |               | Power factor L2                                                                                                                        |
| Output      | `rPowerFactorL3`     | `REAL`             |               | Power factor L3                                                                                                                        |
| Output      | `rActivePowerTo`     | `REAL`             |               | Active power - total in W                                                                                                              |
| Output      | `rActivePowerL1`     | `REAL`             |               | Active power L1 in W                                                                                                                   |
| Output      | `rActivePowerL2`     | `REAL`             |               | Active power L2 in W                                                                                                                   |
| Output      | `rActivePowerL3`     | `REAL`             |               | Active power L3 in W                                                                                                                   |
| Output      | `rApparentPowerTo`   | `REAL`             |               | Apparent power - total in VA                                                                                                           |
| Output      | `rApparentPowerL1`   | `REAL`             |               | Apparent power L1 in VA                                                                                                                |
| Output      | `rApparentPowerL2`   | `REAL`             |               | Apparent power L2 in VA                                                                                                                |
| Output      | `rApparentPowerL3`   | `REAL`             |               | Apparent power L3 in VA                                                                                                                |
| Output      | `rReactivePowerTo`   | `REAL`             |               | Reactive power - total in var                                                                                                          |
| Output      | `rReactivePowerL1`   | `REAL`             |               | Reactive power L1 in var                                                                                                               |
| Output      | `rReactivePowerL2`   | `REAL`             |               | Reactive power L2 in var                                                                                                               |
| Output      | `rReactivePowerL3`   | `REAL`             |               | Reactive power L3 in var                                                                                                               |
| Output      | `rFrequency`         | `REAL`             |               | Frequency in Hz                                                                                                                        |
| Output      | `rActiveTariff`      | `REAL`             |               | Active tariff                                                                                                                          |
| Output      | `uliActEneImp`       | `ULINT`            |               | Imported active energy - total in kWh                                                                                                  |
| Output      | `uliActEneImpTotal1` | `ULINT`            |               | Consumed active energy - total - tariff 1 in kWh                                                                                       |
| Output      | `uliActEneImpTotal2` | `ULINT`            |               | Consumed active energy - total - tariff 2 in kWh                                                                                       |
| Output      | `uliActEneImpTotal3` | `ULINT`            |               | Imported active energy - total - tariff 3 in kWh                                                                                       |
| Output      | `uliActEneImpTotal4` | `ULINT`            |               | Imported active energy - total - tariff 4 in kWh                                                                                       |
| Output      | `uliActEneExp`       | `ULINT`            |               | Exported active energy - total in kWh                                                                                                  |
| Output      | `uliActEneExpTotal1` | `ULINT`            |               | Delivered active energy - total - tariff 1 in kWh                                                                                      |
| Output      | `uliActEneExpTotal2` | `ULINT`            |               | Delivered active energy - total - tariff 2 in kWh                                                                                      |
| Output      | `uliActEneExpTotal3` | `ULINT`            |               | Exported active energy - total - tariff 3 in kWh                                                                                       |
| Output      | `uliActEneExpTotal4` | `ULINT`            |               | Exported active energy - total - tariff 4 in kWh                                                                                       |
| Output      | `uliReaEneImp`       | `ULINT`            |               | Imported reactive energy - total in kVarh                                                                                              |
| Output      | `uliReaEneImpTotal1` | `ULINT`            |               | Consumed reactive energy - total - tariff 1 in kVarh                                                                                   |
| Output      | `uliReaEneImpTotal2` | `ULINT`            |               | Consumed reactive energy - total - tariff 2 in kVarh                                                                                   |
| Output      | `uliReaEneImpTotal3` | `ULINT`            |               | Imported reactive energy - total - tariff 3 in kVarh                                                                                   |
| Output      | `uliReaEneImpTotal4` | `ULINT`            |               | Imported reactive energy - total - tariff 4 in kVarh                                                                                   |
| Output      | `uliReaEneExp`       | `ULINT`            |               | Exported reactive energy - total in kVarh                                                                                              |
| Output      | `uliReaEneExpTotal1` | `ULINT`            |               | Delivered reactive energy - total - tariff 1 in kVarh                                                                                  |
| Output      | `uliReaEneExpTotal2` | `ULINT`            |               | Delivered reactive energy - total - tariff 2 in kVarh                                                                                  |
| Output      | `uliReaEneExpTotal3` | `ULINT`            |               | Exported reactive energy - total - tariff 3 in kVarh                                                                                   |
| Output      | `uliReaEneExpTotal4` | `ULINT`            |               | Exported reactive energy - total - tariff 4 in kVarh                                                                                   |
| Output      | `uliAppEneImp`       | `ULINT`            |               | Imported apparent energy - total in kVAh                                                                                               |
| Output      | `uliAppEneExp`       | `ULINT`            |               | Exported apparent energy - total in kVAh                                                                                               |
| Output      | `sDeviceType`        | `STRING`           |               | Type and functionality of the device                                                                                                   |
| Output      | `dwSerialNum`        | `DWORD`            |               | Meter serial number (32 bit)                                                                                                           |
| 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      | `sErrorCodeDev_1`    | `STRING`           |               | <p>String 1 with the numbers of the active device errors ( register<br>16#8A13 )</p>                                                   |
| Output      | `sErrorCodeDev_2`    | `STRING`           |               | <p>String 2 with the numbers of the active device errors ( register<br>16#8A14 )</p>                                                   |
| Output      | `sErrorCodeDev_3`    | `STRING`           |               | <p>String 3 with the numbers of the active device errors ( register<br>16#8A15 )</p>                                                   |
| Output      | `sErrorCodeDev_4`    | `STRING`           |               | <p>String 4 with the numbers of the active device errors ( register<br>16#8A16 )</p>                                                   |
| Output      | `xBusy`              | `BOOL`             |               | Communication indicator ( TRUE = communication )                                                                                       |
| Input Const | `wSysRegVal`         | `WORD`             | 0             | Value of the register for the system command                                                                                           |
| Input Const | `wSysRegAdr`         | `WORD`             | 16#8F00       | Address of the register for the system command                                                                                         |
| Input Const | `xEnAlarmDevice`     | `BOOL`             | FALSE         | <p>Enable / disable of the outputs ‘xAlarmDevice’ and<br>‘stErrorCodeDev\_X’ ( FALSE = disable evaluation of the<br>alarm states )</p> |
| Input Const | `tTimeUpdateInfo`    | `TIME`             | TIME#60m0s0ms | <p>Update interval for the processes influenced by the input<br>‘xUpdateInfo’</p>                                                      |
| Input Const | `tTimeUpdateCounter` | `TIME`             | TIME#5m0s0ms  | <p>Update interval for the operations affected by the input<br>‘xUpdateCounter’</p>                                                    |
| Input Const | `tTimeUpdateActual`  | `TIME`             | TIME#1m0s0ms  | <p>Update interval for operations influenced by the input<br>'xUpdateActual'</p>                                                       |
