# KNX\_Write\_DPT\_13x

## `KNX_Write_DPT_13x` (FB)

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

#### Überblick

Sendefunktion für DPT 13.x (4-Byte vorzeichenbehaftete Ganzzahl).

#### Eingänge

| Eingänge                  | Initialwert | Beschreibung                           |
| ------------------------- | ----------- | -------------------------------------- |
| `xUpdateSetp`             | *FALSE*     | Trigger für Sollwert-Aktualisierung    |
| `diValue`                 | -           | Zu sendender DINT-Wert                 |
| `xWriteVisu`              | -           | Trigger für einmaliges Senden          |
| `uiDelta`                 | *1*         | Schwellwert für Wertänderungserkennung |
| `eDPT_Format`             | -           | DPT 13.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

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

#### Verwendung

1. Wählen Sie das DPT 13.x Format mit `eDPT_Format`.
2. Setzen Sie den zu sendenden Wert in `diValue`.
3. Konfigurieren Sie die Sendeoptionen:
   * Für zyklisches Senden: `tTimeUpdateSetp` > T#0S
   * Für ereignisbasiertes Senden: Nutzen Sie `xUpdateSetp` oder `xWriteVisu`
4. Passen Sie `uiDelta` an, um die Sensitivität für Wertänderungen einzustellen.
5. Überwachen Sie `diLastBusValue` oder `rLastBusValue` für empfangene Werte.
6. Beachten Sie `rFactor` für etwaige Umrechnungen 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       | `diValue`                 | `DINT`          |            |                                                                                                                                                            |                |
| Input Const | `xWriteVisu`              | `BOOL`          |            | Einmal Lessen                                                                                                                                              |                |
| Input Const | `uiDelta`                 | `UINT`          | 1          | Angabe des Delta Werts                                                                                                                                     |                |
| Input Const | `eDPT_Format`             | DPT\_13x        |            | Enum DPT\_13x                                                                                                                                              |                |
| 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      | `rFactor`                 | `REAL`          |            |                                                                                                                                                            |                |
| Output      | `sUnit`                   | `STRING(10)`    |            |                                                                                                                                                            |                |
| Output      | `tNextWrite`              | `TIME`          |            |                                                                                                                                                            |                |
| Output      | `diLastBusValue`          | `DINT`          |            |                                                                                                                                                            |                |
| Output      | `rLastBusValue`           | `REAL`          |            |                                                                                                                                                            |                |
