FB_HVAC3PointActuator

FB_HVAC3PointActuator 1:

Application

This function block is used to control three-point valves or three-point dampers with or without continuous position feedback.
The function block is often used in conjunction with the function block FB_HVACAnalogTo3Point.

VAR_INPUT

eDataSecurityType  : E_HVACDataSecurityType;
bSetDefault        : BOOL;
bEnable            : BOOL; 
bAutoOpen          : BOOL;
bAutoClose         : BOOL; 
eCtrlModeActuator  : E_HVAC3PointActuatorMode;
bManSwitch         : BOOL; 
rFeedb             : REAL;
bCtrlVoltage       : 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_HVAC3PointActuator 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 enabled by the PLC program with the input variable bEnable. The three-point actuator always remains fully closed as long as the function block is not enabled. Output bClose is permanently TRUE.

bAutoOpen / bAutoClose: in automatic mode, the three-point actuator is controlled by the input variables bAutoClose and bAutoOpen.

eCtrlModeActuator: Enum that defines the operation mode.

bManSwitch: if the three-point actuator has a manual/emergency switch in the control cabinet, this can be connected to the input bManSwitch; the status of the manual/emergency switch will then be monitored. If bManSwitch = FALSE, then output bOut of the drive will be set to FALSE.

rFeedb: analog position feedback from the actuator (0%..100%).

bCtrlVoltage: parameter to check the control voltage. The control voltage is present if the bCtrlVoltage variable is TRUE. The feedback control is suppressed if the control voltage fails.

bReset: acknowledge input in the event of a fault.

VAR_OUTPUT

bOpen                : BOOL;
bClose               : BOOL;  
byState              : BYTE;
eStateModeActuator   : E_HVAC3PointActuatorMode;
bErrorFeedb          : BOOL;
bInvalidParameter    : BOOL;

bOpen: the signal for the opening drive of the three-point actuator is connected to this output.

bClose: the signal for the closing drive of the three-point actuator is connected to this output.

byState: displays the state of the control from the actuator:
byState.0:= Enable
byState.1:= Manual Switch
byState.2:= Enable Feedback Control
byState.3:= Control Voltage
byState.4:= Reset

eStateModeActuator: indicates in which operation mode the actuator is.

bErrorFeedb: when setting the output bClose, the position of the drive must have decreased within the time tStrokeTime by at least the amount of rHysteresisFeedb.
When setting the output bOpenthe position of the drive must have increased within the time tStrokeTime at least by the amount of rHysteresisFeedb.
If the actual position is not within the tolerance range after a positioning command within the specified time, this is signaled with TRUE at the output bErrorFeedb. Both outputs bOpenand bClosebecome FALSE. The fault is acknowledged by a positive edge on the input bReset.

bInvalidParameter: TRUE if an error occurs during the plausibility check. The message must be acknowledged with bReset.

VAR_IN_OUT

bEnableFeedbCtrl      : BOOL;
rMinValueFeedb        : REAL;
rMaxValueFeedb        : REAL;
rHysteresisFeedb      : REAL;
tStrokeTime           : TIME;

bEnableFeedbCtrl: if the input is TRUE, then the control of the feedback signal is enabled. The variable is saved persistently.

rMinValueFeedb: serves to scale the analog position feedback. rMinValueFeedb contains the value of the analog signal when the actuator is fully closed (0%..100%). The variable is saved persistently. Preset to 0.

rMaxValueFeedb: serves to scale the analog position feedback. rMaxValueFeedb contains the value of the analog signal when the actuator is fully open (0%..100%). The variable is saved persistently. Preset to 0.

rHysteresisFeedb: due to the stroke time of the drive, the position feedback always lags in the case of a jump in the position setpoint. Using the variable rHysteresisFeedbCtrl, a range is specified within which the position setpoint of the actuator can deviate from the feedback signal without the feedback control (bErrorFeedb) being triggered (0%..100%). The variable is saved persistently. Preset to 10.

tStrokeTime: due to the lagging of the actual position in relation to the set position, the activation of the feedback control in the event of the maximum permissible difference being exceeded is delayed by the variable tStrokeTime [s]. If the actuator is fully closed and receives a setpoint step-change of 100 %, at least the stroke time of the drive over its entire travel path should be entered as a time (0s..3600s). The variable is saved persistently. Preset to 200 s.