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
FIXis set, every curved object is divided in
so many objects as defined in
dSplittingParameter.
- if
LENGTHis set, every object is divided so,
that it has the length
dSplittingParameterat 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 - pbyBufferOutQueuein bytes- pbyBufferOutQueue- POINTER TO ARRAY [0..0] OF SMC_GEOINFO - Output - bDone- BOOL- This output will be set to - TRUEas soon as the input path has been processed completely.- bBusy- BOOL- TRUE, while execution of function block is not finished- bError- BOOL- It signals that an error has occurred within the function block - wErrorID- SMC_ERROR- Error identification - poqDataOut- POINTER TO SMC_OUTQUEUE 
Structure:
