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