DAIKIN_EKMBDXB7V1_IDU_FC16_2000_2143

DAIKIN_EKMBDXB7V1_IDU_FC16_2000_2143 (FB)

FUNCTION_BLOCK DAIKIN_EKMBDXB7V1_IDU_FC16_2000_2143

Representation

Short description

Change of setpoints - 1 of a maximum of 48 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 transfer rates are supported: 9600 and 19200 bit/s For addressing, use the address values, 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 !!! 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 restart of the gateway &#xNAN;************** &#xNAN;* Functions * &#xNAN;************** This FB collects and transmits the relevant setpoints of all up to 48 indoor units (FC16: addresses 2000 - 2143). The setpoints are provided in the array ‘arstIndoorUnits_Setpoints_1_IN’, separated for each indoor unit as a structure element. A setpoint of an indoor unit is only updated if the corresponding read/write permission is present (input ‘arxIndoorUnits_ReadWriteState’). Procedure for changing a setpoint (FC06 or FC16) (see DAIKIN documentation!!!) \

  1. Detection of changes to the current setpoints (compare the array with index ‘_IN’ with the array with index ‘_OLD’)\

When setpoints change, the following additional steps are required: 2) Read current actual values (FC04: addresses 2000 - 2287) (store in the array with index ‘_CURRENT’) 3) Write current actual values as setpoints (FC16: addresses 2000 - 2143) (copy the array with index ‘_CURRENT’ into the array with index ‘_OUT’) 4) Write current setpoints (FC16: addresses 2000 - 2143) (copy the array with index ‘_IN’ into the array with index ‘_OUT’), (copy the array with index ‘_IN’ into the array with index ‘_OUT’) \

InOut:

Scope
Name
Type
Initial
Comment

Input

xEn

BOOL

TRUE

Enable / disable of communication ( TRUE = enabled )

Input

byUnitId

BYTE

0

Device address ( interface ) ( 1 .. 15 )

Input

xUpdateSetp

BOOL

FALSE

Update of setpoint values ( on every rising edge )

Input

xCheckChanges

BOOL

FALSE

Detection of changes to the array ‘arstIndoorUnits_Setpoint_Values_1_IN’ (on every rising edge)

Input

xResError

BOOL

FALSE

Reinitialization of the output 'eErrorCodeCom' ( on each rising edge )

Input

arxIndoorUnits_ReadWriteState

ARRAY [1..4, 0..15] OF BOOL

Array with the read / write permissions of the indoor units of all groups ( 1-00 … 4-15 ) 1st dimension: group, 2nd dimension: indoor unit number Array element = FALSE: no read / write permission Array element = TRUE: read / write permission

Input

arstIndoorUnits_Setpoint_Values_1_IN

ARRAY [1..3, 0..15] OF EKMBDXB7V1_SETPOINT_VALUES_1

Array with the relevant setpoints of the indoor units of all groups (1-00 … 3-15) 1st dimension: group, 2nd dimension: indoor unit number Array element = structure with the setpoints

Input

xResFilterSign

BOOL

FALSE

Input to reset the filter maintenance indicator on all indoor units (TRUE = reset)

Inout

ModbusClient

ModbusClientBase

Client of the device

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

xEnFanControl

BOOL

TRUE

General enable/disable of the fan control for all 48 indoor units (TRUE = enable)

Input Const

tTimeCheckChanges

TIME

TIME#1s0ms

Update interval for the operations affected by the input ‘xCheckChanges’

Input Const

tTimeUpdateSetp

TIME

TIME#45s0ms

Update interval for the operations influenced by the input ‘xUpdateSetp’

Last updated