这个数据结构位于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,功能块是由管理者进行维护。 |