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- Energy level - rRoomTemp- REAL- 22.0 - Room temperature - itfValveHeat- Heat valve - plugin your specific continuous valve here. - itfValveCool- Cool valve - plugin your specific continuous valve here. - itfCondensatePump- 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.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 ID 
