Skip to main content
CNC.wikiCNC.wiki

G98とG99:CNC固定サイクル戻り点レベルの徹底解説

G98(イニシャル点戻り)とG99(R点戻り)の使い分けを徹底解説。Fanuc、Siemens、Mitsubishi各社パラメータ検証、C軸クランプ同期、P452や61101アラーム回避、チャック衝突防止など、連続生産での高い繰り返し精度と信頼性を担保する実務的ノウハウを網羅。

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE 共同創業者

はじめに

固定サイクル中の干渉物移動(早送り)において、ワークのクランプや干渉治具の正確な高さを考慮せずG99(R点戻り)モードをアクティブにしたまま横移動を実行すると、工具はイニシャル点に戻らないまま低いR点平面で急送りされ、超硬ドリルがワーク保持クランプやマシンバイスの口金(バイスジョー)、あるいは回転するスピンドルチャックに激突する。この強烈な物理的衝撃は、瞬時に軸過負荷(オーバーロード)を引き起こし、スピンドルの芯出しアライメントを完全に狂わせ、非計画停止(ダウンタイム)を招く。この段取りミスはワークを不良品(スクラップ)に変えるだけでなく、2ロット目以降の連続生産においても寸法ばらつきを蓄積させ、再現性の低下と加工信頼性の崩壊に直結する。

このような治具干渉による機械衝突や不良品発生を防ぐためには、イニシャル点戻り(G98)とR点逃げ平面戻り(G99)の機能を明確に理解し、プログラム内の戻り点レベルを適切に制御しなければならない。本稿では、Fanuc、Siemens、MitsubishiにおけるG98/G99の動作特性、内部パラメータ検証、アラーム制御について解説し、加工現場におけるロット間の繰り返し精度と安全性を極限まで高めるための技術的アプローチを詳述する。絶対座標システムとの関連については、G90とG91:絶対指令と増分指令(アブソリュートとインクリメンタル)の徹底解説を参照してほしい。

技術概要

技術仕様仕様および制約事項
コマンドコードG98(イニシャル点戻り / 毎分送り)、G99(R点戻り / 毎回転送り)
モーダルグループグループ 10(Fanuc固定サイクル戻り点レベル)、グループ 11(Siemens ISOダイアレクト)、グループ 05(Fanuc/Mitsubishi旋盤 System A送り速度)
サポート対象ブランドFanuc, Siemens, Mitsubishi
重要パラメータParameter 3401 bit 1 (FCD)、Parameter 3402 bit 4 (FPM)、Global User Data _ZFPR[6]、Parameter #8013
主要制約事項サイクル呼び出し前にアクティブな工具径補正(G40)をキャンセルする必要があります。G98/G99の機能は、アクティブなG-codeシステムリストに応じて旋盤においてオーバーロード(機能重複)されます。

クイックリード

  • まずクリアランスを評価: 背の高いクランプ、リブ、または治具(fixture)をまたいで移動する場合は、G98を選択して工具をイニシャル点(Z軸開始平面)まで完全に後退させてください。
  • 安全にサイクル時間を短縮: 平坦で障害物のない表面に複数の穴をあける場合は、G99をプログラムして工具を低いR点(逃げ平面)のクリアランス高さまで戻してください。
  • G-codeシステム構成を検証: 使用している旋盤の制御盤がLathe System Aで動作しているか確認してください。このモードではG98とG99はサイクル戻り点レベルではなく、送り速度(feedrate)モードの切り替えとして機能します。
  • 工具ノーズ補正をキャンセル: 固定サイクル(canned cycle)ブロックを呼び出す前に、必ずG40をプログラムしてP155プログラムエラーの発生を回避してください。
  • ストロークリミットの点検: 計算された工具経路の終点が制限領域に進入しないことを確認してください。進入した場合、Mitsubishiで即座にP452アラームがトリガーされます。
  • 送り速度モード切り替え時の処理: 旋盤において毎分送り(G98)と毎回転送り(G99)のモードを切り替えた後は、送りゼロアラーム(FanucのPS0011など)を防ぐために、同じブロックで送り速度(F)の値を明示的に再プログラミングしてください。

基本概念

穴あけ加工では、ドリル加工、ボーリング加工、タップ加工などの繰り返しの加工動作を自動化するために固定サイクル(canned cycle)が使用されます。これらの連続する穴位置の間で工具の後退動作を管理するために、プログラマーはG98およびG99コマンドを使用します。これらのコマンドはモーダル(modal)であり、別のコードが指令されるまで、選択された後退レベルがその後のすべての操作に対して有効なまま維持されます。

