使用块搜索
程序段搜索允许在中断后继续插补。停止位置最先行进,路径从此位置原样行进。为此,必须扩展执行插值的程序和执行路径预处理的程序。
中断的铣头会停止行程。修复后,路径可以继续块搜索。
通过以下方式扩展应用程序
保存预处理位置的插补任务中的功能块实例
缩短路径元素的路径任务中的功能块实例
有关详细信息,请参阅:SMC_BlockSearchSavePos、SMC_BlockSearchPos 和 SMC_BlockSearch
保存预处理位置
您可以使用 SMC_BlockSearchSavePos
用于根据命令保存当前位置的功能块。此时,功能块的实例必须运行在插值器的任务中。示例中的插补器程序名为“CNC”。
声明一个实例
SMC_BlockSearchSavePos
插值执行的程序中的功能块。bssp: SMC_BlockSearchSavePos;
连接
ipo
的输入SMC_BlockSearchSavePos
实例到插值器实例。连接
bExecute
取消 CNC 程序时应用程序中设置的控制变量的输入(例如,如果bAbort
SMC_Interpolator 实例的输入已设置)。位置存储在ePos
输出用于块搜索,如下所示SMC_BlockSearc
.中断后,bExecute
必须在上升沿复位。
执行插值的程序的一部分 SMC_BlockSearchSavePos
CFC 中的功能块。

使用块搜索
的一个实例 SMC_BlockSearch
必须在与剩余路径预处理相同的任务中调用功能块,通常直接在 SMC_CheckVelocities
功能块。如果上升沿存在于 bExecute
,然后执行块搜索。启动后,将运行保存的位置,并且从该位置开始运行路径不变。
声明一个实例
SMC_BlockSearch
路径预处理执行的程序中的功能块。bs: SMC_BlockSearch;
实现触发
bExecute
的输入SMC_BlockSearch
实例。之前保存的位置
SMC_BlockSearchSavePos
功能块必须作为epos
的输入SMC_BlockSearch
功能块。
PROGRAM CNC_PreparePath ... VAR bs: SMC_BlockSearch; END_VAR ... bs( ePos:=CNC.bssp.ePos , bExecute:=rncf.bExecuteDecoder , bAbort:= , bAppend:= , poqDataIn:=ncd.poqDataOut , bStartFromSavedPos:=CNC.bssp.bPositionStored , nSizeOutQueue:=SIZEOF(agiBufBlockSearch) , pbyBufferOutQueue:=ADR(agiBufBlockSearch) , bDone=> , bBusy=> , bError=> , wErrorID=> , poqDataOut=> );
这 bStartFromSavedPos
输入也可以通过控制变量激活。可以在取消后激活控制变量,以便在上次保存的位置再次继续。