> For the complete documentation index, see [llms.txt](https://support.powerio.com/hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.powerio.com/hub/codesys-hvac/hvac-modbus-library/functionblocks/ksb/ksb_pump_drive_2_mod-1.md).

# KSB\_CALIO\_PRO\_PLUS\_Z

## KSB\_CALIO\_PRO\_PLUS\_Z (FB)

`FUNCTION_BLOCK` KSB\_CALIO\_PRO\_PLUS\_Z

### Darstellung

<figure><img src="https://879424349-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQR4vCFzt6ixgsqlR3pdR%2Fuploads%2Fg2YUAEpsdJDA9stv5ir1%2FKSB_CALIO_PRO_PLUS_Z.png?alt=media&amp;token=8c4d6bd5-d03b-4ec0-97f5-d167c4ca7d2e" alt=""><figcaption></figcaption></figure>

### Kurzbeschreibung

> Steuerung der Geräteserie Calio Pro Plus bzw. Calio Pro Plus Z der Fa. KSB.
>
> Typische Anwendung: Umwälzpumpe in Heiz- / Kühlkreisen

### Richtlinien - Softwareerstellung <a href="#funktionsbeschreibung" id="funktionsbeschreibung"></a>

Es werden folgende Modbus-Registerbereiche genutzt:\
Istwerte: 0x07D0 - 0x07ED ( FC03 )\
Sollwerte: 0x0834 - 0x0838 ( FC16 )\
\
Modbus-Default-Parameter: Adresse 17, 19200 Baud, 1-8-E-1

### Schnittstellen

### Eingänge

| Scope | Name            | Type   | Initial | Comment                                                                                                                                                  |
| ----- | --------------- | ------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input | `xEn`           | `BOOL` | TRUE    | Freigabe / Sperrung der Kommunikation (TRUE = Freigabe)                                                                                                  |
| Input | `byUnitId`      | `BYTE` | 17      | Adresse des Geräts                                                                                                                                       |
| Input | `xUpdateActual` | `BOOL` | FALSE   | <p>Aktualisierung der Istwerte (bei jeder ansteigenden Flanke<br>)</p>                                                                                   |
| Input | `xUpdateSetp`   | `BOOL` | FALSE   | <p>Aktualisierung der Sollwerte (bei jeder ansteigenden Flanke<br>)</p>                                                                                  |
| Input | xEnDevice       | BOOL   | FALSE   | Freigabe / Sperrung der Pumpe ( FALSE = Stopp )                                                                                                          |
| Input | rSetp\_PERC     | REAL   | 0.0     | Sollwert für die Pumpe in Prozent ( 0.0 - 100.0% )                                                                                                       |
| Input | rSetp\_ABS      | REAL   | 1000.0  | Sollwert für die Pumpe in der der Betriebsart zugeordneten Einheit                                                                                       |
| Input | `xResError`     | `BOOL` | FALSE   | Reinitialisierung der Ausgänge 'eErrorCodeCom' bzw. 'sErrorCode1Dev' und 'sErrorCode2Dev' auf den fehlerfreien Zustand ( bei jeder ansteigenden Flanke ) |

#### Ein-/Ausgänge

| Scope | Name           | Type               | Initial | Comment           |
| ----- | -------------- | ------------------ | ------- | ----------------- |
| Inout | `ModbusClient` | `ModbusClientBase` |         | Client des Geräts |

#### Ausgänge

| Scope  | Name            | Type                                    | Initial | Comment                                                                                                               |
| ------ | --------------- | --------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
| Output | `xOperation`    | `BOOL`                                  | FALSE   | Betriebsmeldung der Pumpe ( TRUE = Betrieb )                                                                          |
| Output | xEnDeviceFb     | BOOL                                    | FALSE   | Freigabe / Sperrung der Pumpe ( FALSE = Aus ) --- Rückmeldung                                                         |
| Output | eControlModeFb  | KSB\_CALIO\_PRO\_PLUS\_Z\_CONTROL\_MODE |         | Art der Steuerung / Regelung --- Rückmeldung                                                                          |
| Output | rCalcDelievHead | REAL                                    | 0.0     | Berechnete Förderhöhe in X.X m                                                                                        |
| Output | rCalcFlowRate   | REAL                                    | 0.0     | Berechnete Förderstrom in X.X m3/h                                                                                    |
| Output | rSpeed          | REAL                                    | 0.0     | Aktuelle Drehzahl der Pumpe in XXX 1/min                                                                              |
| Output | rOperatingHours | REAL                                    | 0.0     | Betriebsstunden der Pumpe in XXX h                                                                                    |
| Output | rPower          | REAL                                    | 0.0     | Aktuelle Leistungsaufnahme der Pumpe in XXX W                                                                         |
| Output | rExtTempA       | REAL                                    | 0.0     | Aktuelle externe Temperatur A in XX.XX Grad Celsius                                                                   |
| Output | rExtTempB       | REAL                                    | 0.0     | Aktuelle externe Temperatur B in XX.XX Grad Celsius                                                                   |
| Output | rTemp\_SPM      | REAL                                    | 0.0     | Aktuelle Temperatur des Leistungsmoduls in XXX Grad Celsius                                                           |
| Output | rTemp\_PCB      | REAL                                    | 0.0     | Aktuelle Temperatur der Steuerplatine in XXX Grad Celsius                                                             |
| Output | rTemp\_Motor    | REAL                                    | 0.0     | Aktuelle Temperatur des Motors in XXX Grad Celsius                                                                    |
| Output | rTemp\_Media    | REAL                                    | 0.0     | Aktuelle Temperatur der Fördermediums in XXX Grad Celsius                                                             |
| Output | ElecEnergyTota  | REAL                                    | 0.0     | Gesamte elektrische Arbeit der Pumpe in XXX kWh                                                                       |
| Output | rFlowTota       | REAL                                    | 0.0     | Gesamte Fördermenge der Pumpe in XXX m3/h                                                                             |
| Output | rHeatMeterTota  | REAL                                    | 0.0     | Gesamte Wärmemenge der Pumpe in XXX kWh                                                                               |
| Output | rHeatPower      | REAL                                    | 0.0     | Aktuell transportierte Wärmeleistung der Pumpe in XXX W                                                               |
| Output | rAnalogInput1   | REAL                                    | 0.0     | Aktueller Istwert am analogen Eingang 1 in XXX mV ( 0.0 - 10000.0 mV )                                                |
| Output | rTempPT1        | REAL                                    | 0.0     | Aktuelle Temperatur am Eingang PT1 ( PT1000, in XX.XX Grad Celsius )                                                  |
| Output | rTempPT21       | REAL                                    | 0.0     | Aktuelle Temperatur am Eingang PT2 ( PT1000, in XX.XX Grad Celsius )                                                  |
| Output | xNightDay       | BOOL                                    | FALSE   | Aktueller Zustand des Nacht-/Tagbetriebs ( FALSE = Nachtbetrieb )                                                     |
| Output | rSetp\_PERC\_Fb | REAL                                    | 0.0     | Sollwert für die Pumpe in XX.XX Prozent --- Rückmeldung                                                               |
| Output | rSetp\_ABS\_Fb  | REAL                                    | 0.0     | Sollwert für die Pumpe ( Einheit in Abhängigkeit von der gewählten Betriebsart ) --- Rückmeldung                      |
| 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 | xAlarmDevice    | BOOL                                    | FALSE   | Sammelstörung - Pumpe ( TRUE = Störung )                                                                              |
| Output | sErrorCode1     | STRING                                  |         | String mit den Nummern der aktiven Gerätefehler 0 - 15 der Pumpe 1 ( Bit 0 = Nummer 1, Bit 1 = Nummer 2, usw. )       |
| Output | sErrorCode21    | STRING                                  |         | String mit den Nummern der aktiven Gerätefehler 16 - 31 der Pumpe 1 ( Bit 0 = Nummer 16, Bit 1 = Nummer 17, usw. )    |
| Output | xWarning        | BOOL                                    | FALSE   | Sammelwarnung - Pumpe ( TRUE = Warnung )                                                                              |
| Output | sWarningCode1   | STRING                                  |         | String mit den Nummern der aktiven Gerätewarnungen 0 - 15 der Pumpe 1 ( Bit 0 = Nummer 1, Bit 1 = Nummer 2, usw. )    |
| Output | sWarningCode2   | STRING                                  |         | String mit den Nummern der aktiven Gerätewarnungen 16 - 31 der Pumpe 1 ( Bit 0 = Nummer 16, Bit 1 = Nummer 17, usw. ) |
| Output | xBusy           | BOOL                                    |         | Kommunikationsanzeige ( TRUE = Kommunikation )                                                                        |

### Parameter

| Scope       | Name                | Type                                    | Initial                                                 | Comment                                                                                                         |
| ----------- | ------------------- | --------------------------------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| Input Const | eSetpMode           | KSB\_CALIO\_PRO\_PLUS\_Z\_SETP\_MODE    | KSB\_CALIO\_PRO\_PLUS\_Z\_SETP\_MODE.INPUT\_rSetp\_PERC | Auswahl der Sollwert - Eingänge                                                                                 |
| Input Const | eControlMode        | KSB\_CALIO\_PRO\_PLUS\_Z\_CONTROL\_MODE | KSB\_CALIO\_PRO\_PLUS\_Z\_CONTROL\_MODE.VARIABLE\_SPEED | Art der Steuerung / Regelung                                                                                    |
| Input Const | `tTimeUpdateSetp`   | `TIME`                                  | TIME#45s                                                | Updateintervall für die Vorgänge, die durch den Eingang 'xUpdateSetp' beeinflusst werden                        |
| Input Const | `tTimeUpdateActual` | `TIME`                                  | TIME#3s                                                 | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateActual</code> beeinflusst werden</p> |

### Funktionsbeschreibung

#### Vorgabe der Sollwerte

Die Vorgabe der Sollwerte erfolgt mittels der Eingänge 'rSetp\_PERC' im Bereich 0.0 - 100.0 Prozent\
( 'eSetpMode' = INPUT\_rSetp\_PERC ) oder 'rSetp\_ABS' im der für die Pumpenbetriebsart relevanten absoluten Bereich ( 'eSetpMode' = INPUT\_rSetp\_ABS ).\
Bei der Verwendung des Eingangs 'rSetp\_ABS' sind je nach Pumpenbetriebsart folgende Wertebereiche zulässig:

```
eControlMode = KSB_CALIO_PRO_PLUS_Z_CONTROL_MODE.CONSTANT_PRESSURE:
		Gültiger Bereich für rSetp_ABS: 1.0 bis 18.0
eControlMode = KSB_CALIO_PRO_PLUS_Z_CONTROL_MODE.CONSTANT_FLOW_RATE:
    Gültiger Bereich für rSetp_ABS: 1.0 bis 68.0
eControlMode = KSB_CALIO_PRO_PLUS_Z_CONTROL_MODE.PROPORTIONAL_PRESSURE:
		Gültiger Bereich für rSetp_ABS: 1.0 bis 18.0
eControlMode = KSB_CALIO_PRO_PLUS_Z_CONTROL_MODE.DYNAMIC_CONTROL:
		Gültiger Bereich für rSetp_ABS: 1.0 bis 18.0
eControlMode = KSB_CALIO_PRO_PLUS_Z_CONTROL_MODE.VARIABLE_SPEED:
		Gültiger Bereich für rSetp_ABS: 1000.0 bis 5000.0
eControlMode = KSB_CALIO_PRO_PLUS_Z_CONTROL_MODE.TEMPERATURE_CONTROL:
		Gültiger Bereich für rSetp_ABS: -25.0 bis 140.0
eControlMode = KSB_CALIO_PRO_PLUS_Z_CONTROL_MODE.PID_CONTROLLER:
		Gültiger Bereich für rSetp_ABS: 0.0 bis 1000.0
```

Die beiden Rückmeldungen 'rSetp\_PERC\_Fb' bzw. 'rSetp\_ABS\_Fb' werden von der Pumpe unabhängig von 'rSetpMpde' für jeden Betzriebszustand berechnet und zurück gelesen.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://support.powerio.com/hub/codesys-hvac/hvac-modbus-library/functionblocks/ksb/ksb_pump_drive_2_mod-1.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