固定サイクルが実行されるとき、工具は3つの異なるZ軸平面間で動作します。1つ目はイニシャル点(Z軸開始平面)であり、これはサイクルが最初に呼び出される直前に工具が配置されていた絶対Z軸座標です。2つ目は逃げ平面(R点)であり、これはワーク表面の少し上に設定される座標です。3つ目は最終的な穴の深さです。G98は穴と穴の間で工具をイニシャル点まで完全に後退させ、最大のクリアランスを提供します。G99は工具をR点までしか戻さないように指令し、工具をワーク表面の近くに維持して、空中での急送りの移動時間を最小限に抑えます。

コマンド構造

固定サイクル(canned cycle)ブロックは、1行のG-codeで座標、深さ、送り速度(feedrate)、および後退挙動を定義するように構成されています。G98とG99のどちらを選択するかはモーダル(modal)であり、穴の底部での加工操作完了後の工具経路を指定します。G98がアクティブな場合、工具は次の穴座標に移動する前にイニシャル点まで急速後退します。G99がアクティブな場合、工具はR点のクリアランス高さまでのみ戻り、その後横方向へのトラバース(移動)を実行します。

指令ブロック構造は、戻り点レベル、固定サイクルのコード、穴座標、深さ座標、クリアランス平面、および送り値を組み合わせたものです。プログラミング構文は、これらの変数間の関係を定義します。制御盤はこれらのコードを解析して、軸の速度と方向を決定します。

基本構文:

G98 G81 X[座標] Y[座標] Z[深さ] R[逃げ量] F[送り速度] ;
G99 G81 X[座標] Y[座標] Z[深さ] R[逃げ量] F[送り速度] ;

パラメータおよびアドレス:

  • G98: モーダルコマンドで、Z軸のイニシャル点(開始平面)への後退を選択します。旋盤のGコードシステムA(Lathe System A)では、毎分送り(feed per minute、mm/minまたはinch/min)を選択します。
  • G99: モーダルコマンドで、逃げ平面であるR点(クリアランス高さ)への後退を選択します。旋盤のGコードシステムA(Lathe System A)では、毎回転送り(feed per revolution、mm/rev or inch/rev)を選択します。
  • X / Y: アクティブな作業平面における穴の中心座標。
  • Z: 穴底の絶対座標、またはR点からのインクリメンタル距離。
  • R: 後退平面(クリアランス高さ)の絶対座標、またはイニシャル点からのインクリメンタル距離。
  • F: 送り速度値。旋盤の送りではG98の下でmm/min、G99の下でmm/revとして解釈されます。これらの旋盤の速度モードは、フライス加工や旋削加工で使用されるG94とG95:送り速度モード(毎分・毎回転送り)の徹底解説ガイドと密接に関連しています。

ブランド別応用

Fanuc

FanucのCNC制御システムは、特定のシステムパラメータを利用してインタープリタがG98およびG99を処理する方法を制御します。Parameter 3401 bit 1 (FCD)は、G98/G99送り速度切り替えコマンドの直前で同じブロック内に物理的に記述されたFコードが、古いモードを継承するか、新しいモードを適用するかを決定します。さらに、Parameter 3402 bit 4 (FPM)は、システム電源投入時またはリセット時のデフォルトのモーダル送り速度状態を規定します。

FanucのGコード構文は、フライス用(Mシリーズ)と旋盤用(Tシリーズ)で異なります。フライス用では、G81やG83などの固定サイクル(canned cycle)がG98およびG99と統合され、戻り高さを制御します。旋盤用(Tシリーズ)のGコードシステムAで動作するシステムでは、G98とG99は送り速度(feedrate)の速度モードに直接マッピングされます。

カテゴリシステム設定 / コード説明と挙動
パラメータParameter 3401 bit 1 (FCD)同一ブロック内でG98/G99送りコマンドの物理的に前にプログラムされたFコードが、以前のモードを継承するか(0)、指定された新しいモードを採用するか(1)を決定します。
パラメータParameter 3402 bit 4 (FPM)電源投入時/リセット時の初期モーダル送り状態。0 = G99(毎回転送り)、1 = G98(毎分送り)。
パラメータParameter 0036 bit 4 (G98)0-GCDシリーズ研削盤向けの初期電源投入時送りモード。0 = 毎回転送り、1 = 毎分送り。
アラームPS0010不適切なGコード。G98/G99がプログラムされたが、対応する固定サイクルオプションが機械に欠けている場合、または不適切な状態で実行された場合に発生します。
アラームPS0011送りゼロ指令。Tシリーズにおいて、G98/G99モードの切り替え直後に送り速度を指定せずに軸移動コマンドを実行した場合に発生します。
バージョンMシリーズ vs. Tシリーズ System Aマシニングセンタ(Mシリーズ)は固定サイクルの戻り高さレベルにG98/G99を使用します。標準的なGコードシステムAを使用する旋盤(Tシリーズ)は、G98/G99を厳格に送りモード(毎分 vs. 毎回転)にマッピングします。旋盤パラメータをGコードシステムBまたはCに切り替えることで、G98/G99のサイクル後退挙動が復元されます。

