FB_HVAC3PointActuator

This function block serves to control three-point valves or three-point dampers, with or without constant position feedback.
The function block is often used in conjunction with the FB_HVACAnalogTo3Point function block.
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: 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 (see E_HVAC3PointActuatorMode).
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 for controlling 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: Shows the status of the control of the actuator:
byState.0:= Enable
byState.1:= Manual Switch
byState.2:= Enable Feedback Control
byState.3:= Control Voltage
byState.4:= Reset
eStateModeActuator: Indicates which operation mode the actuator is in (see E_HVAC3PointActuatorMode).
bErrorFeedb: When setting the output bClose, the position of the drive must have decreased by at least the value of rHysteresisFeedb within the time tStrokeTime.
When setting the output bOpen, the position of the drive must have increased by at least the value of rHysteresisFeedb within the time tStrokeTime.
If the actual position is not within the tolerance range within the specified time following a positioning command, this will be indicated by TRUE on the output bErrorFeedb. Outputs bOpen and bClose both go FALSE. The fault is acknowledged by a positive edge on the input bReset.
bInvalidParameter: TRUE if an error has occurred 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 activated. 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 set position value. Using the variable rHysteresisFeedbCtrl, a range is specified within which the set position value 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 jump of 100 %, at least the stroke time of the drive over its entire range of movement should be entered as a time (0s..3600s). The variable is saved persistently. Preset to 200 s.
Requirements
Development environment | required library | required function |
---|---|---|
TwinCAT 3.1 build 4022.16 or higher | Tc2_HVAC V3.3.1.0 | TF8000 | TC3 HVAC V1.0.0.0 |