ExampleVariantsRoomControlFCUSimple (FB)

FUNCTION_BLOCK ExampleVariantsRoomControlFCUSimple

Example how to deal with aggregate / plant variants using “external composition”

This example function block implements a simple room control strategy using a fan coil unit.

There are three variant aspects in ExampleVariantsRoomControlFCUSimple:

  • the heat valve (type)

  • the cool valve (type)

  • the condensate pump (type)

Despite the fact there are external elements for those three variant aspects ExampleVariantsRoomControlFCUSimple provides the related output values to help to get a better understanding of functionality during simulation / testing.

Of course this example falls a bit short on complexity, but thats on purpose to focus on aggregate / plant variants using “external composition”.

Real world FCU room controller need to have inputs / configuration for:

  • energy level setpoints (see EnergyLevelSetpoint)

  • sequence controller settings and manual control (see SequenceControl)

  • fan coil settings and manual control (see FancoilContinuous)

InOut:

Scope

Name

Type

Initial

Comment

Input

eLevel

EnergyLevel

Energy level

rRoomTemp

REAL

22.0

Room temperature

itfValveHeat

IValveContinuous

Heat valve - plugin your specific continuous valve here.

itfValveCool

IValveContinuous

Cool valve - plugin your specific continuous valve here.

itfCondensatePump

IActuatorOnOff

condensate pump - plugin your specific pump on/off here.

xReset

BOOL

FALSE

Reset

itfDateTimeProvider

Util.IDateTimeProvider

Globals.g_dtpDateTimeProvider

Source for the current date and time information in milliseconds since 1.1.1970 00:00:00.000

Output

eModeOut

HeatCoolOperationMode

HeatCoolOperationMode.INACTIVE

Operation mode.

rHeatOut

REAL

Heat valve signal (0..100%).

rCoolOut

REAL

Cool valve signal (0..100%).

rFanSpeedOut

REAL

0.0

Fan speed (0..100%).

xCpumpOut

BOOL

FALSE

Condensate pump.

xError

BOOL

Error indication

eErrorID

Error

Error ID