G99固定サイクルを実行する際、タレット(turret)やチャック(chuck)の干渉境界を避けるのを怠ると、深刻な機械的クラッシュを引き起こす危険性があります。C軸クランプ(clamp)が統合されたシステムにおいて、クランプが係合している間に後退コマンドを実行すると、工具の衝突を引き起こします。オペレータは、危険な工具急加速を回避するために、System A旋盤での送り速度移行を注意深く監視する必要があります。

Siemens

ISOダイアレクトモードで動作するSiemensの制御システムでは、サイクル戻り高さはシステムのグローバル変数内でネイティブに処理されます。インタープリタは、アクティブな後退位置をグローバルユーザーデータ(GUD)配列パラメータ _ZFPR[6] に直接マッピングします。この設定は、Siemensの内部シェルサイクルがレガシーなISOコードをG98として処理するか、G99として処理するかを決定します。

Siemensシステムは、G98およびG99の戻りモードを使用して、G82やG89などの固定サイクルを実行します。G98がプログラムされている場合、工具はイニシャル点(開始平面)に戻り、G99がアクティブな場合、工具はプログラムされた逃げ平面(R点)までしか後退しません。

カテゴリシステム設定 / コード説明と挙動
パラメータ_ZFPR[6]アクティブなISOダイアレクト後退レベルを格納するために内部で使用されるグローバルユーザーデータ(GUD)配列パラメータ。値1はG98を表し、2はG99を表します。
パラメータR アドレス逃げ平面(R点)の高さを指定します。絶対座標値または開始平面からのインクリメンタル距離で指定できます。
パラメータZ アドレス最終的な穴の深さを指定します。絶対座標値または逃げ平面Rからのインクリメンタル深さで指定できます。
アラームAlarm 61101逃げ平面が正しく定義されていません。逃げ平面(R点)がイニシャル点または最終Z軸深さに対して幾何学的に矛盾して不適切に定義されている場合にトリガーされます。
アラームAlarm 61808最終穴深さまたは1回のペック量が不足しています。最初の固定サイクル呼び出しブロックで、必要な総深さZまたは1回のペック深さQが完全に省略された場合にトリガーされます。
バージョンGコードシステム A vs. B/CシステムAは、工具をイニシャル点に後退させる動作を暗黙的に強制します(G98の挙動)。システムBおよびCでは、G98とG99のモーダルな使い分けが完全に可能です。

治具の近くでG99をアクティブにしたままにする場合は、有効な保護ゾーンが完全にクリアされていることを確認する必要があります。逃げ平面を物理的なクランプ軸(clamping axis)、ダブルタレット(double turret)、または補正チャック(compensating chuck)の高さよりも低く設定すると、保護ゾーン違反が即座にトリガーされるか、深刻な衝突を引き起こす可能性があります。

Mitsubishi

MitsubishiのCNCシステムは、メインプログラムのアクティブな座標システムを保護する、高度に分離されたモーダル(modal)アーキテクチャを通じて固定サイクルを処理します。制御盤は、パラメータ #1253 (set25/bit2) を使用して固定サイクル中の加減速プロファイルを調整します。さらに、パラメータ #8013は深穴ドリルサイクルで使用される特定の後退量を決定します。

MitsubishiにおけるGコード構文は、イニシャル点レベル戻りにG98、R点レベル戻りにG99を使用します。G83やG73などの固定サイクルは、これらのモーダルコマンドを実行して軸の後退を制御します。旋盤仕様のGコードリスト2、4、6では、G98とG99は送り速度の速度モードに再マッピングされます。

