RedundantPlantControl8 (FB)

FUNCTION_BLOCK RedundantPlantControl8

RedundantPlantControl8 does controls a pool of max. 8 plants (actuators, aggregates etc.).

The purpose of redundant plant control is reducing mean time between failures plus optimizing (equalizing) plant wearing in a group of redundant plants.

A given number of plants (usiNumPlantsRunning) out of a group of (usiNumPlants) plants will be enabled in parallel. After a given maximum on-time PlantRotator8 is switching over to the next enabled plant(s) selecting the one(s) with the minimal runtime.

Plants out of service (on purpose or error) can be handled by setting their xEnable1 .. xEnable8 to FALSE. Disabled plants will not be used (enabled) by RedundantPlantControl8. In case activated plants will be disabled, RedundantPlantControl8 is switching over to next available plant.

InOut:

Scope

Name

Type

Initial

Comment

Input

xEnable

BOOL

TRUE

Enable

usiNumPlants

USINT (2..8)

2

Number of plants - 2 .. 8

usiNumPlantsRunning

USINT (1..8)

1

Number of plants supposed to be running in parallel - 1 .. usiNumPlants-1

xEnable1

BOOL

TRUE

Enable Plant 1

xEnable2

BOOL

TRUE

Enable Plant 2

xEnable3

BOOL

TRUE

Enable Plant 3

xEnable4

BOOL

TRUE

Enable Plant 4

xEnable5

BOOL

TRUE

Enable Plant 5

xEnable6

BOOL

TRUE

Enable Plant 6

xEnable7

BOOL

TRUE

Enable Plant 7

xEnable8

BOOL

TRUE

Enable Plant 8

tOnMax

TIME

TIME#60m0s0ms

Maximum on-time

xResetRuntimeAndCounters

BOOL

FALSE

Reset runtime hours and start counters, edge sensitive (xResetRuntimeAndCounters FALSE->TRUE => reset runtime and counters)

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

xOut1

BOOL

FALSE

Plant 1

xOut2

BOOL

FALSE

Plant 2

xOut3

BOOL

FALSE

Plant 3

xOut4

BOOL

FALSE

Plant 4

xOut5

BOOL

FALSE

Plant 5

xOut6

BOOL

FALSE

Plant 6

xOut7

BOOL

FALSE

Plant 7

xOut8

BOOL

FALSE

Plant 8

tPlant1

TIME

Runtime plant 1

tPlant2

TIME

Runtime plant 2

tPlant3

TIME

Runtime plant 3

tPlant4

TIME

Runtime plant 4

tPlant5

TIME

Runtime plant 5

tPlant6

TIME

Runtime plant 6

tPlant7

TIME

Runtime plant 7

tPlant8

TIME

Runtime plant 8

udiCntPlant1

UDINT

Activation counter plant 1

udiCntPlant2

UDINT

Activation counter plant 2

udiCntPlant3

UDINT

Activation counter plant 3

udiCntPlant4

UDINT

Activation counter plant 4

udiCntPlant5

UDINT

Activation counter plant 5

udiCntPlant6

UDINT

Activation counter plant 6

udiCntPlant7

UDINT

Activation counter plant 7

udiCntPlant8

UDINT

Activation counter plant 8

xError

BOOL

Error indication

eErrorID

Error

Error ID