SMC_ScaleQueue3D

这个功能块位于CODESYS SoftMotion 函数库 " SM3_CNC.library"。执行此功能块 poqDataIn 中包含的路径将会按照因子 fScaleFactorBy 被拉伸。

输入变量 poqDataIn 是一个指针指向结构体 SMC_OUTQUEUE,描述了一个缩放路径。开始时,输入变量 bEnable 将会阻止路径的比例缩放。一旦 bEnable 被置位 TRUE 所有 poqDataIn 中定义的 GEOINFO-对象将会被处理。当 bEnable 复位为 FALSE,模块将不会对任何修改进行处理。

输入变量 bReset 的初始值为 FALSE ,在 poqDataIn 中实际查找的 GEOINFO-对象将不会旋转,所有的点只做添加。

 

类型

初始值

描述

VAR_IN

 

 

 

bExecute

BOOL

FALSE

当为 TRUE,功能块将会被激活。

bAppend

BOOL

FALSE

如果 bExecute 的上升沿为 FALSE ,输出队列 poqDataOut 为空

poqDataIn

指向 SMC_OUTQUEUE

0

指向一个被IEC应用允许的足够大的,空数据区域(缓冲区)

dScaleFactor

LREAL

1

路径上的缩放因子

nSizeOutQueue

UDINT

0

这个变量包含数据缓冲区的大小,GEOINFO 结构体对象列表将会被写入。这个缓冲区至少为一个 GEOINFO 结构体的五倍大小。否则 SMC_NCDecoder将不会进行任何处理。他的大小需要进行预定义,但是可以在下次复位之前进行修改。可以通过以下方式进行缓冲区的定义

ExampleBuf: Array of SMC_GeoInfo.

适当的缓冲区大小将会被操作者用户恢复 sizeof(ExampleBuf)

dbyBufferOutQueue

Pointer TO BYTE

0

这个输入必须指向OUTQUEUE-结构体定义的内存区域的第一个字节。 定义的区域至少应该与 nSizeOutQueue 一样大小。通常情况下,分配的内存缓冲区是在IEC程序中定义的一个 SMC_GEOINFO数组 (例如 BUF: ARRAY[1..50] OF SMC_GEOINFO;对于一个缓冲区可以存储 50 路径元素)。变量值可以预定义,但是可以在下次复位前进行修改。

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

指向 SMC_OUTQUEUE

0

指向 SMC_OutQueue 结构