カテゴリシステム設定 / コード説明と挙動
パラメータParameter #1253 set25/bit2穴あけサイクルにおける加減速モード変更。1に設定されている場合、送りオーバーライドが100%未満のときに全体のサイクル時間が長くなる可能性があります。
パラメータParameter #8013深穴ドリル(G83)または高速深穴ドリル(G73)サイクルで使用される具体的な後退量または戻り量("m")を指定します。有効範囲は0〜199999998(0.5µm単位)。
パラメータParameter #1566固定サイクル内での急送り逃げおよび戻り動作が、急送り速度パラメータ #2001 に準拠するかどうかを決定します。
アラームP155プログラムエラー。工具ノーズR補正(G41またはG42)がアクティブな状態で、固定ドリルサイクルが呼び出された場合にトリガーされます。
アラームP452プログラムエラー。1つのブロック内で複数の内部操作に分割された固定サイクルコマンドが、終点が制限領域(ストロークリミット)内に進入する経路を実行しようとした場合にトリガーされます。
アラームP186プログラムエラー。Punchtapサイクルのモーダル実行中に、主軸速度(S)コマンドが不適切に指令された場合に発生します。
バージョンLathe Lists 2, 4, 6固定サイクルのイニシャル点戻りレベルがロックされています。G98/G99はサイクル後退レベルのトグルとして使用できず、厳密に送りモード制御(G98 = 毎分送り、G99 = 毎回転送り)として機能します。

固定サイクル戻り点コマンドを開始する前に、オペレータは即時のプログラム終了を防ぐために、G40ですべての工具径補正をキャンセルする必要があります。プログラマーはまた、深さプログラムのエラーによって工具先端がチャックや芯押し台と衝突するのを防ぐために、G22チャック(chuck)バリヤチェック機能を活用しなければなりません。

ブランド比較

比較項目FanucSiemensMitsubishi
ネイティブなサイクル戻りG98(イニシャル点)およびG99(R点)は、固定サイクル(グループ 10)におけるモーダル後退レベルです。ISOダイアレクトのG98/G99は、固定ドリルサイクルにおけるグループ 11のモーダルコマンドにマッピングされます。G98(イニシャル点戻り)およびG99(R点戻り)は、モーダルな戻り点レベルコマンドです。
旋盤システムでの重複処理標準System Aの下で、G98/G99を送り速度(feedrate)モード(毎分 vs. 毎回転)としてオーバーロードします。システムAではG99の動作をロックアウトし、イニシャル点(G98に相当)への後退を暗黙的に強制します。Gコードリスト2、4、6において後退トグルをロックし、G98/G99を厳格に送りモードに再マッピングします。
内部動作と拡張性起動時の電源投入/クリア状態やFコードの継承を規定するため、Parameter 3401 (FCD)や3402 (FPM)などのパラメータによって細かく制御されます。G98/G99のモーダルレベルをグローバルユーザーデータ(GUD)パラメータ _ZFPR[6](1=G98、2=G99)へ直接翻訳します。WCS状態を維持するため、専用の内部 G.1 コマンドを介して固定サイクルのモーダル情報をメインプログラムから完全に分離します。
安全対策と境界制御チャック(chuck)バリヤパラメータやタレット(turret)境界パラメータに基づいて固定サイクルの動きを制限します。R点(逃げ平面)が低すぎる場合、アクティブな保護領域違反コントロールが横方向のトラバースを中止することができます。内部の移動経路を事前評価し、終点がストロークリミット制限領域に進入する場合、即座にP452アラームコードを出力します。

技術解析

アーキテクチャの設計思想を比較すると、各制御システムが座標処理やモーダル状態をどのように管理しているかが明らかになります。Fanucはパラメータ駆動型の細かい制御機構に強く依存しており、機械メーカーがGコード環境を細かくカスタマイズできるよう設計されています。たとえば、Fanucの旋盤における送りモード間の遷移はParameter 3401 bit 1 (FCD)によって管理されます。これにより、同一ブロック内のG98/G99コマンドの前に記述されたFコードが、以前のモーダル状態を引き継ぐか、それとも新しい送りモードをクリーンに採用するかをシステムが識別でき、複雑な座標シフト中に危険な送り速度の誤認識を防ぐことができます。これらの送り速度設定は、G96とG97:周速一定制御と主軸回転数一定制御の徹底解説のような周速一定制御や主軸一定回転速度と併用されることが一般的です。

対照的に、SiemensはレガシーなISOのG98およびG99戻りコマンドを、自社のネイティブなグローバルユーザーデータ(GUD)アーキテクチャへ直接翻訳します。インタープリタは、アクティブな後退状態をシステム変数 _ZFPR[6] に直接渡し、G98を値1に、G99を値2にマッピングします。この直接的な変換により、Siemens独自の高度な内部シェルサイクルは、ポストプロセッサの二次的な修正を必要とせずにレガシーなISOコードをシームレスに処理できます。また、制御システムがGコードのシステム依存関係を強制することを可能にし、System AでのG99の動作を完全にロックアウトしつつ、System BおよびCでは明確なG98/G99の差別化を提供します。

