# DAIKIN\_EKMBDXB7V1\_IDU\_FC04\_1000\_1191

## `DAIKIN_EKMBDXB7V1_IDU_FC04_1000_1191` (FB)

FUNCTION\_BLOCK DAIKIN\_EKMBDXB7V1\_IDU\_FC04\_1000\_1191

### Short description

> Acquisition of configuration values - 1 of up to 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 baud rates are supported: 9600 and 19200 bit/s\
For addressing use the address values, not the register addresses (address = register - 1)\
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 !!!\
Considering the tested transmission parameters, the time interval between the end of the response and the next request telegram must be at least 22.5 ms\
\
All registers read with FC04 are always available up to date\
All registers read with FC03 are available up to date only once during each gateway restart\
\
\&#xNAN;**\*\*\*\*\*\*\*\*\*\*\*\*\*\***\
\&#xNAN;**\* Functions \***\
\&#xNAN;**\*\*\*\*\*\*\*\*\*\*\*\*\*\***\
\
This FB collects and evaluates the relevant configuration values of all up to 64 indoor units (FC04: addresses 1000 - 1191)\
They are available in the array ‘arstIndoorUnits\_ConfigValues\_1’ separated for each indoor unit as a structure element.\
The structure element of an indoor unit is only updated if the corresponding read/write permission exists (input ‘arxIndoorUnits\_ReadWriteState’).\
\\

InOut:

| Scope       | Name                             | Type                                                            | Initial  | Comment                                                                                                                                                                                                                                                   |
| ----------- | -------------------------------- | --------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                            | `BOOL`                                                          | TRUE     | Enable / disable communication ( TRUE = enabled )                                                                                                                                                                                                         |
| Input       | `byUnitId`                       | `BYTE`                                                          | 0        | Address of the device (interface) (1 .. 15)                                                                                                                                                                                                               |
| Input       | `xUpdateConfig`                  | `BOOL`                                                          | FALSE    | <p>Update of the configuration (on each rising<br>edge) (read access)</p>                                                                                                                                                                                 |
| Input       | `xResError`                      | `BOOL`                                                          | FALSE    | <p>Reinitialization of the output 'eErrorCodeCom' (on each<br>rising edge)</p>                                                                                                                                                                            |
| Input       | `arxIndoorUnits_ReadWriteState`  | <p>ARRAY \[1..4, 0..15] OF<br>BOOL</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: indoor unit number<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_ConfigValues_1` | <p>ARRAY \[1..4, 0..15] OF<br>EKMBDXB7V1\_CONFIG\_VALUES\_1</p> |          | <p>Array with configuration values - 1 of the indoor units of all groups (1-00 … 4-15)<br>1st dimension: group, 2nd dimension: indoor unit number<br>Array element = structure with the individual configuration values</p>                               |
| Output      | `xAlarm`                         | `BOOL`                                                          | FALSE    | General fault ( TRUE = fault )                                                                                                                                                                                                                            |
| Output      | `xAlarmCom`                      | `BOOL`                                                          | FALSE    | General fault - communication ( TRUE = fault )                                                                                                                                                                                                            |
| Output      | `eErrorCodeCom`                  | ModbusErrorCode                                                 |          | Error code - communication ( 0 = no error )                                                                                                                                                                                                               |
| Output      | `xBusy`                          | `BOOL`                                                          |          | Communication indicator ( TRUE = communication )                                                                                                                                                                                                          |
| Input Const | `tTimeUpdateConfig`              | `TIME`                                                          | TIME#0ms | <p>Update interval for the processes influenced by the input<br>‘xUpdateConfig’</p>                                                                                                                                                                       |
