Skip to main content
CNC.wiki

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

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

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

CNC CARE 共同創業者

はじめに

工作機械の回転するspindle chuckやワークのvise jawにtoolやtool turretが直接衝突するハードクラッシュは、十分なクリアランスがない状態で、あるいは誤ったレジスタ符号を記述した古いプログラムでG47 tool offset double increaseを実行した際に発生する代表的な事故である。G47は移動ブロック内で直接座標シフトを制御するため、DまたはHのoffsetレジスタに格納された値の符号(プラス・マイナス)が誤っていると、プログラムされたtoolの移動方向が完全に反転し、期待していたパスの拡大ではなく倍の収縮が起こる。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前にParameter No. 5040 Bit 3 (TCT)などのパラメータを確認することで、このコマンドで最も多い非計画停止を防げる。特に、座標計算エラーによって軸がプログラムされた輪郭と逆方向に移動し、テールストックclampやテーブルclampsなどの干渉物付近で突然のシフトが発生すると、超硬インサートが飛散し、ガイドウェイが変形してFanucのNo. 041 / PS0041といった過負荷アラームが作動し、ワークは一瞬にして廃材(scrap part)となる。このような再現性の低下や不良品発生を避けるためには、tool radiusの2倍を超える安全クリアランスを常に確保し、かつ非modal(one-shot)であるG47のブロックごとの記述漏れを防げる厳格なコード管理が求められる。

技術概要

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

クイックリード

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

基本概念

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

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

コマンド構造

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

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

構文フォーマット

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

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

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

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

Siemens 制御モード:

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

標準的なプログラム形式はG91 G01 G47 X-120.0 D01 F300;です。このブロックは、軸を増分移動させ、プログラムされた-X方向への移動距離をレジスタD01 of 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. 5000 Bit 3 (GNI)tool path gouging(食い込み)を防止するため、移動量のないG40キャンセルブロックの挙動を制御します。
パラメータParameter No. 1013入力解像度を決定するためのインクリメントシステムIS-A/B/C/D/Eを制御します。
アラームAlarm PS0041カッター補正干渉。アクティブなG41/G42の実行中にG47がプログラムされた場合に発生します。
アラームAlarm PS0368最初にG49を呼び出さずに補正タイプを切り替えた場合、またはアクティブなoffsetが存在する状態でTCTを変更した場合に発生します。
アラームAlarm PS0325荒加工cycle(G71、G72、G73)のシーケンスブロックPからQの範囲内にG47がプログラムされた場合に発生します。
アラームAlarm PS5257Parameter 5008 Bit 4 (MCR)が1のとき、MDIでtool position offsetまたは径補正がアクティブな場合に発生します。
バージョンSeries 30i/31i/32i-B Plus vs LegacyParameter No. 5000 Bit 3 (GNI)=0の場合、工具移動のないG40キャンセルブロックが異なる方法で処理され、新しいシステムでは過切削が発生する可能性があります。

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

Siemens

Siemens制御は、ネイティブモードまたはISO Dialect(G291)モードにおいて、レガシーなG47 double increaseコマンドをサポートしていません。代わりに、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 20250TRCモードにおける先読みバッファの連続ブロック遮断制限値。デフォルトは3。
パラメータDISCG450での外側コーナーにおけるトランジションサークルオーバーシュート。範囲は0〜100。
パラメータOFFNプログラムされた輪郭に対して垂直(法線方向)に適用される輪郭オフセット許容量。
パラメータアドレス D補正を有効化するための刃先選択レジスタ(値は1〜32000)。
アラームAlarm 10751衝突危険アラーム。G40後退ブロック中に、先読みプリプロセッサが幾何学的に交点算出が不可能と判断した場合に発生します。
アラームAlarm 14011デジタルインクリメントを介して高速工具リトラクトが有効になったが、CYCLE3106.spfが見つからない場合に発生します。
アラームAlarm 61800ISO Dialect指令(G291)が呼び出されたが、MD 18800が有効になっていない場合に発生します。
バージョン840D sl vs. 802D slグループ20の多刃旋削機能(G51.2、G50.2)は840D slでのみサポートされ、802D slではパラメータMD 10604がロックされています。

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

Mitsubishi

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

ミリングの標準的なプログラム形式はG90 G01 G47 X50.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)システムに従うように入出力寸法を設定します。
アラームプログラムエラー (P45)G43.7(工具位置補正)がアクティブな状態でG47が実行された場合に発生します。
アラームプログラムエラー (P35)補正値が#1003 iunitで定義された最大コマンド範囲を超えた場合に発生します。
アラームプログラムエラー (P128)高速高精度cycle G120.1またはG121が実行されたときに、G45〜G48コマンドがアクティブな場合に発生します。
バージョンマシニングセンタ vs. 旋盤マシニングセンタのみがG47位置オフセットをサポートします。旋盤構成では、spindle制御にG47.1を使用します。
バージョンM800V/M80V vs LegacyM800V/M80Vは、サブミクロン精度のためにUnit E/F入力設定(最大±999.999999 mm)をサポートしています。

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

ブランド比較

機能 / 評価指標FanucSiemensMitsubishi
G47コマンドのサポートサポートあり(Group 00 non-modalなtool offset double increase)。サポートなし。オフセットはTx DxおよびG41/G42を介して管理されます。サポートあり(Group 00 non-modalなtool position offset double elongation)。
逆方向実行時の座標回復手動ハンドル逆トレース中のnon-modalオフセットの動的な回復は非対応。— (no source)サポートあり。軸のドリフトを防ぐために、modalな情報記憶ブロックを使用してG127手動任意逆走行と統合されています。
バイリンガルコンパイラ統合単一の統合G-codeコンパイラ。切り替え式コンパイラ。ISO Dialect G-codeにはG291、ネイティブのSINUMERIKモードにはG290が必要です。旋盤とマシニングセンタのシステム間でG188/G189形式の切り替えが可能です。
変換割り込みの挙動変換モデルにより、停止することなくmodal補正の移行が可能です。アクティブな変換中に工具タイプ400〜599のDエッジ方向が切り替わると、前処理停止が発生します。パラメータ#1268 bit 6を介して、工具長補正モード(物理的な軸移動 vs 座標シフト)をサポートしています。

技術解析

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

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

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

プログラム例

Fanucの例

G91 G01 G47 X-120.0 D01 F300 ;
G90 G00 G47 Z10.0 H02 ;
G91 G00 G47 Y0 H03 ;

空運転 (dry run)

  • コントローラは、incrementalモードでX軸に沿って直線 interpolation 移動を実行します。実際の移動距離は、プログラムされたマイナスX方向に、工具補正レジスタD01に格納されたオフセット値のちょうど2倍だけ、300 mm/minのfeedrateで増加します。
  • コントローラはabsoluteモード(G90)に切り替え、Z10.0への位置決め(G00)を実行します。Z軸の目標座標は、H02のオフセット値の2倍だけシフトします。
  • コントローラは再びincrementalモード(G91)に切り替え、Y軸に沿った移動量ゼロのコマンドを実行します。Y軸は、レジスタH03に格納されたオフセット値のちょうど2倍だけ物理的に移動(シフト)します。

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

N10 G17 T1 D2 M03 S1200 ;
N20 G01 G41 NORM X50.0 Y50.0 OFFN=1.5 F500 ;
N30 G40 G00 KONT X100.0 Y100.0 D0 ;

空運転

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

Mitsubishiの例

G90 G01 G47 X50.0 D01 F300 ;
G91 G00 G47 Y0 H02 ;
G90 G02 G47 X10.0 Y10.0 I10.0 J0 D03 F150 ;