Mitsubishiは、固定サイクルの内部モーダルをメインプログラムから完全に分離している点で極めて特徴的です。同システムは、固定サイクルの実行に専用の内部 G.1 コマンドを使用します。これは、サイクルが固有のグループ 01モーダル情報を使用することを意味します。固定サイクルが終了すると、アクティブなモーダル状態は自動的にG00に戻るため、プログラマーが移動モーダルを手動で再宣言する必要はありません。さらに、Mitsubishiは物理的な移動が始まるのを待つのではなく、サイクルブロックの内部動作を事前に評価します。計算された座標経路が、格納されたストロークリミット制限領域に進入する場合、制御システムは直ちにP452アラームコードを発生させ、物理的な軸移動が実行される前に運転を停止します。

プログラム例

Fanucのプログラム例

G90 G99 G83 X100.0 Y50.0 Z-30.0 R5.0 Q8.0 F120.0 ;
X150.0 Y50.0 ;
G98 X200.0 Y100.0 Z-30.0 R5.0 Q8.0 ;

空運転 (dry run)の動作解析

  • ブロック 1: 工具はサイクル開始前にイニシャル平面(Z50.0)まで急送りされます。座標モードは絶対指令(G90)です。G99が有効化されているため、ドリル加工後の工具はR点までしか戻りません。G83は、X100.0 Y50.0にて深穴ペックドリルサイクルを開始し、ペック量(Q)8.0 mm、送り速度(F)120.0 mm/minで最終深さZ-30.0まで加工します。逃げ平面(R5.0)は加工開始時のクリアランス座標を設定します。穴あけが完了すると、工具はZ5.0(R点)まで戻り、そこで待機します。
  • ブロック 2: 工具は、R点平面(Z5.0)の高さを維持したまま、急送りでX150.0 Y50.0まで横方向に移動します。ペックドリルサイクルが繰り返されます。完了後、工具は再びZ5.0(R点)に戻ります。
  • ブロック 3: G98が指令され、モーダルな後退レベルがイニシャル平面に変更されます。工具はX200.0 Y100.0まで移動し、ペックドリルサイクルを実行します。深さZ-30.0に達した後、工具はイニシャル平面(Z50.0)まで完全に後退し、ワーク上の干渉治具(fixture)を安全に回避します。

Siemensのプログラム例

G90 G99 G82 X300.0 Y-250.0 Z-150.0 R-100.0 P1000 F120 ;
X400.0 ;
G98 Y-350.0 ;

空運転の動作解析

  • ブロック 1: 制御盤は絶対モード(G90)で動作します。G99がアクティブになり、逃げ平面(R点)への後退が設定されます。一時停止(ドウェル)付きのG82ドリルサイクルが座標 X300.0 Y-250.0 で呼び出されます。工具は逃げ平面(R-100.0)から開始して最終深さ Z-150.0 まで穴あけを行い、穴底で1000ミリ秒の一時停止(P)を行った後、送り速度 120 mm/minで加工します。後退高さは _ZFPR[6] = 2(G99)にマッピングされます。工具は逃げ平面座標(Z-100.0)まで後退します。
  • ブロック 2: 工具は、Z軸をZ-100.0(逃げ平面)に保持したまま、急送りで X400.0 Y-250.0 まで移動します。G82サイクルが繰り返され、工具はZ-100.0に戻ります。
  • ブロック 3: G98がアクティブになり、 _ZFPR[6] が1に変更されます。工具は Y-350.0 まで移動し、G82サイクルを実行します。最終深さ Z-150.0 に到達して一時停止を完了した後、工具はイニシャル点(開始平面)座標まで完全に後退します。

Mitsubishiのプログラム例

G90 G98 G83 X100.0 Y100.0 Z-50.0 R25.0 Q10.0 F1000 ;
G99 G73 X200.0 Z-50.0 R25.0 Q10.0 F1000 ;

空運転の動作解析

  • ブロック 1: 制御システムは絶対指令(G90)に設定されます。G98が指令され、イニシャル点レベル戻りが選択されます。G83深穴ドリルサイクルが X100.0 Y100.0 で呼び出されます。工具はイニシャル平面(Z50.0)に急送りされ、その後、R点クリアランスレベル(Z25.0)から開始して、10.0 mmのペック量(Q)で Z-50.0 まで送り込まれます。穴あけの完了後、工具はZ軸の開始点(Z50.0)まで完全に後退します。
  • ブロック 2: G99が指令され、モーダル後退レベルが逃げ平面(R点)に切り替わります。G73高速深穴ドリルサイクルが X200.0 Y100.0(Y座標は継承)で開始されます。工具はイニシャル平面上で新しい座標まで急送りされ、10.0 mmのペック量で Z-50.0 まで送り込まれ、加工完了後は逃げ平面座標(Z25.0)までしか戻りません。これにより、空中での無駄な急送り後退時間を節約できます。

エラー解析

ブランドアラームコードトリガー条件画面上の症状根本原因および対策
FanucPS0010固定サイクル(canned cycle)オプションがない場合、または不適切な座標状態でG98またはG99をプログラムした場合。CNCシステムが実行を停止し、エラーメッセージ「PS0010 IMPROPER G-CODE」を表示します。赤色のアラームランプが点灯します。機械パラメータが固定サイクルオプションをサポートしていることを確認し、Gコードシステムが有効な状態にあるか点検してください。
FanucPS0011Tシリーズ旋盤において、送り速度を指定せずにG98とG99のモードを切り替えた直後に軸移動を実行した場合。工具が即座に停止し、送り動作が中断され、制御盤に「PS0011 FEED ZERO COMMAND」が表示されます。送り速度モードを切り替えた後、同じブロック内で直ちに明示的なF値(送り速度)をプログラムしてください。
SiemensAlarm 61101逃げ平面(R点)を幾何学的に最終Z深さよりも低く、またはイニシャル点よりも高く定義した場合。制御システムがアクティブなサイクルブロックの実行を即座に中止し、「Alarm 61101 Reference plane defined incorrectly」を表示します。論理的な工具経路を保証するために、逃げ平面Rの座標を修正するか、全体のZ軸深さの値を調整してください。
SiemensAlarm 61808最初の固定サイクルブロックで、必要な総深さZまたは1回あたりのペック深さQを省略した場合。工具が静止したままになり、システムが「Alarm 61808 Final drilling depth or single drilling depth is missing」を出力して停止します。最初の固定サイクルブロックの内部で、Z座標またはQペックパラメータを明示的にプログラムしてください。
MitsubishiP155工具ノーズR補正(G41またはG42)がアクティブな状態で、固定ドリルサイクルを指令した場合。CNCプログラムが即座に停止し、「P155 Program error」を表示して、工具が固定サイクルを実行するのを防止します。固定サイクルを呼び出す前に、G40コマンドを追加してカッター半径/工具ノーズR補正をキャンセルしてください。
MitsubishiP4521つの固定サイクルブロック内の内部移動経路が、格納されたストロークリミット制限領域内に進入しようとした場合。物理的な移動が始まる前に軸が即座に停止し、CNCに「P452 Program error」というエラーが表示されます。座標がソフトウェアのストロークリミットを超えないように、クリアランスの高さとワーク座標の境界を検証してください。
MitsubishiP186Punchtapサイクルのモーダル実行中に、主軸速度(S)コマンドが不適切に指令された場合。制御システムが「P186 Program error」を出力し、タッピング操作を中止します。プログラムから競合するSコードを削除するか、主軸速度を指令する前にPunchtapサイクルを無効化してください。

実務応用ノウハウ

量産加工ラインにおいて機械の衝突破壊を未然に防ぎ、ロット間の繰り返し精度と長期的な加工信頼性を担保するためには、固定サイクル内の後退動作(G98/G99)に関わるシステムパラメータと物理的干渉境界の厳格な検証が不可欠である。特に、クランプ軸(clamping axis)、ダブルタレット(double turret)、または自動調心可能な補正チャック(compensating chuck)を備えた複雑な複合加工機では、G99をアクティブにした逃げ平面(R点)での横方向の急送りが治具干渉を引き起こす最大の要因となる。この設定ミスにより、工具は高い開始点(イニシャル点)に戻らずに横移動するため、物理的な干渉物へ衝突し、工具の破損だけでなくスピンドルのアライメント狂いによる再現性の低下と深刻な不良品発生を招く。

この致命的なクラッシュを防ぐ防護策として、まずFanucシステムでは、Parameter 3401 bit 1 (FCD)およびParameter 3402 bit 4 (FPM)の設定内容を厳格に管理する。特にFCDパラメータは、G98/G99の送りモード変更時にFコードの解釈順序を規定し、誤った送り速度による異常加速を防止する。また、旋盤で送り速度の指定漏れが発生した場合には、即座にPS0011(FEED ZERO COMMAND)アラームを出力して制御を停止させるとともに、パラメータに統合されたC軸クランプのMコードやチャックバリヤ設定、タレット境界を事前に点検するプロトコルを標準化する。

次に、Siemensシステムでは、ISOダイアレクトモードにおけるG98/G99戻り高さが内部的にグローバルユーザーデータ(GUD)配列変数 _ZFPR[6] にマップ(1 = G98、2 = G99)される挙動を把握することが求められる。R平面が不適切に定義されたり、総深さZやペック深さQが省略されると、即座にAlarm 61101やAlarm 61808がトリガーされ、プログラムの実行を中断する。アクティブな保護ゾーン監視機能を有効にし、干渉高さよりR点が高く設定されていることを確認することがプロセスの信頼性維持に直結する。

さらに、Mitsubishiシステムでは、固定サイクル実行時に固有の G.1 コマンドが使用され、メインプログラムのモーダルと分離される特性を活かす。加工サイクル内の加減速プロファイルはパラメータ #1253 (set25/bit2)で、深穴ドリル加工(G83)の戻り量は#8013で微調整する。特にMitsubishiは、軸が危険領域に進入する前にプログラムデータを事前評価し、終点がストロークリミット制限領域に入る場合は動作前にP452プログラムエラーを出力して停止させるため、衝突リスクの早期発見に極めて有利である。G40を用いて工具径補正(G41/G42)を事前にキャンセルしてP155アラームを防止し、G22チャックおよびテールストックバリヤ機能をセットアップすることで、ロットの連続生産においても不良品発生率をゼロに近づける堅牢な生産体制を構築できる。

関連コマンド

  • G80(固定サイクルキャンセル): アクティブな固定サイクルのモーダル状態を終了し、機械を標準 of 直線補間モードに復帰させて意図しない穴あけ加工の動作を防止します。
  • G81〜G89(固定サイクル群): ドリル加工、ボーリング加工、タップ加工を自動化するためのモーダルコマンド群。G98およびG99を使用して後退高さを決定します。
  • G94 / G95(送り速度モード): 切削送り速度を毎分送りと毎回転送りの間で切り替えます。これは、旋盤システムにおけるG98およびG99の第2の機能(System A以外での送りモード)に対応します。詳細はG94とG95:送り速度モード(毎分・毎回転送り)の徹底解説を参照してください。
  • G90 / G91(絶対指令 vs. 増分指令): 座標移動および後退高さが、絶対位置として処理されるか、それともインクリメンタルな距離として処理されるかを管理します。詳細はG90とG91:絶対指令と増分指令(アブソリュートとインクリメンタル)の徹底解説を参照してください。
  • G22(チャック/治具バリア境界点検): サイクル実行中に工具先端がチャックや芯押し台と衝突するのを防ぐソフトウェア境界を設定します。

おわりに

高精度加工を維持し、非計画停止(ダウンタイム)を完全に排除した量産ラインを確立するためには、プログラムの先頭でモーダル状態(G98またはG99)を明示的に宣言する設計ルールの徹底が最善の選択肢である。具体的には、すべてのフライス加工プログラムのセーフティブロックにおいてG98(イニシャル点戻り)をデフォルトの起動コードとして定義し、加工境界で干渉治具が存在する場合は必ず明示的にG98を記述し、平坦なオープンエリアでの連続穴加工に限りG99を部分的に適用してサイクルタイムを最適化する。

また、新規治具のセットアップやワーク形状の変更に伴う初品立ち上げ時には、Parameter 3401 (Fanuc)や _ZFPR[6] (Siemens)などのシステムパラメータを事前チェックし、グラフィックシミュレーションによる経路トレースで物理的な干渉がないかを必ず検証する。これら一連のパラメータ・プログラム検証手順を標準作業指示書(SOP)として現場で習慣化することが、突発的な機械損傷や再現性の低下を防ぎ、ロット間における寸法の繰り返し精度と高品質な量産製品の安定供給を保証する最も確実なアプローチである。

よくある質問

固定サイクルでG99を使用している際、プログラムミスがないのに特定のワークでのみ機械干渉が発生し、不良品が生じる原因と対策は?

