Skip to main content
CNC.wiki

G48倍角工具位置オフセット:Fanucと三菱CNCでのプログラミング

Fanucや三菱でのG48倍角工具位置オフセットの使い方を詳しく解説。基本的なプログラミング構文や、ゼロ移動時のincremental/absoluteモードでの挙動の違い、Siemensの代替機能、Alarm PS0041などのパラメータ設定やエラー対策を徹底解説します。

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

CNC CARE 共同創業者

はじめに

ワーク座標系において十分な退避クリアランスがない状態で、あるいは誤ったレジスタ符号を記述した古いプログラムでG48 tool offset double decreaseを実行すると、toolやtool turretが回転するspindle chuckやテーブル上のworkpiece vise jaw、治具のclampsへ直接激突する深刻な衝突事故を引き起こします。G48はプログラムされた移動ブロック内で直接座標シフトを制御するため、DまたはHのoffsetレジスタに格納された値の符号(プラス・マイナス)が誤っていると、プログラムされたtoolの移動方向が完全に反転し、期待していたパスの収縮の代わりに倍の拡大が発生します。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前にParameter No. 5040 Bit 3 (TCT)を確認することで、このコマンドで最も多い非計画停止を防げる。座標計算の誤りによって軸がプログラムされた輪郭と逆方向に移動し、テールストックclampやテーブル上の物理干渉物付近で急激なシフトが発生すると、超硬インサートが飛散し、ガイドウェイが変形してFanucのAlarm PS0368やAlarm PS0041、あるいはMitsubishiのProgram Error (P45)といった過負荷アラームを発報し、ワークは一瞬にして廃材(scrap part)となります。ロット間における寸法再現性の低下や不良品発生を防ぎ、長期的な信頼性と繰り返し精度を確立するためには、tool radiusの2倍を超える安全クリアランスを常に確保し、かつ非modal(one-shot)であるG48のブロックごとの記述漏れを完全に排除しなければなりません。

技術概要

仕様項目詳細内容
コマンドコードG48
ModalグループFanucおよびMitsubishiではGroup 00 / non-modal (one-shot)。Siemensでは非対応。
対象ブランドFanuc、Siemens(G48は非対応)、Mitsubishi
重要パラメータFanuc Parameter No. 5040 Bit 3 (TCT)、Mitsubishi Parameter No. 1003 iunit、Siemens MD 10760 $MN_G53_TOOLCORR
主な制約事項G48はアクティブなmodalカッター補正(G41/G42)の実行中はプログラムできません。移動量ゼロ時の挙動は設定により異なり、incrementalモード(G91)ではtoolがoffset値の2倍移動し、absoluteモード(G90)ではtoolは移動しません。負のoffsetは移動方向を反転させます。

クイックリード

  • G48 offsetを指令する前に、tool radiusの2倍を超える最小安全クリアランスエンベロープを確保してください。
  • 先読み演算の破綻およびAlarm PS0041を防ぐため、アクティブなカッター補正(G41またはG42)の実行中にG48をプログラムすることは避けてください。
  • 移動量ゼロのコマンドを使用してダブルのoffsetシフトを物理的に実行する際は、必ずincrementalモード(G91)が有効であることを確認してください。
  • プログラムされた移動方向の反転を防ぐため、HまたはDのoffsetレジスタに格納されている値の符号を確認してください。
  • SiemensではG48がサポートされておらず、Mitsubishiの旋盤では代わりにG46が使用されるため、旋盤や旋削構成でのG48の使用は避けてください。
  • Fanucシステムでは、固定荒加工cycle(G71、G72、G73)の仕上げ形状プログラムブロック(PからQ)の内部でG48 tool offsetをプログラムしないでください。

基本概念

G48 tool offset double decreaseコマンドは、指定された補正レジスタに格納されている値のちょうど2倍だけ、特定の軸移動のプログラムされた移動距離を短縮または収縮するように設計された、non-modalなGroup 00準備機能です。このoffsetはnon-modalであるため、同じブロックでプログラムされた座標移動にのみ適用されます。現代のCNCメーカーはG45からG48を廃止されたレガシー機能に分類しており、これらは厳密に後方互換性のためにのみ維持されています。現代の段取りオペレータがG48を使用することはほとんどなく、代わりにG41 cutter radius compensationG40 compensation cancelなどの標準的なmodalカッター補正を好みます。

