# DAIKIN\_EKMBDXB7V1\_IDU\_COM\_STATES

## `DAIKIN_EKMBDXB7V1_IDU_COM_STATES` (FB)

FUNCTION\_BLOCK DAIKIN\_EKMBDXB7V1\_IDU\_COM\_STATES

### Kurzbeschreibung

> Erfassung der Kommunikations-Zustände 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 Meldungen ‘Connected’ und ‘Kommunikationsfehler’ aller maximal 64 Inneneinheiten erfasst und ausgewertet.\
Die aktuellen Zustände stehen in den Arrays ‘arxIndoorUnits\_ConState’ ( Zustand ‘Connected’ ), ‘arxIndoorUnits\_ComState’ ( Zustand ‘Kommunikationsfehler’ )\
und ‘arxIndoorUnits\_ReadWriteState’ ( Schreib- und Leseberechtigung ) getrennt für jede Inneneinheit zur Verfügung.\
\\

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       | `xUpdateStates`                 | `BOOL`                                 | FALSE      | <p>Aktualisierung der Zustände ( bei jeder ansteigenden Flanke<br>)</p>                                                                                                                                                                                                                                                |
| Input       | `xResError`                     | `BOOL`                                 | FALSE      | <p>Reinitialisierung des Ausgangs ‘eErrorCodeCom’ ( bei jeder<br>ansteigenden Flanke )</p>                                                                                                                                                                                                                             |
| Inout       | `ModbusClient`                  | `ModbusClientBase`                     |            | Client des Geräts                                                                                                                                                                                                                                                                                                      |
| Output      | `xInterfaceState`               | `BOOL`                                 | FALSE      | Zustand des Interfaces                                                                                                                                                                                                                                                                                                 |
| Output      | `xOtherDIIIUnitPresent`         | `BOOL`                                 | FALSE      | <p>Information, ob eine weitere DIII-Einheit ( zusätzlich zu<br>diesem Interface ) vorhanden ist</p>                                                                                                                                                                                                                   |
| Output      | `arxIndoorUnits_ConState`       | <p>ARRAY \[1..4, 0..15] OF<br>BOOL</p> |            | <p>FALSE: Nein<br>TRUE: Ja ( Default - Wert )<br>Array mit den Verbindungszuständen der Inneneinheiten aller Gruppen ( 1-00 … 4-15 )<br>1. Dimension: Gruppe, 2. Dimension: Nummer der Inneneinheit<br>Arrayelement = FALSE: keine Verbindung zur Inneneinheit<br>Arrayelement = TRUE: Verbindung zur Inneneinheit</p> |
| Output      | `arxIndoorUnits_ComState`       | <p>ARRAY \[1..4, 0..15] OF<br>BOOL</p> |            | <p>Array mit den Kommunikationszuständen der Inneneinheiten aller Gruppen ( 1-00 … 4-15 )<br>1. Dimension: Gruppe, 2. Dimension: Nummer der Inneneinheit<br>Arrayelement = FALSE: ohne Kommunikationsfehler<br>Arrayelement = TRUE: mit Kommunikationsfehler</p>                                                       |
| Output      | `arxIndoorUnits_ReadWriteState` | <p>ARRAY \[1..4, 0..15] OF<br>BOOL</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>                                       |
| 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 | `tTimeUpdateStates`             | `TIME`                                 | TIME#3s0ms | <p>Updateintervall für die Vorgänge, die durch den Eingang<br>‘xUpdateStates’ beeinflusst werden</p>                                                                                                                                                                                                                   |
