HVAC_RotaryHeatExchanger (FB)¶
FUNCTION_BLOCK HVAC_RotaryHeatExchanger
HVAC rotary heat exchanger.
Functionality¶
HVAC_RotaryHeatExchanger provides a control strategy for a HVAC rotary heat exchanger taking into account:
- control of bypass damper 
- differential pressure monitoring 
- optional cleaning operation 
- malfunction detection 
- malfunction locking 
- operational time 
The heat exchanger is requested if:
- it is enabled (xEnable = TRUE) 
- setpoint reaches/exceeds request threshold (rSetpt >= rReqTreshold) 
optional cleaning operation¶
If the rotary heat exchanger had not been enabled for a given time (tCleanMaxOff) it is enabled and set to rCleanPos for tCleanTime.
malfunction detection¶
If a hardware malfunction is detected via hardware error indication (input) or differential pressure monitor xError is set to TRUE, eErrorID is set to Error.HardwareError.
malfunction locking¶
Malfunction locking makes the difference how to handle / recover from a detected hardware malfunction.
Malfunction locking enabled (xMalFuncLock := TRUE): If a malfunction is detected, the rotary heat exchanger (xOn) is shut off. If the hardware malfunction is gone, xError / eErrorID and rotary heat exchanger shutoff are kept until a reset (xReset := TRUE).
Malfunction locking disabled (xMalFuncLock := FALSE): If a malfunction is detected, the rotary heat exchanger (xOn) is NOT shut off. The rotary heat exchanger recovers from a hardware malfunction automatically.
- InOut:
- Scope - Name - Type - Initial - Comment - Input - xEnable- BOOL- TRUE - Enable - rSetpt- REAL- 0.0 - Setpoint, 0..100(%) - rReqTreshold- REAL- 0.0 - Request threshold, 0..100(%) - xDifferentialPressureMonitor- BOOL- TRUE - Differential pressure monitor - TRUE => signaling proper differential pressure - tCleanMaxOff- TIME- TIME#2880m0s0ms - Maximum off time to enable cleaning operation - tClean- TIME- TIME#0ms - Cleaning operation duration, set to T#0S to disable cleaning operation - rCleanPos- REAL- 100.0 - Cleaning operation setpoint, 0..100(%) - 0% => closed, 100% => open - xErri- BOOL- FALSE - Error indication - rotary heat exchanger is signaling an error - xMalFuncLock- BOOL- FALSE - Enable the malfunction locking - xOpTimeInit- BOOL- FALSE - Initialize the operational time with a given value (tInit). - tOpTimeInit- LTIME- LTIME#0ns - Initialization value - 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 - xOn- BOOL- Rotary heat exchanger is switched on, bypass dampers closed - rSetptOut- REAL- Actual setpoint - tToNextClean- TIME- Remaing time to next clean operation - tOpTime- LTIME- Operational time - xError- BOOL- Error indication - eErrorID- Error ID 
Methods:
Structure:
