G43工具長正補正のCNCプログラミングと衝突防止対策
G43工具長正補正(+)コマンドのプログラミング手法と衝突防止対策を解説。Fanuc 5040、Siemens MD 20380、Mitsubishi No. 1268などのパラメータ設定、アラームPS0368等のトラブル対策、量産時の繰り返し精度を高める実務ノウハウを網羅。
はじめに
機械の基準位置復帰後に実行されるポジショニングブロックでG43工具長正補正(positive tool length compensation)の指令を失念すると、補正が適用されないまま工具が急速降下する致命的な事故が発生します。スピンドルが高速回転するカッターを、物理的なオフセットが反映されていないワーク座標系(WCS)のゼロ点に向けて突き動かすと、ツールホルダやスピンドルヘッドはテーブル上のワーククランプ(workpiece clamp)や治具のバイスジョー(vise jaw)、あるいは回転するスピンドルチャック(revolving spindle chuck)に最高急送り速度(rapid traverse)で直接激突します。この高速度のハードコリジョン(衝突事故)は、高価な超硬工具を粉砕し、スピンドルシャフトを曲げ、軸過負荷アラーム(overload alarm)を発生させて自動運転を緊急停止させるだけでなく、仕掛品を廃却処分(ruined scrap)に追い込みます。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前に5040番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。これにより、アプローチ時の位置決めエラーや座標系の狂いに起因する再現性の低下や不良品発生を未然に防止し、量産加工における長期的な一貫性と繰り返し精度を確立できます。
技術概要
| 技術属性 | 仕様スペック |
|---|---|
| コマンドコード | G43 |
| モーダルグループ / モダリティ | グループ08 / モーダル |
| 適用ブランド | Fanuc、Siemens、Mitsubishi |
| 重要パラメータ | Fanuc: No. 5040 (グループ23および方向スイッチ), No. 5001 (Type A/B/C選択); Siemens: MD 20380 (ISO Dialectオフセットモード), MD 10760 (G53抑制); Mitsubishi: No. 1268 (座標シフト vs 軸移動) |
| 主な制約事項 | 加工前に工具長補正が有効であり、検証されている必要があります。FanucおよびMitsubishiでは、基準位置復帰(G28/G30)によってモーダルオフセットベクトルがキャンセルされます。ねじ切り経路(thread-cutting paths)でのオフセットのプログラミングは禁止されています。 |
クイックリード
- 実行前にオフセットを設定: プログラムを実行する前に、工具先端からプログラム原点までの実際の距離を測定し、対応するHレジスタにロードします。
- 最初に加工平面を選択: 正しい物理座標軸に正補正が適用されるよう、アクティブな平面(フライス加工の場合はG17)を設定します。
- ねじ切りブロックを避ける: 同期アラームを防ぐため、ねじ切りコマンドと同一のブロックでG43やHオフセットの変更をプログラミングしないでください。
- 原点復帰によるキャンセルに注意: 制御装置はアクティブな補正ベクトルを自動的にキャンセルするため、g28-automatic-return-to-reference-position または g30-reference-position-return を介して機械原点座標に戻った後は、必ずG43をプログラミングし直してください。
- パラメータのシフトタイプを検証: 動作を予測するために、パラメータ設定(FanucのTOS/TOPやMitsubishiのNo. 1268など)が座標シフトまたは物理軸移動のどちらに設定されているかを確認します。
- プログラム切替前にキャンセル: プログラムフォーマットシステムの切り替え(G188/G189)や座標系のプリセット(G92.1)を実行する前に、G49キャンセルコマンドを実行してください。
基本概念
フライス加工用のCNC制御装置でG43工具長正補正(positive tool length compensation)を有効にすると、数学的に再計算されたZ軸の軌道が構築されます。これにより、プログラマーはプログラム作成時に切削工具の実際の物理的な長さを知ることなく、図面上の理論的な基準面に基づいてオフラインで加工プログラムを作成できます。機械の段取り(セットアップ)時、オペレータは工具アセンブリの物理的寸法(工具先端からプログラム原点または基準線までの距離)を測定し、制御装置のオフセットテーブル内の対応するレジスタに直接入力します。一致するオフセットレジスタを指定してG43コマンドが実行されると、モーションカーネルはその値をアクティブな軸位置に適用し、工具先端がプログラムされた座標を正確に追従するようにします。
段取り作業者およびプログラマーは、基準点復帰、座標変換、および工具径補正(カッター補正)モード中にG43がどのように動作するかについて、極めて高い警戒を維持する必要があります。テーブル取り付け型のワーククランプ、治具のバイスジョー(vise jaw)、回転するスピンドルチャック(revolving spindle chuck)などのワーク保持具の近くでオフセットや座標のずれが生じると、スピンドルやツールタレットが治具に直接激突する致命的なハードコリジョン(衝突事故)を引き起こす恐れがあります。これは切削工具を粉砕し、過負荷アラームコードを発報させ、未加工のワークを廃却処分(ruined scrap)に至らせます。
コマンド構造
G43コマンドの構造は、対象となる座標軸と、工具長補正のオフセットレジスタ識別子を必要とします。対象となる座標(通常はZ軸)は、工具先端が到達すべき絶対位置を定義します。オフセットレジスタは、Hアドレスの後にオフセット格納番号を表す整数値を続けて指定します。モーションコントロールカードは、このHレジスタに格納されている正のオフセット値をZ軸座標に加算し、物理的なスピンドルを測定された工具長だけ高い位置に保持します。オフセットテーブル内の正しいレジスタを設定するために、自動測定プローブを用いて g37-automatic-tool-length-measurement サイクルを実行することもできます。
このコマンドを安全に実行するために、プログラマーはアクティブ化ブロックの前に正しい加工平面(通常、フライス加工ではG17)を選択します。工具径補正(カッター補正)モード中にG43を呼び出す場合は、先読みバッファの中断を避けるための特別な注意が必要です。補正は、G49またはH0コマンドによってキャンセルされるまでモーダルとして残ります。このモーダル状態により、その後のすべてのZ軸移動がアクティブなオフセット値で修正され、工具先端とワーク輪郭との間の安全な距離が維持されます。
構文とアドレス構造
FanucおよびMitsubishi Milling: G17 G00 (またはG01) G43 Z__ H__ ;
Siemens ISO Dialect Mode: G291 ; G00 G43 Z__ H__ ;
Siemens Native Mode: T__ D__ ;
| アドレス / 修飾子 | 説明 | 主な要件 |
|---|---|---|
| G43 | 工具長正補正(+) | 正の工具長補正を有効にするモーダルコマンド。 |
| Z | 目標座標 | 工具軸に沿った座標の終点(通常、G17平面ではZ)。 |
| H | オフセットレジスタ番号 | 工具長オフセット値を格納しているレジスタ番号を指定します。 |
| G49 | 補正キャンセル | アクティブな工具長補正モーダル状態をキャンセルします。 |
| H0 / D0 | レジスタキャンセル | H0(またはSiemensではD0)コマンドは、アクティブなオフセットベクトルをキャンセルします。 |
ブランド別応用
Fanuc
Fanucシステムでは、工具長正補正のモーダル状態は、Parameter No. 5040やParameter No. 5001などのコアパラメータによって制御されます。オフセットが有効な状態でParameter No. 5040 Bit 3 (TCT) を変更すると、アラーム PS0368 が生成されます。
起動コマンドは、G90 G00 G54 X100.0 Y100.0 S1500 M03 T01 ; に続いて、レジスタH01を使用して補正を有効にするために G43 Z2.0 H01 M08 ; とプログラムされ、G49 G28 Z0.0 M05 ; によってキャンセルされます。
| システムカテゴリ | 識別子 / 設定値 | 応用詳細 / 仕様 |
|---|---|---|
| パラメータ | Parameter No. 5040 Bit 3 (TCT) | G43、G44、G49をグループ23の準備機能コードとして有効にします。 |
| パラメータ | Parameter No. 5040 Bit 4 (TLG) | G43とG44の方向の意味を反転させます。 |
| パラメータ | Parameter No. 5006 Bit 6 (TOS) / No. 11400 Bit 2 (TOP) | 工具長補正のシフトタイプ。1(座標シフト)に設定されている場合、工具径補正(カッター補正)モード中に補正の開始/キャンセルを行うと、先読みバッファが停止し、減速停止します。 |
| パラメータ | Parameter No. 5001 Bit 0 (TLC) および Bit 1 (TLB) | 工具長補正タイプA、B、またはCを構成します。 |
| パラメータ | Parameter No. 5001 Bit 3 (TAL) | 工具長補正タイプCにおいて、2軸以上で同時にオフセットが実行された際のアラームを抑制します(1に設定時)。 |
| パラメータ | Parameter No. 5001 Bit 6 (EVO) | 1に設定されている場合、運転中にアクティブな工具長補正値を(G10、変数、またはHMIを介して)動的に更新できます。 |
| パラメータ | Parameter No. 5000 Bit 1 (MOF) | 工具径補正(カッター補正)モード中にHコードが変更された場合の軸移動を構成します。0の場合、軸はオフセット偏差分だけ即座に移動します。 |
| パラメータ | Parameter No. 19625 | オフセットモードにおいてブロックを先読みするための先読みバッファサイズ(N)。 |
| アラーム | PS0368 | オフセットがアクティブな状態でParameter No. 5040 Bit 3を変更しました。先にオフセットをキャンセルしてください。 |
| アラーム | PS0509 | ねじ切りコマンド(G32、G34、G35、G36)と同一ブロック内で工具オフセットまたはG43 G-codeの適用は避けてください。 |
| アラーム | PS0170 / P170 | プログラムされたHコードが、許容される最大オフセットセット数を超えています。 |
| バージョンによる違い | Series 30i/31i/32i-B Plus vs. 16i/18i/21i | Parameter No. 5000 Bit 3 (GNI) が0のとき、移動を伴わずにベクトル座標のみを指定したG40キャンセルブロックは「移動なし」として扱われます(前ブロックの終点で法線方向に移動します)。レガシープログラムを安全に動作させるには、GNIを1に設定してください。 |
| バージョンによる違い | モダン制御装置 | パラメータ #1247 set19/bit0 と #1292 ext28/bit3 が共に1に設定されている場合、自動運転の起動を防ぐためにMCPアラーム Y51 108 がトリガーされます。 |
警告: 座標シフトタイプにおいて、工具径補正(カッター補正)モード中にG43またはHコードの変更を行うと、先読みバッファのインターロックが作動します。制御装置は次の交点ベクトルを計算できず、物理的な減速停止を余儀なくされ、ワークに食い込み傷(削り残し)が発生して不良品となり、カッターの破損を招きます。
Siemens
Siemens制御装置では、ISO Dialectモードの解析はマシンデータ MD 18800 および MD 20380 によって構成されます。ISO Dialect変換オプションが無効な状態でG43を呼び出すと、アラーム 61800 がトリガーされます。
ISO Dialectの起動シーケンスは、モードを切り替えるための G291 ; で始まり、次に G00 G43 Z10.0 H02 M03 S1500 ; で正のオフセットを有効にし、G49 G00 Z200.0 D0 ; でキャンセルした後に、G290 ; でネイティブモードに戻します。
| システムカテゴリ | 識別子 / 設定値 | 応用詳細 / 仕様 |
|---|---|---|
| パラメータ | MD 20380 $MC_TOOL_CORR_MODE_G43_G44 | 外部言語がアクティブなときに、G43/G44オフセットをどのように処理するかを定義するチャンネル固有データ。 |
| パラメータ | MD 10760 $MN_G53_TOOLCORR | 1に設定されている場合、非モーダルな機械座標系移動(G53、G153、SUPA)中にアクティブな工具長および工具径補正を抑制します。 |
| パラメータ | MD 18800 $MN_MM_EXTERN_LANGUAGE | 外部ISO Dialectインタプリタを有効にします(1に設定)。 |
| パラメータ | MD 20154 $MC_EXTERN_GCODE_RESET_VALUES[n] | NCリセット時または電源投入時に有効になるISO DialectのGコードを定義します。 |
| パラメータ | Address H Register | 工具オフセットメモリ内のオフセット範囲(1から32000)。 |
| アラーム | 14800 | G43がアクティブで送り速度がプログラミングされていない状態で、直線補間(G1)中のプログラム経路速度がゼロに評価されました。 |
| アラーム | 61800 | MD 18800オプションが有効になっていない状態で、G291への切り替えまたはG43の実行を行いました。 |
| アラーム | 61000 | 工具オフセットが有効になっていない状態で、テクノロジーサイクル(POCKET3/POCKET4)を呼び出しました。 |
| バージョンによる違い | SINUMERIK 840D sl vs. 802D sl | 複数刃先旋削準備機能 G51.2 (ON) および G50.2 (OFF) は840D slではサポートされていますが、802D slでは省略されています。 |
| バージョンによる違い | レガシー SINUMERIK NCU571 | グループ39(CPRECOF/CPRECON)またはグループ40(CUTCONOF/CUTCONON)のキーワードは無効です。 |
警告: G53による後退移動中にオフセットを保持するように MD 10760 が誤って構成されている場合、スピンドルが必要以上に移動し、ワークのバイスジョー(vise jaw)やクランプ治具とのハードコリジョンを引き起こす可能性があります。
Mitsubishi
Mitsubishi制御装置では、G43の動作はParameter No. 1268やParameter No. 1247などのパラメータに依存します。座標シフトと物理軸移動の選択は、Parameter No. 1268 ext04/bit6を介して設定されます。
プログラムは、N10 G90 G00 G54 X100.0 Y100.0 ; で位置決めを行った後、N20 G43 Z2.0 H01 M08 ; で工具長補正を有効にし、N30 G49 G00 Z200.0 ; を使用してキャンセルします。
| システムカテゴリ | 識別子 / 設定値 | 応用詳細 / 仕様 |
|---|---|---|
| パラメータ | Parameter No. 1268 ext04/bit6 | 工具長オフセット動作タイプ。0 = 軸移動タイプ、1 = 座標シフトタイプ。 |
| パラメータ | Parameter No. 1268 ext04/bit5 | 変更量のオフセット動作タイプ。0 = 軸移動タイプ、1 = 座標シフトタイプ。 |
| パラメータ | Parameter No. 1247 set19/bit0 | 工具長指令による移動(単独のG43/G44/G49ブロック用)。0 = オフセット分移動する、1 = 移動しない(座標システムのみシフト)。 |
| パラメータ | Parameter No. 1292 ext28/bit3 | 変更された補正値を適用するタイミング。1 = 次のブロックから適用、0 = 次の補正軸移動ブロックから適用。 |
| パラメータ | Parameter No. 1210 RstGmd/bit18 および bit7 | NCリセット時のG43モーダル保持設定。Bit 18 = 1 かつ Bit 7 = 0 でG43を保持します。 |
| パラメータ | Parameter No. 8122 Keep G43 MDL M-REF | 1に設定されている場合、手動原点復帰の後にG43工具長補正が自動的に再有効化され、保持されます。 |
| パラメータ | Parameter No. 1274 ext10/bit3 | 単独のHアドレス(例:H1;)指令時にHモーダルを更新するかどうか。1 = 有効。 |
| パラメータ | Parameter No. 1381 TolOfsCmdCheck_M | ビット1が1の場合、補正値が空であるかチェックし、アクティブなオフセット値がゼロの場合にエラーをトリガーします。 |
| アラーム | MCPアラーム Y51 108 | #1247、#1292、および/または#1274がすべて1に設定されている場合に生じるパラメータ競合。NCを停止します。 |
| アラーム | Program Error P170 | 指令されたオフセット番号Hが、許容される最大セット数を超えています。 |
| アラーム | Program Error P169 | アクティブなオフセット量がゼロのときに、補正指令が実行されました(#1381/bit1 = 1の場合)。 |
| アラーム | Program Error P29 | G43が完全にキャンセルされる前にプログラムフォーマット切り替え(G188/G189)が呼び出されたか、または座標軸を指定せずにG92.1座標プリセットが指令されました。 |
| アラーム | Program Error P70 | 円弧補間コマンド(G02/G03)と同一のブロックでG43/G44/G49がプログラミングされました。 |
| バージョンによる違い | M800V/M80Vシリーズ | 高精度制御III(G05 P20000)が有効で、工具径補正がオンになると、先読みプリプロセッサの計算エラーを防ぐために、制御は高精度制御II(G05 P10000)に下がります。 |
| バージョンによる違い | 旋盤 vs フライス構成 | 旋盤システムでは工具長補正が一元化されたTコードで自動的に適用されます。フライス盤システムでは、モーダルなHコードで長さオフセット、モーダルなDコードで半径オフセットを分けて処理します。 |
警告: G43のキャンセルが不完全な状態で G188 または G189 のフォーマット切り替えを実行すると、コンパイラが即座に停止し、「Program Error P29」が表示されて主軸および軸移動が停止します。
ブランド比較
| 比較項目 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| 工具長方向スイッチ | 正(G43)および負(G44)のGコード方向によって厳格に分割されています。 | ネイティブモードでは、Dコードの切削刃レジスタの幾何学的オフセットを介して自動的に処理されます(G43/G44は不要)。 | 軸移動タイプと座標シフトタイプの両方をパラメータ(#1268 bit 6)によって実装しています。 |
| リセットおよび原点復帰動作 | G28またはG30の原点復帰動作中に自動キャンセルが強制されます。 | マシンデータ MD 10760 を介して、G53/G153/SUPA中のオフセットを抑制します。デフォルトでリセット時にも保持されます。 | パラメータ「#1210」のリセット設定およびパラメータ「#8122」の手動原点復帰再有効化設定に依存します。 |
| 先読みインターロックと安全 | 工具径補正中のN-2バッファ制限により、オフセット変更時に減速停止が強制されます。 | 連続パスG642スムージングにより、インラインのオフセット更新がスムーズにブレンドされます。 | パラメータの安全チェックに競合がある場合、保護のためのMCPアラーム Y51 108 がNCを自動的に停止させます。 |
| プログラミングインタプリタ | ネイティブ解析。 | G43をコンパイルするために、バイリンガルインタプリタの切り替え(G290/G291)が必要です。 | モーダルチェックを伴う、一元化された旋盤/フライスフォーマット切り替え(G188/G189)をサポートします。 |
技術解析
分析的に見ると、Fanuc、Siemens、MitsubishiにおけるG43工具長正補正の実装の違いは、プリプロセッサの設計、基準位置(原点)復帰ベクトルの処理、およびプログラミングインターフェースに集中しています。Fanucのプリプロセッサは厳格な先読み(look-ahead)バッファに依存しており、工具径補正(カッター補正)モード中にG43が変更されると、減速停止をトリガーします。これに対し、SiemensとMitsubishiは高度なプリプロセッサマクロキューと連続パスモード(continuous-path mode)のスムージングを利用して、工具長の更新を動的に計算します。さらに、Fanucは工具長補正の方向をG43(正)とG44(負)のGコードに厳密に分けています。SiemensはネイティブモードでDコードの切削刃レジスタを使用することにより、アクティブな平面や工具タイプに応じて多次元的なオフセットを自動計算するため、このGコードの選択自体を完全にバイパスします。一方、Mitsubishiはパラメータ設定によって制御される物理軸移動とサイレントな座標系シフトのいずれかを選択できます。
原点復帰時の挙動とリセット時のモーダル状態も、アーキテクチャ上の大きな違いです。Fanucは、原点復帰(G28またはG30)の実行中に工具長ベクトルの自動的かつハードウェアレベルのキャンセルを強制するため、その後の位置決めブロックではG43を明示的に再宣言する必要があります。SiemensとMitsubishiは、SiemensのMD 10760やMitsubishiのパラメータ#1210などの内部システム設定に基づいて、リセットや原点復帰をまたいでモーダルオフセット状態を保持します。SiemensではG53移動中にオフセットをグローバルに抑制できるのに対し、Mitsubishiは競合する移動指令が同時にアクティブな場合にMCPアラーム Y51 108 で機械を停止させる構造化されたパラメータチェックを使用します。また、Mitsubishiは初期化前にG43のキャンセル状態を検証する動的なフォーマット切り替え(G188/G189)を組み込んでいますが、これはより剛直なFanucのインタプリタやSiemensのバイリンガルなG290/G291パーサーには存在しない機能です。
プログラム例
Fanucミーリングの例
G90 G00 G54 X100.0 Y100.0 S1500 M03 T01 ; 絶対座標による位置決め、主軸正転起動
G43 Z2.0 H01 M08 ; H01レジスタから工具長補正を有効にしてZ2.0に位置決め、クーラントON
G49 G28 Z0.0 M05 ; 工具長補正をキャンセルし、Z軸を機械原点へ復帰、主軸停止
空運転 (dry run)の検証: プログラムを実行する前に、オフセットレジスタの入力値を確認してください。スタートアップブロックの空運転中、測定された工具長だけZ軸がスムーズに正方向へシフトすることを確認します。Z軸が機械基準点(原点)に後退し、G49がオフセットベクトルを正常にキャンセルすることを確認して、スピンドルがオーバートラベルしたり衝突したりしないようにします。
Siemens ISO Dialectの例
G291 ; インタプリタをISO Dialectモードに切り替えてG43工具長補正を有効化
G00 G43 Z10.0 H02 M03 S1500 ; レジスタH02の正補正を適用してZ10.0へ絶対位置決め
G49 G00 Z200.0 D0 ; 工具長補正(G49)をキャンセルし、アクティブな工具オフセット(D0)をクリア
空運転の検証: ワークの安全な上方でシミュレーションまたは空運転を実行します。G291によってコンパイラがISO Dialectインタプリタに正常に移行することを確認します。H02からのオフセットがアクティブな平面に沿ってスムーズに適用されることを確認し、後退中にD0コマンドがアクティブなオフセットベクトルをキャンセルして動作アラームが発生しないようにします。
Mitsubishiミーリングの例
N10 G90 G00 G54 X100.0 Y100.0 ; 安全な開始座標へ絶対急送り位置決め
N20 G43 Z2.0 H01 M08 ; オフセットレジスタH01を使用してG43工具長正補正(+)をZ2.0で有効化、クーラントON
N30 G49 G00 Z200.0 ; G49で工具長補正をキャンセルし、Z軸を退避
空運転の検証: スピンドルをワークから安全に離した位置に配置し、空運転サイクルを実行します。ブロックN20でZ軸の工具長補正がアクティブになり、座標表示カウンターがシフトすることを確認します。後退動作を記述したG49ブロックが、工具長補正状態を完全にキャンセルし、その後の工具呼び出し時に干渉アラームが発生しないことを確認します。
エラー解析
| ブランド | アラームコード | トリガー条件 | オペレータに現れる症状 | 原因 / 対策 |
|---|---|---|---|---|
| Fanuc | アラーム PS0368 | オフセットがアクティブな状態でParameter No. 5040 Bit 3 (TCT) を変更しようとしました。 | CNCシステムが動作を停止し、パラメータ書き込みエラーを表示します。 | パラメータ設定を変更する前に、G49を指令して工具長補正を無効にしてください。 |
| Fanuc | アラーム PS0509 | ねじ切りコマンド(G32、G34、G35、G36)と同一のブロックで、工具オフセットまたはG43がプログラムされました。 | コントローラはねじ切りブロックの時点で即座に実行を停止します。 | ねじ切りパスのブロック内での工具オフセットやアクティブなHコードの変更を避けてください。 |
| Fanuc | アラーム PS0170 | プログラムされたHコードが、許容される最大オフセットセット数を超えています。 | NCが停止し、無効なレジスタインデックスを報告します。 | 工具オフセットメモリの容量を確認し、Hアドレスを有効なインデックスに変更してください。 |
| Siemens | アラーム 14800 | G43が有効で送り速度が設定されていない状態で、直線補間(G1)中のプログラム経路速度がゼロに評価されました。 | スピンドル動作が一時停止し、補間エラーメッセージが表示されます。 | G1直線補間ブロックにおいて、ゼロではない送り速度 F がアクティブであることを確認してください。 |
| Siemens | アラーム 61800 | MD 18800オプションが有効になっていない状態で、G291への切り替えまたはG43を実行しました。 | 制御システムがプログラムの実行を中止し、無効なGコードコマンドのフラグを立てます。 | MD 18800(およびオプション19800)を1に設定して、外部ISO Dialect翻訳オプションを有効にします。 |
| Siemens | アラーム 61000 | 工具オフセットが有効になっていない状態で、テクノロジーサイクル(POCKET3/POCKET4)を呼び出しました。 | 加工サイクルが起動せず、オフセット欠如の警告が出力されます。 | テクノロジーサイクルを呼び出す前に、工具オフセット(TおよびD刃先選択)を有効にしてください。 |
| Mitsubishi | Y51 108 | パラメータ #1247 set19/bit0、#1292 ext28/bit3、および/または#1274 ext10/bit3がすべて1に設定されている場合のパラメータ競合。 | NCシステムが自動運転をロックし、起動シーケンスを停止します。 | オフセットの適用タイミングと単独指令が同時に1に設定されていないかを確認し、パラメータ競合を解決してください。 |
| Mitsubishi | プログラムエラー P170 | 指令されたオフセット番号Hが、許容される最大セット数を超えています。 | プログラム実行が停止し、無効なオフセット範囲が表示されます。 | システムの許容レジスタ容量内のHオフセット番号を使用してください。 |
| Mitsubishi | プログラムエラー P169 | アクティブなオフセット量がゼロのときに、補正指令が実行されました(#1381/bit1 = 1の場合)。 | スピンドルが停止し、空のオフセット値のエラーが表示されます。 | Hテーブルの選択されたオフセットレジスタに、測定された工具長(ゼロ以外の値)がロードされていることを確認してください。 |
| Mitsubishi | プログラムエラー P29 | G43が完全にキャンセルされる前にプログラムフォーマット切り替え(G188/G189)が呼び出されたか、または座標軸を指定せずにG92.1座標プリセットが指令されました。 | コントローラが動作を中止し、フォーマットアラームをトリガーします。 | フォーマットを切り替えるか、またはG92.1プリセットを指令する前に、G49コマンドと移動によって補正を完全にキャンセルしてください。 |
| Mitsubishi | プログラムエラー P70 | 円弧補間コマンド(G02/G03)と同一のブロックでG43/G44/G49がプログラミングされました。 | コントローラが停止し、無効な円弧オフセット形式のフラグを立てます。 | 工具オフセットコマンドを円弧補間ブロックから分離してください。直線または位置決めブロックでG43を有効にします。 |
実務応用ノウハウ
工具の突進やカッターの破損といった重大な物理的クラッシュは、G43工具長補正有効時のアプローチ退避パスのプログラミングミスやオフセットキャンセルの怠慢によって引き起こされる最も警戒すべきトラブルです。特に、工具径補正(G41/G42)モードが有効な状態でアクティブなHコードを変更しようとすると、Fanucの5006番パラメータ(TOS)や11400番パラメータ(TOP)が1(座標シフトタイプ)に設定されている場合、先読みバッファの計算処理が即座に中断され、不要な減速停止をトリガーします。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。また、G43モーダル中にG40/G49のキャンセル処理を行わずに平面(G17/G18/G19)を切り替えると、工具長ベクトルが別の軸に予期せずシフトし、パス偏差による食い込み(gouging)やスピンドルヘッドのクランプ治具等へのハードコリジョンを招きます。段取り前に5040番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。
さらに、Siemens SINUMERIKでは、G53やSUPAといった機械座標系での非モーダル移動時に工具長補正を自動的に抑制するかどうかを決定する MD 10760($MN_G53_TOOLCORR)の設定値を確認・調整することが不可欠です。これが誤って0(補正保持)に設定されていると、Z軸の後退時にスピンドルがオーバートラベルし、バイスジョーやチャックと激突する原因となります。Mitsubishi制御装置では、Parameter #1268 ext04/bit6 を介した「軸移動タイプ」と「座標シフトタイプ」の挙動の選択が、段取り時の安全性に直結します。座標シフト(1に設定)の場合、G43指令だけでは軸は移動せず座標カウンターのみが書き換わるため、次のアプローチ移動ブロックで急激な移動が発生します。量産時の再現性の低下や不良品発生を防ぐために、段取り時のプログラム確認手順に、G49によるオフセットキャンセル状態の検証と、手動基準点復帰後のパラメータ #8122(G43自動再アクティブ化設定)の確認項目を必ず組み込み、空運転による経路確認を徹底してください。
関連コマンド
- g28-automatic-return-to-reference-position (自動基準位置復帰): Fanucシステムにおいて、原点復帰動作中にアクティブなG43工具長補正ベクトルを自動的にキャンセルします。
- g30-reference-position-return (基準位置復帰): 第2基準位置への原点復帰を実行し、アクティブな工具長オフセットを自動的にクリアします。
- g37-automatic-tool-length-measurement (自動工具長測定): プローブに工具長を測定させ、G43で使用される対応するHレジスタを更新するサイクルを指令します。
おわりに
量産加工ラインにおいて機械の非計画停止を完全に排除し、ロット間で一貫した寸法精度と高い繰り返し精度を維持するためには、G43工具長正補正コマンドの動作特性とそれを管理するシステムパラメータの完全な把握が必須です。プログラム作成時は、基準位置復帰(G28/G30)の後に必ずG43補正ブロックを明示的に記述し、工具径補正(カッター補正)モードでのHコード変更を回避する標準プログラミング規則を順守してください。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるリスクが常に伴います。段取り前に5040番や1268番などのパラメータを確認し、空運転によって退避アプローチ経路を確実に検証することが、加工時の再現性の低下や不良品発生を防ぎ、長期間にわたる安全かつ高精度な安定生産を実現するための最善策です。
よくある質問
量産中に工具摩耗補正を更新した直後、2ロット目以降でワークのZ軸加工深さにばらつき(再現性の低下)が発生するのはなぜですか?
これは、G43工具長補正と工具径補正(G41/G42)が有効な状態で、先読みバッファ内の補正値の適用タイミング(例:Mitsubishiパラメータ #1292 ext28/bit3)が「次のブロックから(1)」と設定されていないため、またはアプローチ動作が不足しているために、補正の反映が数ブロック遅れて加工が開始されるためです。最初のロットは許容値内でも、連続運転での工具交換時にこのズレが寸法ばらつきを招きます。対策として、段取り時に #1292 パラメータを「1」に設定するか、工具交換後のアプローチブロックで補正軸(Z軸)の十分な直線移動量をプログラミングし、確実に補正を反映させる動作を実行してください。
G43を呼び出した際、軸が物理的に移動せずに画面の座標カウンターだけが書き換わる(座標シフト)挙動を変更したい場合、どのパラメータを確認・設定すべきですか?
この動作は機械メーカーのパラメータ設定によるもので、FanucではParameter 5006のBit 6(TOS)、MitsubishiではParameter 1268のext04/bit6が座標シフト(1)か軸移動(0)かを制御しています。座標シフトに設定されていると、G43指令ブロックでは軸は動かず、次の移動ブロックでオフセット分が合算されて急に移動するため、干渉物との衝突リスクが高まります。段取りを行う前に、必ず使用する制御装置の該当パラメータ設定を確認し、安全なツールパスを確保するために空運転で移動量を見極める項目を段取りシートに追加して実行してください。
プログラム中で補正キャンセル(G49)を記述したにもかかわらず、G188やG189によるフォーマット切り替え時に「プログラムエラー P29」(Mitsubishi)が発生してサイクルが停止する原因は何ですか?
G43の工具長補正キャンセル指令(G49)の後に、キャンセルの変位を実行する物理的な軸移動コマンドが同一または直後のブロックに記述されていないことが原因です。制御装置の内部メモリ上で補正ベクトルのクリア処理が完了していない状態でフォーマット切り替えを実行すると、安全インターロックが作動してP29エラーを発報します。このトラブルを防ぐために、G49コマンドを記述する際は、必ず G49 G00 Z200.0 のように、補正軸の十分な直線移動を伴う退避動作をプログラムに明示的に記述してください。
まだ解決しませんか?
このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

- 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ファクタ計算、空運転による軌道検証まで徹底解説します。
G69バランスカット解除:CNC旋盤の座標復帰と干渉防止
Fanuc、Siemens、Mitsubishi制御のCNC旋盤におけるG69バランスカットキャンセル(解除)コマンドのプログラミング方法を解説。対向刃物台の同期制御を安全に解除し、チャック爪や治具への激突事故やアラーム停止を確実に防ぐ手順とパラメータ設定を網羅。
G70 CNC仕上ã’サイクル完全解説:構文・パラメータ・障害対ç–
CNC旋盤ã®G70仕上ã’サイクルを徹底解説。Fanucã€Siemens CYCLE95ã€Mitsubishiã®æ§‹æ–‡ã®é•ã„ã€PS0322・PS0325アラームã®å›é¿æ³•ã€ãƒ‘ラメータè¨å®šã€è¡çªäº‹æ•…を防ã安全ãªé€€é¿çµŒè·¯ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚’詳述。
G69座標系回転・ミラーイメージ解除のNCプログラミング
Fanuc、Siemens、MitsubishiのCNC旋盤におけるG68対向タレットミラーおよび座標回転のG69キャンセル機能を解説。#1202や#1119パラメータの検証、P29・M01 1036アラーム防止、刃物台衝突回避と量産ロットの繰り返し精度向上を図る実務ノウハウ。