SMC_OUTQUEUE

这个数据结构位于CODESYS SoftMotion library SM3_CNC。这个结构体用于通过定义尺寸列表的方式管理 GEOINFO-对象。

运动控制模块 SMC_NCDecoder, SMC_SmoothPath, SMC_RoundPath, SMC_AvoidLoop 以及 SMC_ToolCorr - 提供了一个用于处理 OUTQUEUE-结构 的指针,并能够立即对这个结构进行初始化。

模块 SMC_SmoothPath, SMC_RoundPath, SMC_ToolCorr, SMC_AvoidLoop 以及 SMC_Interpolator必须有一个指针指向 OUTQUEUE 列表。如果这个列表被编程并且“手动”添加。那么相应的初始化也需要手动进行完成。对于这个目的开始的两个变量 (pbyBuffer, size) 必须被设定。

提示!

必须严格的要求使用以上功能用于处理 SMC_OUTQUEUE 结构体,并且在初始化之后添加其他参数的手动修改。

成员

类型

初始值

描述

wOUTQUEUEStructID

WORD

16#9878

这个变量的值运动模块检查,如果提供的结构体变量是类型 SMC_OutQueue

pbyBuffer

POINTER TO ARRAY[0..0] OF SMC_GEOINFO

 

GEOINFO 对象相关的内存区域。变量 pbyBuffer必须通过 IEC 程序变量进行缓冲区数据指定。分配是通过定义部分完成的。例如,通过使用数组 (BUFFER: ARRAY [0..99] OF SMC_GEOINFO 定义一个足够大的内存区域用于包含100个 SMC_GEOINFO 对象)。

nCapacity

UDINT

 

包含最大限度的 SMC_GEOINFO 对象。函数 SMC_SetCapacity 初始化这个区域。

nReadPos

UDINT

 

包含列表中 第一个对象SMC_GEOINFO 的位置信息。

nWritePos

UDINT

 

包含 SMC_GEOINFO 对象的另一个空余位置。

bFull

BOOL

 

通过模块 APPENDOBJ 这个变量将会被设置为 TRUE 只要列表被从安全缓冲区中填满,例如,对于 GEOINFO 对象只有三个空白区域预留。 从这个列表中移除一些元素之后,DELETEOBJ 将重新将变量 bFull 到FALSE。

bEndOfList

BOOL

 

为了获得数据估计 ( SMC_Interpolator),SoftMotion 模块通过 OUTQUEUE 结构体处理的模块将不会启动在进行队列处理的时候,直到它被完全填充完毕。然而,当在路径的最后一个对象 SMC_GEOINFO 上进行工作时,OUTQUEUE 将不会完成。因此,为了保证处理继续进行,bEndOfList 必须被设置为 TRUE 以保证最后的 GEOINFO 对象被保存。在这种情况下列表为空当时应该被立即填满,bEndOfList 必须被重新复位 FALSE。

byGenerator

BYTE

250

创建队列。插补器将使用这个信息修正 SMC_CheckVelocities 按照设置方式进行预处理。

可使用的变量值

SMC_NCDecoder: 1

SMC_AvoidLoop: 10

SMC_LimitCircularVelocity: 11

SMC_RoundPath: 12

SMC_SmoothPath: 13

SMC_ToolCorr: 14

SMC_RotateQueue2D: 30

SMC_ScaleQueue3D: 31

SMC_TranslateQueue3D: 32

SMC_CheckVelocities: 254

CNC editor: 255

bReCheckVelocities

BOOL

 

内部变量

strProgrammName

STRING

 

CNC程序的名称

xPartofLM

BOOL

 

如果输入是由编程系统创建,如果为 TRUE,功能块是由管理者进行维护。