ミリング機械やマシニングセンタでG48が呼び出されると、tool center軌道が動的に変更されます。コントローラは指定されたHまたはDレジスタから形状offsetを取得し、それを2倍にして、プログラムされたパスの移動量から減算します。プログラマは歴史的に、荒加工パスや正面フライス加工(face milling)時などに、ブロック単位でワーク寸法を調整するためにこのtool position offset機能を使用していました。しかし、各移動ブロックに手動でoffsetコマンドを挿入することは、現代のmodal補正システムによって自動的に計算されるパス補正と比較して、入力ミスやプログラムエラーが発生しやすくなります。

コマンド構造

G48 Tool Offset Double Decreaseを指令するには、座標目標値およびoffsetレジスタアドレスとともに、軸移動コマンドと同じブロック内でプログラムする必要があります。座標指定はabsolute(G90)またはincremental(G91)のいずれも可能です。incrementalモードでは、プログラムされた移動距離がゼロの場合(例えば、G91 G48 X0 D01;)、toolはD01に格納されているoffset値の2倍だけ負の方向に物理的に移動します。逆に、absoluteモードでは、移動距離ゼロの目標値(例えば、G90 G48 X0 D01;)を指定してもtoolは移動しません。この挙動の違いは、座標セットアップ中のオペレータの安全にとって極めて重要です。

G48を使用する際の極めて重要な制約は、レジスタ値の符号ロジックです。offsetレジスタのプラス(正)の値は、プログラムされた方向に移動距離を短縮(収縮)します。マイナス(負)の値は加算として作用し、方向の意味を反転させて倍の拡張として動作します。補正レジスタアドレスは、パラメータ設定に応じてDまたはHを使用して選択されます。G48を同じブロックに重ねて記述することや、modalな刃先R補正またはカッター補正と併用することは禁止されています。offsetを正しく適用させるためには、プログラマはまずG43 tool length compensationなどの工具長補正を初期化しておく必要があります。

構文フォーマット

Fanuc ミリング / マシニングセンタモード:

G90 (or G91) G00 (or G01) G48 IP_ D_ (or H_) ;

Mitsubishi マシニングセンタモード:

G90 (or G91) G00 (or G01) G48 IP_ D_ (or H_) ;

Siemens 制御モード:

(G48 is not supported. Use Tx Dx edge selection and OFFN instead.)

パラメータ

アドレス説明範囲 / 制限
IP_プログラムされた移動軸(例:X、Y、Z)に沿った座標目標終点。機械の移動制限範囲内
D_ / H_形状補正値を含むtool offsetレジスタを指定します。01〜999(D00/H00はゼロに固定されます)

ブランド別応用

Fanuc

Fanucマシニングセンタでは、G48はG-code Group 00の下でnon-modalなtool offset double decreaseコマンドに分類されます。最新の補正構造およびGroup 23 G-codesを有効にするためには、Parameter No. 5040 Bit 3 (TCT)が1に設定されている必要があります。インクリメントシステムの解像度はParameter No. 1013によって定義され、これが有効な工具補正入力値のスケールを決定します。

標準的なプログラム形式はG91 G01 G48 X120.0 D01 F300;です。このブロックは、軸を増分移動させ、プログラムされた+X方向への移動距離をレジスタD01のoffset値の2倍短縮(収縮)します。

タイプコード / パラメータ詳細
パラメータParameter No. 5040 Bit 3 (TCT)工具置換タイプ(Tool Change Type)。Group 23 G-codesおよび最新のoffset機能を有効にするには1に設定する必要があります。
パラメータParameter No. 19625先読みバッファサイズ(Look-Ahead Buffer Size)。移動を伴わないブロックが連続してバッファを超えると中断が発生します。
パラメータParameter No. 5001 Bit 3 (TAL)多軸工具長補正コマンドが同時に実行されたときにシステムアラームを抑制するには1に設定します。
パラメータParameter No. 5008 Bit 4 (MCR)MDIモードでの半径補正を防止するために1に設定します。
パラメータParameter No. 5000 Bit 3 (GNI)移動量のないG40キャンセルブロックを工具移動なしとして扱うかどうかを決定します。
パラメータParameter No. 0001 Bit 1 (FCV)Series 15フォーマット(固定サイクルG71-G76の後のDを切込み深さとする)でGコードを解釈するには1に設定します。
アラームAlarm PS0368最初にG49でキャンセルせずに、工具長補正(G43/G44/G49)と非モーダル(G45–G48)オフセットの間で切り替えるか、オフセットがアクティブな状態でParameter 5040 Bit 3を変更した場合。
アラームAlarm PS0325固定荒加工サイクル(G71、G72、G73)の仕上げ形状ブロック内部で指定された工具位置オフセット(G45–G48)。
アラームAlarm PS0041 / Alarm No. 041オフセットの開始/キャンセル中のツールパス輪郭と開始位置の間のプログラムされたクリアランスが工具半径よりも小さい場合。
アラームAlarm PS5257Parameter No. 5008 Bit 4 (MCR)が1に設定されているときにMDIモードから指令された工具オフセット。

警告:offsetがアクティブな状態でParameter No. 5040 Bit 3 (TCT)を変更することは厳格に禁止されており、その後の補正動作の失敗やAlarm PS0368の発生を招く原因となります。

Siemens

Siemens制御は、ネイティブモードまたはISO Dialect(G291)モードにおいて、レガシーなG48 double decreaseコマンドをサポートしていません。代わりに、Siemensは工具呼び出しTxおよびエッジ選択Dxを介して、工具長および半径の補正を動的に管理します。アプローチおよびリトラクト(後退)動作は、modalコマンドと平面選択(G17/G18/G19)を介して制御されます。

Siemens制御では、工具半径補正はNORM G41 X50.0 Y50.0 OFFN=1.5 F500;を指令することによってmodalに有効化されます。これにより、直線アプローチと1.5mmの輪郭オフセット許容量(contour offset allowance)を伴う左側TRC(工具半径補正)が有効になります。

タイプコード / パラメータ詳細
パラメータMD 10760 $MN_G53_TOOLCORRG53、G153、SUPAの実行中の工具オフセットの抑制/保持。デフォルトは2(値は2〜4)。
パラメータMD 20380 $MC_TOOL_CORR_MODE_G43_G44外部言語モードがアクティブなときにG43/G44工具長オフセットをどのように処理するかを制御します。
パラメータMD 18800 $MN_MM_EXTERN_LANGUAGE外部NC言語インタプリタを有効にします。1に設定する必要があります。
パラメータMD 10604 $MC_WALIM_GEOAX_CHANGE_MODEアクティブな作業エリア制限を保持する(1)か、無効にする(0)かを決定します。
パラメータDISCG450での外側コーナーにおけるトランジションサークルオーバーシュート(0〜100)。
パラメータOFFN輪郭に対して直接プログラムされる輪郭オフセット許容量。
アラームAlarm 14011デジタル割り込みを介して高速工具リトラクトが有効になったが、CYCLE3106.spfが見つからない場合。
アラームAlarm 14016ASUB / Mサイクル競合。サブルーチン呼び出しがM関数に重畳されるプログラムサイクル呼び出し競合。
アラームAlarm 61800グローバルオプションパラメータMD 18800が有効になっていない状態で、ISO dialectコマンド(G291など)がプログラムで実行された場合。

警告:Siemens制御でG48を呼び出そうとするとパースエラーが発生します。Siemensユーザーは、Tx Dxによるエッジ選択とOFFN許容量を使用するようにプログラムを書き換える必要があります。

Mitsubishi

Mitsubishiマシニングセンタ制御は、G-code Group 00の下で、ワンショットのtool position offset double decreaseコマンドとしてG48をサポートしています。軸の目標座標は、DまたはHレジスタに格納されているoffsetの2倍シフト(減少)します。ただし、旋盤システムはtool position offsetとしてのG48をサポートしておらず、代わりにG46とG47.1を使用します。

ミリングの標準的なプログラム形式はG90 G01 G48 X120.0 D01 F300;です。このブロックはアブソリュート直線切削を実行し、D01に格納された値の2倍だけパスを短縮(収縮)させます。

タイプコード / パラメータ詳細
パラメータParameter No. 1003 iunitoffset値の解像度と有効範囲を決定する入力設定単位(B、C、D、またはE)。
パラメータParameter No. 1120 TofVal#2000番台の形状・摩耗補正レジスタの変数を調整するかどうかを決定します。
パラメータParameter No. 1041 I_inch入出力寸法がメートル(0)またはインチ(1)システムに従うように設定します。
パラメータParameter #1268 ext04/bit6工具長補正動作の2つの方式(軸移動 vs. 座標シフト)。
パラメータParameter #1292 ext28/bit3工具長補正量の変更時の動作。
パラメータParameter #1247 set19/bit0G43/G44/G49が単独で指令されたときの工具長補正コマンドによる移動。
パラメータParameter #1520 Tchg34追加軸の工具補正の設定。
アラームProgram Error (P128)高速高精度サイクルG120.1またはG121が実行されたときに、G45〜G48コマンドがアクティブな場合に発生します。
アラームProgram Error (P45)G45–G48工具位置オフセットがアクティブな状態で、G43.7(工具位置補正)が指令された場合に発生します。
アラームProgram Error (P35)レジスタに書き込まれた補正値が最大許容指令範囲を超えた場合に発生します。
アラームProgram Error (P29) / P294G48オフセットキャンセルが不完全な状態で、プログラム形式切り替えON(G188)またはキャンセル(G189)が実行された場合に発生します。

警告:G48 tool position offsetがアクティブな状態で高速高精度サイクル(G120.1またはG121)を呼び出そうとすると、プログラムエラー P128がトリガーされ、プログラムの実行が即座に停止します。

ブランド比較

比較項目FanucSiemensMitsubishi
G48コマンドのサポートサポートあり(Group 00 non-modalなtool offset double decrease)。サポートなし。オフセットはTx DxおよびG41/G42を介して管理されます。マシニングセンタシステムでM2/M0形式のGroup 00非モーダルコマンドとしてサポートあり。
先読みバッファの制限厳格な制限(Parameter No. 19625)。移動を伴わないブロックが連続してN-2を超えると、過切削が発生します。深い先読みキューにより、移動を伴わない複数のブロックにわたって補正ベクトルを動的に解決します。深い先読みキューにより、移動を伴わない複数のブロックにわたって補正ベクトルを動的に解決します。
逆走行時の座標回復手動ハンドル逆トレース中のnon-modalオフセットの動的な回復は非対応。— (no source)サポートあり。軸のドリフトを防ぐために、モーダルな情報記憶ブロックを使用してG127手動任意逆走行と統合されています。
固定サイクルのインターロック / 挙動P-Qシーケンスブロック内のG43/Dコマンドは無視されるか、Alarm PS0325をトリガーします。仕上げ輪郭セグメントは、高レベルのサイクル内で動的に管理されます。固定サイクルの間、G45-G48コマンドは無視されます。
工具長補正コマンド個別のプラス(G43)およびマイナス(G44)コマンド。ネイティブモードでは、工具エッジ選択モデル(D1、D2)を介して方向シフトが自動的に管理されます。個別のプラス(G43)およびマイナス(G44)コマンド。

技術解析

工具オフセット管理の分析評価から、Fanuc、Siemens、およびMitsubishi制御の間に3つの大きな違いが明らかになります。第一に、Fanucは古いプログラムとの後方互換性を維持するために、G48を厳密にレガシーなGroup 00の非モーダル(unmodal)コマンドとして保持しています。対照的に、SiemensはG45〜G48を完全に排除しています。代わりに、Siemensは切れ刃オフセット(アドレス D)とプログラム可能な輪郭オフセット変数 OFFN に依存して、オフセットを動的に管理します。このアーキテクチャの違いにより、G48を含むレガシープログラムは、ブロックごとのオフセットロジックをモーダル(modal)なプロファイル補正コマンドに変換しなければ、Siemens制御上で実行できません。

第二に、Mitsubishiマシニングセンタ制御はG48をGroup 00の非モーダル(unmodal)なオフセット倍角減少(double decrease)としてサポートしていますが、旋盤システムでは位置オフセット用のコマンドとしては存在しません。代わりに、Mitsubishi旋盤構成では、工具ノーズ半径補正用にG46、すべてのスピンドル同時制御モード用にG47.1を予約しています。座標系の正しい実行を保証するために、MitsubishiプログラムはG188またはG189の形式(フォーマット)切り替えを利用して、旋盤とマシニングセンタのシステムを動的に切り替えることができます。形式切り替え中には工具オフセットが再初期化され、G48のキャンセルが不完全な場合、コンパイラはプログラムエラー(P29など)を発生させて実行を停止します。

第三に、Mitsubishiは非モーダル(unmodal)オフセットを手動任意逆走行機能(G127)と統合して座標情報を回復します。手動パルス発生器(手動ハンドル)による逆トレース中、Mitsubishiのモーションカーネルは専用のモーダルな情報記憶ブロックを使用してG45-G48の非モーダルオフセット座標を回復し、軸のドリフトを防止します。Fanuc制御は、非モーダルなワンショット位置オフセットについて手動ハンドル逆トレース中の座標回復をサポートしていないため、オペレータがプログラムされたパスに沿って手動で後退させようとすると、tool turretが衝突するリスクが高まります。さらに、FanucはParameter No. 19625を介して厳密な先読みバッファ制約を課しており、移動を伴わないブロックを連続して実行しすぎるとバッファが枯渇して食い込み(gouging)を引き起こす可能性があります。これに対し、Siemensは、パスの交点が計算できない境界ブロックを処理するためにG461/G462の円弧・直線伸長を使用します。

プログラム例

Fanucの例

G91 G01 G48 X100.0 D01 F150 ;
G90 G00 G48 Y50.0 H02 ;
G91 G00 G48 X0 Y0 D03 ;

空運転 (dry run)

  • コントローラは、incrementalモードでX軸に沿って直線補間(linear interpolation)移動を実行します。実際の移動距離は、プログラムされたプラスX方向に、工具補正レジスタD01に格納されたオフセット値のちょうど2倍だけ、150 mm/minのfeedrateで減少します。
  • コントローラはabsoluteモード(G90)に切り替え、Y50.0への位置決め(G00)を実行します。Y軸の目標座標は、H02のオフセット値の2倍だけシフト(減少)します。
  • コントローラは再びincrementalモード(G91)に切り替え、X軸およびY軸に沿った移動量ゼロのコマンドを実行します。両軸は、レジスタD03に格納された負のオフセット値のちょうど2倍だけ物理的に移動(シフト)し、結果として倍の拡張が起こります。

Siemensの例(工具半径補正の代替案)

N10 G17 T="DRILL" D1 M03 S1500 ;
N20 G01 G41 G461 NORM X50.0 Y50.0 OFFN=1.2 F600 ;
N30 G40 G00 KONT X100.0 Y100.0 D0 ;

空運転

  • コントローラはXY平面(G17)を選択し、エッジD1を持つ工具"DRILL"を呼び出し、spindleを時計回りに1500 RPMで起動させ、工具長および半径のオフセットをロードします。
  • 工具は、法線方向アプローチベクトル(NORM)とG461コーナー伸長を用いて左側工具半径補正(G41)をアクティブにしながら、X50.0 Y50.0へ移動します。600 mm/minのfeedrateで、OFFNパラメータを使用して輪郭プロファイルに対して直接垂直に1.2 mmのオフセット(許容量)がプログラムされています。
  • コントローラは工具半径補正をキャンセル(G40)し、移行円弧パス(KONT)を経由して座標X100.0 Y100.0へと後退(リトラクト)を実行し、アクティブな工具オフセットをクリアします(D0)。

Mitsubishiの例

G91 G01 G48 X-50.0 D01 F300 ;
G90 G00 G48 Z100.0 D02 ;
G91 G00 G48 Y0 D03 ;

空運転

  • コントローラは、incrementalモードでマイナスX方向に直線補間切削(G91 G01)を実行します。移動距離は、オフセットレジスタD01に格納された値のちょうど2倍だけ、300 mm/minのfeedrateで減少します。
  • コントローラはabsoluteモード(G90)に切り替え、Z100.0への位置決め(G00)を実行します。Z軸の目標座標は、レジスタD02に格納されたオフセット値の2倍だけ減少します。
  • コントローラは、Y軸に沿った移動量ゼロのコマンドを使用してインクリメンタル位置決め(G91 G00)を実行します。Y軸は、レジスタD03に格納された負のオフセット値のちょうど2倍だけ物理的に移動(シフト)します。

エラー解析

ブランドアラームコード発生条件オペレータ側の症状原因 / オペレータの対処法
FanucAlarm PS0041 / No. 041アクティブでmodalなカッター補正(G41/G42)中に、G48 tool offset double decreaseコマンドをプログラムしようとした場合。CNC画面にAlarm PS0041が表示され、軸移動が即座に停止し、プログラムの実行が中断されます。カッター補正干渉。オペレータはまずG40を使用してカッター補正をキャンセルするか、G41/G42ブロックからG48を削除する必要があります。
FanucAlarm PS0368最初にG49を呼び出さずに工具長補正(G43/G44/G49)と非モーダル(G45–G48)オフセットの間で切り替えた場合、またはオフセットがアクティブな状態でParameter 5040 Bit 3 (TCT)を変更した場合。CNC画面にAlarm PS0368が表示され、機械の動作が停止します。アクティブなオフセットの競合。オフセットタイプの切り替えやパラメータ設定の変更を行う前に、G49コマンドをプログラムして現在の補正モードをキャンセルしてください。
FanucAlarm PS0325固定荒加工サイクル(G71、G72、G73)の仕上げ形状プログラムブロック(シーケンス番号PからQまで)の内部に、G48やその他の工具オフセットコマンドがプログラムされた場合。CNC画面にAlarm PS0325が表示され、荒加工サイクルの実行が中断されます。形状プログラムで使用不可能なコマンド。仕上げ形状定義ブロック範囲からG48または補正コマンドを削除してください。
FanucAlarm PS5257Parameter No. 5008 Bit 4 (MCR)が1に設定されているときに、MDIモードで工具位置オフセットまたは半径補正を呼び出した場合。CNC画面にAlarm PS5257が表示され、コマンドが拒否されます。MDIモードでのカッター補正が無効。パラメータMCRを0に設定するか、メモリモードでオフセットを実行してください。
SiemensAlarm 14011デジタル割り込みを介してG10.6高速工具リトラクトが有効になったが、退避用サブルーチンCYCLE3106.spfが見つからない場合。高速リフト指令中のspindle退避に失敗し、Alarm 14011により実行が停止します。退避マクロの不足。CYCLE3106.spfを部品プログラムメモリディレクトリにアップロードしてください。
SiemensAlarm 14016サブルーチン呼び出しが、特定の機能を持つM関数に重畳されるプログラムサイクル呼び出し競合。プログラムの実行が停止し、Alarm 14016が表示されます。サイクルやM関数におけるコマンド競合を避けてください。
SiemensAlarm 61800グローバルオプションパラメータMD 18800が有効になっていない状態で、プログラムでISO dialectコマンド(G291など)が実行された場合。コントローラがISOコマンドを解析できず、Alarm 61800が発生します。ISO Dialectオプションが無効。マシンデータMD 18800を1に設定して、外部言語解釈を有効にしてください。
Mitsubishiプログラムエラー (P45)G43.7(工具位置補正)がアクティブな状態で、G48 tool position offset double decreaseコマンドを実行しようとした場合。制御画面にプログラムエラー (P45) が表示され、座標移動が停止します。工具位置補正との競合。G48を指令する前にG43.7を解除してください。
Mitsubishiプログラムエラー (P35)G10またはアクティブなレジスタを介してプログラムされた工具オフセット値が、Parameter No. 1003 iunitで定義された最大指令範囲を超えた場合。プログラムが中断され、オペレータ画面にプログラムエラー (P35) が表示されます。値が範囲外。プログラムされたオフセット値を、有効な入力設定単位の解像度範囲に適合するように調整してください。
Mitsubishiプログラムエラー (P128)高速高精度サイクルG120.1またはG121が実行されたときに、G48またはその他の工具位置オフセットコマンド(G45〜G48)が有効になっている場合。制御が軸の移動を停止させ、プログラムエラー (P128) が表示されます。高精度サイクル中の位置オフセット有効化。G120.1またはG121を開始する前に、G48オフセットを無効化してください。
Mitsubishiプログラムエラー (P29) / P294G48オフセットキャンセルが不完全な状態で、プログラム形式切り替えON(G188)またはキャンセル(G189)が実行された場合。コンパイラが実行を停止し、プログラムエラー (P29) が表示されます。形式切り替えを実行する前に、オフセットのキャンセルを完了してください。

