SMC_CheckVelocities (FB)ΒΆ

FUNCTION_BLOCK SMC_CheckVelocities

This function block 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_NCInterpreter), this function block 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

See SMC_SmoothPath

dMaxAddAxVelDifference

LREAL

See SMC_SmoothPath

dDryRunVelocity

LREAL

Activation of dry run. If the value is greater than zero, dry run is active. This means that the effective maximum velocity during interpolation (including the override) is limited to the given value. If the value is zero, dry run is deactivated. Values less than zero lead to an error. A new value of the input is applied only on a rising edge of bExecute.

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.

Structure: