FancoilContinuous (FB)¶
FUNCTION_BLOCK FancoilContinuous
Controls a fan coil unit with continuous fan.
Application example¶
Fan coil units are widely used in building automation for decentralised room temperatur control and air quality control. Fan coil units can roughly be classified in:
- 2-pipe-units (central switch over heating supply / cooling supply) vs. 4-pipe-units (separate heating supply / cooling supply) 
- units with continuous fan vs. units with 3-stage fan 
- ceiling mounted units vs. floor mounted units 
- units without integrated controller vs. with integrated controller 
Device examples¶
- Arbonia Condiline Deckenkassetten https://www.arbonia.de/produkte/deckenprodukte/fan-coils/ 
- Kampmann KaDeck https://www.kampmann.de/hvac/produkte/fan-coils/kadeck 
Why does CODESYS Building Automation library contain a fan coil unit control strategy, even if some fan coil units come with integrated controller?¶
Lots of fan coil units are sold / installed “bare metal” without integrated controller. Quiet often even fan coil units with integrated controller are sold without a controller as an option. FancoilContinuous provides an implementation of control strategy for a fan coil unit with continuous fan to integrate (or copy, modify and integrate) in your application.
Functionality¶
FancoilContinuous provides a control strategy for a fan coil unit with continuous fan. The fan is controlled either by:
- control signal inputs - the heat / cool valve position setpoints compute by SequenceControl 
- control deviation related to active operation mode (eModeIn) 
The FancoilContinuous control strategy takes into account:
- control of fan speed dependent on valve position or control deviation 
- separate non-linear characteristic curve of fan speed for heating / cooling 
- minimum fan speed 
- fan follow-up time 
- coil pre-heat / pre-cool 
- control of optional condensate pump (cooling mode) 
- manual control of fan 
- manual control of valves 
Characteristic curve of fan speed¶
The fan can be controlled dependent on valve position or control deviation - default is dependent control deviation. Please be aware, that negative heating control deviation and positive heating control deviation should activate the fan. Usually a “dead zone” is supposed to be in between heating sequence and cooling sequence - for more details see SequenceControl. To setup the characteristic curve of fan speed for fan control dependent control deviation choose rFanScaleHeatX0..rFanScaleHeatX2 to appropriate heat deviation and associate rFanScaleHeatY0..rFanScaleHeatY2 appropriate fan speed. Set rFanScaleCoolX0..rFanScaleCoolX2 / rFanScaleCoolY0..rFanScaleCoolY2 accordingly for cooling. FancoilContinuous does a linear interpolation on those inputs to compute the “automatic” fan speed.
To setup the characteristic curve of fan speed for fan control dependent valve position choose rFanScaleHeatX0..rFanScaleHeatX2 with appropriate heat valve and associate rFanScaleHeatY0..rFanScaleHeatY2 appropriate fan speed. Set rFanScaleCoolX0..rFanScaleCoolX2 / rFanScaleCoolY0..rFanScaleCoolY2 accordingly for cooling.
- InOut:
- Scope - Name - Type - Initial - Comment - Input - xEnable- BOOL- TRUE - Enable - rHeatIn- REAL- Heat control signal (0..100%). - rCoolIn- REAL- Cool control signal (0..100%). - eModeIn- HeatCoolOperationMode.UNUSED - Controller operation mode. - rDeviationMode- REAL- Control deviation related to active operation mode - negative value for HEAT, positive value for COOL - xFanSpeedByDeviation- BOOL- TRUE - Control fan speed dependent on control signal (FALSE) or control deviation (TRUE). - rFanScaleHeatX0- REAL- 0.0 - Characteristic curve of fan speed for heating X0 - rFanScaleHeatY0- REAL- 0.0 - Characteristic curve of fan speed for heating Y0 - rFanScaleHeatX1- REAL- -1.0 - Characteristic curve of fan speed for heating X1 - rFanScaleHeatY1- REAL- 50.0 - Characteristic curve of fan speed for heating Y1 - rFanScaleHeatX2- REAL- -2.0 - Characteristic curve of fan speed for heating X2 - rFanScaleHeatY2- REAL- 100.0 - Characteristic curve of fan speed for heating Y2 - rFanScaleCoolX0- REAL- 0.0 - Characteristic curve of fan speed for cooling X0 - rFanScaleCoolY0- REAL- 0.0 - Characteristic curve of fan speed for cooling Y0 - rFanScaleCoolX1- REAL- 1.0 - Characteristic curve of fan speed for cooling X1 - rFanScaleCoolY1- REAL- 50.0 - Characteristic curve of fan speed for cooling Y1 - rFanScaleCoolX2- REAL- 2.0 - Characteristic curve of fan speed for cooling X2 - rFanScaleCoolY2- REAL- 100.0 - Characteristic curve of fan speed for cooling Y2 - rFanMinSpeed- REAL- 0.0 - Minimum fan speed (0..100%). - tFanFollowUp- TIME- TIME#2m0s0ms - Fan follow-up time. - tFanFollowUpSpeed- REAL- 20.0 - Fan speed during follow-up time (0..100%). - tPreHeat- TIME- TIME#0ms - Coil pre-heat time. - tPreCool- TIME- TIME#0ms - Coil pre-cool time. - xCpumpErri- BOOL- FALSE - Condensate pump error indication - condensate pump is signaling an error - rHeatManual- REAL- 0.0 - Heat valve manual control (0..100%). - xHeatManual- BOOL- FALSE - Heat valve manual control used. - rCoolManual- REAL- Cool valve manual control (0..100%). - xCoolManual- BOOL- FALSE - Cool valve manual control used. - rFanSpeedManual- REAL- 0.0 - Fan speed manual control (0..100%). - xFanSpeedManual- BOOL- FALSE - Fan speed manual manual control used. - 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 
