# DAIKIN\_EKMBDXB7V1\_IDU\_FC04\_2000\_2383

## `DAIKIN_EKMBDXB7V1_IDU_FC04_2000_2383` (FB)

`FUNCTION_BLOCK` DAIKIN\_EKMBDXB7V1\_IDU\_FC04\_2000\_2383

### Representation

<figure><img src="https://2592874069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQR4vCFzt6ixgsqlR3pdR%2Fuploads%2FJLkcekg78Ik7dU0yjFrX%2FDAIKIN_EKMBDXB7V1_IDU_FC04_2000_2383.png?alt=media&#x26;token=3db650e3-e210-4a48-be5f-44bfc8bb3c17" alt=""><figcaption></figcaption></figure>

### Short description

> Acquisition of actual values - 1 of a maximum of 64 Daikin indoor units
>
> Typical application: Central control of Daikin indoor units via the Daikin Modbus interface EKMBDXB7V1

#### Guidelines - Software creation

The following function codes (FC) are supported: 3, 4, 6 and 16. The following transmission rates are supported: 9600 and 19200 bit/s. For addressing, use the address specifications, not the register addresses (address = register - 1). The Modbus addresses 1 - 15 can be set directly on the DIP switches in the interface. In FC03, a maximum of 32 registers may be requested in one request telegram (deviating from the Modbus standard). In FC04, a maximum of 32 registers may be requested in one request telegram (deviating from the Modbus standard). In FC16, a maximum of 30 registers may be written in one request telegram (deviating from the Modbus standard). The following transmission parameters were tested: 19200 baud, 8-N-1. The interface supports the following exception codes: 0x81, 0x82 and 0x83. The number of control commands per indoor unit is limited to 7000/year!!! Taking the tested transmission parameters into account, the time between the end of the response telegram and the next request telegram must be at least 22.5 ms

All registers read with FC04 are always available with current values. All registers read with FC03 are only available with current values once during each restart of the gateway

\&#xNAN;**\*\*\*\*\*\*\*\*\*\*\*\*\*\*** \&#xNAN;**\* Functions \*** \&#xNAN;**\*\*\*\*\*\*\*\*\*\*\*\*\*\***

In this FB, the relevant actual values of all up to 64 indoor units are recorded and evaluated (FC04: addresses 2000 - 2383) They are available in the array `arstIndoorUnits_ActualValues_1` separately for each indoor unit as a structure element. The structure element of an indoor unit is updated only if the corresponding write/read permission is present (input `arxIndoorUnits_ReadWriteState`).

Measured values - calibration: Class 4

InOut:

| Scope       | Name                             | Type                                                                                           | Initial    | Comment                                                                                                                                                                                                                                                          |
| ----------- | -------------------------------- | ---------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                            | `BOOL`                                                                                         | TRUE       | Enable / disable communication (TRUE = enable)                                                                                                                                                                                                                   |
| Input       | `byUnitId`                       | `BYTE`                                                                                         | 0          | Address of the device (interface) (1 .. 15)                                                                                                                                                                                                                      |
| Input       | `xUpdateActual`                  | `BOOL`                                                                                         | FALSE      | <p>Update of actual values (on every rising edge<br>)</p>                                                                                                                                                                                                        |
| Input       | `xResError`                      | `BOOL`                                                                                         | FALSE      | <p>Reinitialization of the output <code>eErrorCodeCom</code> (with every<br>rising edge)</p>                                                                                                                                                                     |
| Input       | `arxIndoorUnits_ReadWriteState`  | <p><code>ARRAY</code> \[1 .. 4, 0 .. 15] <code>OF</code><br><code>BOOL</code></p>              |            | <p>Array with the read/write permissions of the indoor units of all groups (1-00 … 4-15)<br>1st dimension: group, 2nd dimension: number of the indoor unit<br>Array element = FALSE: no read/write permission<br>Array element = TRUE: read/write permission</p> |
| Inout       | `ModbusClient`                   | `ModbusClientBase`                                                                             |            | Client of the device                                                                                                                                                                                                                                             |
| Output      | `arstIndoorUnits_ActualValues_1` | <p><code>ARRAY</code> \[1 .. 4, 0 .. 15] <code>OF</code><br>EKMBDXB7V1\_CURRENT\_VALUES\_1</p> |            | <p>Array with the actual values - 1 of the indoor units of all groups (1-00 … 4-15)<br>1st dimension: group, 2nd dimension: number of the indoor unit<br>Array element = structure with the individual actual values</p>                                         |
| Output      | `xSensorOffsetInDevice`          | `BOOL`                                                                                         |            | <p>Display showing whether the matching of the sensors of the indoor units in<br>the indoor unit must be performed (TRUE = matching in the device<br>required, FALSE = matching in the FB required)</p>                                                          |
| Output      | `xAlarm`                         | `BOOL`                                                                                         | FALSE      | Collective fault (TRUE = fault)                                                                                                                                                                                                                                  |
| Output      | `xAlarmCom`                      | `BOOL`                                                                                         | FALSE      | Collective fault - communication (TRUE = fault)                                                                                                                                                                                                                  |
| Output      | `eErrorCodeCom`                  | ModbusErrorCode                                                                                |            | Error code - communication (0 = no error)                                                                                                                                                                                                                        |
| Output      | `xBusy`                          | `BOOL`                                                                                         |            | Communication indicator (TRUE = communication)                                                                                                                                                                                                                   |
| Input Const | `tTimeUpdateActual`              | `TIME`                                                                                         | TIME#5s0ms | <p>Update interval for the processes influenced by the input<br><code>xUpdateActual</code> influenced</p>                                                                                                                                                        |
