SMC_RoundPath
功能块 SMC_RoundPath 的处理

所有的输入的-OUTQUEUE 结构体中的 SMC_GEOINFO 对象都会被一个接一个的检查。路径圆滑会作用于 G50 和 G52 定义的所有语句中。

在拐角处的 M-函数

如果拐角处有一个 M-函数,那么此函数点将会移动到圆滑路径的结束位置。这个动作是由 “SMC_SmoothPath的处理”转化的。

功能块 SMC_ROUNDPATH

名称

类型

初始值

描述

VAR_IN

     

bExecute

BOOL

FALSE

当 TRUE 时,功能块被激活

bAbort

BOOL

FALSE

如果为 TRUE ,功能块当前的处理将会被中断

bAppend

BOOL

FALSE

只要输入一直为 FALSE, DataOutQueue 将会在每次复位时都被清除。一旦保持为 TRUE,新增加的数据将会被写入到 DataOutQueue 的结尾

poqDataIn

POINTER TO SMC_OUTQUEUE

0

这个变量指向 SMC_OUTQUEUE 结构体对象,其中包含路径的 SMC_GEOINFO-对象;通常情况下他指向预处理模块(例如:SMC_NCDecoder)的 DataOut 输出。 SMC_OUTQUEUE应该定义一个适当的尺寸大小(见上文)!

dRadius

LREAL

0

这个输入变量的值为 SMC_GEOINFO 对象的值( G 代码中的参数 D),用于添加到刀具半径补偿中 – 定义角度的(最小)距离,在那个位置特定的对象需要被切断并有一段圆弧代替(参阅下文)。这个参数可以在线修改。因此可以在线定义(通过结构体 SMC_GEOINFO )并在线修改。默认值: 0

dAngleTol

LREAL

0

这个输入定义角度公差,定义路径弯曲的最大半径值。

nSizeOutQueue

UDINT

0

这个变量定义数据缓冲区大小,GEOINFO 结构体对象列表将会被写入。这个缓冲区至少应为 GEOINFO 结构体本身的五倍大小。否则,SMC_NCDecoder 将不会进行任何动作的执行。尺寸大小可以预先定义,但是在下次复位之前不能被修改。可以通过以下方法创建缓冲区

ExampleBuf: Array[ 1..50] of SMC_GeoInfo

定义的缓冲区大小可以通过sizeof(ExampleBuf)操作进行读取。

pbyBufferOutQueue

POINTER TO ARRAY[0..0] OF SMC_GEOINFO

0

这个输入必须指向 OUTQUEUE-结构体定义的内存区域的第一个字节地址。定义的这个区域至少与 nSizeOutQueue 定义的一样大。通常情况下IEC中存储区域的定义是通过定义一个 SMC_GEOINFO 数组实现的 (例如:BUF: BUF: ARRAY[1..50] OF SMC_GEOINFO这个缓冲区可以存储50个路径元素)。变量值可以预定义,但是在下次复位前不能被修改。

VAR_OUT

     

bDone

BOOL

FALSE

如果输入数据...DataIn 被完全处理,那么这个变量将=会被设置为 TRUE 。因此在复位之前此模块不会执行其他动作。如果输入 bExecute 为 FALSE, bDone 将会被复位为 FALSE。

bBusy

BOOL

FALSE

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

bError

BOOL

FALSE

功能块内部发生错误信号

wErrorID

SMC_ERROR

SMC_NOERROR

错误ID

poqDataOut

POINTER TO SMC_OUTQUEUE

0

这个变量指向 SMC_OUTQUEUE-结构体,用于管理循环路径中的 SMC_GEOINFO-对象 “SMC_OUTQUEUE ”

示例

N000 G01 X10 Y0 F100 
N010 G01 X10 Y10 
N020 G52 D2 (round-path functionality with angle distance 2 on) 
N030 G01 X20 Y10 
N040 G01 X20 Y0 
N050 G01 X30 Y0 D5 (angle distance 5) 
N060 G01 X30 Y10 
N070 G01 X40 Y10 
N080 G50 (round-path functionality off) 
N090 G01 X40 Y0 
N100 G01 X50 Y0
 
插图 140: 具有路径圆滑功能的路径

这个图标显示在语句20处的路径圆滑。第一个倒角位于位置 20/10 处。倒角的值在语句 50 处发生改变并且从这句开始有效。路径圆滑在位置 40/10 处结束。