# KAMSTRUP\_MULTICAL\_XX3\_DEFAULT

## `KAMSTRUP_MULTICAL_XX3_DEFAULT` (FB)

`FUNCTION_BLOCK` KAMSTRUP\_MULTICAL\_XX3\_DEFAULT

### Darstellung

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

### Richtlinien - Softwareerstellung

Es werden folgende Function-Codes (FC) unterstützt: 3, 4, 8, 16, 43, 65 und 66

Dieser Funktionsbaustein kann beim Einsatz der folgenden Kommunikationsmodule verwandt werden:

1. HC-003-67: Modbus-RTU mit Zählereingängen In-A und In-B (Steckplatz 1) oder In-A2 und In-B2 (Steckplatz 2)
2. HC-003-82: Modbus-TCP mit Zählereingängen In-A und In-B (Steckplatz 1) oder In-A2 und In-B2 (Steckplatz 2)

Diese Module können in folgenden Zählern eingesetzt werden:

1\) MULTICAL 403 2) MULTICAL 603 3) MULTICAL 803

Die Daten werden gemäß dem Profil `Default` gelesen (Default datagramm = xx-yy-300)

Nicht benutzte Register enthalten je nach Datentyp folgende Inhalte:

1\) Signed integer (16 Bit): 0x00000000 2) Integer (32 Bit): 0xFFFFFFFF 3) Signed integer (32 Bit): 0x7FFFFFFF 4) Float (32 Bit): 0x4F800000

Die Kalibierung der Temperaturfühler muss im Gerät erfolgen, es ist jedoch per Modbus kein Abgleich möglich.

Die Modbus-Adressen 1 - 247 können unter Verwendung geeigneter Kamstrup-Tools eingestellt werden.

Messwerte - Abgleich: Klasse ???

InOut:

