> 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/daikin/daikin_ekmbdxb7v1_idu_fc16_2000_2191.md).

# DAIKIN\_EKMBDXB7V1\_IDU\_FC16\_2000\_2191

## `DAIKIN_EKMBDXB7V1_IDU_FC16_2000_2191` (FB)

`FUNCTION_BLOCK` DAIKIN\_EKMBDXB7V1\_IDU\_FC16\_2000\_2191

### Darstellung

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

### Kurzbeschreibung

> Änderung der Sollwerte - 1 von maximal 64 Daikin - Inneneinheiten
>
> Typische Anwendung: Zentrale Steuerung von Daikin - Inneneinheiten durch das Daikin Modbus - Interface EKMBDXB7V1

#### Richtlinien - Softwareerstellung

Es werden folgende Function-Codes (FC) unterstützt: 3, 4, 6 und 16 Es werden folgende Übertragungsraten unterstützt: 9600 und 19200 Bit / s Für die Adressierung sind die Adressangaben zu verwenden, nicht die Registeradressen (Adresse = Register - 1) Die Modbus-Adressen 1 - 15 können direkt an den DIP-Schaltern im Interface eingestellt werden. Im FC03 dürfen in einem Anfragetelegramm maximal 32 Register angefordert werden (abweichend zum Modbus - Standard) Im FC04 dürfen in einem Anfragetelegramm maximal 32 Register angefordert werden (abweichend zum Modbus - Standard) Im FC16 dürfen in einem Anfragetelegramm maximal 30 Register beschrieben werden (abweichend zum Modbus - Standard) Es wurde folgende Übertragungsparameter getestet: 19200 Baud, 8-N-1 Es werden folgende Ausnahmecodes vom Interface unterstütz: 0x81, 0x82 und 0x83 Die Anzahl der Steuerbefehle pro Inneneinheit ist auf 7000 / Jahr beschränkt !!! Unter Berücksichtigung der getesteten Übertragungsparameter muss die Zeitdauer zwischen dem Ende des Antwort- und des nächsten Anfragetelegramms mindestens 22.5 ms betragen

Alle Register, die mit dem FC04 gelesen werden, stehen stets aktuell zur Verfügung Alle Register, die mit dem FC03 gelesen werden, stehen nur einmal aktuell während jedes Neustarts des Gateways zur Verfügung

\&#xNAN;**\*\*\*\*\*\*\*\*\*\*\*\*\*\*** \&#xNAN;**\* Funktionen \*** \&#xNAN;**\*\*\*\*\*\*\*\*\*\*\*\*\*\***

In diesem FB werden die relevanten Sollwerte aller maximal 64 Inneneinheiten erfasst und übertragen (FC16: Adressen 2000 - 2191) Die Sollwerte werden im Array `arstIndoorUnits_Setpoints_1_IN` getrennt für jede Inneneinheit als Strukturelement zur Verfügung gestellt. Das Sollwerte einer Inneneinheit werden nur dann aktualisiert, falls die entsprechende Schreib-/Leseberechtigung vorliegt (Eingang `arxIndoorUnits_ReadWriteState`).

Prozedur zur Änderung eines Sollwerts (FC06 oder FC16) (siehe DAIKIN - Dokumentation !!!)

1. Erkennung von Änderungen an den aktuellen Sollwerten (Array mit dem Index `_IN` mit dem Array mit dem Index `_OLD` vergleichen)

Bei Sollwert-Änderungen werden folgende weitere Abläufe erforderlich: 2) Aktuelle Istwerte lesen (FC04: Adressen 2000 - 2383) (Ablage im Array mit dem Index `_CURRENT`) 3) Aktuelle Istwerte als Sollwerte schreiben (FC16: Adressen 2000 - 2191) (Array mit dem Index `_CURRENT` in das Array mit dem Index `_OUT` kopieren) 4) Aktuelle Sollwerte schreiben (FC16: Adressen 2000 - 2191) (Array mit dem Index `_IN` in das Array mit dem Index `_OUT` kopieren), (Array mit dem Index `_IN` in das Array mit dem Index `_OUT` kopieren)

