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.

BAC_Uni_Vlv3P_01_xx 1:

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
Valve position

Blocking
protection

Mechanical priority operation position feedback closed

Mechanical priority operation position feedback open

mechanical priority operation position feedback hand switch

Final position
Close

Final position
Open

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

BAC_Uni_Vlv3P_01_xx 2:

Block diagram version BAC_Uni_Vlv3P_01_32

BAC_Uni_Vlv3P_01_xx 3:

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

FB_BACnetBI1203

X

BI object for logging the open end position of the valve

SwiCls

FB_BACnetBI1203

X

BI object for logging the closed end position of the valve

LocSwi

FB_BACnetBI1203

X

BI object for logging the mechanical priority operation of the hand switch position feedback

FdbOutOpn

FB_BACnetBI1203

X

BI object for logging the mechanical priority operation of the open position feedback

FdbOutCls

FB_BACnetBI1203

X

BI object for logging the mechanical priority operation of the closed position feedback

FdbVlv

FB_BACnetAI1203

X

AI object for logging the position feedback from the valve.

HysPos

FB_BACnetAVSetpoint

 

AV object for input of the hysteresis value for starting the change in position

IdlePrd

FB_BACnetAVSetpoint

X

AV object for input of the blocking protection idle time

OpMod

FB_BACnetMVSetpoint

 

MV object for manual valve control via the MCL or a local operator display

TiOpn

FB_BACnetMVSetpoint

 

AV object for entering the opening time value

TiCls

FB_BACnetMVSetpoint

 

AV object for entering the closing time value

OpModMuxOpn

FB_BA_MMUX_B04

 

Multiplexer evaluation operation mode for opening

OpModMuxCls

FB_BA_MMUX_B04

 

Multiplexer evaluation operation mode for closing

Anlg3Pnt

FB_BA_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

FB_BACnetAVDisplay

 

Current calculated actuator position

Opn

FB_BACnetBO1203

 

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.
Events:
1. The MV object  has the value OPMOD_3PVLV_OFF (manual off)
2. The MV object  has the value OPMOD_3PVLV_OPEN (manual open)
3. The MV object  has the value OPMOD_3PVLV_CLOSE (manual close)

OpModMuxOpn_bVal = TRUE, if OpMod_udiPrVal = OPMOD_3PVLV_OPEN

PRIO_PROGRAM (15)

TRUE

Anlg3Pnt_bOpnORAblkFnct_bQ

Cls

FB_BACnetBO1203

 

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.
Events:
1. The MV object  has the value OPMOD_3PVLV_OFF (manual off)
2. The MV object  has the value OPMOD_3PVLV_OPEN (manual open)
3. The MV object  has the value OPMOD_3PVLV_CLOSE (manual close)

OpModMuxCls_bVal = TRUE, if OpMod_udiPrVal = OPMOD_3PVLV_CLOSE

PRIO_PROGRAM (15)

TRUE

Anlg3Pnt_bClsAND NOTAblkFnct_bQ

AblkFnct

FB_BA_AntBlkg

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

FB_BACnetTLog1201

 

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

FB_BACnetBI1203

Input

 

SwiCls_bVal

BOOL

SwiCls

FB_BACnetBI1203

Input

 

LocSwi_bVal

BOOL

LocSwi

FB_BACnetBI1203

Output

 

FdbOutOpn_bVal

BOOL

FdbOutOpn

FB_BACnetBI1203

Input

 

FdbOutCls_bVal

BOOL

FdbOutCls

FB_BACnetBI1203

Input

 

FdbVlv_usiRawValSta

USINT

FdbVlv

FB_BACnetAI1203

Input

 

FdbVlv_iRawVal

INT

FdbVlv

FB_BACnetAI1203

Input

 

Opn_bRawIoPrVal

BOOL

Opn

FB_BACnetBO1203

Output

 

Cls_bRawIoPrVal

BOOL

Cls

FB_BACnetBO1203

Output

 

Version history

Version number

Comments

1.0.1

First release