FB_VelocityRatioFeedForward - General Information

Overview

Type:

Function block

Available as of:

V1.0.0.0

Inherits from:

-

Implements:

-

Versions:

Current version

Task

Calculation of the velocity feed forward control of a downstream machine for the algorithm POU FB_VelocityRatioAlgorithm

Description

The POU is an extension of the algorithm POU FB_VelocityRatioAlgorithm. It calculates the required feed forward velocity of the downstream machine based on the incoming product flow. This can minimize idle cycles in the downstream machine caused by a fluctuating incoming product flow.

Interface

Input

Data type

Description

i_xEnable

BOOL

A rising edge FALSE -> TRUE activates the POU, a falling edge TRUE -> FALSE deactivates the POU.

A deactivated POU does not execute any actions.

i_xStart

BOOL

TRUE: Starts the calculation of the velocity feed forward control

i_xDiagQuit

BOOL

A rising edge FALSE -> TRUE acknowledges the diagnostic messages of the POU.

i_lrFeedForwardAverageVelocity

LREAL

The mean average feed forward velocity of the downstream machine This is calculated from the velocity of the product feed and the average product flow. See usage of FB_VelocityRatioAlgorithm and the velocity feed forward control

i_lrFeedForwardFactorStepPercent

LREAL

The percentage velocity change for each call cycle The parameter defines the percentage by which the outputs q_lrFeedForwardFactor and q_lrFeedForwardVelocity are changed in the case of a necessary velocity change, each time the POU is called up.

i_lrFeedForwardFactorMaximum

LREAL

The maximum value that may not be exceed by q_lrFeedForwardFactor. The POU limits q_lrFeedForwardFactor to this value.

i_lrIncVelocityHysteresisPercent

LREAL

The function block calculates the suitable feed forward velocity cyclically. A tolerance range can be defined in order to reduce permanent control. If the calculated feed forward velocity is within this range, no change is carried out. i_lrIncVelocityHysteresisPercent reflects the upper limit of this tolerance window.

i_lrDecVelocityHysteresisPercent

LREAL

The function block calculates the suitable feed forward velocity cyclically. A tolerance range can be defined, in order to reduce a permanent control. If the calculated feed forward velocity is within this range, no change is carried out. i_lrDecVelocityHysteresisPercent reflects the lower limit of this tolerance window.

i_lrStopDistance

LREAL

Defines a range on the feed belt, measured from the start of the first correction belt. If there is no product within this range, the outputs q_lrFeedForwardFactor and q_lrFeedForwardVelocity are set to 0.0. This can be used to stop the downstream machine and avoid idle cycles.

i_lrRestartDistance

LREAL

As opposed to i_lrStopDistance, i_lrRestartDistance indicates the distance from the start of the first correction belt from which the feed forward control is started again. This enables a controlled start of the downstream machine if a product reaches the distance i_lrRestart Distance to the first correction belt after the downstream machine is stopped.

i_ifInfeed

IF_Infeed

The instance of the FB_Infeed POU for which the feed forward velocity is to be calculated

i_ifVelocityRatioAlgorithm

IF_VelRatioAlgorithm

The instance of the FB_VelocityRatioAlgorithm POU for which the feed forward velocity is to be calculated

i_ifCounter

IF_Counter

The interface of a counter of the FB_Infeed POU which it uses to calculate the product flow has to be transferred to the POU.

Output

Data type

Description

q_xActive

BOOL

TRUE: The POU is active and has to be executed further.

FALSE: The POU is inactive.

q_xReady

BOOL

TRUE: The POU is ready to operate and can accept user commands.

FALSE: The function block is not ready to accept user commands.

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic.

A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DiagExt

POU-specific output on the diagnostic.

q_etDiag = GD.ET_Diag.Ok -> status message

q_etDiag <> GD.ET_Diag.Ok -> diagnostic message

q_sMsg

STRING[80]

Event-triggered message which gives more detailed information on the diagnostic state.

q_lrFeedForwardVelocity

LREAL

The feed forward velocity of the downstream machine

q_lrFeedForwardFactor

LREAL

The ratio of the feed forward velocity for the downstream machine and the velocity of the feed belt

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Disabled

1

The POU is disabled.

OK

Initializing

2

The POU is being initialized.

OK

WaitForStart

3

Waiting for starting command.

OK

Working

6

The POU is working.

ExecutionAborted

BeltInvalid

13

The belt is invalid.

InputParameterInvalid

CounterInvalid

108

No valid counter has been transferred.

InputParameterInvalid

DecVelocityHysteresisPercentRange

113

DecVelocityHysteresisPercent is outside the valid range.

InputParameterInvalid

FeedForwardAverageVelocityRange

111

FeedForwardAverageVelocity is outside the valid range.

InputParameterInvalid

FeedForwardFactorMaximumRange

110

FeedForwardFactorMaximum is outside the valid range.

InputParameterInvalid

FeedForwardFactorStepPercentRange

109

FeedForwardFactorStepPercent is outside the valid range.

InputParameterInvalid

IncVelocityHysteresisPercentRange

112

IncVelocityHysteresisPercent is outside the valid range.

InputParameterInvalid

InfeedInvalid

94

An invalid infeed POU has been transferred.

InputParameterInvalid

RestartDistanceRange

115

RestartDistance is outside the valid range.

InputParameterInvalid

StopDistanceLowerRestartDistance

116

StopDistance is smaller than RestartDistance.

InputParameterInvalid

