ブロック検索の使用
ブロック検索により、中断後も補間を続行できます。停止位置が最初に移動し、パスはこの位置から変更されずに移動します。このためには、補間を実行するプログラムとパス前処理を実行するプログラムを拡張する必要があります。
中断されたフライス盤が移動を停止します。修復後、パスはブロック検索を続行できます。
次の方法でアプリケーションを拡張します
前処理位置を保存する補間タスクの機能ブロックインスタンス
パス要素を短縮するパスタスクの機能ブロックインスタンス
詳細については、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=> );
NS bStartFromSavedPos
入力は、制御変数を使用してアクティブにすることもできます。キャンセル後、最後に保存した位置から再開するために、制御変数をアクティブにすることができます。