BAC_Uni_Vlv3P_01_xx
Functional description
The template BAC_Uni_Vlv3P_01_xx is used for controlling a three-point valve. It basically consists of two BO objects for the opening and closing and an MV object for manual control. The template is complemented through optional BACnet objects, see table with version overview.
The variables, which are linked with the process image of the input and output level in the PLC, can be found under IO linking.
![]() | The two output variables rPrVal / bSync are only active, if the valve position feedback Fdb exists in the template that is used. If this is not the case, the two versions return the value zero. The interface of the templates BAC_Uni_Vlv3P_01_xx / BAC_Uni_Vlv_01_xx is the same. For this reason, in the Project Builder in a call template a three-point valve can be replaced with an analog valve, without having to adjust the PLC code. |
Versions
The template BAC_Uni_Vlv3P_xx is available in different versions.
The valve versions are identified by means of a key. The identification key is derived from the table below.
Options | Feedback | Blocking | Mechanical priority operation position feedback closed | Mechanical priority operation position feedback open | mechanical priority operation position feedback hand switch | Final position | Final position |
---|---|---|---|---|---|---|---|
Instance | Fdb | AblkFnct | FdbOutCls | FdbOutOpn | LocSwi | SwiCls | SwiOpn |
Data point type | AI |
| BI | BI | BI | BI | BI |
| 64 | 32 | 16 | 8 | 4 | 2 | 1 |
BAC_Uni_Vlv3P_01_32 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Interface
Block diagram version BAC_Uni_Vlv3P_01_32

VAR_INPUT
bValPgm : BOOL;
bEnSfty : BOOL;
bValSfty : BOOL;
bEnDst : BOOL;
bValDst : BOOL;
rValPgm: analog value program priority
bEnSfty: safety priority enable
bEnDst: disturbance priority enable
bDisAblk: blocking protection function locked. Prevents simultaneous activation of the blocking protection of the pump and the control valve, e.g. at a heat exchanger
VAR_OUTPUT
rPrVal : REAL;
bSync : BOOL;
rPrVal : Current position of the control valve.
bSync: Output of a pulse to synchronize the controller associated with the valve during reset from manual to automatic operation to the current valve position.
The synchronising pulse bSync should only be used if the template used contains the valve position feedback Fdb.
VAR CONSTANT
PLT_NUM : BYTE := 1;
PLT_NUM: all alarms and events of all plant components within a controller are included in a global alarm and event list. The assignment of events and alarms to a plant is defined by the assignment of a PLT_NUM plant number.
The recording and processing of an alarm from an aggregate or a device takes place within the templates by means of the alarm function block FB_BA_Alarm.
The evaluation of the alarms of a plant, e.g. for the generation of a collective message or for plant shutdown in case of relevant faults, takes place within the template BAC_PltAlm_01 by means of the function block FB_BA_AlarmPlt.
The evaluation of different plant events within the templates of a plant, takes place within the template BAC_PltComnMsg_01 by means of the function block FB_BA_ComnMsg.
Important! The assignment and evaluation of the alarms and events of a plant can only be done correctly if all templates of a plant have the same plant number!
The plant number can be assigned in the Project Builder in the parameter menu for the templates or via a column in the Excel import.
Program description
Instance | Type | optional | Task | ||||
---|---|---|---|---|---|---|---|
SwiOpn | X | BI object for logging the open end position of the valve | |||||
SwiCls | X | BI object for logging the closed end position of the valve | |||||
LocSwi | X | BI object for logging the mechanical priority operation of the hand switch position feedback | |||||
FdbOutOpn | X | BI object for logging the mechanical priority operation of the open position feedback | |||||
FdbOutCls | X | BI object for logging the mechanical priority operation of the closed position feedback | |||||
FdbVlv | X | AI object for logging the position feedback from the valve. | |||||
HysPos |
| AV object for input of the hysteresis value for starting the change in position | |||||
IdlePrd | X | AV object for input of the blocking protection idle time | |||||
OpMod |
| MV object for manual valve control via the MCL or a local operator display | |||||
TiOpn |
| AV object for entering the opening time value | |||||
TiCls |
| AV object for entering the closing time value | |||||
OpModMuxOpn |
| Multiplexer evaluation operation mode for opening | |||||
OpModMuxCls |
| Multiplexer evaluation operation mode for closing | |||||
Anlg3Pnt |
| The function block Anlg3Pnt is the core of the templates and intended for controlling the three-point valve. It converts an analog positioning signal into the binary open/close commands | |||||
Pos |
| Current calculated actuator position | |||||
Opn |
| BO object for the opening of the actuator | |||||
Priority: | Enable | Value | |||||
PRIO_SAFETY (1) | Input bEnSfty | FALSE | |||||
PRIO_DISTURBANCE (3) | Input bEnDst | FALSE | |||||
PRIO_LOCAL (8) | OpModMuxOpn pools events which enable writing to the priority manual override (local) of the downstream BO object. | OpModMuxOpn_bVal = TRUE, if OpMod_udiPrVal = OPMOD_3PVLV_OPEN | |||||
PRIO_PROGRAM (15) | TRUE | Anlg3Pnt_bOpnORAblkFnct_bQ | |||||
Cls |
| BO object for the opening of the actuator | |||||
Priority: | Enable | Value | |||||
PRIO_SAFETY (1) | Input bEnSfty | TRUE | |||||
PRIO_DISTURBANCE (3) | Input bEnDst | TRUE | |||||
PRIO_LOCAL (8) | OpModMuxCls pools events which enable writing to the priority manual override (local) of the downstream BO object. | OpModMuxCls_bVal = TRUE, if OpMod_udiPrVal = OPMOD_3PVLV_CLOSE | |||||
PRIO_PROGRAM (15) | TRUE | Anlg3Pnt_bClsAND NOTAblkFnct_bQ | |||||
AblkFnct | X | Generates a blocking protection pulse if in the last time interval of IdlePrd the valve has moved no more than 40% of its travel path. Pulse duration 180 seconds. | |||||
TLogPos |
| Logs the present value of the Pos object |
IO linking
In the XML description associated with the template, variables with the ID Input or Output are declared in the Parameter section. These parameters can be linked with the process image of the input and output level in the PLC in the Project Builder or via the Excel import interface.
Parameter | Type | Instance | Type | Process image |
|
---|---|---|---|---|---|
SwiOpn_bVal | BOOL | SwiOpn | Input |
| |
SwiCls_bVal | BOOL | SwiCls | Input |
| |
LocSwi_bVal | BOOL | LocSwi | Output |
| |
FdbOutOpn_bVal | BOOL | FdbOutOpn | Input |
| |
FdbOutCls_bVal | BOOL | FdbOutCls | Input |
| |
FdbVlv_usiRawValSta | USINT | FdbVlv | Input |
| |
FdbVlv_iRawVal | INT | FdbVlv | Input |
| |
Opn_bRawIoPrVal | BOOL | Opn | Output |
| |
Cls_bRawIoPrVal | BOOL | Cls | Output |
|
Version history
Version number | Comments |
---|---|
1.0.1 | First release |