SMC_ObjectSplitter

此功能块位于CODESYS SoftMotion 函数库 SM3_CNC

这个功能块在速度最优化 (例如 SMC_LimitDynamics) 情况下进行队列运动。影响因素通常为一个完整的对象。因此除了位置需要最强的限制,剩余部分的限制就不是那么强烈。在将一个对象分割为多个小的对象时,限制也会被分配到每个新的对象中。因此,限制可以跟家清晰并且插补运算也将高速之星。没有特殊操作的对象 (例如 M-功能) 或者几何变换 (例如 straight lines) 返回值不会发生改变。

通过 eMode,定义了以下分割进行的方法:

  • 如果 FIX 被设置,每个转化对象将会按照dSplittingParameter被转化为多个对象。
  • 如果 LENGTH 被置位,每个对象都会按照这个样式被分割,并且几乎都具有dSplittingParameter长度。
Function block SMC_ObjectSplitter

名称

类型

初始值

描述

VAR_IN

     

bExecute

BOOL

FALSE

当为 TRUE,功能块被激活

poqDataIn

POINTER TO SMC_OUTQUEUE

NULL

这个变量指向SMC_OUTQUEUE-结构体对象,其中包含未经过路径处理的SMC_GEOINFO对象。通常情况下指向预处理模块的poqDataOut输出。

“SMC_OUTQUEUE ”

eMode

SMC_OBJECTSPLITTERMODE

 

FIX, LENGTH

dSplittingParameter

LREAL

 

用于eMode的参数

nSizeOutQueue

UDINT

   

pbyBufferOutQueue

POINTER TO BYTE

   

VAR_OUT

     

bDone

BOOL

FALSE

一旦输入数据poqDataIn被完全处理,此输出将会被置为TRUE。 因此,在模块复位之前将不会产生任何的动作。如果输入bExecute为 FALSE,bDone将会被复位为 FALSE。

bBusy

BOOL

FALSE

TRUE,如果功能块的处理没有完成。

bError

BOOL

FALSE

功能块内部发生错误信号

wErrorID

SMC_ERROR

SMC_NOERROR

错误ID