| Scope       | Name                    | Type                                    | Initial                                          | Comment                                                                                                                                                             |
| ----------- | ----------------------- | --------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                   | `BOOL`                                  | TRUE                                             | Freigabe / Sperrung der Kommunikation (TRUE = Freigabe)                                                                                                             |
| Input       | `byUnitId`              | `BYTE`                                  | 1                                                | Adresse des Geräts (1 .. 247)                                                                                                                                       |
| Input       | `xUpdateActual`         | `BOOL`                                  | FALSE                                            | <p>Aktualisierung der Istwerte (bei jeder ansteigenden Flanke<br>)</p>                                                                                              |
| Input       | `xUpdateConfig`         | `BOOL`                                  | FALSE                                            | <p>Aktualisierung der Konfiguration (bei jeder ansteigenden<br>Flanke) (schreibender und lesender Zugriff)</p>                                                      |
| Input       | `xUpdateInfo`           | `BOOL`                                  | FALSE                                            | <p>Aktualisierung der Informationen (bei jeder ansteigenden<br>Flanke)</p>                                                                                          |
| Input       | `xResError`             | `BOOL`                                  | FALSE                                            | <p>Reinitialisierung der Ausgänge <code>eErrorCodeCom</code> bzw.<br><code>xErrorCodeDev</code> auf dem fehlerfreien Zustand (bei jeder<br>ansteigenden Flanke)</p> |
| Inout       | `ModbusClient`          | `ModbusClientBase`                      |                                                  | Client des Geräts                                                                                                                                                   |
| Output      | `rVolFlowV1`            | `REAL`                                  | 0.0                                              | Messgröße ‘Aktueller Volumenstrom V1’                                                                                                                               |
| Output      | `eUnitVolFlowV1`        | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktueller Volumenstrom V1’                                                                                                                   |
| Output      | `rVolFlowV2`            | `REAL`                                  | 0.0                                              | Messgröße ‘Aktueller Volumenstrom V2’                                                                                                                               |
| Output      | `eUnitVolFlowV2`        | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktueller Volumenstrom V2’                                                                                                                   |
| Output      | `rPower`                | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Leistung’                                                                                                                                       |
| Output      | `eUnitPower`            | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Leistung’                                                                                                                           |
| Output      | `rT1`                   | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Temperatur T1’                                                                                                                                  |
| Output      | `eUnitT1`               | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Temperatur T1’                                                                                                                      |
| Output      | `rT2`                   | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Temperatur T2’                                                                                                                                  |
| Output      | `eUnitT2`               | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Temperatur T2’                                                                                                                      |
| Output      | `rT3`                   | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Temperatur T3’                                                                                                                                  |
| Output      | `eUnitT3`               | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Temperatur T3’                                                                                                                      |
| Output      | `rT4`                   | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Temperatur T4’                                                                                                                                  |
| Output      | `eUnitT4`               | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Temperatur T4’                                                                                                                      |
| Output      | `rDeltaT1_T2`           | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Temperaturdifferenz T1-T2’                                                                                                                      |
| Output      | `eUnitDeltaT1_T2`       | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Temperaturdifferenz T1-T2’                                                                                                          |
| Output      | `rPowerP1`              | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Leistung P1’                                                                                                                                    |
| Output      | `eUnitPowerP1`          | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Leistung P1’                                                                                                                        |
| Output      | `rPowerP2`              | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Leistung P2’                                                                                                                                    |
| Output      | `eUnitPowerP2`          | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Leistung P2’                                                                                                                        |
| Output      | `rHeatEnergyE1`         | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Wärmemenge E1’                                                                                                                                  |
| Output      | `eUnitHeatEnergyE1`     | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Wärmemenge E1’                                                                                                                      |
| Output      | `rHeatEnergyE2`         | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Wärmemenge E2’                                                                                                                                  |
| Output      | `eUnitHeatEnergyE2`     | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Wärmemenge E2’                                                                                                                      |
| Output      | `rCoolingEnergyE3`      | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Kältemenge E3’                                                                                                                                  |
| Output      | `eUnitCoolingEnergyE3`  | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Kältemenge E3’                                                                                                                      |
| Output      | `rInletEnergyE4`        | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Energiemenge am Eingang E4’                                                                                                                     |
| Output      | `eUnitInletEnergyE4`    | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Energiemenge am Eingang E4’                                                                                                         |
| Output      | `rOutletEnergyE5`       | `REAL`                                  | 0.0                                              | Messgröße ‘Aktuelle Energiemenge am Ausgang E5’                                                                                                                     |
| Output      | `eUnitOutletEnergyE5`   | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Aktuelle Energiemenge am Ausgang E5’                                                                                                         |
| Output      | `rVolumeV1`             | `REAL`                                  | 0.0                                              | Messgröße ‘Kummuliertes Volumen V1’                                                                                                                                 |
| Output      | `eUnitVolumeV1`         | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Kummuliertes Volumen V1’                                                                                                                     |
| Output      | `rVolumeV2`             | `REAL`                                  | 0.0                                              | Messgröße ‘Kummuliertes Volumen V2’                                                                                                                                 |
| Output      | `eUnitVolumeV2`         | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Kummuliertes Volumen V2’                                                                                                                     |
| Output      | `rPulseInputA1`         | `REAL`                                  | 0.0                                              | Messgröße ‘Kummulierte Impulsanzahl Eingang A1’                                                                                                                     |
| Output      | `eUnitPulseInputA1`     | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Kummulierte Impulsanzahl Eingang A1’                                                                                                         |
| Output      | `rPulseInputB1`         | `REAL`                                  | 0.0                                              | Messgröße ‘Kummulierte Impulsanzahl Eingang B1’                                                                                                                     |
| Output      | `eUnitPulseInputB1`     | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Kummulierte Impulsanzahl Eingang B1’                                                                                                         |
| Output      | `rPulseInputA2`         | `REAL`                                  | 0.0                                              | Messgröße ‘Kummulierte Impulsanzahl Eingang A2’                                                                                                                     |
| Output      | `eUnitPulseInputA2`     | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Kummulierte Impulsanzahl Eingang A2’                                                                                                         |
| Output      | `rPulseInputB2`         | `REAL`                                  | 0.0                                              | Messgröße ‘Kummulierte Impulsanzahl Eingang B2’                                                                                                                     |
| Output      | `eUnitPulseInputB2`     | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Kummulierte Impulsanzahl Eingang B2’                                                                                                         |
| Output      | `rMassM1`               | `REAL`                                  | 0.0                                              | Messgröße ‘Kummulierte Gesamtmasse M1’                                                                                                                              |
| Output      | `eUnitMassM1`           | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Kummulierte Gesamtmasse M1’                                                                                                                  |
| Output      | `rMassM2`               | `REAL`                                  | 0.0                                              | Messgröße ‘Kummulierte Gesamtmasse M2’                                                                                                                              |
| Output      | `eUnitMassM2`           | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS | KAMSTRUP\_MULTICAL\_XX3\_DEFAULT\_UNITS.No\_unit | Einheit der Messgröße ‘Kummulierte Gesamtmasse M2’                                                                                                                  |
| Output      | `dwOperatingHours`      | `DWORD`                                 | 0                                                | Betriebsstunden                                                                                                                                                     |
| Output      | `dwErrorHours`          | `DWORD`                                 | 0                                                | Betriebsstunden mit aktivem Fehler                                                                                                                                  |
| Output      | `dwDate`                | `DWORD`                                 | 0                                                | Datum im Format YY.MM.DD                                                                                                                                            |
| Output      | `dwTime`                | `DWORD`                                 | 0                                                | Uhrzeit im Format HH.MM.SS                                                                                                                                          |
| Output      | `sSerialNum`            | `STRING`                                | ‘’                                               | Seriennummer                                                                                                                                                        |
| Output      | `dwMeterType`           | `DWORD`                                 | 0                                                | Gerätetyp und Firmwareversion                                                                                                                                       |
| Output      | `dwMainSubType`         | `DWORD`                                 | 0                                                | Geräte-Hauptversion und -Unterversion                                                                                                                               |
| Output      | `dwFirmwareVer`         | `DWORD`                                 | 0                                                | Firmware-Version                                                                                                                                                    |
| Output      | `xSensorOffsetInDevice` | `BOOL`                                  | FALSE                                            | <p>Anzeige, ob der Abgleich der Sensoren im Gerät erfolgen muss<br>(TRUE = Abgleich im Gerät erforderlich, FALSE = Abgleich im<br>FB erforderlich)</p>              |
| Output      | `xAlarm`                | `BOOL`                                  | FALSE                                            | Sammelstörung (TRUE = Störung)                                                                                                                                      |
| Output      | `xAlarmCom`             | `BOOL`                                  | FALSE                                            | Sammelstörung - Kommunikation (TRUE = Störung)                                                                                                                      |
| Output      | `eErrorCodeCom`         | ModbusErrorCode                         |                                                  | Fehlercode - Kommunikation (0 = kein Fehler)                                                                                                                        |
| Output      | `stErrorCodeDev_1`      | `STRING`                                | ‘’                                               | <p>String 1 mit den Nummern der aktiven Gerätefehler (<br>Fehlerbits 0 - 15)</p>                                                                                    |
| Output      | `stErrorCodeDev_2`      | `STRING`                                | ‘’                                               | <p>String 2 mit den Nummern der aktiven Gerätefehler (<br>Fehlerbits 16 - 31)</p>                                                                                   |
| Output      | `xBusy`                 | `BOOL`                                  | FALSE                                            | Kommunikationsanzeige (TRUE = Kommunikation)                                                                                                                        |
| Input Const | `tTimeUpdateInfo`       | `TIME`                                  | TIME#0ms                                         | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateInfo</code> beeinflusst werden</p>                                                       |
| Input Const | `tTimeUpdateConfig`     | `TIME`                                  | TIME#0ms                                         | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateConfig</code> beeinflusst werden</p>                                                     |
| Input Const | `tTimeUpdateActual`     | `TIME`                                  | TIME#3s0ms                                       | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateActual</code> beeinflusst werden</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/hvac-modbus-library/functionblocks/kamstrup/kamstrup_multical_xx3_default.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.
