SMC_CheckVelocities (FB)

 

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.