# DAIKIN\_EKMBDXB7V1\_IDU\_COM\_STATES

## `DAIKIN_EKMBDXB7V1_IDU_COM_STATES` (FB)

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

### Short description

> Detection of the communication states 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 query telegram (deviating from the Modbus standard)\
In FC04 a maximum of 32 registers may be requested in one query telegram (deviating from the Modbus standard)\
In FC16 a maximum of 30 registers may be written in one query 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 interval between the end of the response telegram and the next query 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 restart of the gateway\
\
\&#xNAN;**\*\*\*\*\*\*\*\*\*\*\*\*\*\***\
\&#xNAN;**\* Functions \***\
\&#xNAN;**\*\*\*\*\*\*\*\*\*\*\*\*\*\***\
\
This FB records and evaluates the messages 'Connected' and 'Communication error' of all up to 64 indoor units.\
The current states are available per indoor unit in the arrays 'arxIndoorUnits\_ConState' (state 'Connected'), 'arxIndoorUnits\_ComState' (state 'Communication error')\
and 'arxIndoorUnits\_ReadWriteState' (write and read permission) separately.\
\\

InOut:

| Scope       | Name                            | Type                                   | Initial    | Comment                                                                                                                                                                                                                                                                                                        |
| ----------- | ------------------------------- | -------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                           | `BOOL`                                 | TRUE       | Enable / disable of communication ( TRUE = enabled )                                                                                                                                                                                                                                                           |
| Input       | `byUnitId`                      | `BYTE`                                 | 0          | Device (interface) address (1 .. 15)                                                                                                                                                                                                                                                                           |
| Input       | `xUpdateStates`                 | `BOOL`                                 | FALSE      | <p>Update of states (on every rising edge<br>)</p>                                                                                                                                                                                                                                                             |
| Input       | `xResError`                     | `BOOL`                                 | FALSE      | <p>Reinitialization of the output ‘eErrorCodeCom’ (on each<br>rising edge)</p>                                                                                                                                                                                                                                 |
| Inout       | `ModbusClient`                  | `ModbusClientBase`                     |            | Client of the device                                                                                                                                                                                                                                                                                           |
| Output      | `xInterfaceState`               | `BOOL`                                 | FALSE      | State of the interface                                                                                                                                                                                                                                                                                         |
| Output      | `xOtherDIIIUnitPresent`         | `BOOL`                                 | FALSE      | <p>Information whether another DIII unit (in addition to<br>this interface) is present</p>                                                                                                                                                                                                                     |
| Output      | `arxIndoorUnits_ConState`       | <p>ARRAY \[1..4, 0..15] OF<br>BOOL</p> |            | <p>FALSE: No<br>TRUE: Yes (default value)<br>Array with the connection states 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 connection to the indoor unit<br>Array element = TRUE: connection to the indoor unit</p> |
| Output      | `arxIndoorUnits_ComState`       | <p>ARRAY \[1..4, 0..15] OF<br>BOOL</p> |            | <p>Array with the communication states of the indoor units of all groups (1-00 … 4-15)<br>1st dimension: group, 2nd dimension: indoor unit number<br>Array element = FALSE: without communication error<br>Array element = TRUE: with communication error</p>                                                  |
| Output      | `arxIndoorUnits_ReadWriteState` | <p>ARRAY \[1..4, 0..15] OF<br>BOOL</p> |            | <p>Array with the read/write authorizations 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 authorization<br>Array element = TRUE: read/write authorization</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 | `tTimeUpdateStates`             | `TIME`                                 | TIME#3s0ms | <p>Update interval for operations affected by the input<br>‘xUpdateStates’</p>                                                                                                                                                                                                                                 |