原因は、鋳造品の肉厚ばらつきや鍛造品の黒皮(スケール)による個体差、あるいは治具へのワークセット時のわずかなクランプ不良により、ワークの物理的上面がプログラムしたR点のクリアランス平面(例えば Z2.0)を超えて高くなっているためです。G99モードでは逃げ平面までしか工具が戻らないため、わずかな高さ変動で急送り横移動中に工具がワークの突起部に衝突し、寸法ばらつきや超硬ドリルのチッピングを誘発して不良品を発生させます。対策として、ロット間の寸法ばらつきが大きい素形材を加工する際は、R点を高く再設定するか、または安全対策としてG98(イニシャル点戻り)を強制指令し、穴あけ間を高いイニシャル点経由で移動するプログラムに修正して、物理的な高さ変動に影響されないプロセス信頼性を担保してください。

Fanuc旋盤でG98からG99に切り替えた際、F値が意図せず巨大化して衝突アラームを出さずに急加速する原因とパラメータ確認手順は?

これは、アクティブなGコードシステムが旋盤向けの「System A」に設定されているため、G98が毎分送り(mm/min)、G99が毎回転送り(mm/rev)としてオーバーロード動作し、モーダルなF値が意図せず再評価されたことが原因です。例えばG98で指令していたF100.0(毎分100mm)が、Fコードを再記述せずにG99へ移行すると「毎回転100mm」と解釈され、主軸回転時に凄まじい速度でタレットがチャック方向へ急送りされ、激しい物理的衝突を引き起こします。対策として、まずG98/G99切り替え直後のブロックで明示的に新しいF値(例えば F0.2)を再プログラムすることを鉄則としてください。さらに、移行時の送り指令の自動検証を有効にするため、制御盤パラメータのParameter 3401 bit 1 (FCD) を「1」に設定し、モード切り替え時の送り速度指定漏れに対してPS0011(FEED ZERO COMMAND)アラームを強制トリガーさせる安全プロトコルを実行してください。

MitsubishiのG83 pecking加工サイクル中にストロークリミット干渉による停止が発生した際、機械損傷を防ぐためのパラメータ調整と検証方法は?

これは、固定サイクル内の pecking後退(逃げ)動作において、Z軸の急送り退避位置が物理的なストロークリミット(ソフトウェア限界)を超えたか、あるいはG22によるチャックバリア・テールストックバリア制限境界に進入したため、制御盤が移動前にP452アラームをトリガーして停止させたことが原因です。対策として、まず工具ノーズR補正をG40で確実にキャンセルしてP155アラームを防止した上で、パラメータ #8013(G83 pecking戻り量「m」)を加工深さや治具高さに適合する適正値(0.5µm単位で入力)に調整し、不要なZ軸のオーバーストロークを排除してください。段取り時には、実際の自動運転に入る前に必ず機械のグラフィックトレースシミュレーション画面で同期軌跡を検証し、制限値までの距離に十分なマージンがあることを事前に確認してください。

まだ解決しませんか?

このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

AIアシスタントに質問する
Hakan Gündoğdu
Hakan Gündoğdu
  • CNC CARE Co-Founder (May 2025 - Present)
  • Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
  • Reis CNC Service Engineer (2003 - 2005)
  • Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)

CNC工作機械業界のあらゆる分野で25年以上の経験を持ち、ブランドに依存しないコンサルティング、エンジニアリング、純正部品サービスを提供するCNC CAREの共同創業者として活動を続けています。

関連記事

このトピックに関する他の記事

Siemens CYCLE800の使い方:平面旋回とツールアライメント

SiemensのCYCLE800による3+2軸加工をマスターしましょう。平面旋回、ツールアライメント、パラメータ設定から、アラーム61190や61153といったエラーのトラブルシューティングまで詳しく解説します。

SiemensProgramming

Siemens CYCLE72 パスミーリング: 輪郭加工の設定とプログラム解説

SinumerikのCYCLE72輪郭ミーリングを徹底解説。_KNAMEや_VARIの正しいパラメータ設定、シミュレーション時のアラーム61123回避方法、チャッククランプ確認によるアラーム700017防止まで、機械停止や不良品発生を防ぐ実務ノウハウを紹介します。

SiemensProgramming

Siemens CYCLE952旋削サイクルの設定とプログラム解説

SinumerikのCYCLE952輪郭旋削サイクルを徹底解説。_PRGや_CONRによるブランク境界定義、アラーム61051/61059の回避方法、および設定データSD55212による自動メモリ管理の設定手順まで詳しく紹介します。

SiemensProgramming

Siemens SLOT1/SLOT2溝フライスcycleプログラミング

Siemens製Sinumerikの溝加工cycleSLOT1・SLOT2のプログラミングを解説。パラメータ設定、Alarm 61000を防ぐ工具半径補正、VARIを用いた障害物回避など、量産時のロット間再現性を高め不良品発生を防ぐための実務ノウハウを紹介します。

SiemensProgramming