G55 Gコード完全ガイド:ワーク座標系2の設定と安全対策
Fanuc、Siemens、MitsubishiにおけるG55ワーク座標系2の設定手順、関連パラメータ(5040番等)、アラーム対策を徹底解説。段取りミスによる衝突を防ぎ、ロット間の繰り返し精度を極限まで高めるプログラミング技術。
はじめに
CNCマシニングセンタや旋盤において、G55ワーク座標系オフセットの設定ミスやプログラムの一時停止中の不用意な座標値変更は、瞬時に深刻な機械衝突を引き起こします。オペレータが誤ったオフセットを登録した状態で起動すると、ツールチップは設定されたチャックバリアや安全エンベロープを越え、テーブル上のクランプやバイスジョウ、あるいは回転するスピンドルチャックに高速で激突します。この瞬間的な衝突は、超硬工具の破損、タレット割り出しギヤの損傷、送り軸ボールねじの歪みをもたらし、高額なワークを即座に不良品発生へと至らせ、廃却処分を余儀なくします。
このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前に5040番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。本稿では、再現性の低下と不良品発生を招く要因を排除し、極めて高い加工信頼性と繰り返し精度を維持するための、Fanuc、Siemens、MitsubishiシステムにおけるG55の具体的な実装手順とパラメータ管理の勘所について解説します。
技術概要
| 項目 | 技術仕様 |
|---|---|
| 指令コード | G55 (ワーク座標系2選択 / 設定されたゼロオフセット2) |
| モーダルグループ | グループ 14 (Fanuc ミリング), グループ 12 (Fanuc ターニング / Mitsubishi 旋盤), グループ 8 (Siemens ネイティブ), グループ 14 (Siemens ISO ダイアレクト) |
| サポートブランド | Fanuc, Siemens, Mitsubishi |
| 重要パラメータ | Fanuc パラメータ 5040 Bit 3 (TCT), Siemens MD 28080 $MC_MM_NUM_USER_FRAMES, Mitsubishi パラメータ #1151 rstint |
| 主な制限事項 | 傾斜面加工/TCP制御との併用不可 (Mitsubishi)、Siemens 802D slにおけるパラメータのハードロック、オフセット有効時のパラメータ変更制限 (Fanuc) |
クイックリード
- 座標系選択: G55を指令して第2ワーク座標系をアクティブにし、有効な工具長補正やノーズR補正をキャンセルすることなく、機械基準原点に対して座標原点をシフトします。
- サブプログラムの再利用性: 2つの同一のワーク(一方はG54、他方はG55)をクランプし、シフトされたゼロ点を使用して同じサブプログラムを呼び出すことで、同一の形状を加工します。
- G10プログラム書き込み: アブソリュート(
G90)またはインクリメンタル(G91)モードでG10 L2 P2を使用し、NCプログラム内からプログラムによってG55オフセット値を動的に更新します。 - シングルブロック変更のリスク: シングルブロック停止中にG55オフセットを変更した直後に加工を再開しないでください。変更は次のブロックからのみ有効になります。
- 有効オフセットの安全ロック: Fanucの5040番パラメータのBit 3(
TCT)を変更する前に、必ずG49を使用してアクティブなオフセットをキャンセルしてください。そうしないとシステムアラームが発生します。 - バイリンガルコンパイラ切替: 標準的なG10座標書き込みコマンドを実行する前に、
G291を介してSiemensコントロールをISOモードに切り替えることを忘れないでください。 - モーションコントロールインターロック: G55を選択する前に、Mitsubishiマシンの簡易傾斜面制御(
G176)およびツールセンターポイント制御(G174)が非アクティブ化されていることを確認してください。
基本概念
CNCコントロールにG55ワーク座標系を実装すると、基本機械座標系に対してアクティブなアブソリュート座標レジスタがシフトします。この準備指令は、機械基準点ではなく、未加工のワーク(raw stock)上にローカライズされたプログラムゼロ点を直接設定するため、プログラマーは物理的な部品形状に基づいてツールパスを定義できます。
独立した座標原点を設定することで、対称的な輪郭や複数のワークのセットアップをマシンベッド上で動的に加工できます。例えば、オペレータはG54で登録された第1バイスジョウに1つのワークを固定し、G55で登録された第2バイスジョウに2つ目の同一ワークを固定できます。座標系を切り替えて同じ加工サブプログラムを呼び出すだけで、CNCは第2の位置で同じプログラムブロックシーケンスを実行するため、プログラム長が短縮され、プログラミングエラーが最小限に抑えられます。
G55への座標切り替えが指令されたとき、CNCモーションカーネルは有効な工具長補正や工具ノーズR補正をキャンセルしません。代わりに、制御システムはアクティブなオフセットベクトルを動的に再計算し、新しく選択されたG55ワークゼロ点に対して直接適用するため、パスの遮断や軸のドウェルを発生させることなく連続的な輪郭遷移を確実にします。
コマンド構造
G55コマンドは、後続のすべての座標指令を第2ワーク座標レジスタへとリダイレクトするモーダルスイッチとして機能します。CNCコントローラは、機械ゼロ点からワークゼロ点までの絶対距離を表す、G55レジスタに格納された座標オフセット値を参照します。G55が実行されると、制御システムは、G54やG56などの別のワーク座標系コマンドが指定されるまで、すべての絶対座標移動にこれらのオフセット値を適用します。
操作パネルでの手動オフセット入力に加えて、プログラム実行中にプログラムによってG55オフセットを変更することもできます。これは、プログラムデータ入力コマンドであるG10を使用し、アドレスL2で標準のワーク座標書き込みを指定し、アドレスP2でG55レジスタを選択することによって実現されます。これにより、ワークの寸法ばらつきやチャックの締め幅を補正するためのゼロオフセット更新など、動的な調整が可能になります。
; Fanuc Milling Syntax G90 G55 G00 X[x_coord] Y[y_coord] Z[z_coord] ;; Fanuc Turning System A Syntax G55 X[x_coord] Z[z_coord] ; G55 U[x_incremental] W[z_incremental] ;
; Siemens Native SINUMERIK Mode Syntax G55 ;
; Mitsubishi and general ISO G10 Programmable Offset Syntax G90 G10 L2 P2 X[x_offset] Y[y_offset] Z[z_offset] ;
| アドレス / パラメータ | システム内の役割 | 設定値 / 範囲 |
|---|---|---|
L2 | 標準ワーク座標系のオフセットデータ入力を指定 | 固定値 |
P2 | 対象のワーク座標系を指定(G55に直接マップ) | 固定値 |
X, Y, Z | 絶対軸座標値またはゼロオフセット | 機械ストローク範囲 |
U, W | インクリメンタル軸座標(旋盤システムAターニング) | 機械ストローク範囲 |
ブランド別応用
Fanuc
Fanuc制御システムでは、G55ワーク座標系は機械原点に対する絶対原点をシフトします。システム構成は、工具長補正を有効にするためのパラメータ5040 Bit 3、および旧シリーズのプログラムエミュレーションを管理するためのパラメータ0001 Bit 1に依存しています。
マシニングセンタ(ミリング)のプログラミング構文では、絶対座標への位置決めにG90 G55 G00 X__ Y__ Z__コマンドを使用します。GコードシステムAを使用する旋盤では、絶対移動はG55 X__ Z__として指令され、インクリメンタル調整はG55 U__ W__を介して実行されます。プログラムによってG55オフセットレジスタを変更するには、G90 G10 L2 P2 X__ Y__ Z__コマンドを実行します。
| カテゴリ | 項目 / コード | 説明 / 条件 |
|---|---|---|
| パラメータ | Parameter No. 5040 Bit 3 (TCT) | 工具交換タイプ:正/負の工具長補正(G43/G44)およびキャンセル(G49)を有効にするには1に設定。 |
| パラメータ | Parameter No. 0001 Bit 1 (FCV) | Series 15プログラムフォーマットの有効化:1に設定すると、制御システムはレガシープログラムフォーマットを使用し、固定サイクルおよび複数繰り返しサイクルの解釈を変更。 |
| パラメータ | Parameter No. 5431 Bit 0 (MDL) | 一方向位置決め(G60)のグループ割り当て。0の場合、グループ00(非モーダル)。1の場合、グループ01(モーダル)。 |
| パラメータ | Parameter No. 3405 Bit 3 (G36) | G36が反時計方向の円弧ねじ切り(1)か、X軸自動工具補正(0)かを表す。 |
| アラーム | Alarm PS1144 | アクティブなパラメータプログラム入力(G10)ブロック内で工具交換Tコードが指定された。対策:G10ブロックからTコードを削除。 |
| アラーム | Alarm PS0368 | 工具位置または工具長オフセットが適用されている間に、工具長補正パラメータTCT(Parameter No. 5040 Bit 3)を変更しようとした。対策:パラメータを変更する前に、G49でオフセットを非アクティブ化。 |
| アラーム | Alarm PS0082 | G36またはG37コマンドと同じブロックで工具交換Tコードが指定された。対策:Tコードと測定ブロックを分離。 |
| アラーム | Alarm PS0508 | 前ブロックでのプログラム座標系アライメント(G90絶対移動)なしで、平行軸に座標系回転(G68)が指定された。対策:直前のブロックで、すべての平行軸に対して絶対移動指令G90をプログラミング。 |
| バージョン | Series 15フォーマット vs 現代版 | レガシーなFanucフォーマットは、現代の制御システムではParameter No. 0001 Bit 1 (FCV)を使用してエミュレートされます。FCVを1に設定すると、サイクルポケットやツールパスの評価方法が変更されます。FCVを0にしたまま実行すると、形状計算エラー(プロフィールフェイル)が発生。 |
オペレータは、パラメータ値を変更する前に、G49コマンドを使用してすべてのアクティブな工具長オフセットがキャンセルされていることを確認する必要があります。オフセットがアクティブな状態で補正パラメータを変更しようとすると、システムアラームが発生し、パスの偏差が生じます。
Siemens
Siemens SINUMERIK制御システムでは、G55設定可能ゼロオフセットはグループ8で管理されます。システム変数とメモリ割り当ては、MD 28080やMD 18800などのマシンデータパラメータを介して構成され、ユーザーフレームの割り当てやバイリンガルコンパイルを可能にします。
ネイティブのSiemensモードでは、G55への切り替えは単一のG55ブロックで指令されます。G291によってアクティブ化されるISOダイアレクトモードでは、G55はG10 L2 P2 X__ Y__ Z__を介してプログラムで書き込まれます。ネイティブのフレーム操作は、G55フレームに対してTRANSまたはATRANSコマンドを使用してクリアまたはスタックされます。
| カテゴリ | 項目 / コード | 説明 / 条件 |
|---|---|---|
| パラメータ | MD 28080 $MC_MM_NUM_USER_FRAMES | ワークオフセット数:メモリに割り当てられる総ユーザーフレーム(G54〜G59、G505〜G599)を定義。 |
| パラメータ | MD 18800 $MN_MM_EXTERN_LANGUAGE | 外部NC言語の有効化:外部ISOダイアレクトコンパイラを有効にするには1に設定(G291/G10に必要)。 |
| パラメータ | MD 20734 $MC_EXTERN_FUNCTION_MASK (Bit 13) | G10書き込みコマンド実行中に内部プリプロセッサストップ(STPPRE)を強制し、メイン実行ブロックでの即時同期を図る。 |
| パラメータ | MD 20150 $MC_GCODE_RESET_VALUES[n] | リセットまたは電源投入時のGグループのデフォルトアクティブGコードを決定(例:グループ8のデフォルト:G500またはG54)。 |
| パラメータ | MD 24004 $MC_CHBFRAME_POWERON_MASK | 電源投入後にチャンネル固有の基本フレームをリセットするかどうかを制御。 |
| アラーム | Alarm 61800 | 外部言語マシンデータMD 18800がオフの状態で、G291への切り替えまたはG10オフセット変更を実行した。対策:MD 18800 $MN_MM_EXTERN_LANGUAGEまたはオプションビット19800を有効にする。 |
| アラーム | Alarm 14800 | G55ブロックで移動が指令されたが、プログラムされたパス送り速度FがF0と評価され、「固定送り速度」機能が非アクティブである。対策:ゼロ以外の送り速度を指定。 |
| アラーム | Alarm 12080 | コンパイラが認識できないコマンドを解析したか、フォーマットの競合(例:ISOダイアレクトモードでのSiemensネイティブコマンド記述)が発生した。対策:コンパイラモードがGコード構文と一致していることを確認(例:ネイティブコマンドにはG290を使用)。 |
| アラーム | Alarm 14060 | プログラムされたブロックスキップレベルが1未満または9を超えている。対策:コメントまたはコード内のスキップレベルを修正。 |
| バージョン | SINUMERIK 840D sl vs 802D sl | コンパクトなSINUMERIK 802D slは、調整不可能なハードロックパラメータ(MD 10604、MD 10706、MD 20154)を持ち、衝突回避オプションを欠く。グローバルパラメータは840D slおよび828Dで完全に調整可能。 |
| バージョン | 多刃旋盤加工(多角旋盤) | 高度な旋盤準備機能であるG51.2(ON)およびG50.2(OFF)は840D slでサポートされるが、802D slでは省略。 |
| バージョン | ブロックスキップレベル | Siemensは、オリジナルのISO制御とは異なり、/と/1を個別に有効化する必要がある別々のスキップレベルとして処理。MD 10706 SLASH_MASKを介して構成。 |
オペレータは、座標シフト時の衝突を防ぐために、スピンドルやタレットなどの敏感な機器の周囲にアクティブな保護領域を定義する稼働領域制限(G25/G26またはWALIMON/WALIMOF)をプログラムする必要があります。
Mitsubishi
Mitsubishi制御システムでは、G55はGコードグループ12のモーダルコマンドに属します。NCリセット中のモーダル保持はパラメータ#1151を使用して構成され、座標分解能はパラメータ#1003を使用して定義されます。
G55ワーク座標系を選択するには、G90 G55 G00 X__ Y__ Z__コマンドを実行します。プログラムによるゼロオフセット入力は、G90 G10 L2 P2 X__ Y__ Z__(P2はG55に対応)を介して行われます。あるいは、X軸についてはシステム変数#5241にオフセット値を直接書き込むこともできます。
オペレータは、G55オフセットを含むプログラムに対して空運転 (dry run)を実施し、機械の干渉が発生しないことを確認すべきです。
| カテゴリ | 項目 / コード | 説明 / 条件 |
|---|---|---|
| パラメータ | Parameter #1151 rstint | リセット初期化:0の場合、NCリセット(Reset 1)中もアクティブなワーク座標系モーダルがバックグラウンドで保持されます。 |
| パラメータ | Parameter #1210 RstGmd/bitF | モーダルGコードリセット設定:リセット時にモーダル座標系選択が初期化されるか保持されるかを構成します。 |
| パラメータ | Parameter #1003 iunit | 入力設定単位:座標入力分解能(BからE)と設定境界を定義します。 |
| アラーム | Program Error (P951) | 簡易傾斜面制御(G176)がアクティブな状態で、ワーク座標系選択(G54〜G59)を実行した。対策:座標シフト前に簡易傾斜面制御をキャンセル。 |
| アラーム | Program Error (P942) | 簡易ツールセンターポイント制御(G174)がアクティブな状態で、座標系選択を実行した。対策:座標選択前にツールセンターポイント制御を非アクティブ化。 |
| アラーム | Program Error (P953) | 工具軸方向制御(G53.1またはG53.6)がアクティブな状態で、ワーク座標系選択を実行した。対策:最初に工具軸方向制御をキャンセル。 |
| アラーム | Program Error (P35) | G10 L2 Pnコマンドで、最大制限を超えるパラメータ値範囲(例:P7以上、または範囲外のオフセット)が指定された。対策:標準オフセットではPアドレスをP1からP6の範囲に制限。 |
| バージョン | M80V Type Bシリーズの制約 | アクティブな高速加工モードまたは高精度制御モードの実行中に拡張ワーク座標系設定を実行することはブロックされ、Program Error (P39)または(P34)をトリガーします。 |
オペレータは、シングルブロック停止中に座標オフセット値が変更された場合、新しい設定は次のブロックからのみ有効になることに留意する必要があります。変更直後に加工を再開すると、古いオフセットを使用して座標が実行され、深刻な衝突のリスクが生じます。
ブランド比較
| 比較項目 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Gコードグループ割り当て | グループ 14 (ミリング), グループ 12 (ターニング) | グループ 8 (ネイティブ SINUMERIK モード), グループ 14 (ISO ダイアレクトモード) | グループ 12 (旋盤システム) |
| インクリメンタル指令構文 | アドレス文字の U および W の組み合わせ (ターニング システム A) | G91 または特定のアクティブフレームオフセットを介してモーダル管理 | G91 を介してモーダル管理 |
| バイリンガルコンパイラの要件 | 不要。コンティニュアスパース | G290 (ネイティブ) および G291 (ISO ダイアレクト) を介したバイリンガルコンパイラ切り替え | 不要。G188/G189 を介したモーダルフォーマット切り替え |
| 有効オフセット時のパラメータインターロック | 厳格なソフトウェアロック。アクティブなオフセット下では工具パラメータの変更がブロックされ Alarm PS0368 をトリガー | 柔軟な刃先レジスタ (D コード)。パラメータ抑制は構成可能 | 古いファームウェアバージョンにおけるアクティブな G52 ローカルシフト中のソフトウェアロックインターロック (Program Error P438) |
| プログラムによるシフト方法 | 標準的な G10 オフセット入力 | 座標のスタックと抑制を伴うフレーム構造 (TRANS/ATRANS) | G52 ローカル座標オフセットコマンドおよびシステム変数直接書き込み |
| 手動リバースラン対応 | アクティブな座標トラッキングには非対応 | ネイティブフレームのロールバック中に G55 モーダルを選択解除 | G127 手動任意リバースランはアクティブな G55 座標を追従して維持 |
技術解析
G55有効時におけるアブソリュート座標とインクリメンタル座標の遷移のアーキテクチャ上の処理は、3つのコントローラで大きく異なります。Fanucの旋盤プログラミング(GコードシステムA)では、モーダルのG90/G91切り替えを実行することなく、同じプログラムブロック内で絶対軸座標(X, Z)と増分軸座標(U, W)を混在させることができます。対照的に、SiemensおよびMitsubishiシステムは、座標変換を決定するためにグループ3のモーダルテーブルまたは軸固有の修飾子に依存しています。これにより、Fanucのデュアルアドレスシステムは旋盤加工において非常に効率的になりますが、プログラマーは軸アドレスの記述規則に注意する必要があります。
バイリンガルコンパイルとフレームスタッキングも、Siemensを日本の競合製品と差別化する特徴です。Siemens SINUMERIK制御システムでは、標準のG10またはG55ブロックを解析するためにコンパイラをISOダイアレクトモードに切り替えるG291コマンドを実行し、ネイティブのSiemensモードに戻すにはG290コマンドを実行する必要があります。また、Siemensはマルチレベルのフレームスタック内でゼロオフセットを管理し、基本となるG55オフセットに絶対フレーム(TRANS)または加算フレーム(ATRANS)を動的に重ね合わせることができます。しかし、ネイティブの絶対フレームは代入コマンドであるため、一時的な変換をキャンセルするために引数のないTRANSブロックを実行すると、G55の上に重ねられていた有効な回転(ROT)やミラーリング(MIRROR)も自動的に消去されてしまいます。これに対し、FanucとMitsubishiは独立して個別にキャンセル可能なモーダルグループを通じて座標回転やミラーリングを処理します。
工具補正のインターロックと手動割り込み機能は、安全面と動作面においてそれぞれ固有の挙動をもたらします。Fanuc制御システムは、有効な工具オフセットが適用されている間、パラメータ5040 Bit 3などの工具長補正パラメータの変更を禁止する厳格なソフトウェアロックインターロックを適用し、違反するとAlarm PS0368を発生させます。SiemensとMitsubishiは、アクティブな刃先レジスタ(Dコード)を介して長さオフセットを処理するため、座標シフト時のプログラムの柔軟性が高まります。一方、Mitsubishiは、加工中にオペレータが手動パルス発生器(手動ハンドル)を逆転操作できる特別な手動任意リバースラン(G127)機能を実装しており、Mitsubishiのモーションカーネルはこの逆転追従中に有効なG55オフセットをトラッキングして復旧させます。Fanucにはこのリバーストラッキング機能がなく、Siemensはネイティブフレームロールバック中にゼロオフセットモーダルを自動的に解除します。
プログラム例
Fanucの例
O1001 ;
N10 G90 G21 G40 G49 G80 ;
N20 G10 L2 P2 X-250.5 Y-150.0 Z-400.2 ;
N30 G00 G90 G55 X0 Y0 ;
N40 G43 H01 Z50.0 M03 S1500 ;
N50 G01 Z-5.0 F150.0 ;
N60 X50.0 Y50.0 ;
N70 G00 Z100.0 M05 ;
N80 G49 G53 G00 X0 Y0 Z0 ;
N90 M30 ;空運転
- N10: 制御ステートを初期化し、アブソリュートプログラミングモード(
G90)、メトリック入力単位(G21)を設定し、工具径補正(G40)、工具長補正(G49)、固定サイクル(G80)をキャンセル。 - N20: 補正タイプ
L2(ワーク座標オフセット)と対象P2(G55に対応)を指定したプログラムデータ設定コマンドG10を使用して、絶対座標オフセット値X-250.5、Y-150.0、Z-400.2をG55レジスタにロード。 - N30: ワーク座標系2(
G55)を選択し、X軸およびY軸をローカライズされた座標原点(X0,Y0)へ早送り位置決め。 - N40: 工具補正番号
H01を使用して正方向の工具長補正(G43)を有効にし、Z軸をG55のワークゼロ点に対して安全高さZ50.0に早送りし、スピンドルを時計回りに1500 rpmで正転起動。 - N50: Z軸方向に、送り速度
150.0 mm/minで深さZ-5.0まで直線送り(G01)で切り込み。 - N60: G55プログラムゼロ点に対して座標
X50.0、Y50.0まで直線補間を行い、ワークを加工。 - N70: 早送り速度でツールを安全平面の
Z100.0まで退避させ、スピンドルを停止(M05)。 - N80: 工具長補正をキャンセル(
G49)し、安全なワーク脱着のために軸を機械座標系ゼロ点(G53 X0 Y0 Z0)へ直接早送り。 - N90: プログラムを終了してメモリを巻き戻し(
M30)。
Siemensの例
N10 G90 G710 G40 ;
N20 G291 ;
N30 G10 L2 P2 X-250.5 Y-150.0 Z-400.2 ;
N40 G290 ;
N50 G55 G00 X0 Y0 ;
N60 T1 D1 M3 S1500 ;
N70 G00 Z50.0 ;
N80 G01 Z-5.0 F150.0 ;
N90 TRANS X20.0 Y20.0 ;
N100 G01 X30.0 Y30.0 ;
N110 TRANS ;
N120 G00 Z100.0 M5 ;
N130 G500 G00 X0 Y0 Z0 ;
N140 M30 ;空運転
- N10: ネイティブSiemensモードのアブソリュート座標(
G90)、メトリック単位(G710)を設定し、工具径補正(G40)をキャンセル。 - N20: コンパイラをISOダイアレクトモード(
G291)に切り替え、標準ISO Gコードを解釈。 - N30:
G10 L2 P2を使用して、G55オフセットレジスタにワークオフセット座標値X-250.5、Y-150.0、Z-400.2を直接書き込み。 - N40: コンパイラをネイティブのSiemens SINUMERIKモード(
G290)に戻す。 - N50: G55設定可能ゼロオフセットユーザーフレームを有効にし、X軸およびY軸をプログラムゼロ点(
X0,Y0)に早送り位置決め。 - N60: 工具
T1をロードし、アクティブな刃先オフセットD1を有効化して、スピンドルを時計回りに1500 rpmで正転起動。 - N70: Z軸をG55ゼロフレーム基準の安全逃げ平面
Z50.0へ早送り。 - N80: ツールパス送り速度
150.0 mm/minで、深さZ-5.0までツールを直線送り。 - N90: 絶対プログラマブルゼロオフセット
TRANS X20.0 Y20.0を指令し、有効なG55座標系に対してプログラム原点をX軸およびY軸方向にそれぞれ20 mmシフト。 - N100: 新たにシフトされたローカル座標原点から計算して、
X30.0、Y30.0への直線補間を実行。 - N110: 引数のない単一の
TRANSコマンドを実行し、アクティブなローカルフレーム変換をキャンセルして、プログラム原点を基本となるG55ゼロ点に復旧。 - N120: 工具を安全高さ
Z100.0へ退避させ、スピンドルを停止。 - N130:
G500を使用してすべてのアクティブな設定可能フレームを解除し、軸を機械ゼロ点へ早送り。 - N140: プログラムの実行を終了し、メモリを巻き戻し(
M30)。
Mitsubishiの例
N10 G90 G21 G40 G49 G80 ;
N20 G90 G10 L2 P2 X-250.5 Y-150.0 Z-400.2 ;
N30 G90 G55 G00 X0 Y0 ;
N40 M06 T01 ;
N50 G43 H01 Z50.0 M03 S1500 ;
N60 G01 Z-5.0 F150.0 ;
N70 #5241 = -252.0 ;
N80 G01 X50.0 Y50.0 ;
N90 G00 Z100.0 M05 ;
N100 G49 G53 G00 X0 Y0 Z0 ;
N110 M02 ;空運転
- N10: アブソリュートモード(
G90)、メトリック入力単位(G21)を設定し、アクティブな補正やサイクルをキャンセルして制御パラメータを初期化。 - N20:
G10 L2 P2構成を使用して、G55(P2)のワーク座標オフセット値をプログラムでX-250.5、Y-150.0、Z-400.2に設定。 - N30: G55座標系を選択し、X軸およびY軸をローカルプログラム座標
X0、Y0に早送り位置決め。 - N40: 工具交換コマンド(
M06)を実行して工具T01をロード。 - N50: 工具オフセットレジスタ
H01を使用して工具長補正(G43)を有効にし、Z軸をZ50.0に早送りし、スピンドルを時計回りに1500 rpmで正転起動。 - N60: 送り速度
150.0 mm/minで、深さZ-5.0までワーク内に工具を直線送り。 - N70: システム変数
#5241に値-252.0を直接書き込み、アクティブなX軸のG55オフセットを変更。この書き込みはプログラムの途中で実行されるため、新しいオフセット値は次のブロックからのみ有効になることに注意。 - N80: 新しく更新されたX軸オフセット値から計算された
X50.0、Y50.0へ直線移動を実行し、加工。 - N90: Z軸を
Z100.0に早送り退避させ、スピンドル停止(M05)を指令。 - N100: 工具長補正をキャンセル(
G49)し、機械ゼロ点(G53 X0 Y0 Z0)へ軸を早送り。 - N110: プログラム運転を終了(
M02)。
エラー解析
| ブランド | アラームコード | 発生条件 | オペレータから見た現象 | 根本原因 / 対策 |
|---|---|---|---|---|
| Fanuc | Alarm PS1144 | 有効なパラメータプログラム入力(G10)ブロック内部で工具交換Tコードが指定された。 | プログラム実行が即座に停止。操作画面に「G10 FORMAT ERROR」が表示される。 | 根本原因:無効なコマンドの組み合わせ。対策:TコードをG10ブロックとは別のブロックに移動。 |
| Fanuc | Alarm PS0368 | 工具位置または工具長オフセットが適用されている間に、工具長補正パラメータTCT(Parameter No. 5040 Bit 3)を変更しようとした。 | 実行停止。操作画面に「OFFSET REMAIN AT OFFSET COMMAND」が表示される。 | 根本原因:有効なオフセットが存在する間はパラメータ変更がブロックされる。対策:パラメータ変更前にG49を指令してアクティブなオフセットを解除。 |
| Fanuc | Alarm PS0082 | G36またはG37コマンドと同じブロックで工具交換Tコードが指定された。 | 実行停止。画面に「G37 SPECIFIED WITH T CODE」が表示される。 | 根本原因:工具オフセット測定ブロックの競合。対策:測定ブロックの前にTコードを単独ブロックで指令。 |
| Fanuc | Alarm PS0508 | 前ブロックでのプログラム座標系アライメント(G90絶対移動)なしで平行軸に座標系回転(G68)が指定された。 | 実行停止。画面に「G CODE TO NEED G90(PAC)」が表示される。 | 根本原因:平行軸が位置合わせされていない。対策:直前のブロックで、すべての平行軸に対して絶対移動指令G90をプログラミング。 |
| Siemens | Alarm 61800 | 外部言語マシンデータMD 18800がオフの状態で、G291への切り替えまたはG10オフセット変更を実行した。 | 実行停止. 画面に「External CNC system missing」が表示される。 | 根本原因:外部言語コンパイラオプションが有効化されていない。対策:MD 18800 $MN_MM_EXTERN_LANGUAGEを1に設定するか、オプションビット19800を有効にする。 |
| Siemens | Alarm 14800 | G55ブロックで移動が指令されたが、プログラムされたパス送り速度FがF0と評価され、「固定送り速度」機能が非アクティブである。 | 実行停止。画面に「Channel %1 Set %2 programmed path velocity is less than or equal to zero」が表示される。 | 根本原因:送り速度ゼロの状態で軸移動が指令された。対策:該当ブロックまたはアクティブモーダル内でゼロ以外の送り速度を指定。 |
| Siemens | Alarm 12080 | コンパイラが認識できないコマンドを解析したか、フォーマットの競合(例:ISOダイアレクトモードでのSiemensネイティブコマンド記述)が発生した。 | 実行停止。画面に「Syntax error」が表示される。 | 根本原因:ISOモード下でネイティブコマンドがコンパイルされた。対策:ネイティブコマンドを実行する前にG290でコンパイラをネイティブモードに切り替える。 |
| Siemens | Alarm 14060 | プログラムされたブロックスキップレベルが1未満または9を超えている。 | 実行停止。画面に「Impermissible skip level for differential block skip」が表示される。 | 根本原因:許容範囲外のスキップレベル入力。対策:コメントまたはコード内のスキップ番号を1から9の間に修正。 |
| Mitsubishi | Program Error (P951) | 簡易傾斜面制御(G176)がアクティブな状態で、ワーク座標系選択(G54〜G59)を実行した。 | プログラム実行停止。操作画面に「Program Error (P951)」が表示される。 | 根本原因:傾斜面加工モード中に座標シフトが指令された。対策:座標選択前に簡易傾斜面制御のキャンセルコマンドを実行。 |
| Mitsubishi | Program Error (P942) | 簡易ツールセンターポイント制御(G174)がアクティブな状態で、座標系選択を実行した。 | プログラム実行停止。操作画面に「Program Error (P942)」が表示される。 | 根本原因:ツールセンターポイント制御実行中に座標シフトが指令された。対策:座標系を選択する前にツールセンターポイント制御を非アクティブ化。 |
| Mitsubishi | Program Error (P953) | 工具軸方向制御(G53.1またはG53.6)がアクティブな状態で、座標系選択を実行した。 | プログラム実行停止。操作画面に「Program Error (P953)」が表示される。 | 根本原因:工具軸方向制御実行中に座標シフトが指令された。対策:最初に工具軸方向制御をキャンセル。 |
| Mitsubishi | Program Error (P35) | G10 L2 Pnコマンドで、最大制限を超えるパラメータ値範囲(例:P7以上、または範囲外のオフセット)が指定された。 | プログラム実行停止。操作画面に「Program Error (P35)」が表示される。 | 根本原因:ワークオフセット設定番号が範囲外。対策:標準ワーク座標系ではPアドレス範囲をP1からP6までに制限。 |
実務応用ノウハウ
G55オフセットの変更タイミングを誤ると、ツールチップが粉砕され、軸のボールねじやタレットが致命的な損傷を受け、ワークが完全に破壊されるという最悪のクラッシュが発生します。現場での最大の落とし穴は、プログラムをシングルブロック停止させた状態で、操作盤のレジスタ画面やG10、あるいはシステム変数#5241(Mitsubishiなど)を用いてG55の値を書き換える操作です。CNCのモーションカーネルは、すでにバッファされている現在の移動ブロックに対してこの更新を反映しません。新たなオフセット値が有効になるのは次のブロック以降であるため、オペレータがサイクルスタートを押した瞬間、機械は変更前の古いオフセット値で計算された軌道に沿って移動を再開します。この結果、スピンドルやタレットはテーブル上のクランプやバイスジョウ、あるいはスピンドルチャックの回転ジョウへ向かって無補正のまま突進し、大電流過負荷アラームやProgram Error (P951)などのエラーを発生させて強烈に激突します。このようなロット間の再現性の低下や不良品発生を防ぐためには、オフセット変更後にプログラムを必ず一度リセット(またはメモリ巻き戻し)し、インタープリタに座標値を再計算させなければなりません。また、Fanucではパラメータ5040のBit 3(TCT)が正しく構成されているか、SiemensではMD 28080で必要なユーザーフレーム数が確保されているかなど、稼働前に主要パラメータを検証することが、長期的な生産信頼性を維持するための基本要件です。
関連コマンド
- G54 (ワーク座標系1): 標準的なデフォルトのゼロオフセットとして機能する第1ワーク座標系を選択します。複数治具のセットアップ時によくG55と比較、または切り替えられます。リンク:G54 ワーク座標系
- G53 (機械座標系選択): アクティブなG55ワーク座標系オフセットを一時的に抑制し、工具交換や安全な軸退避のために機械の絶対基準ゼロ位置に対する非モーダルな移動コマンドを可能にします。リンク:G53 機械座標系選択
- G52 (ローカル座標系): アクティブなG55ワーク座標系に対して一時的なローカルシフトを設定し、G55レジスタに記憶されたベースラインオフセット値を変更せずに座標原点をシフトします。リンク:G52 ローカル座標系
- G10 (プログラマブルデータ入力): 絶対またはインクリメンタル入力を使用し、プログラムの実行中にG55などの座標系オフセットレジスタをプログラムで更新します。
おわりに
複数個取り加工において長期的な繰り返し精度を維持し、ロット間の寸法ばらつきを防ぐためには、G55ワーク座標系を正確に制御し、常にパラメータ設定値の一貫性を担保することが極めて重要です。特に、Fanucの5040番パラメータ(TCT)などの重要設定が未検証のままであると、不意のアラーム停止や微小な座標ずれが蓄積し、最終的な不良品発生につながります。日常の段取り作業では、G55呼び出しの前にG53指令を使用して軸を機械原点へ退避させるプログラム構造を標準化し、座標系切り替え時の安全マージンを確保することを強く推奨します。さらに、新しいオフセットを登録した後は、最初のロット加工に入る前に必ず空運転を通じて軌道を視覚的に確認し、オペレータによる入力エラーを未然に防ぐ体制を確立することで、不要な非計画停止と衝突リスクを完全に排除し、工場全体の生産信頼性を最大化できます。
よくある質問
ロット間の加工寸法にばらつきが生じる場合、G55のどのパラメータを確認すべきですか?
量産時においてロットごとに寸法ばらつき(再現性の低下)が発生する場合、Fanucのパラメータ5040 Bit 3(TCT)の整合性や、Mitsubishiのパラメータ#1151(rstint)のモーダル設定を確認してください。特にリセット操作時に座標系モードが暗黙的に初期化される設定になっていると、再起動時に異なる基準点から移動が計算され、累積誤差や不良品発生の原因になります。段取り前にこれらのパラメータ値をバックアップと照合し、制御パラメータが変更されていないか検証する標準作業手順を導入してください。
プログラム中でG10を使用せずにG55の値を直接更新し、繰り返し精度を担保する方法はありますか?
システム変数を活用し、NCプログラムから直接値を代入する方法があります。例えば、Mitsubishiシステムでは「#5241」などの専用システム変数に対してマクロ変数コマンドで座標値を書き込むことで、G10の手動エラーを排除できます。これにより、タッチセンサーで自動計測した実測値をプログラム内で自動的にフィードバックさせることが可能になり、ロットごとの人為的誤差による不良品発生を防ぐことができます。自動計測マクロを標準プログラムに組み込み、実測座標を自動更新するシステムを構築してください。
Siemens SINUMERIKでG55オフセットを適用した際にアラーム14800が発生する原因は何ですか?
アラーム14800(Programmed path velocity <= 0)は、G55を呼び出したブロックまたはそれ以前の移動コマンドで送り速度「F」の値が指定されていないか、ゼロと評価された場合に発生します。Siemensではワーク座標系が切り替わると、以前のモーダル送り速度がクリアされたり、特定のフレーム構成(TRANSなど)の干渉によって無効化される場合があります。G55座標系の選択コマンドの直後に、必ず具体的な送り速度「F」の値を再度明示的にプログラム記述(例:G55 G01 X0 F150)して動作を確認してください。
まだ解決しませんか?
このトピックについて、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アラーム防止、刃物台衝突回避と量産ロットの繰り返し精度向上を図る実務ノウハウ。