PumpOnOff (FB)

FUNCTION_BLOCK PumpOnOff IMPLEMENTS IActuatorOnOff

Pump on/off.

Application example

Pumps are widely used for certain tasks in building automation applications, most prominently:

  • heating pumps

  • circulating pumps

Device examples

Functionality

PumpOnOff controls a pump on/off covering the following aspects:

  • on / off delay

  • blocking protection

  • command execution monitoring using pump service indication

  • hardware error indication (input)

  • malfunction detection

  • malfunction locking

  • operational time

on / off delay

Swichting on / off the pump (xOn) is delayed by given values tOnDelay, tOffDelay. Can be disabled by setting tOnDelay, tOffDelay to T#0S.

blocking protection

If pump is not running for a given time tBpMaxOff, run it even if reqest xReqOn = FALSE for a given time tBpTime.

command execution monitoring

Functionality of CommandExecutionMonitoring is applied to xSvciOn, xSvciOn_Used, tCemMargin. Can be diabled setting xSvciOn_Used := FALSE and/or tCemMargin := T#0S

malfunction detection

If a hardware malfunction is detected via command execution monitoring or hardware error indication (input) xError is set to TRUE, eErrorID is set to Error.HardwareError.

malfunction locking

Malfunction locking makes the difference how to handle / recover from a detected hardware malfunction.

Malfunction locking enabled (xMalFuncLock := TRUE): If a malfunction is detected, the pump (xOn) is shut off. If the hardware malfunction is gone, xError / eErrorID and pump shutoff are kept until a reset (xReset := TRUE).

Malfunction locking disabled (xMalFuncLock := FALSE): If a malfunction is detected, the pump (xOn) is NOT shut off. The pump recovers from a hardware malfunction automatically.

InOut:

Scope

Name

Type

Initial

Comment

Input

xReqOn

BOOL

FALSE

Control signal - request to switch on pump

tOnDelay

TIME

TIME#0ms

On-delay

tOffDelay

TIME

TIME#5m0s0ms

Off-delay

tBpMaxOff

TIME

TIME#2880m0s0ms

Blocking protection maximum off time

tBpTime

TIME

TIME#0ms

Blocking protection time, set to T#0S to disable blocking protection

xSvciOn

BOOL

FALSE

Service indication - pump is running

xSvciOn_Used

BOOL

FALSE

Service indication xSvci is used / connected.

tCemMargin

TIME

TIME#5s0ms

Command execution monitoring margin time

xErri

BOOL

FALSE

Error indication - pump is signaling an error

xMalFuncLock

BOOL

FALSE

Enable the malfunction locking

xOpTimeInit

BOOL

FALSE

Initialize the operational time with a given value (tInit).

tOpTimeInit

LTIME

LTIME#0ns

Initialization value

xReset

BOOL

FALSE

Reset

itfDateTimeProvider

Util.IDateTimeProvider

Globals.g_dtpDateTimeProvider

Source for the current date and time information in milliseconds since 1.1.1970 00:00:00.000

Output

xOn

BOOL

Switch on pump

tOpTime

LTIME

Operational time

xError

BOOL

Error indication

eErrorID

Error

Error ID

itfActuatorOnOff

IActuatorOnOff

Output to connect THIS to other function block inputs

Properties:

Structure: