FB_HVACSetpointHeating

FB_HVACSetpointHeating 1:

Application

Using this function block a heating circuit can be switched through different operation modes. Depending on the operation mode a corresponding setpoint for controlling the inlet temperature of a static heating circuit is output from the function block. The output bHeating is set or reset depending on the operation mode and the state of the parameters described below.

For functional reasons, this function block must be used together with FB_HVACHeatingCurve. The reason for this is that the value for the night setback is taken into account in FB_HVACHeatingCurve.

VAR_INPUT

eDataSecurityType     : E_HVACDataSecurityType;
bSetDefault           : BOOL;
bEnable               : BOOL;
rSetpointIn           : REAL;
rOutsideTempDamped    : REAL; 
dtSystemTime          : DT;
bDayOperation         : BOOL;
bFreezeProtec         : BOOL;
bReset                : BOOL;

eDataSecurityType:if eDataSecurityType:= eHVACDataSecurityType_Persistent, the persistent VAR_IN_OUT variables of the function block are stored in the flash of the computer if a value changes. For this to work, the function block FB_HVACPersistentDataHandling must be instanced once in the main program, which is called cyclically. Otherwise the instanced FB is not released internally.

A change of value can be initiated by the building management system, a local operating device or via a write access from TwinCAT. When the computer is restarted, the saved data are automatically read back from the flash into the RAM.

Application example: FB_HVACSetpointHeating 2:Example_PERSISTENT.zip

If eDataSecurityType:= eHVACDataSecurityType_Idle the persistently declared variables are not saved in a fail-safe manner.

Notice

A cyclically changing variable must never be linked with the IN_OUT variable of a function block, if eDataSecurityType:= eHVACDataSecurityType_Persistent. It would lead to early wear of the flash memory.

bSetDefault: If the variable is TRUE, the default values of the VAR_IN_OUT variables are adopted.

bEnable: the function block is activated if the variable bEnable is TRUE. If it is FALSE, zero will be output at rSetpointOut and the pump output remains FALSE.

rSetpointIn: in the case of a heating circuit controlled by the room temperature, the value of a room setpoint module is applied at rSetpointIn. If the heating circuit is controlled by the outside temperature, the setpoint comes from the heating characteristic curve. See FB_HVACHeatingCurve.

rOutsideTempDamped: short-term fluctuations in the outside temperature must not be allowed to have an unfiltered effect on the setpoint of the flow temperature. For this reason the outside temperature must not be connected directly, but rather via a damping function block. See also FB_HVACOutsideTempDamped regarding this point.

dtSystemtime: this variable transfers the computer system time to the function block.

bDayOperation: the output variable of the timer program is transferred at this input variable. If bDayOperation is TRUE, then the heating circuit is in day operation mode. The night setback of the flow temperature is hence deactivated.

bFreezeProtec: input to which the frost protection signal is applied.

bReset: acknowledge input in the event of a fault.

VAR_OUTPUT

rSetpointOut      : REAL;
bHeating          : BOOL; 
bReqOutsideTemp   : BOOL;
bReqDate          : BOOL;
bReqPermanent     : BOOL;
bReqFreezeProtec  : BOOL;
bReqNight         : BOOL;
bReqDay           : BOOL;
bInvalidParameter : BOOL;

rTempSetpoint: setpoint for the flow temperature control.

bHeating: the output bHeating is set (TRUE) or reset (FALSE) immediately or after a delay, depending on the selected operating mode as well as the switch-on and switch-off delays. The output can be used to enable the controller.

bReqOutsideTemp: the heating circuit is in the operation mode 'heating period according to outside temperature'.

bReqDate: the heating circuit is in the operation mode 'heating period according to date'.

bReqPermanent: the heating circuit is in the operation mode 'heating circuit always on'.

bReqFreezeProtec: the heating circuit is in frost protection mode.

bReqNight: the heating circuit is in the night operation mode.

bReqDay: the heating circuit is in the day operation mode.

bInvalidParameter: Indicates that an incorrect input parameter is present. bInvalidParameter must be acknowledged with bReset.

VAR_IN_OUT

eSetpointHeatingMode  : E_HVACSetpointHeatingMode;
rHeatingLimit         : REAL;
uiOn_Day              : UINT;
uiOn_Month            : UINT;
uiOff_Day             : UINT;
uiOff_Month           : UINT;
rFreezeProtecSetpoint : REAL;
rNightSetback         : REAL;
tDelayHeatingOn       : TIME;
tDelayHeatingOff      : TIME;

eSetpointHeatingMode: Enum that specifies the operation mode of the heating circuit. The variable is saved persistently. Preset to 1.

rHeatingLimit: heating limit (-60°C..100°C). Necessary for the operation modes of the heating circuit; heating period according to the outside temperature and heating period according to the date. The variable is saved persistently. Preset to 19.

uiOn_Day: switch-on day of the month. Necessary for the operation mode 'heating period according to date'. The variable is saved persistently. Preset to 1.

uiOn_Month: switch-on month of the year. Necessary for the operation mode 'heating period according to date'. The variable is saved persistently. Preset to 9.

uiOff_Day: switch-off day of the month. Necessary for the operation mode 'heating period according to date'. The variable is saved persistently. Preset to 1.

uiOff_Month: switch-off month of the year. Necessary for the operation mode 'heating period according to date'. The variable is saved persistently. Preset to 5.

rFreezeProtecSetpoint: setpoint for the heating circuit during frost protection (0°C..100°C). The variable is saved persistently. Preset to 8.

rNightSetback: with rNightSetback the amount of night setback in °C is specified (0°C..100°C). rNightSetback is considered in the operation mode eHVACSetpointHeatingMode_OnNight. The variable is saved persistently. Preset to 10.

tDelayHeatingOn: time delay for the setting of the output bHeating to TRUE after the damped outside temperature has undershot the heating limit or the date has been reached (0h..100h). The variable is saved persistently. Preset to 0.

tDelayHeatingOff: time delay for the resetting of the output bHeating to FALSE after the damped outside temperature has exceeded the heating limit or the date has been reached (0h..100h). The variable is saved persistently. Preset to 0.