CNC 事例16: プロービング機能 (残り距離をクリア) (G31)
を参照してください CNC16_G31.project のインストールディレクトリにあるサンプルプロジェクト CODESYS 下に ..\CODESYS SoftMotion\Examples。
サンプルプロジェクトでは、プロービング機能 (残り距離をクリア) の使用方法を示しています。
この例では、マシンはライトバリアに達するまでX方向に移動します X=50。光の障壁に達するとすぐに、機械は停止しなければなりません。残りのGコードは、この位置から処理を開始する必要があります
アプリケーションの構造
この構造はCNCアプリケーションでは一般的です。G コードはバックグラウンドタスクで読み込まれますPathTask)。このタスクではパスの前処理も行われます。補間はバスタスク () で行われます。MainTask)。
次のGコードが使用されています。ブロック内 N10、迅速な位置決めが行われます X = 20。そして、G31 (プロービング機能:残った経路をクリア) で、次のような動きをします X = 100。最後に、ブロックで N30、直線的な動きが作られます X = 20, Y = 50。
N10 G0 X20 F100 E1000 E-1000 N20 G31 X100 N30 G1 X20 Y50
補間器とインタプリタ間の相互作用は、プロービング機能にとって特に重要です(残りの経路をクリア)。
インタープリターはGコードをデコードし、次のコードから直線を生成します
X=20にX=100ブロック用N20。その後、デコードを停止しますインターポレータは直線運動を行い、同時にプローブ番号を出力します
udiActProbe。G31 の場合、サンプル番号は常に 1 ですアプリケーションでは、補間器は次のように停止します。
bQuick_Stopドライブが位置を超えて移動するとすぐにX=50。(これはライトバリアをシミュレートします。
バスタスクでは、
SMC_SetInterpreterStartPositionファンクションブロックは、マシンの現在位置を継続的にコピーするために使用されます。
の中に
PathTask、開始位置が入力に割り当てられます。SMC_NCInterpreter.piStartPosition:inter( sentences:= read.sentences, bExecute:= read.bExecute, nSizeOutQueue:= SIZEOF(bufIpo), pbyBufferOutQueue:= ADR(bufIpo), piStartPosition:= Main.setStart.StartPos);
補間器が停止するとすぐに、
bAcknProbe入力は G31 コマンドの確認に使用されます。実際のアプリケーションでは、この時点で軸が実際に停止位置に達したかどうかも確認する必要があります。は SMC_InPosition これにはファンクションブロックを使用できます。
これにより、インタープリターはデコードを再開しますが、開始位置が更新され、次のブロックになります
N30位置から開始されます。X=55.5。
次の図は、これらのステップを示しています。括弧内の数字は、上で説明したプロセスの対応するステップを示しています。

コミッショニング
アプリケーションをビルドし、コントローラーにダウンロードします。
トレースを開き、コントローラにダウンロードします。
アプリケーションを起動し、ビジュアライゼーションを開きます。