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
bExecuteBOOLFALSE
Execution starts on the rising edge.
bAbortBOOLFALSE
TRUE: Aborts the processing of the function blockpoqDataInPOINTER TO SMC_OUTQUEUE
NULL
Pointer to data of structure SMC_OUTQUEUE containing the path objects of type SMC_GEOINFO.
wAddAxisWORDBit 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
piMinLower edge of permissible range
piMaxUpper edge of permissible range
d3dCheckDistanceLREALIn 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.
diMinNoPointsDINT5
Apart from start- and end-position, the minimal number of points per object that are checked.
diMaxNoPointsDINT100
Analogously. -1 means that there is no maximum number.
Output
bBusyBOOLFALSE
TRUE: Function block in executionbErrorBOOLFALSE
TRUE: Error has occurredwErrorIDSMC_ERRORSMC_NO_ERROR
Error identification
wAxisOutOfLimitsWORDAxes that have left the boundary
iSourceLine_NoDINTINVALID_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.
poqDataOutPOINTER TO SMC_OUTQUEUE
NULL
Pointer to data of structure SMC_OUTQUEUE containing the path elements of type SMC_GEOINFO that has been checked
wLimitSwPositiveWORDAxes that have exceeded the upper limit
wLimitSwNegativeWORDAxes that have exceeded the lower limit
Structure: