SMC_CheckForLimits (FB)

FUNCTION_BLOCK SMC_CheckForLimits

The function block checks whether a path leaves its specific, rectangular range.

Typically, poqDataOut of the previous function block is fed to the input poqDataIn. Subsequent function blocks should in turn use poqDataOut of this FB.

In contrast to other pre-processing function blocks, SMC_CheckForLimits works on the SMC_Outqueue-structure only, it doesn’t need a buffer and does not change the path (whose data is still held by the buffer of the previous function block).

InOut:

Scope

Name

Type

Initial

Comment

Input

bExecute

BOOL

FALSE

Execution starts on the rising edge.

bAbort

BOOL

FALSE

TRUE: Aborts the processing of the function block

poqDataIn

POINTER TO SMC_OUTQUEUE

NULL

Pointer to data of structure SMC_OUTQUEUE containing the path objects of type SMC_GEOINFO.

wAddAxis

WORD

Bit field of the axes that will be tested

  • X: Bit 0

  • Y: Bit 1

  • Z: Bit 2

  • A: Bit 3

  • B: Bit 4

  • C: Bit 5

  • P: Bit 6

  • Q: Bit 7

  • U: Bit 8

  • V: Bit 9

  • W: Bit 10

Example: 16#104 causes test of Z and U

piMin

SMC_POSINFO

Lower edge of permissible range

piMax

SMC_POSINFO

Upper edge of permissible range

d3dCheckDistance

LREAL

In case of an 3D-object, the distance between the points that are checked. If 0, the number of points per object will be the object’s length divided by 10, plus start- and end-position.

diMinNoPoints

DINT

5

Apart from start- and end-position, the minimal number of points per object that are checked.

diMaxNoPoints

DINT

100

Analogously. -1 means that there is no maximum number.

Output

bBusy

BOOL

FALSE

TRUE: Function block in execution

bError

BOOL

FALSE

TRUE: Error has occurred

wErrorID

SMC_ERROR

SMC_NO_ERROR

Error identification

wAxisOutOfLimits

WORD

Axes that have left the boundary

iSourceLine_No

DINT

INVALID_LINE_NUMBER

Line number of the first object that has exceeded the limit. The line number is zero based and the value -1 shows that no line with exceeding limits was found.

poqDataOut

POINTER TO SMC_OUTQUEUE

NULL

Pointer to data of structure SMC_OUTQUEUE containing the path elements of type SMC_GEOINFO that has been checked

wLimitSwPositive

WORD

Axes that have exceeded the upper limit

wLimitSwNegative

WORD

Axes that have exceeded the lower limit

Structure: