FUNCTION_BLOCK SMC_CheckVelocities
This module checks the track speed of the particular path segments. If the OutQueue has not been created by the editor, but by the IEC program (e.g. by SMC_NCDecoder ), this module has to be called straight before each call to the interpolator.
The main task of this function is to check the path for sharp bends and to reduce the velocity to zero at these bends.
InOut:
Scope |
Name |
Type |
Initial |
Comment |
Input |
bExecute |
BOOL |
Execution starts on the rising edge. |
|
bAbort |
BOOL |
If TRUE, the current processing of this function block is aborted |
||
poqDataIn |
POINTER TO SMC_OUTQUEUE |
This input points to the SMC_OUTQUEUE structure object, which describes the SMC_GEOINFO objects of the path; typically it points to the output poqDataOut of the preceding module (e.g. SMC_NCDecoder / SMC_SmoothPath ). |
||
dAngleTol |
LREAL |
0.001 |
This input describes the tolerance angle (angle leeway) up to which at a sharp bend of the path no stop shall be executed. |
|
bCheckAddAxVelJump |
BOOL |
|||
dMaxAddAxVelDifference |
LREAL |
see SMC_SmoothPath |
||
Output |
bBusy |
BOOL |
TRUE, while execution of function block is not finished and the process on the path object is still running |
|
bError |
BOOL |
Signals, that an error has occurred within the function block |
||
wErrorID |
SMC_ERROR |
Error identification |
||
poqDataOut |
POINTER TO SMC_OUTQUEUE |
This output points on the SMC_OUTQUEUE structure object, which contains the path with the permissible velocity values and should now be fed to the interpolator. |