InOut:

| Scope       | Name                                   | Type                                                                                            | Initial     | Comment                                                                                                                                                                                                                                                                        |
| ----------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Input       | `xEn`                                  | `BOOL`                                                                                          | TRUE        | Freigabe / Sperrung der Kommunikation (TRUE = Freigabe)                                                                                                                                                                                                                        |
| Input       | `byUnitId`                             | `BYTE`                                                                                          | 0           | Adresse des Geräts (Interface) (1 .. 15)                                                                                                                                                                                                                                       |
| Input       | `xUpdateSetp`                          | `BOOL`                                                                                          | FALSE       | <p>Aktualisierung der Sollwerte (bei jeder ansteigenden Flanke<br>)</p>                                                                                                                                                                                                        |
| Input       | `xCheckChanges`                        | `BOOL`                                                                                          | FALSE       | <p>Erfassung von Veränderungen am Array<br><code>arstIndoorUnits\_Setpoint\_Values\_1\_IN</code> (bei jeder<br>ansteigenden Flanke)</p>                                                                                                                                        |
| Input       | `xResError`                            | `BOOL`                                                                                          | FALSE       | <p>Reinitialisierung des Ausgangs <code>eErrorCodeCom</code> (bei jeder<br>ansteigenden Flanke)</p>                                                                                                                                                                            |
| Input       | `arxIndoorUnits_ReadWriteState`        | <p><code>ARRAY</code> \[1 .. 4, 0 .. 15] <code>OF</code><br><code>BOOL</code></p>               |             | <p>Array mit den Lese-/ Schreibberechtigungen der Inneneinheiten aller Gruppen (1-00 … 4-15)<br>1. Dimension: Gruppe, 2. Dimension: Nummer der Inneneinheit<br>Arrayelement = FALSE: keine Lese- / Schreibberechtigung<br>Arrayelement = TRUE: Lese- / Schreibberechtigung</p> |
| Input       | `arstIndoorUnits_Setpoint_Values_1_IN` | <p><code>ARRAY</code> \[1 .. 4, 0 .. 15] <code>OF</code><br>EKMBDXB7V1\_SETPOINT\_VALUES\_1</p> |             | <p>Array mit den relevanten Sollwerten der Inneneinheiten aller Gruppen (1-00 … 4-15)<br>1. Dimension: Gruppe, 2. Dimension: Nummer der Inneneinheit<br>Arrayelement = Struktur mit den Sollwerten</p>                                                                         |
| Input       | `xResFilterSign`                       | `BOOL`                                                                                          | FALSE       | <p>Eingang zur Rücksetzung der Filter-Wartungsanzeige an allen<br>Inneneinheiten (TRUE = Rücksetzung)</p>                                                                                                                                                                      |
| Inout       | `ModbusClient`                         | `ModbusClientBase`                                                                              |             | Client des Geräts                                                                                                                                                                                                                                                              |
| 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      | `xBusy`                                | `BOOL`                                                                                          |             | Kommunikationsanzeige (TRUE = Kommunikation)                                                                                                                                                                                                                                   |
| Input Const | `xEnFanControl`                        | `BOOL`                                                                                          | TRUE        | <p>Generelle Freigabe / Sperrung der Ventilatorsteuerung für<br>alle 64 Inneneinheiten (TRUE = Freigabe)</p>                                                                                                                                                                   |
| Input Const | `tTimeCheckChanges`                    | `TIME`                                                                                          | TIME#1s0ms  | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xCheckChanges</code> beeinflusst werden</p>                                                                                                                                                                |
| Input Const | `tTimeUpdateSetp`                      | `TIME`                                                                                          | TIME#45s0ms | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateSetp</code> beeinflusst werden</p>                                                                                                                                                                  |


---

# 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:

```
GET https://support.powerio.com/hub/codesys-hvac/hvac-modbus-library/functionblocks/daikin/daikin_ekmbdxb7v1_idu_fc16_2000_2191.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.
