SMC_ObjectSplitter (FB)ΒΆ
FUNCTION_BLOCK SMC_ObjectSplitter
This function can be used if a velocity optimizer (like SMC_LimitDynamics ) is applied to the queue. The limitation of SMC_LimitDynamics always affects a complete object. This means that, the smaller the objects, the better the result of the limitiation. Objects without geometrical expansion (like M-functions) or geometrical curvature (like straight lines) remain unchanged.
With eMode, it is defined, how the division is done:
- if
FIX
is set, every curved object is divided inso many objects as defined in
dSplittingParameter
.
- if
LENGTH
is set, every object is divided so,that it has the length
dSplittingParameter
at most.
- InOut:
Scope
Name
Type
Initial
Comment
Input
bExecute
BOOL
Execution starts on the rising edge.
bAbort
BOOL
bAppend
BOOL
poqDataIn
POINTER TO SMC_OUTQUEUE
Input path queue
eMode
Splitting mode
dSplittingParameter
LREAL
1
Parameters for
eMode
nSizeOutQueue
UDINT
The size of
pbyBufferOutQueue
in bytespbyBufferOutQueue
POINTER TO ARRAY [0..0] OF SMC_GEOINFO
Output
bDone
BOOL
This output will be set to
TRUE
as soon as the input path has been processed completely.bBusy
BOOL
TRUE
, while execution of function block is not finishedbError
BOOL
It signals that an error has occurred within the function block
wErrorID
SMC_ERROR
Error identification
poqDataOut
POINTER TO SMC_OUTQUEUE
Structure: