# KNX\_Write\_DPT\_9x

## `KNX_Write_DPT_9x` (FB)

FUNCTION\_BLOCK KNX\_Write\_DPT\_9x EXTENDS SlaveBasicWr

#### Überblick

Sendefunktion für DPT 9.x (2-Byte-Fließkommazahl).

#### Eingänge

| Eingänge                  | Initialwert | Beschreibung                           |
| ------------------------- | ----------- | -------------------------------------- |
| `xUpdateSetp`             | *FALSE*     | Trigger für Sollwert-Aktualisierung    |
| `rValue`                  | -           | Zu sendender REAL-Wert                 |
| `xWriteVisu`              | -           | Trigger für einmaliges Senden          |
| `rDelta`                  | *0.05*      | Schwellwert für Wertänderungserkennung |
| `eDPT_Format`             | -           | DPT 9.x Format-Auswahl                 |
| `byAdrGroup`              | *0*         | Gruppenadresse (0-255)                 |
| `byAdrMiddleGroup`        | *0*         | Mittlere Gruppenadresse (0-7)          |
| `byAdrMainGroup`          | *0*         | Hauptgruppenadresse (0-31)             |
| `tTimeUpdateSetp`         | *T#0S*      | Zyklisches Update-Intervall            |
| `tPauseTimeUntilNextSend` | *T#3S*      | Sendepause                             |

#### Ausgänge

* `sUnit` (STRING\[10]): Einheit des Wertes
* `tNextWrite` (TIME): Zeit bis zum nächsten Schreibvorgang
* `rLastBusValue` (REAL): Letzter empfangener Wert

#### Verwendung

1. Wählen Sie das DPT 9.x Format mit `eDPT_Format`.
2. Setzen Sie den zu sendenden Wert in `rValue`.
3. Konfigurieren Sie die Sendeoptionen:
   * Für zyklisches Senden: `tTimeUpdateSetp` > T#0S
   * Für ereignisbasiertes Senden: Nutzen Sie `xUpdateSetp` oder `xWriteVisu`
4. Passen Sie `rDelta` an, um die Sensitivität für Wertänderungen einzustellen.
5. Überwachen Sie `rLastBusValue` für empfangene Werte und `sUnit` für die Einheit.

InOut:

| Scope       | Name                      | Type            | Initial    | Comment                                                                                                                                                    | Inherited from |
| ----------- | ------------------------- | --------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| Input       | `itfKnxConnector`         | `IKnxConnector` |            | <p>IMasterConnector interface input to register/unregister<br>the FB to the List on the Master</p>                                                         | SlaveBasicWr   |
| Input       | `xEnable`                 | `BOOL`          | TRUE       |                                                                                                                                                            | SlaveBasicWr   |
| Output      | `sPhysicallAddressDevice` | `STRING(15)`    |            |                                                                                                                                                            | SlaveBasicWr   |
| Output      | `sGroupAddress`           | `STRING(15)`    |            |                                                                                                                                                            | SlaveBasicWr   |
| Input       | `xUpdateSetp`             | `BOOL`          | FALSE      | <p>Aktualisierung der Sollwerte ( bei jeder ansteigenden Flanke<br>)</p>                                                                                   |                |
| Input       | `rValue`                  | `REAL`          |            |                                                                                                                                                            |                |
| Input Const | `xWriteVisu`              | `BOOL`          |            | Einmal Lessen                                                                                                                                              |                |
| Input Const | `rDelta`                  | `REAL`          | 0.05       | Angabe des Delta Werts                                                                                                                                     |                |
| Input Const | `eDPT_Format`             | DPT\_9x         |            | Enum DPT\_9x                                                                                                                                               |                |
| Input Const | `byAdrGroup`              | `BYTE`          | 0          | Groupaddress                                                                                                                                               |                |
| Input Const | `byAdrMiddleGroup`        | `BYTE`          | 0          | Middle-Group-Address                                                                                                                                       |                |
| Input Const | `byAdrMainGroup`          | `BYTE`          | 0          | Main-Group-Adress                                                                                                                                          |                |
| Input Const | `tTimeUpdateSetp`         | `TIME`          | TIME#0ms   | <p>Updateintervall für die Vorgänge, die durch den Eingang<br>‘xUpdateSetp’ beeinflusst werden 0 = kein automatisches<br>Update, > 0 zyklisches Update</p> |                |
| Input Const | `tPauseTimeUntilNextSend` | `TIME`          | TIME#3s0ms | Pause nach dem Senden 0 = kein pause                                                                                                                       |                |
| Output      | `sUnit`                   | `STRING(10)`    |            |                                                                                                                                                            |                |
| Output      | `tNextWrite`              | `TIME`          |            |                                                                                                                                                            |                |
| Output      | `rLastBusValue`           | `REAL`          |            |                                                                                                                                                            |                |


---

# 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-knx-library/functionblocks/knx_write_dpt_9x.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.
