FB_VelocityRatioFeedForward - General Information
Type: |
Function block |
Available as of: |
V1.0.0.0 |
Inherits from: |
- |
Implements: |
- |
Versions: |
Current version |
Calculation of the velocity feed forward control of a downstream machine for the algorithm POU FB_VelocityRatioAlgorithm
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.
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 |
The instance of the FB_Infeed POU for which the feed forward velocity is to be calculated |
|
i_ifVelocityRatioAlgorithm |
The instance of the FB_VelocityRatioAlgorithm POU for which the feed forward velocity is to be calculated |
|
i_ifCounter |
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 |
General library-independent statement on the diagnostic. A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
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 |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
1 |
The POU is disabled. |
|
OK |
2 |
The POU is being initialized. |
|
OK |
3 |
Waiting for starting command. |
|
OK |
6 |
The POU is working. |
|
ExecutionAborted |
13 |
The belt is invalid. |
|
InputParameterInvalid |
108 |
No valid counter has been transferred. |
|
InputParameterInvalid |
113 |
DecVelocityHysteresisPercent is outside the valid range. |
|
InputParameterInvalid |
111 |
FeedForwardAverageVelocity is outside the valid range. |
|
InputParameterInvalid |
110 |
FeedForwardFactorMaximum is outside the valid range. |
|
InputParameterInvalid |
109 |
FeedForwardFactorStepPercent is outside the valid range. |
|
InputParameterInvalid |
112 |
IncVelocityHysteresisPercent is outside the valid range. |
|
InputParameterInvalid |
94 |
An invalid infeed POU has been transferred. |
|
InputParameterInvalid |
115 |
RestartDistance is outside the valid range. |
|
InputParameterInvalid |
116 |
StopDistance is smaller than RestartDistance. |
|
InputParameterInvalid |
114 |
StopDistance is outside the valid range. |
|
InputParameterInvalid |
107 |
VelRatioAlgorithm is invalid. |
|
UnexpectedProgramBehavior |
20 |
An unexpected error occurred during execution. |
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. |
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. |
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. |
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. |
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. |
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.
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. |
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. |
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. |
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. |
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.
Enumeration name: |
Working |
Enumeration value: |
6 |
Description: |
The POU is working. |
The feed forward velocity is being calculated.
Name |
Description |
---|---|
Registers the internal logger point in the Application Logger. |