MC_PositionCorrectionLimiter
The function block MC_PositionCorrectionLimiter writes a correction value (PositionCorrectionValue) at the actual position of an axis. Depending on the correction mode the data are fed either directly or filtered to the axis.
VAR_INPUT
VAR_INPUT
Enable : BOOL;
PositionCorrectionValue : LREAL;
CorrectionMode : E_AxisPositionCorrectionMode;
Acceleration : LREAL;
CorrectionLenght : LREAL;
END_VAR
Enable |
The continuous writing of the PositionCorrectionValue is activated by this input. It must be TRUE as long as new correction values are to be accepted. |
PositionCorrectionValue |
The correction value that is to be added to the actual value of the axis. |
CorrectionMode |
Depending on this mode the PositionCorrectionValue is written either directly or filtered. For a detailed description see E_AxisPositionCorrectionMode. |
Acceleration |
Depending on the CorrectionMode the maximum acceleration to reach the new correction value is specified here. In the case of PositionCorrectionMode_Fast this value has a direct effect on the position delta by PLC-tick. |
CorrectionLength |
If the CorrectionMode corresponds to PositionCorrectionMode_FullLength, this parameter becomes active. A change in the PositonCorrectionValue is distributed over this correction length. |
VAR_OUTPUT
VAR_OUTPUT
Busy : LREAL;
Error : BOOL;
ErrorId : UDINT;
Limiting : BOOL;
ND_VAR
Busy |
Goes TRUE as soon as the function block is active and FALSE when it returns to the original state. |
Error |
Becomes TRUE, as soon as an error occurs. |
ErrorId |
If the error output is set, this parameter supplies the error number. |
Limiting |
Goes TRUE if the demanded PositionCorrectionValue has not yet been completely accepted. |
The Position Correction parameter in the System Manager must be enabled in order to use this function block successfully. |