StopDistanceRange

114

StopDistance is outside the valid range.

InputParameterInvalid

VelocityRatioAlgorithmInvalid

107

VelRatioAlgorithm is invalid.

UnexpectedProgramBehavior

UnknownFeedback

20

An unexpected error occurred during execution.

BeltInvalid

Enumeration name:

BeltInvalid

Enumeration value:

13

Description:

The belt is invalid.

Issue

Cause

Solution

-

The counter transferred at the i_ifCounter input cannot be connected to the first belt of the infeed distance transferred at the i_ifInfeed input.

It must be made sure that a counter can be connected to the first belt of the infeed distance.

CounterInvalid

Enumeration name:

CounterInvalid

Enumeration value:

108

Description:

No valid counter has been transferred.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_ifCounter.

It must be made sure that a counter of the infeed POU transferred at the i_ifInfeed input is transferred at the i_ifCounter input.

DecVelocityHysteresisPercentRange

Enumeration name:

DecVelocityHysteresisPercentRange

Enumeration value:

113

Description:

DecVelocityHysteresisPercent is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the i_lrDecVelocityHysteresisPercent.

It must be made sure that a value greater than 0 and smaller than 100 is transferred at the input i_lrDecVelocityHysteresisPercent.

Disabled

Enumeration name:

Disabled

Enumeration value:

1

Description:

The POU is disabled.

The function block is deactivated, it executes no actions whatsoever. i_xEnable and q_xActive have the value FALSE.

FeedForwardAverageVelocityRange

Enumeration name:

FeedForwardAverageVelocityRange

Enumeration value:

111

Description:

FeedForwardAverageVelocity is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_lrFeedForwardAverageVelocity.

It must be made sure that a value greater than or equal to 0 is transferred at the input i_lrFeedForwardAverageVelocity.

FeedForwardFactorMaximumRange

Enumeration name:

FeedForwardFactorMaximumRange

Enumeration value:

110

Description:

FeedForwardFactorMaximum is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_lrFeedForwardFactorMaximum.

It must be made sure that a value greater than or equal to 1.0 and smaller than or equal to 100 is transferred at the input i_lrFeedForwardFactorMaximum.

FeedForwardFactorStepPercentRange

Enumeration name:

FeedForwardFactorStepPercentRange

Enumeration value:

109

Description:

FeedForwardFactorStepPercent is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_lrFeedForwardFactorStepPercent.

It must be made sure that a value greater than 0 and smaller than or equal to 100 is transferred at the input i_lrFeedForwardFactorStepPercent.

IncVelocityHysteresisPercentRange

Enumeration name:

IncVelocityHysteresisPercentRange

Enumeration value:

112

Description:

IncVelocityHysteresisPercent is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_lrIncVelocityHysteresisPercent.

It must be made sure that a value greater than or equal to 0 and smaller than or equal to 100 is transferred at the input i_lrIncVelocityHysteresisPercent.

InfeedInvalid

Enumeration name:

InfeedInvalid

Enumeration value:

94

Description:

An invalid infeed POU has been transferred.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_ifInfeed.

It must be made sure that the instance of the FB_Infeed POU is transferred at the i_ifInfeed input, which the FB_VelocityRatioAlgorithm POU transferred at the i_ifVelocityRatioAlgorithm input is to control.

Initializing

Enumeration name:

Initializing

Enumeration value:

2

Description:

The POU is being initialized.

The POU is being initialized and thus is not yet ready to receive commands at its inputs.

The POU will signalize that it is ready for operation with the signal q_xReady = TRUE.

RestartDistanceRange

Enumeration name:

RestartDistanceRange

Enumeration value:

115

Description:

RestartDistance is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_lrRestartDistance.

It must be made sure that a value greater than 0 is transferred at the input i_lrRestartDistance.

StopDistanceLowerRestartDistance

Enumeration name:

StopDistanceLowerRestartDistance

Enumeration value:

116

Description:

StopDistance is smaller than RestartDistance.

Issue

Cause

Solution

-

The values transferred at the inputs i_lrStopDistance and i_lrRestartDistance do not match.

It must be made sure that the value of the input i_lrStopDistance is greater than the value of i_lrRestartDistance.

StopDistanceRange

Enumeration name:

StopDistanceRange

Enumeration value:

114

Description:

StopDistance is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_lrStopDistance.

It must be made sure that a value greater than 0 is transferred at the input i_lrStopDistance.

UnknownFeedback

Enumeration name:

UnknownFeedback

Enumeration value:

20

Description:

An unexpected error occurred during execution.

Issue

Cause

Solution

-

An error occurred in the internal execution.

Please inform the support team about this error.

VelocityRatioAlgorithmInvalid

Enumeration name:

VelocityRatioAlgorithmInvalid

Enumeration value:

107

Description:

VelRatioAlgorithm is invalid.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_ifVelocityRatioAlgorithm.

It must be made sure that the instance FB_VelocityRatioAlgorithm is transferred at the input i_ifVelocityRatioAlgorithm the feed forward velocity of which is to be calculated.

WaitForStart

Enumeration name:

WaitForStart

Enumeration value:

3

Description:

Waiting for starting command.

The POU has completed its initialization and is waiting for a positive edge at the i_xStart input before continuing the processing.

Working

Enumeration name:

Working

Enumeration value:

6

Description:

The POU is working.

The feed forward velocity is being calculated.

Methods

Name

Description

RegisterLoggerPoint

Registers the internal logger point in the Application Logger.