这个功能块位于CODESYS SoftMotion library ⇘ SM3_CNC.library。处理此功能块存储在 poqDataIn 中的路径将会根据给定的矢量 vec进行转换,此矢量的结构体类型为 ⇘ SMC_VECTOR3D。
输入变量 poqDataIn 是一个指向结构体 ⇘ SMC_OUTQUEUE的指针,描述了需要进行转化的路径。输入变量 bEnable 的初始值 FALSE 将会阻止路径的旋转。一旦 bEnable 被置为TRUE,poqDataIn中所有的 GEOINFO-对象都将会被进行处理。当 bEnable 被置为 FALSE,模块将不会处理任何修改。
如果输入变量 bReset 的初始值为 FALSE ,那么在poqDataIn中找打的 GEOINFO-对象将不会进行处理,只执行一个路径的添加。
因此,在路径处理过程中,转化过程中字符参数 vec 的突然变换将会导致路径被破坏,对当前输入的修改将不会立即起作用,直到 poqDataIn 中的 SMC_OUTQUEUE 或者一个复位 (bReset) 发生时。
|
类型 |
初始值 |
描述 |
---|---|---|---|
VAR_IN |
|
|
|
bExecute |
BOOL |
FALSE |
当为 TRUE,功能块将会被激活 |
bAppend |
BOOL |
FALSE |
如果 bExecute 的上升沿为 FALSE ,输出队列 poqDataOut 将会为空 |
poqDataIn |
0 |
指向一个 IEC 应用定义的足够大的,空的数据区域(缓冲区)。 |
|
vec |
1 |
|
|
nSizeOutQueue |
UDINT |
0 |
这个变量包含数据缓冲区的大小,GEOINFO 结构体对象列表将会被写入。缓冲区的大小至少应为 GEOINFO 结构体的五倍大小。否则 ⇘ SMC_NCDecoder将不会有任何的效果。尺寸大小可以预定义 ,并且可以在下次复位之前进行修改。可以通过以下方式进行缓冲区的定义 ExampleBuf: Array of SMC_GeoInfo 可以使用的缓冲区大小可以通过操作 sizeof(ExampleBuf)获取。 |
dbyBufferOutQueue |
指向 BYTE |
0 |
以位为单位缓冲区大小 |
VAR_OUT |
|
|
|
bDone |
BOOL |
FALSE |
一旦 poqDataIn 进行处理,此变量将会被设置为 TRUE 。一旦此变量被置位模块的任何输入都不会被执行知道下次复位。如果输入 bExecute 为 FALSE, bDone 将会被复位为 FALSE。 |
bBusy |
BOOL |
FALSE |
TRUE,如果功能块的处理没有完成。 |
bError |
BOOL |
FALSE |
功能块内部发生错误信号。 |
wErrorID |
SMC_ERROR |
SMC_NO_ERROR |
错误ID |
poqDataOut |
0 |
指向 SMC_OutQueue 结果 |