実務応用ノウハウ

十分なクリアランスのない状態で、あるいは誤ったレジスタ符号を記述した古いプログラムでG48 tool offset double decreaseを実行すると、toolやtool turretが回転するspindle chuckやテーブル上のworkpiece vise jaw、治具のclampsへ直接激突する深刻な衝突事故を引き起こします。G48は移動ブロック内で直接座標シフトを制御するため、DまたはHのoffsetレジスタに格納された値の符号(プラス・マイナス)が誤っていると、プログラムされたtoolの移動方向が完全に反転し、期待していたパスの収縮の代わりに倍の拡大が発生します。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前にParameter No. 5040 Bit 3 (TCT)を確認することで、このコマンドで最も多い非計画停止を防げる。特に、オフセットが有効な状態でParameter No. 5040 Bit 3 (TCT)を変更しようとすると、即座にAlarm PS0368を誘発し、重大な非計画停止に繋がります。また、G48はG41/G42といったmodalなカッター補正と併用できないため、これが混在したプログラムを実行するとFanucではAlarm PS0041(MitsubishiではProgram Error (P45))が発生し、その場で軸移動が急停止してワークが損傷します。これにより、仕上げ精度の再現性の低下を招き、量産ラインでの不良品発生率が跳ね上がります。さらに、FanucのParameter No. 19625(Look-Ahead Buffer Size)によるバッファ制限により、移動を伴わないブロックが連続するとバッファが枯渇し、プログラム上の輪郭から外れた位置への過切削(gouging)が発生するリスクがあります。三菱の制御システムにおいても、Parameter No. 1003 iunitで定義された入力単位の制限(Program Error (P35))や、高精度加工モード(G120.1やG121)の実行時にG48が残存していることによるProgram Error (P128)の発生など、非modalならではの挙動が生産ラインの信頼性に直接的な影響を与えます。Siemens制御においては、MD 10760 $MN_G53_TOOLCORRやMD 20380に基づいて、Tx Dx指令とOFFNによる連続輪郭制御を正しく適用することが、ロット間の繰り返し精度を高め、再現性の低下や不良品発生を防ぐために不可欠です。

関連コマンド

  • G45 (Tool Position Offset: Single Increase): プログラムされた移動距離を単一のオフセット値だけ増加させ、G48のシングルステップ拡張(拡大)版に相当します。
  • G46 (Tool Position Offset: Single Decrease): プログラムされた移動距離を単一のオフセット値だけ減少させ、G48のシングルステップ収縮(短縮)版に相当します。
  • G47 (Tool Position Offset: Double Increase): プログラムされた移動距離をオフセット値のちょうど2倍増加させ、G48のダブルステップ拡張版に相当します。
  • G40 / G41 / G42 (Cutter Radius Compensation Cancel, Left, Right): レガシーでnon-modalなG45〜G48のブロックごとのオフセットに代わる、modalで連続的な先読みパスオフセットを計算します。
  • G43 / G44 / G49 (Tool Length Compensation Plus, Minus, Cancel): spindle軸に沿った工具長オフセットを有効化およびキャンセルします。G48の座標シフトとは別に管理する必要があります。

おわりに

レガシーコマンドであるG48 tool offset double decreaseの運用においては、パラメータチェックと事前の空運転による安全確認を徹底することが、量産時のロット間における再現性の低下を防ぐ唯一の方法です。特に、DまたはHレジスタに格納される符号管理、およびG91 incrementalモードにおける挙動の違いをプログラム上で検証しておくことは、tool turretの衝突やvise jawの破損といった物的損害の防止に直結します。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるリスクが常に伴います。段取り前にParameter No. 5040 Bit 3 (TCT)を確認することで、このコマンドで最も多い非計画停止を防げるため、実務上の最善策となります。しかし、長期的な生産の信頼性と繰り返し精度を維持し、再現性の低下や不良品発生を完全に排除するためには、非modalなG45〜G48コマンドから、現代的なmodalのG41/G42補正システム(SiemensにおいてはTx DxおよびOFFNによる輪郭制御)へとプログラムを順次移行し、段取り段階での人的ミスを構造的に排除する開発プロセスを推奨します。

よくある質問

G48による倍角減少オフセット指令を繰り返す量産加工において、複数ロット間で寸法ばらつき(再現性の低下)が発生する原因と対策は何ですか?

主な原因は、機械の連続運転に伴う熱変位や機械座標のドリフト、あるいはnon-modalなG48指令のプログラム記述ミスです。特にG48は単一ブロックでのみ有効なため、摩耗補正量を手動で頻繁に書き換える運用は再現性の低下や不良品発生の直接的な原因となります。対策として、毎ロットの開始前や一定個数の加工完了後に、必ずG28を実行してエンコーダの位置フィードバックを同期させ、かつ実務的な対策として非モーダルなG48指令から、カッター摩耗を一括制御できるモーダルなG41/G42(ツール径補正)へとプログラムを順次移行してください。

プログラム上でカッター補正(G41/G42)を有効にしている状態でG48コマンドを実行しようとすると、FanucでAlarm PS0041が発生するのはなぜですか?

Alarm PS0041が発生する最大の要因は、モーダルなカッター補正(G41/G42)がアクティブな状態で非モーダルなG48を実行した際に、CNC制御装置の先読みバッファ内での補正ベクトル演算が破綻し、プログラムの交点計算が不可能となることです。このトラブルを防ぐために、G48を呼び出す前に、必ず独立したブロックでカッター補正キャンセル(G40)を指令し、オフセットベクトルが完全にゼロになったことを確認してからG48ブロックを実行してください。

三菱製マシニングセンタでG48コマンドを実行した際、Parameter No. 1003 iunitや#1120 TofValの設定値はどのように動作に影響しますか?

Parameter No. 1003 iunitは入力単位系を設定するパラメータであり、この設定値がオフセットレジスタの分解能(有効データ範囲)を決定するため、値がズレているとProgram Error (P35)が発生します。また、#1120 TofValは、#2000番台の形状・摩耗補正値をどのように適用するかを制御するため、未検証のまま量産を行うと意図しない倍角補正が働き、寸法精度の悪化や再現性の低下を招きます。段取り作業の際には、必ずiunit(B〜E)およびTofValの設定値を確認し、実際の工具補正データが指令値の分解能に適合しているか確認ゲージ等を用いて検証してください。

まだ解決しませんか?

このトピックについて、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 - 2008)
  • Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)

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

関連記事

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

Siemens G71/G710メトリック寸法プログラミング設定ガイド

Siemens SINUMERIK制御におけるG71およびG710メトリック寸法設定のプログラミング方法を解説。MD 10240パラメータ検証から、Alarm 14800や12080などの構文エラー回避、回転軸FGREFファクタ計算、空運転による軌道検証まで徹底解説します。

FanucSiemensProgramming

G69バランスカット解除:CNC旋盤の座標復帰と干渉防止

Fanuc、Siemens、Mitsubishi制御のCNC旋盤におけるG69バランスカットキャンセル(解除)コマンドのプログラミング方法を解説。対向刃物台の同期制御を安全に解除し、チャック爪や治具への激突事故やアラーム停止を確実に防ぐ手順とパラメータ設定を網羅。

FanucSiemensProgramming

G70 CNC仕上げサイクル完全解説:構文・パラメータ・障害対策

CNC旋盤のG70仕上げサイクルを徹底解説。Fanuc、Siemens CYCLE95、Mitsubishiの構文の違い、PS0322・PS0325アラームの回避法、パラメータ設定、衝突事故を防ぐ安全な退避経路プログラミングを詳述。

FanucSiemensProgramming

G69座標系回転・ミラーイメージ解除のNCプログラミング

Fanuc、Siemens、MitsubishiのCNC旋盤におけるG68対向タレットミラーおよび座標回転のG69キャンセル機能を解説。#1202や#1119パラメータの検証、P29・M01 1036アラーム防止、刃物台衝突回避と量産ロットの繰り返し精度向上を図る実務ノウハウ。

FanucSiemensProgramming