G56ワーク座標系設定と衝突防止:Fanuc, Siemens, Mitsubishi
Fanuc、Siemens、Mitsubishi의 CNCにおけるG56ワーク座標系の設定と衝突回避策。重要パラメータ(3402、MD 28080、#1210等)の検証方法、アラームPS0368等のトラブル解決、量産ロットの繰り返し精度を向上させる実務ノウハウを網羅。
はじめに
加工プログラムの途中で自動運転がサイクル停止したり、G56ワーク座標系オフセットのキャンセルが行われる前にリセットされたりすると、インデックス(割出し)されたツールタレット(turret)や高速回転する主軸(spindle)が予期せぬ位置ずれ軌道で移動し、テーブルに固定されたバイスジョー(vise jaw)やスピンドルの回転チャック(chuck)ジョー、あるいはテーブル上のワーク保持クランプ(fixture clamp)に最高急送り速度で激突する深刻なハードコリジョン(hard collision)を引き起こします。この強烈な機械的衝撃は、高価な超硬工具を粉砕し、高精度な送り軸のボールねじやガイドを損傷させ、過負荷アラームを発生させて自動運転を緊急停止させるだけでなく、削りかけの被削材を瞬時に廃却処分(ruined scrap)の不良品に変えてしまいます。
このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前に3402番パラメータや1210番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。加工開始前にこれらの座標オフセット構成が正しいかを確実に検証することで、座標値の位置ずれに起因するロット間の寸法再現性の低下や不良品発生を未然に防止し、長期的な信頼性と繰り返し精度を確立できます。
技術概要
| 項目 | 仕様スペック |
|---|---|
| 指令コード | G56 |
| モーダルグループ | グループ14(Fanuc フライス)、グループ12(Fanuc/Mitsubishi 旋削)、グループ8(Siemens)、グループ12または14(Mitsubishi フライス)。モーダル。 |
| サポートブランド | Fanuc, Siemens, Mitsubishi |
| 重要パラメータ | Fanuc パラメータ No. 3402 (CLR), Siemens MD 28080 ($MC_NUM_USER_FRAMES), Mitsubishi パラメータ #1210 (RstGmd/bitF) |
| 主な制限事項 | 刃先R補正の立ち上がりブロックにおける円弧補間(G02/G03)実行中の座標系切り替えは禁止されており、パラメータ変更にはアクティブな補正のキャンセルが必要です。 |
クイックリード
- 原点シフト: G56をプログラミングして第3設定可能ワーク座標系(WCS 3)/ 設定可能ゼロオフセット3を選択し、座標原点を機械ゼロ点からワーク基準点へシフトします。
- バイリンガルコンパイラ切替: Siemens制御では、ISOのG10 L2 P3パラメータを解析するためにG291への切り替えが必須であり、ネイティブのSINUMERIKフレームに戻るにはG290を指令する必要があります。
- アクティブ補正ロック: Alarm PS0368を防止するため、FanucのParameter No. 5040 Bit 3 (TCT)を変更する前に、G49を使用してすべての工具長補正パラメータがキャンセルされていることを確認してください。
- 傾斜面制御の抑制: プログラムエラーを回避するため、WCS変更を指令する前に、Mitsubishiの簡易傾斜面加工制御(G176)および簡易工具先端点制御(G174)を無効化してください。
- 即時書き込み停止: G10パラメータの変更がメイン実行で即座に反映されるよう、MD 20734 Bit 13を設定してSiemens制御でプリプロセッサストップ(STPPRE)を強制します。
- 手動任意逆転運転: 手回しハンドルによる工具退避時に、軸ドリフトを起こさずG56のモーダル設定を維持するMitsubishiのG127手動任意逆運転(manual arbitrary reverse run)機能を利用します。
基本概念
CNCマシニングセンタ上でG56ワーク座標系をプログラミングすることで、調整可能なゼロオフセット構造を提供します。実務上のプログラミング効果として、絶対プログラム座標がシフトしてローカライズされたプログラムゼロ点が確立され、機械テーブル上にセットアップされた複数の部品に対してポケット、穴、プロファイルなどの同一のワーク形状を加工できるようになります。工具長オフセットおよび刃先R補正はモーダルで有効なまま維持され、新しいG56座標にダイナミックに適用されます。これにより、座標系を切り替えてサブプログラムを呼び出すだけで、G54でメインのバイスジョー(vise jaw)にクランプされた部品と、G55またはG56でセカンダリのバイスジョー(vise jaw)や治具(fixture)にクランプされた別の部品を、全く同じNCサブプログラムで加工することが可能になります。
ゼロオフセットを有効にすると、プログラム座標系の原点が機械の絶対ゼロ点からワークのローカル基準点へと直接シフトします。旋削加工では、G56を調整してチャック(chuck)の締め幅やクランプ幅を補正できます。フライス加工では、このオフセットは機械の基準原点(ホームポジション)から、バイスジョー(vise jaw)や治具クランプ(fixture clamp)上にあるワーク座標原点までの物理的な距離を定義します。このダイナミックなシフトにより、ゼロオフセットを変更して単一のサブプログラムを呼び出すだけで、異なる治具に固定された複数の部品に対して同一の加工輪郭やサイクルを実行できます。G56が呼び出されると、後続のすべての絶対位置決めと固定サイクルは新しいゼロ点に基づいて再計算され、有効な工具オフセットや補正ベクトルをキャンセルすることなく、工具刃先の移行が行われます。比較として、G54ワーク座標系は、標準的なセットアップにおける最初の主要なワーク座標系として機能します。
コマンド構造
旋削加工およびフライス加工プログラムにおいて、G56はモーダルな準備機能指令です。一度アクティブになると、制御装置は(G90を使用した)すべての絶対座標を、第3ワーク座標系の原点を基準として解釈します。このモーダル状態は、別のWCS(ワーク座標系)コマンド(G54、G55、G57〜G59など)によって上書きされるか、デフォルトの機械オフセット(Siemens制御におけるG500など)にキャンセルされるまで、システム内で有効のまま維持されます。
NCプログラム内からプログラムによって座標オフセットを設定または更新する場合、G10 L2データ設定指令が使用されます。この構造では、G56(第3座標系)を指定するためにアドレスP3を指定します。Siemens制御では、G10はISOコマンドであるため、コンパイラをまずG291を使用してISOダイアレクトモードに移行させる必要があります。Mitsubishi制御では、変数#5261から始まる軸固有のシステム変数を介して、座標レジスタを直接更新することもできます。
; Fanuc/Mitsubishi フライス加工構文 G90 G56 G00 X__ Y__ Z__ ;; Fanuc 旋削加工(システムA)構文 G56 X__ Z__ ; ; または増分(インクリメンタル)シフト G56 U__ W__ ;
; Siemens ISOモード構文 G291 ; G10 L2 P3 X__ Y__ Z__ ; G290 ;
| アドレス / パラメータ | 機能的役割 |
|---|---|
G56 | ワーク座標系3 / 設定可能ゼロオフセット3を選択します。 |
G90 | 絶対座標位置決めモードを設定します。 |
G10 | プログラマブルなパラメータおよびオフセットデータの入力を有効にします。 |
L2 | 標準ワーク座標オフセットレジスタへの書き込みを指定します。 |
P3 | データ変更対象として座標系3(G56)を選択します。 |
X, Y, Z | 絶対オフセットまたは軸方向の値を表す座標目標値。 |
U, W | X軸およびZ軸に沿った増分(インクリメンタル)座標目標値(旋削)。 |
ブランド別応用
Fanuc
Fanuc制御装置では、G56の座標選択はフライス加工ではグループ14、旋削加工ではグループ12で動作します。座標の挙動を変更するには、Parameter No. 3402 (CLR) および Parameter No. 5040 (TCT) を含む特定のシステムフラグを設定する必要があります。
パラメータ設定およびオフセット変更において、制御コンパイラは以下のシステム変数を解析します。
| システム変数・パラメータ | タイプ | 機能 / 条件 |
|---|---|---|
Parameter No. 5040 Bit 3 (TCT) | パラメータ | 工具交換タイプ(Tool Change Type)。正/負の工具長補正(G43/G44)およびキャンセル(G49)構造を有効化します。アクティブな補正がある状態で変更してはなりません。 |
Parameter No. 3401 (Bits GSC and GSB) | パラメータ | GコードシステムA、B、またはCの構成を選択します。 |
Parameter No. 3402 (Bit 6 - CLR) | パラメータ | 電源投入時またはシステムリセット時のモーダルGコードクリア状態を設定します。 |
Parameter No. 5431 Bit 0 (MDL) | パラメータ | 一方向位置決め(G60)をモーダル(1)にするか非モーダル(0)にするかを制御します。 |
Alarm PS0034 | アラーム | 刃先R補正(工具径補正)の立ち上がりブロックにおいて、円弧補間(G02/G03)の実行中に座標系の切り替えを実行した場合にトリガーされます。 |
Alarm PS0368 | アラーム | 工具オフセットが有効な状態で Parameter No. 5040 Bit 3 が変更された場合にトリガーされます。 |
Alarm PS1144 | アラーム | アクティブなG10パラメータブロック内で工具交換のTコードが指定された場合にトリガーされます。 |
警告:演算エラーや軸のズレを防止するため、段取りを行うオペレータは Parameter No. 5040 Bit 3 を変更する前に、必ずG49を使用してアクティブな補正をキャンセルしなければなりません。
Siemens
Siemens SINUMERIK制御装置は、調整可能なユーザーフレーム内の粗(coarse)および微細(fine)設定を使用して、G56ゼロオフセットを管理します。MD 28080やMD 20150などのシステムパラメータが、フレームの割り当てと電源投入時のリセット状態を制御します。
制御装置は、G56ユーザーフレームを管理するために以下のマシンデータレジスタを使用します。
| システム変数・パラメータ | タイプ | 機能 / 条件 |
|---|---|---|
MD 28080 $MC_NUM_USER_FRAMES | マシンデータ | メモリに割り当てられる設定可能ユーザーフレーム(G54〜G59、G505〜G599)の総数を定義します。 |
MD 20734 $MC_EXTERN_FUNCTION_MASK (Bit 13) | マシンデータ | G10書き込み中にプリプロセッサストップ(STPPRE)を強制し、メインラン(メイン実行)での即時更新を確実にします。 |
MD 18800 $MN_MM_EXTERN_LANGUAGE | マシンデータ | 外部NC言語を有効にします。ISOダイアレクトコマンド(G291)をコンパイルするには1に設定します。 |
MD 20150 $MC_GCODE_RESET_VALUES | マシンデータ | リセット時のデフォルトのGコードグループ値(G500やG54など)を構成します。 |
Alarm 61800 | アラーム | MD 18800が無効な状態でISOダイアレクトモードの実行やG10オフセット書き込みが行われた場合にトリガーされます。 |
Alarm 14800 | アラーム | G56選択後に座標移動が指令されたが、アクティブな送り速度(feedrate)がゼロの場合にトリガーされます。 |
Alarm 12080 | アラーム | インタープリタ制限がアクティブな状態で、G291 ISOモード下でネイティブのSINUMERIKコマンドがコンパイルされた場合にトリガーされます。 |
Alarm 14060 | アラーム | ブロックスキップレベルのパラメータが有効な1〜9の範囲を超えた場合にトリガーされます。 |
警告:座標系の切り替え中に敏感な治具やツールタレット(revolver)がオーバートラベルするのを保護するため、オペレータは必ず稼働領域制限(G25/G26またはWALIMON)を活用しなければなりません。
Mitsubishi
Mitsubishi CNCでは、G56ワーク座標系(WCS)の選択によって軸レジスタがシフトし、プログラムで読み取りまたは更新することができます。パラメータ#1210やパラメータ#1151などの設定によって、システムリセット時の座標の挙動が決まります。
Mitsubishiは、ワーク座標を構成するために以下のシステムレジスタおよびパラメータを使用します。
| システム変数・パラメータ | タイプ | 機能 / 条件 | ||
|---|---|---|---|---|
Parameter #1274 ext10/bit5 | パラメータ | G54 Pnが拡張ワーク座標系選択として処理されるかどうかを構成します(1でP1〜P300が有効)。 | ||
Parameter #1151 rstint | パラメータ | リセット初期化(Reset Initial)。システムリセット(リセット1)時にアクティブなWCSモーダルを保持するには0に設定します。 | ||
Parameter #1210 RstGmd/bitF | パラメータ | モーダルGコードリセット設定(Modal G-code Reset Setting)。リセット時にWCSが初期化されるか保持されるかを決定します。 | ||
Parameter #1003 iunit | パラメータ | 入力設定単位(Input Setting Unit)。座標の入力分解能(B〜E)を定義します。 | ||
System Variables #5261 to #526n | 変数 | G56オフセット値へのプログラムによる読み書きアクセスを提供します(第1軸から第n軸)。 | ||
Program Error (P951) | アラーム / エラー | 簡易傾斜面加工制御(G176)がアクティブな状態で座標系変更(G54〜G59)を実行したとき。 | ||
Program Error (P942) | アラーム / エラー | 簡易工具先端点制御(G174)がアクティブな状態でWCS選択を実行したとき。 | 実行が停止し、システムがロックされます。 | 根本原因:有効なG174サイクル下で座標シフトがロックされています。対策:WCS選択の前に工具先端点制御をキャンセルします。 |
Program Error (P953) | アラーム / エラー | 工具軸方向制御(G53.1またはG53.6)がアクティブな状態でWCS選択が試みられた場合にトリガーされます。 | ||
Program Error (P35) | アラーム / エラー | G10コマンドが範囲外の引数(例:G10 L2でP7以上を指定)で指令されたか、範囲外の軸オフセットが書き込まれた場合にトリガーされます。 | ||
Program Error (P438) | アラーム / エラー | ソフトウェアバージョンD4以前において、拡張ワーク座標系モード(G54.1 Pn)がアクティブな状態でローカル座標系設定(G52)を実行したとき。 |
警告:オペレータはシングルブロックモードを有効にした状態で座標オフセットを含むプログラムの空運転 (dry run)を行うべきであり、プログラマーは工具割出しを行う前に機械原点への安全な退避(G53)を指令しなければなりません。
ブランド比較
| 比較項目 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| 構文 | G90 G56 G00 X_ Y_ Z_(フライス加工)G56 X_ Z_ / G56 U_ W_(旋削加工) | G56(Siemensモード)G56 / G10 L2 P3(ISOモード) | (G90) G56G90 G56 G00 X_ Y_ Z_ |
| オフセット調整 | G10 L2 P3 X_ Y_ Z_ | G10 L2 P3 X_ Y_ Z_(ISOモード) | G10 L2 P3 X_ Y_ Z_または変数 #5261-#526n |
| バイリンガルコンパイラ | なし(ネイティブ解釈) | あり(G290/G291でコンパイラ切替) | なし(代わりにG188/G189フォーマットを使用) |
| 拡張オフセット | G54.1 P1〜P300 | G54 P1〜P100、G505〜G599 | G54.1 P1〜P300 |
| ローカル / キャンセル・抑制 | 非モーダル G53 | 非モーダル G53, G153, SUPA、モーダル G500 | 非モーダル G53、ローカルオフセットキャンセル G52 |
| 工具長パラメータ | アクティブな工具オフセット下で厳格にロック(Alarm PS0368) | アクティブな刃先レジスタDコードを介して独立して管理 | WCS切り替え中も工具長オフセットをアクティブに維持 |
| 手動逆運転 (G127) | 非対応 | ロールバック中にWCSモーダルを解除 | 専用ブロックでWCSモーダルを保持 |
技術解析
オフセット切替時において、Fanucのワーク座標系処理は、SiemensやMitsubishiの制御装置と明確に異なる3つの重要なプログラム的およびアーキテクチャ上の挙動を持ちます。第1に、Fanucは旋削フォーマット(GコードシステムA)において、G56の絶対参照アドレスと文字に基づく増分(インクリメンタル)位置決めアドレスを直接統合しています。Fanucの旋削ルール下では、絶対アドレス(XおよびZ)と増分アドレス(UおよびW)を、モーダルなG90/G91の切り替えを実行することなく同一ブロック内で混在させることができます。SiemensやMitsubishiの制御装置は通常、絶対と増分の遷移を管理するために専用のモーダルGコードテーブルや軸固有の修飾子に依存しており、Fanucのようなデュアルアドレスシステムを持っていません。第2に、Fanucはオフセットが有効な状態での工具長補正パラメータの変更を禁止する、厳格なソフトウェアロック式のインターロックを強制します。Parameter No. 5040 Bit 3 (TCT)の切り替えは、アクティブな補正が事前にすべてキャンセルされていない限り、Fanucのモーションカーネル内で厳しくブロックされ、演算エラーを防ぐためにAlarm PS0368を発生させます。SiemensやMitsubishiの制御装置は、アクティブな刃先レジスタ(Dコード)を介して工具長オフセットを独立して処理するため、座標系シフト時のフォーマットの柔軟性が高くなります。第3に、FanucはG56を専用のモーダルグループ内に分離しているのに対し、Siemensはゼロオフセットを調整可能なユーザーフレーム(user frame)として管理します。Siemens制御では、設定可能なゼロオフセットにプログラム可能フレーム(TRANS/ROT)や付加的なゼロオフセットを重ね合わせることができ、パラメータ構成に応じて抑制コマンド(G153またはSUPA)を用いて選択的に抑制することができます。Fanucにはこのようなマルチレベルのフレーム抑制構造がなく、代わりにシンプルなブロックレベルの座標オフセットや、G53のような基本的な非モーダル座標抑制コマンドに依存しています。
さらに、Siemensはバイリンガル切替コンパイラモデル(G290/G291)で動作します。FanucやMitsubishiの制御装置が座標オフセットやレジスタシフトを1つの連続したプログラムフロー内でネイティブに解釈するのに対し、SiemensではG10オフセット入力などの従来のISO記述スタイルを含むブロックをコンパイルするために、G291を介して明示的にコンパイラをISOダイアレクトモードに切り替える必要があります。その後、高度なパラメータフレーム(TRANS/ROT/SCALE/MIRROR)やネイティブゼロオフセットを処理するために、プログラムはG290を指令してネイティブのSINUMERIKモードに戻さなければなりません。Siemens制御におけるこのフレームメモリスタックにより、プログラマーは同じプログラムブロック内でプログラマブル絶対オフセットまたは付加的な修飾子(ATRANS/AROT)を動的にチェーンすることができます。しかし、絶対フレームは代入(置き換え)命令であるため、一時的なシフトをクリアするために引数のないTRANSコマンド単独でプログラミングすると、アクティブな他のすべてのフレーム変換(座標回転やミラーリングなど)が自動的に無効になり、現在のワーク座標セットアップが予期せず消去されます。FanucやMitsubishiでは、ミラーリング、スケーリング、回転は独立したモーダルグループに属しており、無関係な座標レジスタに影響を与えることなく個別にキャンセルできます。G52ローカル座標系を使用することで、基準となるゼロ点を消去することなくローカルなシフト機能を提供します。
また、MitsubishiはG56座標モーダルを手動任意逆運転(G127)機能とダイナミックに統合しています。手動任意逆運転(G127)がアクティブな場合、オペレータは手回しハンドルを逆方向に回して工具を退避させることができます。この逆方向トレース中、Mitsubishiのモーションカーネルは専用のモーダル情報記憶ブロックを使用してアクティブなG56座標オフセットを確実に追従・維持し、軸のドリフトを防ぎ、座標の安全を確保します。Fanuc制御装置はこのような方法で座標状態を回復できる手動ハンドルロールバックをサポートしておらず、Siemensはネイティブフレームのロールバック中にWCSモーダルを完全に解除します。また、Mitsubishiは標準的なG56座標選択を、旋盤モードとマシニングセンタモードの間でダイナミックなマッピングを切り替えるバイモーダルなプログラムフォーマット切替コンパイラ(G188/G189)と統合しています。最後に、MitsubishiはバージョンD4以前において、拡張ワーク座標系(G54.1 Pn)モーダルが有効な状態でのローカル座標系シフト(G52)の実行を制限するソフトウェアロック(P438)を強制します。
プログラム例
Fanucのフライス加工・旋削加工例
G90 G40 G21 ; 絶対座標設定、工具補正キャンセル、ミリメートル単位
G10 L2 P3 X-300.0 Y-150.0 Z-50.0 ; G56 (P3) レジスタにプログラムで絶対オフセットを書き込み
G56 G00 X120.0 Y80.0 Z10.0 ; G56座標系を有効化、目標へ早送り位置決め
G43 H01 Z2.0 ; レジスタH01を使用して工具長補正を有効化、安全高さへ移動
G01 Z-5.0 F100.0 ; 100 mm/minの送り速度でZ-5.0まで直線切削送り
G00 Z50.0 G49 ; 工具を早送りで退避させ、工具長補正をキャンセル
G53 X0.0 Y0.0 Z0.0 ; 機械原点へ移動
M30 ; プログラム終了
空運転ウォークスルー
- G90 G40 G21: 制御を絶対値位置決めモードに設定し、有効な工具径補正をキャンセルし、メトリック入力単位を設定します。
- G10 L2 P3: X-300.0、Y-150.0、Z-50.0の座標オフセット値を、G56 (P3) ワーク座標系レジスタに直接プログラム書き込みします。
- G56 G00 X120.0 Y80.0 Z10.0: ワーク座標系3(G56)を選択し、G56を基準とする座標X120.0、Y80.0、Z10.0の位置へ早送り位置決めを指令します。
- G43 H01 Z2.0: 工具オフセットレジスタH01から工具長補正を適用し、Z軸を安全逃げ高さ2.0 mmの位置に配置します。
- G01 Z-5.0 F100.0: 送り速度100.0 mm/minで切削深さZ-5.0 mmまで軸を直線送りします。
- G00 Z50.0 G49: 軸をZ50.0まで早送り退避させ、アクティブな工具長補正(G49)をキャンセルします。
- G53 X0.0 Y0.0 Z0.0: 機械座標系(G53)を選択し、すべての軸を絶対機械座標ゼロに戻します。
- M30: プログラム実行を終了し、制御メモリをリセット(巻き戻し)します。
Siemens SINUMERIKのバイリンガル例
N10 G90 G710 G40 ; 絶対値モード、メトリック単位、刃先補正キャンセル
N20 G291 ; コンパイラをISOダイアレクトモードに切り替え
N30 G10 L2 P3 X-150.0 Y-100.0 Z-50.0 ; G56 (P3) レジスタにオフセットを書き込み
N40 G290 ; コンパイラをネイティブのSiemensモードに戻す
N50 G56 G00 X100.0 Y50.0 Z10.0 ; G56(第3ゼロオフセット)を選択し、早送りで位置決め
N60 T1 D1 M3 S1500 ; 工具T1をロード、切削刃先D1を有効化、主軸を正転1500 rpmで起動
N70 G00 Z50.0 ; Z軸を安全高さへ早送り
N80 G01 Z-5.0 F150.0 ; 150 mm/minの送り速度でZ-5.0まで直線切削送り
N90 TRANS X20.0 Y20.0 ; G56に対して絶対プログラム可能ゼロオフセットフレームを設定
N100 G01 X30.0 Y30.0 ; シフトしたローカル原点を基準として直線切削送り
N110 TRANS ; プログラム可能オフセットを無効化、ベースのG56 WCSに戻る
N120 G00 Z100.0 M05 ; Z軸を退避させ、スピンドルを停止
N130 G500 G00 X0 Y0 Z0 ; 設定可能ゼロオフセットを無効化、機械原点に戻る
N140 M30 ; プログラム終了
空運転ウォークスルー
- N10: ネイティブモードで、絶対値位置決め(G90)、メトリック寸法(G710)を設定し、有効な刃先補正(G40)をキャンセルします。
- N20: 従来のブロック記述フォーマットを解析するため、コンパイラの解釈をISOダイアレクトモード(G291)に切り替えます。
- N30: G10 L2コマンドを使用して、ワーク座標オフセット(X-150.0、Y-100.0、Z-50.0)をG56 (P3) レジスタに書き込みます。
- N40: コンパイラインタプリタをネイティブのSiemens SINUMERIKモード(G290)に戻します。
- N50: 第3設定可能ゼロオフセットユーザーフレーム(G56)を有効にし、G56を基準とするX100.0、Y50.0の位置へX軸およびY軸を早送りで移動させます。
- N60: 工具T1を選択し、切削刃先レジスタD1を有効化し、主軸を時計回り(正転)に1500 rpmで回転起動します。
- N70: Z軸を安全逃げ高さZ50.0 mmまで早送り移動させます。
- N80: 送り速度150.0 mm/minで深さZ-5.0 mmまでZ軸を直線送りします。
- N90: 一時的なプログラム可能オフセットフレーム(TRANS X20.0 Y20.0)を適用し、G56を基準としてX軸およびY軸方向に座標ゼロ点を20.0 mmシフトします。
- N100: シフトした座標原点を基準にして計算された座標X30.0、Y30.0まで工具を直線送りします。
- N110: 引数のないTRANSコマンドを指令し、プログラム可能オフセットフレームを無効化して、アクティブな座標をベースラインのG56ゼロ位置に戻します。
- N120: 工具を安全逃げ高さ(Z100.0)へ早送り退避させ、主軸の回転を停止(M05)します。
- N130: G500を使用して設定可能ユーザーオフセットを無効にし、すべての軸を機械座標原点に移動させます。
- N140: プログラム終了を指示し、変数をリセットします。
Mitsubishiのシステム変数およびオフセット例
G90 G40 G21 ; 絶対座標設定、補正キャンセル、ミリメートル単位
#5261 = -300.0 ; 変数への直接書き込み:X軸のG56オフセットを-300.0に設定
#5262 = -150.0 ; 変数への直接書き込み:Y軸のG56オフセットを-150.0に設定
#5263 = -50.0 ; 変数への直接書き込み:Z軸のG56オフセットを-50.0に設定
G56 G00 X150.0 Y100.0 Z50.0 ; G56を選択、目標座標原点へ早送り位置決め
G01 Z5.0 F120.0 ; 120 mm/minの送り速度でZ軸をZ5.0まで直線送り
G53 G00 Z0.0 ; 非モーダルでゼロオフセットを抑制、Z軸を機械原点へ退避
M30 ; プログラム終了
空運転ウォークスルー
- G90 G40 G21: ブロックを絶対座標設定で初期化し、工具径補正をキャンセルし、メトリック単位座標を選択します。
- #5261 = -300.0: システム変数#5261に-300.0を直接代入し、G56座標レジスタのX軸オフセット値をプログラム設定します。
- #5262 = -150.0: システム変数#5262に-150.0を直接代入し、G56座標レジスタのY軸オフセット値を設定します。
- #5263 = -50.0: システム変数#5263に-50.0を直接代入し、G56座標レジスタのZ軸オフセット値を設定します。
- G56 G00 X150.0 Y100.0 Z50.0: ワーク座標系3(G56)を選択し、G56基準で座標X150.0、Y100.0、Z50.0の位置へすべての軸を早送り位置決めします。
- G01 Z5.0 F120.0: 送り速度120.0 mm/minで工具のZ軸をZ5.0 mmの位置まで直線送りします。
- G53 G00 Z0.0: G56ゼロオフセットを一時的・非モーダルに抑制(キャンセル)し、Z軸を機械ゼロ点の高さに直接早送り退避させます。
- M30: プログラムの終了を通知し、有効な制御値を初期状態にリセットします。
エラー解析
| ブランド | アラームコード | 発生条件 | オペレータから見た現象 | 根本原因 / 対策 |
|---|---|---|---|---|
| Fanuc | Alarm PS0034 | 工具径補正(刃先R補正)の立ち上がりブロック内において、円弧補間(G02/G03)がアクティブな状態でワーク座標系切替(G54〜G59)を実行したとき。 | 即座に実行が停止し、操作パネルにアラームメッセージが表示されます。 | 根本原因:座標シフトの指令位置が無効です。対策:立ち上がりブロックの動作をG00またはG01の直線移動のみに修正します。 |
| Fanuc | Alarm PS0368 | 工具オフセットがシステム内でアクティブな状態で、工具長補正パラメータTCT(Parameter No. 5040 Bit 3)を変更しようとしたとき。 | 実行が停止し、制御装置はパラメータ更新をブロックします。 | 根本原因:アクティブな補正がパラメータ変更をロックしています。対策:編集前にG49を指令し、有効な工具長補正をすべてキャンセルします。 |
| Fanuc | Alarm PS1144 | アクティブなプログラム可能データ入力(G10)ブロック内で工具交換のTコードを指定したとき。 | 実行が停止し、構文解析エラーが表示されます。 | 根本原因:G10下でのTコードの構文違反です。対策:G10パラメータブロックからTコードを削除します。 |
| Siemens | Alarm 61800 | MD 18800が無効な状態で、ISOダイアレクトモード(G291)を実行するかG10/G56パラメータを使用しようとしたとき。 | 実行が停止し、画面に構文エラーが表示されます。 | 根本原因:外部NC言語インタープリタが無効化されています。対策:MD 18800 $MN_MM_EXTERN_LANGUAGE = 1 に設定します。 |
| Siemens | Alarm 14800 | G56有効化の後に軸移動を指令したが、アクティブな送り速度がゼロの場合。 | 実行が停止し、画面に「プログラム指令経路速度が0以下です」と表示されます。 | 根本原因:アクティブな送り速度が未設定です。対策:アクティブブロックまたはモーダル値にゼロ以外の送り速度Fを指定します。 |
| Siemens | Alarm 12080 | MD 20734 Bit 3が設定されている場合に、ISOダイアレクトモード(G291)の下でネイティブのSINUMERIKコマンド(G500など)をプログラムしたとき。 | 実行が停止し、構文エラーメッセージが表示されます。 | 根本原因:ISOモード下でネイティブコマンドがコンパイルされました。対策:正しいGコード構文を確認するか、ネイティブ指令を実行する前にネイティブモード(G290)に切り替えます。 |
| Siemens | Alarm 14060 | ブロックスキップレベルを有効な1〜9の範囲外のパラメータでプログラムしたとき。 | 実行が停止し、無効なスキップレベルエラーが表示されます。 | 根本原因:スキップパラメータが範囲外です。対策:ブロックスキップレベル入力を1から9の間の有効な値に調整します。 |
| Mitsubishi | Program Error (P951) | 簡易傾斜面加工制御(G176)がアクティブな状態で座標系変更(G54〜G59)を実行したとき。 | 実行が停止し、制御装置は移動をブロックします。 | 根本原因:有効なG176サイクル下で座標シフトがロックされています。対策:座標選択の前に傾斜面制御を無効化します。 |
| Mitsubishi | Program Error (P942) | 簡易工具先端点制御(G174)がアクティブな状態でWCS選択を実行したとき。 | 実行が停止し、システムがロックされます。 | 根本原因:有効なG174サイクル下で座標シフトがロックされています。対策:WCS選択の前に工具先端点制御をキャンセルします。 |
| Mitsubishi | Program Error (P953) | 工具軸方向制御(G53.1またはG53.6)がアクティブな状態でWCS選択が試みられた場合にトリガーされます。 | 実行が停止し、アラームが表示されます。 | 根本原因:有効な軸方向制御下で座標シフトがロックされています。対策:WCSを切り替える前に工具軸方向制御をキャンセルします。 |
| Mitsubishi | Program Error (P35) | G10コマンドが範囲外の引数(例:G10 L2でP7以上を指定)で指令されたか、範囲外の軸オフセットが書き込まれた場合にトリガーされます。 | 実行が停止し、パラメータが拒否されます。 | 根本原因:パラメータ入力が境界範囲外です。対策:G10の入力値範囲を確認し、有効なLおよびP値を指定します。 |
| Mitsubishi | Program Error (P438) | ソフトウェアバージョンD4以前において、拡張ワーク座標系モード(G54.1 Pn)がアクティブな状態でローカル座標系設定(G52)を実行したとき。 | 実行が停止し、コードのコンパイルが失敗します。 | 根本原因:拡張座標系モード下でローカルオフセットがロックされています。対策:制御装置のバージョンをアップグレードするか、G54.1モード中にG52を使用しないようにします。 |
実務応用ノウハウ
G56座標オフセットの登録ミスや、工具補正がアクティブなままでのパラメータ変更が行われると、ツールチップの粉砕や送り軸ボールねじの歪み、製品の全廃棄という壊滅的な衝突トラブルがその場で引き起こされます。例えば、Fanuc制御において、工具補正(G43/G44)がアクティブな状態でParameter No. 5040 Bit 3 (TCT)の変更が試みられると、モーションカーネルによって処理がロックされ、Alarm PS0368が発生して加工ラインが強制停止します。また、Siemens制御では、G291のISOモード下でG10データ設定を指令した際、MD 20734 Bit 13によるプリプロセッサストップ(STPPRE)が未設定であると、更新した座標オフセット値がメインランの先読みバッファに即座に同期されません。これにより、機械は変更前の古い座標データで切削移動を再開し、チャック(chuck)やバイスジョー(vise jaw)への衝突を引き起こします。
このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前に3402番パラメータや1210番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。特に、プログラム開始時に安全な機械原点(G53)への退避を明示することや、Mitsubishi制御におけるシステムリセット時のWCS状態を設定するパラメータ#1210、およびリセット初期化を指定するパラメータ#1151の値を検証しておくことは、オペレータによる再起動時の軸ずれを防止するために不可欠です。これらの構成が正しくない場合、ロット切り替え時の再現性の低下や不良品発生のリスクを極めて高くします。これらを確実に検証・標準化することで、突発的な非計画停止やクラッシュ事故を防止し、製品の一貫した繰り返し精度と生産の長期信頼性を保証することができます。
関連コマンド
- G54(ワーク座標系1): 第1設定可能ワーク座標系を有効にし、部品セットアップの主要な座標基準として機能します。
- G52(ローカル座標系): 基準となる座標オフセットを変更することなく、アクティブなG56座標系内に一時的なローカル座標オフセットを設定します。
- G53(機械座標選択): 設定されているゼロオフセットを一時的かつ非モーダルに抑制し、機械座標ゼロ点へ直接安全に移動できるようにします。
- G55(ワーク座標系2): 第2設定可能ゼロオフセット座標系を選択し、オペレータがG54、G55、G56の間でセットアップを移行できるようにします。
- G10(プログラム可能パラメータ・オフセットデータ入力): プログラマーがNCプログラム内から直接、G56やその他のゼロオフセットの座標値を更新できるようにします。
おわりに
G56ワーク座標系を安全に運用し、複数ロットにわたる高い繰り返し精度を保証するためには、各制御装置の特性に応じたパラメータ(FanucのNo. 5040、SiemensのMD 20734、Mitsubishiの#1210など)を確実に検証するプロセスを標準化することが推奨されます。プログラム作成の際には、工具長補正(G43/G49)や各種補正のキャンセル設定を徹底し、境界チェック機能を有効にしてください。さらに、段取り替え時には最初のロットを開始する前に必ずシングルブロックモードで空運転を実行し、座標表示と実際のツールパスに狂いがないかを確認してください。これにより、オペレータの操作ミスや再起動時の設定漏れに起因する予期せぬ衝突事故を根本的に防ぎ、再現性の低下や不良品発生を排除した、信頼性の高い自動化生産ラインを構築できます。
よくある質問
量産ロット切り替え時にG56の原点位置が微妙にばらつき、製品寸法が安定しない場合の対策は?
ロット間の寸法再現性を損なう原因の多くは、リセット時の座標挙動に関するパラメータ(FanucのNo. 3402、Mitsubishiの#1210など)の設定ミスにより、自動サイクル復帰時に不要なオフセット値や基本フレーム(basic frame)がバッファから部分的に呼び出されていることです。対策として、段取り開始時に制御盤画面でG56のコース(coarse)およびファイン(fine)の設定値を実測データと照合し、毎回測定記録をとってチェックすることを標準作業手順に追加してください。
Fanuc制御でG56をプログラムする際、Alarm PS0368を発生させずに工具長補正パラメータを設定する手順は?
このアラームは、工具長補正(G43/G44)がアクティブな状態でParameter No. 5040 Bit 3 (TCT)のフラグ変更を行おうとすると発生します。これは制御装置がパス追従エラーを防ぐための安全ロックです。実務的な対応として、このパラメータを変更する前に、別ブロックで必ずG49を実行して有効なすべての工具補正をキャンセルする指令をプログラムの初期化シーケンスに記述してください。
Siemens制御でG291を使用してG56のG10 L2 P3設定を行う際に、Alarm 12080を防ぐパラメータ設定は?
このアラームは、G291のISO Dialectモードで動作中にG500やTRANSなどのSiemensネイティブ指令を混用するか、外部NC言語を有効にするMD 18800のフラグ設定が不足している場合に発生します。予防策として、加工段取りの段階でMD 18800 $MN_MM_EXTERN_LANGUAGEを1に設定した上で、G10やG56ブロックの直前でG291を呼び出し、ネイティブ記述に戻る前には明示的にG290を指令するようにポストプロセッサを設定してください。
まだ解決しませんか?
このトピックについて、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アラーム防止、刃物台衝突回避と量産ロットの繰り返し精度向上を図る実務ノウハウ。