空運転

  • コントローラはアブソリュート直線切削(G90 G01)を実行し、目標座標をX50.0にシフトさせ、D01に格納されたオフセット値の2倍だけ実際の物理パスを伸長させます。feedrateは300 mm/minです。
  • コントローラは、Y軸に沿った移動量ゼロのコマンドを使用してインクリメンタル位置決め(G91 G00)を実行します。軸は、レジスタH02に格納された工具オフセット値のちょうど2倍だけ物理的に移動します。
  • コントローラは、中心点I10.0 J0で座標X10.0 Y10.0へのアブソリュート円弧 interpolation を実行します。実際の円弧パスは、D03に格納された工具位置オフセット値の2倍だけ伸長します。feedrateは150 mm/minです。

エラー解析

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

実務応用ノウハウ

ワークの寸法ばらつきによる不良品発生や、機械干渉による突発的なspindle破損を未然に防ぐためには、加工段取りの段階における各制御装置固有のパラメータ設定とアラーム発生条件の把握が不可欠である。特にFanucのParameter No. 5040 Bit 3 (TCT)が正しく設定されていない状態、またはアクティブなoffsetが存在する状況下でのパラメータ変更は、直ちにAlarm PS0368を誘発し、重大な非計画停止に繋がる。また、G47はG41/G42といったmodalな補正と併用できないため、これが混在したプログラムを実行するとFanucではAlarm PS0041(MitsubishiではProgram Error (P45))が発生し、その場で軸移動が急停止する。これにより、途中で加工が遮断されたワークは仕上げ精度の再現性の低下を招き、量産ラインでの不良品発生率が跳ね上がる。さらに、FanucのParameter No. 19625(Look-Ahead Buffer Size)によるバッファ制限により、移動を伴わないブロックが連続するとバッファが枯渇し、プログラム上の輪郭から外れた位置への異常な食い込みが発生するリスクがある。三菱の制御システムにおいても、Parameter No. 1003 iunitで定義された入力単位の制限(Program Error (P35))や、高精度加工モード(G120.1やG121)の実行時にG47が残存していることによるProgram Error (P128)の発生など、非modalならではの挙動が生産ラインの信頼性に直接的な影響を与える。段取り前にParameter No. 5040 Bit 3 (TCT)などのパラメータを確認することで、このコマンドで最も多い非計画停止を防げる。Siemens制御においては、MD 10760 $MN_G53_TOOLCORRやMD 20250などのシステムパラメータに基づき、Tx Dx指令とOFFNによる連続輪郭制御を正しく適用することが、ロット間の繰り返し精度を極限まで高めるための鍵となる。

関連コマンド

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

おわりに

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

よくある質問

G47を使用すると量産時にロット間で寸法ばらつき(再現性の低下)が発生するのはなぜですか?

G47はnon-modal(単一ブロックのみ有効)であるため、後続のプログラムブロックで記述漏れがあると補正が反映されず、ロットごとの摩耗量や熱変位のばらつきに対応できなくなります。特にD/Hレジスタの値を手動で書き換える運用は、再現性の低下や不良品発生の直接的な原因となります。実務的な対策として、非modalな個別ブロック指定を廃止し、modalなG41/G42(ツール径補正)へプログラムを書き換えて一括管理してください。

FanucでG47を使用するとAlarm PS0368やAlarm PS0041が発生する原因と対策は何ですか?

Alarm PS0041は、modalなツール径補正(G41/G42)がアクティブな状態でnon-modalなG47を実行した際に、先読みバッファのベクトル演算が破綻することで発生します。また、Alarm PS0368は、G49によるツール長補正キャンセルを行わずにオフセットタイプを切り替えたり、アクティブなオフセットがある状態でParameter No. 5040 Bit 3 (TCT)を変更した場合に発生します。エラー防止のため、プログラム起動前に必ずParameter No. 5040 Bit 3が1に設定されていることを確認し、G47を実行する前にはG49またはG40によるキャンセルコマンドを明記してください。

三菱製マシニングセンタでG47を実行した際、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