FB_BA_AntiBlocking

FB_BA_AntiBlocking 1:

The template prevents blocking of pumps or actuators after prolonged idle periods by issuing a switch-on pulse.

A pulse output generally only occurs if the function block FB_BA_AntBlkg is enabled at bEn.

The maximum idle period before such a pulse is issued is determined by the value of the variable nOffMin. For logging the idle time, the input bFdb must be linked to the operating feedback from the aggregate. The length of the pulse is parameterized with the variable nImplLngt. For this function the operation mode E_BA_AntBlkgMode.eOffTime must be set (see E_BA_AntBlkgMode).

The input bExtReq should be used if the anti-blocking protection pulse is to be issued cyclically based on a schedule, rather than depending on the idle times. A rising edge at bExtReq immediately triggers output of a pulse to bQ. For this function the operation mode E_BA_AntBlkgMode.eExternalRequest must be set (see E_BA_AntBlkgMode).

FB_BA_AntiBlocking 2:

The initialization of the template takes place within the method FB_Init.

Block diagram

FB_BA_AntiBlocking 3:

Syntax

FUNCTION_BLOCK FB_BA_AntBlkg EXTENDS FB_BA_View
VAR_INPUT
  bFdb             : BOOL;
  bExtReq          : BOOL;
  bLock            : BOOL;
END_VAR
VAR_OUTPUT
  bQ               : BOOL;
END_VAR
VAR_INPUT CONSTANT
  IdlePrd          : FB_BA_AV_Op;
  ImpulseLength    : FB_BA_AV_Op;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
  {attribute 'parameterCategory':='Operation'}
  bEn              : BOOL := TRUE;
END_VAR
VAR
  AblkFnct         : FB_BA_AntBlkg;
  tonEn            : TON;
END_VAR

FB_BA_AntiBlocking 4: Inputs

Name

Type

Description

bFdb

BOOL

Input for connecting the feedback signal of a motor or valve.

This input is only considered in the operation mode E_BA_AntBlkgMode.eOffTime.

bExtReq

BOOL

Active in the E_BA_AntBlkgMode.eExternalRequest operation mode.

External request for a pulse, for example from a schedule.

With a rising edge the anti-blocking protection pulse is started.

bLock

BOOL

Active in the operation modes E_BA_AntBlkgMode.eExternalRequest or E_BA_AntBlkgMode.eOffTime.

To prevent that e.g. the pump and the valve of a heater get a pulse at the same time, the output of the pulse is always suppressed until bLock is FALSE again.

If bLock becomes TRUE during the output of an anti-blocking protection pulse, then the anti-blocking protection pulse is interrupted. After bLock is FALSE again, the anti-lock protection pulse is restarted.

FB_BA_AntiBlocking 5: Outputs

Name

Type

Description

bQ

BOOL

Output of the anti-lock protection pulse.

FB_BA_AntiBlocking 6: Inputs CONSTANT

Name

Type

Description

IdlePrd

FB_BA_AV_Op

AV object for input of the maximum pump standstill duration until an anti-blocking protection pulse is issued.

ImpulseLength

FB_BA_AV_Op

A rising edge at this input switches the output value fOut to the input value fIn.

FB_BA_AntiBlocking 7: Inputs CONSTANT PERSISTENT

Name

Type

Description

bEn

BOOL

General enable of the template. If bEn is FALSE, the message output bQ is also FALSE.

Variables

Name

Type

Description

bAblkFnct

FB_BA_AntBlkg

The function block AblkFnct for the output of an anti-blocking protection pulse is the core of this template.

tonEn

TON

Start-up delay of the function after the controller has started up.

Requirements

Development environment

Necessary function

TwinCAT from v3.1.4024.35

TF8040 | TwinCAT Building Automation from V5.0.0.0