Siemens CNCにおけるG56設定可能ゼロオフセット3設定ガイド
Siemens G56ゼロオフセットの正しい設定手順とプログラミング方法を解説。MD28080やMD24000などの重要メモリパラメータ設定から、衝突事故を防ぐ安全対策、Alarm 18312の解除方法まで、現場での繰り返し精度向上に必要な技術ノウハウを網羅。
はじめに
自動 cycle が途中で中断され、G56 ゼロオフセットのキャンセルコマンドが実行されないままリセットされると、制御装置のメモリ内にアクティブな座標シフトが残存します。この状態でオペレータが turret 上のツール交換を行うか、あるいはアクティブなオフセットレジスタをクリアせずに軸を手動移動させると、次の cycle 再開時にツール turret が退避経路を取らずに急移動する危険があります。この結果、spindle や turret が、テーブル上の fixture clamp、ワーク用の vise jaw、あるいは chuck の回転爪にツールを直接衝突させる「ハードコリジョン (衝突)」を引き起こします。この衝撃は超硬切削ツールを粉砕し、送りねじなどの軸部品を破損させ、過負荷アラームを発生させるだけでなく、貴重な素材を瞬時に不良品へと変えてしまいます。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される事態に陥ります。再現性の低下と重大な不良品発生を防ぎ、量産現場の信頼性を維持するためには、G56 の正しい設定と関連パラメータの徹底的な検証が不可欠です。
技術概要
| 技術特性 | 仕様 |
|---|---|
| コマンドコード | G56 |
| グループ / modal | グループ 8 (設定可能ワークオフセット) / modal |
| 対応ブランド | Siemens (SINUMERIK) |
| 重要パラメータ | MD 28080 $MC_MM_NUM_USER_FRAMES (オフセット割り当て) MD 24000 $MC_FRAME_ADD_COMPONENTS (微調整ゼロオフセットコンポーネントの有効化) |
| 主な制限事項 | ISOの G10 コマンドを使用してプログラムでオフセットを書き込むには、明示的な compiler モードの切り替え (G291) が必要です。微調整オフセット設定が無効な状態で軸方向微調整オフセットを書き込もうとすると、Alarm 18312 が発生します。 |
クイックリード
- セットアップオペレータは turret 上のツールを交換する前に、退避していないラピッドパス移動を防止するため、アクティブなゼロオフセットレジスタをクリアする必要があります。
- Siemens 制御装置で G10 L2 P3 オフセット書き込み処理を実行するには、G291 を介して ISO Dialect モードに切り替える必要があります。
- アクティブなワーク座標系 (WCS) は、coarse オフセットと fine オフセットを数学的に加算することによって決定されます。
- 軸方向の fine オフセットは、マシンデータパラメータ MD 24000 が 1 に設定されている場合にのみ使用できます。
- fixture clamps や vise jaws の周囲に保護ゾーンを設定するために、プログラム可能な動作領域制限 (G25/G26 または WALIMON/WALIMOF) を使用する必要があります。
- G53 や SUPA などの non-modal な抑制コマンドは、メモリからオフセットレジスタをクリアすることなく、一時的に G56 を無効化します。
基本概念
Siemens 制御装置における G56 ゼロオフセットの実践的なプログラミングは、プログラム座標系の原点を機械の絶対零点 (MCS) からローカライズされたワークゼロ (WCS) に直接シフトさせ、プログラマーが部品の幾何形状に関連してツールパスを評価できるようにします。機械ゼロとワークゼロの間の実際の距離は、ワークピースの種類と物理的なクランプ方法に完全に依存します。旋盤加工アプリケーションでは、このゼロオフセットは通常、chuck の締め付けクリアランスを補正するために提供されます。
マシニングセンタのアプリケーションでは、G56 は機械ゼロから、fixture clamp や vise jaw に直接配置されたワークゼロ点までの物理的距離を定義するために調整されます。独立した座標原点を設定することで、対称的な輪郭や複数のセットアップを動的に加工できます。例えば、pallet 上に配置された3つの同一のワークピースは、単一のサブプログラム (L47 など) を実行しながら、ゼロオフセット G54、G55、G56 に従って順次加工することができ、プログラムサイズを劇的に削減できます。
コマンド構造
G56 コマンドは、アクティブな基準を3番目の設定可能ゼロオフセットにシフトします。これにより、後続の座標がワークゼロ点から評価されるようになります。Siemens はバイリンガルの切り替え式 compiler を使用して、このオフセットをネイティブまたは外部言語スタイル経由で処理します。
ネイティブの SINUMERIK モード (G290) でプログラミングする場合、G56 はオフセットをアクティブにするためのスタンドアロンコマンドとして呼び出されます。対照的に、レガシーな ISO コードが実行されている場合は、G10 がオフセットレジスタに値を直接書き込む前に、まず G291 をプログラミングする必要があります。
G56 ;
G90 G56 G00 X__ Y__ Z__ (D__) ;
G291 ;
G10 L2 P3 X__ Y__ Z__ ;
- X, Y, Z: G56 ゼロ点から評価される絶対座標ターゲット。
- D: オプションのツール刃先オフセット (補正用の D1 〜 D12、キャンセル用の D0)。
- L2: ワークピースワークオフセットデータ入力レジスタ識別子 (ISO モードのみ)。
- P3: G10 データの出力先として G56 (3番目のワークオフセット) を選択します (ISO モードのみ)。
ブランド別応用
Siemens
Siemens SINUMERIK 制御装置は、ワークオフセットをメモリ内の動的 frame として処理します。G56 オフセットは、ベースラインの設定可能 frame として機能します。プログラマーは、MD 28080 や MD 24000 などのマシンデータパラメータを使用して、メモリ割り当てと解釈処理の動作を設定します。
ネイティブで G56 を選択するには、G290 の後に G56 を使用します。ISO スタイルでプログラムにより G56 オフセット書き込みをプログラミングするには、G291 の後に G10 L2 P3 を使用します。
| パラメータ / コンポーネント | 機能および値の範囲 | 操作上の役割 |
|---|---|---|
| MD 28080 $MC_MM_NUM_USER_FRAMES | 整数 (例: 6 〜 100) | 制御メモリに割り当てられるユーザー設定可能ゼロオフセット (G54-G59、G505-G599) の総数を定義します。 |
| MD 24000 $MC_FRAME_ADD_COMPONENTS | 0 (無効) または 1 (有効) | 軸方向の fine ゼロオフセットコンポーネントを有効にします。G56 で G59 を使用するには 1 に設定する必要があります。 |
| MD 20734 $MC_EXTERN_FUNCTION_MASK | ビット 13: 0 または 1 | G10 書き込み中に内部プリプロセッサストップ (STPPRE) を強制し、メイン実行の同期を保証します。 |
| MD 18800 $MN_MM_EXTERN_LANGUAGE | 1 (有効) | ISO Dialect モード (G291) 用の外部 NC 言語インタープリタを有効にします。 |
| MD 20150 $MC_GCODE_RESET_VALUES[18] | グループ 8 デフォルト: 1 (G500) | 電源投入時またはリセット時にアクティブになるデフォルトの G グループ 8 値を決定します。 |
警告: セットアップオペレータは、アクティブなワークオフセットが物理的なワーク座標と不一致を起こしていないことを検証する必要があります。加工途中でプログラムリセットが発生した場合、G56 はバックグラウンドでアクティブなまま維持されるため、再開時に予期しないツール移動や spindle の破損につながる可能性があります。
ブランド比較
| 機能カテゴリ | SINUMERIK 840D / 840D sl | SINUMERIK 828D | SINUMERIK 808D / 802D sl |
|---|---|---|---|
| 制御クラス & インターフェース | ハイエンドのマルチチャネルシステム。ワイドスクリーンマルチタッチパネル、サイドスクリーンウィンドウ、ABC キーボード、および「Collision avoidance (衝突回避)」ソフトウェアオプションをサポート。 | ミドルレンジのシングル/デュアルチャネルシステム。標準の操作パネルと内蔵 cycle をサポートし、ワイドスクリーンのサイドスクリーンは非対応。Collision avoidance オプションはなし。 | エントリーレベル/コンパクトな制御装置。標準的なプッシュボタン画面。オプションパラメータや重要な設定 (MD 10604 など) はロックされており、変更できません。 |
| ゼロオフセット割り当て | MD 28080 を介して最大 100 個のユーザー frame (G54 から G59、G505 から G599) まで完全に設定可能。完全な coarse/fine オフセット構造。 | 標準のゼロオフセットメモリ (G54 〜 G57 と最大 4 つのユーザーオフセット)。標準的な fine オフセットをサポート。 | 固定のゼロオフセット割り当て (標準の G54 〜 G57)。ロックされたマシンパラメータにより、ユーザー frame の拡張は不可。 |
| ブロックスキップインタープリタ | 「/」と「/1」を、チャネルで設定された完全に別個の独立したブロックスキップレベルとして処理します。 | 「/」と「/1」を、制御装置内で個別に有効化する必要がある別個のブロックスキップレベルとして処理します。 | 基本的なブロックスキップ実行。レガシーな ISO ブロックスキップレベルは、標準の Siemens レベルに直接マッピングされます。 |
技術解析
個々のユーザーゼロオフセット (G54 〜 G599) は coarse オフセットと fine オフセットで構成され、coarse オフセットと fine オフセットが数学的に加算されてアクティブなワークゼロが決定されます。セットアップオペレータおよびプログラマーは、プログラム実行中の座標オフセット登録とアクティブな境界に関して細心の注意を払う必要があります。オペレータが手動でゼロプリセットを実行したり、アクティブなシフト中に手動で軸を移動したり、不完全な軸引数でリセットを実行した場合、残りの軸はシフトされた値を保持します。
ゼロオフセット処理において、Siemens 制御装置と Fanuc および Mitsubishi 制御装置を明確に区別する 3 つの主要なプログラム上およびアーキテクチャ上の動作があります。
第一に、Siemens はバイリンガルの切り替え式 compiler モデル (G290/G291) で動作します。Fanuc および Mitsubishi 制御装置は座標オフセットとレジスタシフトを単一の連続したプログラムフロー内でネイティブに解釈しますが、Siemens では、プログラマーが G291 を介して明示的に compiler を ISO Dialect モードに切り替えて、レガシーな ISO スタイル (G10 オフセット入力や G56 選択など) を含むブロックをビルドする必要があります。その後、プログラムは G290 を指令してネイティブの SINUMERIK モードに戻し、高度なパラメータフレーム (TRANS/ROT/SCALE/MIRROR) およびネイティブのゼロオフセットを処理する必要があります。
第二に、Siemens は座標変換を「frame」メモリスタックの動的かつモジュール式のコンポーネントとして管理します。G56 はベースラインの設定可能 frame として機能します。このベースライン G56 frame の上に、プログラマーはプログラム可能な絶対オフセット (TRANS/ROT/SCALE/MIRROR) または加算修飾子 (ATRANS/AROT/ASCALE/AMIRROR) を同一プログラムブロック内で動的に連結できます。これらの frame は、アクティブなパラメータに応じて、マルチレベルの抑制コマンド (G53、G153、SUPA、または G500) を使用してグローバルまたは選択的に抑制することができ、Fanuc や Mitsubishi の固定されたレジスタ選択よりもはるかに優れたプログラミングの柔軟性を提供します。
第三に、Siemens はレガシーなブロックスキップレベルを個別の独立したチャネルとしてマッピングします。スラッシュ「/」と「/1」のスキップ文字が全く同じレベルを表すオリジナルの ISO Dialect とは異なり、Siemens は「/」と「/1」を個別に有効化する必要がある別個のスキップレベルとして扱います。オペレータがこれらのスキップレベルを個別に設定せずに、両方のスキップスタイルを含むレガシープログラムを Siemens 制御装置で実行すると、スキップするように設計されたブロックが実行され、予期しない軸移動や壊滅的なワーク衝突を引き起こす可能性があります。
プログラム例
; Siemens ネイティブおよび ISO 切り替え G56 の例
G290 ; compiler をネイティブの Siemens SINUMERIK モードに切り替え
G56 G17 G90 G00 X100.0 Y50.0 Z10.0 T1 D1 ; G56 座標オフセット、XY 平面、絶対ラピッド位置決めを選択
TRANS X15.0 Y10.0 ; アクティブな G56 WCS に対する絶対プログラム可能ゼロオフセット frame を設定
G291 ; compiler を ISO Dialect モードに切り替えてレガシーブロックを解析
G10 L2 P3 X-300.0 Y-150.0 Z-50.0 ; ISO Dialect: プログラムにより座標を G56 (P3) オフセットレジスタに書き込み
空運転 (dry run)
空運転中、制御装置は次のようにプログラムブロックを実行します。まず、G290 が解釈処理をネイティブの SINUMERIK モードに設定します。次に、アクティブな座標系が絶対機械ゼロから G56 ワーク原点にシフトし、ツール長補正 (D1) を有効にした状態で spindle を X100.0 Y50.0 Z10.0 にラピッド移動させます。その後、TRANS ブロックが G56 に対する X15.0 および Y10.0 の絶対並進シフトを導入します。G291 がアクティブになると、コントローラは ISO Dialect モードでコンパイルし、G10 L2 P3 ブロックを実行して、即時の軸移動を伴わずにバックグラウンドレジスタの G56 レジスタを X-300.0、Y-150.0、Z-50.0 に更新し、次のオフセット呼び出しを待機します。
エラー解析
| アラームコード | 発生条件 | オペレータの症状 | 根本原因 / 解決策 |
|---|---|---|---|
| Siemens Alarm 18312 | MD 24000 が 0 のときに、プログラムが G56 とともに G59 を使用して軸方向ゼロオフセットを書き込むか実行しようとした場合。 | 微調整オフセットが設定されていないことを示すエラーメッセージとともに、機械の実行が停止します。 | マシンデータパラメータ MD 24000 $MC_FRAME_ADD_COMPONENTS = 1 に設定し、メモリ内での fine オフセット加算を有効にします。 |
| Siemens Alarm 14800 | G56 選択後に、プログラムされたパス速度 (F) またはアクティブな固定フィードレートなしで直線送り移動 (G01) が実行された場合。 | パス速度ゼロのアラームとともに、G01 ブロックで CNC の移動が即座に停止します。 | G01 ブロックの前またはブロック内に送り速度 (F) をプログラムするか、制御設定で「固定フィードレート」機能をアクティブにします。 |
| Siemens Alarm 61800 | 外部 NC 言語インタープリタの MD 18800 が無効な状態で、compiler が ISO Dialect モード (G291) に切り替えようとした場合。 | G291 を読み取った直後にシステムエラーによって実行が停止し、レガシーな G-code ブロックのコンパイルが妨げられます。 | MD 18800 $MN_MM_EXTERN_LANGUAGE = 1 に設定するか、コントローラ上のオプションビット 19800 の存在を確認します。 |
| Siemens Alarm 12080 | ネイティブモード (G290) での ISO G10 コマンドの実行や、無効なブロックスキップ構文の使用など、インタープリタによって構文エラーが解析された場合。 | 認識されないブロックまたはコマンド名を示す構文エラーが画面に表示されます。 | G10 コマンドを発行する前に G291 がアクティブであることを確認し、SINUMERIK フォーマットガイドラインに対して構文構造をチェックします。 |
実務応用ノウハウ
Siemens 制御装置において G56 ワークオフセットを安全かつ高精度に運用するためには、制御パラメータの整合性を事前に厳格に検証することが極めて重要です。段取り前に MD 24000 パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。もし、微調整オフセットの設定を無効にしたまま(MD 24000 = 0)、プログラム上で G59 を用いて G56 に軸方向の微調整ゼロオフセットを追加しようとすると、制御装置は Alarm 18312 「Fine offset not configured(微調整オフセット未設定)」をトリガーし、実行を強制停止させます。また、プログラムによる G10 経由のレジスタ書き込みをメイン実行ランとリアルタイムに同期させるため、MD 20734 Bit 13 を 1 に設定して内部プリプロセッサストップ (STPPRE) を強制する必要があります。これらのパラメータ設定やオフセットのクリアを怠ると、再起動時にツール turret が本来の退避経路から外れ、ワーク用の vise jaw や fixture clamp に spindle が激突する深刻なトラブルを招きます。このような衝突事故は、ツールの破損やボールねじの歪みだけでなく、軸の再現性の低下を招き、量産加工において同一のワークを安定して生産する能力(繰り返し精度)を決定的に阻害し、結果として大量の不良品発生につながります。
関連コマンド
- G53 / G153 / SUPA: アクティブな座標 frame と設定可能ゼロオフセット (G56 など) を、恒久的に無効化することなく、異なるレベルで抑制します。
- G54 から G57 (2番目の設定可能オフセットである G55 を含む) および G505 から G599: 局所的なワーク座標系を定義するために使用される、標準の設定可能ゼロオフセット 1 〜 99。
- G500: すべてのアクティブな設定可能ユーザー frame (G54 〜 G599) を無効化し、デフォルトのゼロ frame を復元します。
- TRANS / ATRANS: 絶対および加算ゼロオフセット並進 frame を構成し、ベースラインの G56 オフセットに対してアクティブな WCS をシフトします。
- G58 / G59: アクティブな並進コンポーネントを置換または修正するために、絶対および加算の軸方向ゼロオフセットを書き込みます。
- G290 / G291: バイリンガル compiler をネイティブ Siemens モードと外部 ISO Dialect モードの間で切り替えます。
おわりに
G56 ゼロオフセットを適切に設定し維持することは、量産ラインにおける繰り返し精度と長期的な加工信頼性を確保するための要石です。各加工段取りの開始前に、MD 28080 によるメモリ割り当てや MD 24000 による微調整機能の有効化状態を必ず確認し、さらにプログラムの中断時には必ず G500 や抑制コマンドを使用してアクティブな座標シフトを適切にリセットまたはクリアする運用を徹底してください。これにより、 turret の干渉やワークの損傷を防止し、初期ロットから最終ロットまで寸法公差に収まる高品質な生産を実現して不良品発生を極小化できます。
よくある質問
ロット間の寸法ばらつきを防ぐために、G56 座標系で特に確認すべきパラメータは何ですか?
ロット切り替え時に機械の繰り返し精度(再現性)を維持するには、粗調整(coarse)値だけでなく、MD 24000 が有効化(= 1)された状態で軸方向微調整(fine)値が各軸で正しく加算されているかを必ず確認してください。わずかな設定ずれや微調整値の未登録は、数ミクロン単位での寸法ばらつきを引き起こし、後続ロットの不良品発生の原因になります。段取り時には、パラメータ詳細画面から coarse と fine の両方のオフセット累積値を検証することを推奨します。
Siemens 制御装置で G56 選択時に Alarm 18312 が発生する原因と対策は何ですか?
このアラームは、制御装置側で微調整オフセットコンポーネントが有効になっていない状態で、プログラムが G59 を用いて G56 に axial な追加オフセットを書き込もうとした際に発生します。対策として、マシンデータ MD 24000 ($MC_FRAME_ADD_COMPONENTS) を 1 に設定し、制御システムのリセットを実行してください。
プログラムを中途終了した際、G56 の残留オフセットによる衝突を防ぐにはどうすればよいですか?
プログラムが途中でリセットされると、G56 はアクティブなまま背景で保持されるため、不用意なツール交換や手動軸移動を行うと spindle が fixture や chuck に衝突する危険性があります。これを防ぐため、加工の再開前には必ず G500 を指令してワークオフセットをクリアするか、あるいは手動介入の前に G53 もしくは SUPA を用いて一次的に現在の frame 座標を抑制して安全な退避位置を確保してください。
まだ解決しませんか?
このトピックについて、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アラーム防止、刃物台衝突回避と量産ロットの繰り返し精度向上を図る実務ノウハウ。