SINUMERIK G58座標オフセットによる軸極限と衝突防止設定
SINUMERIK制御におけるG58絶対軸プログラマブルオフセットの設定方法を解説。MD 24000のファインオフセット設定によるアラーム回避、G59との組み合わせ、衝突を防止する安全対策まで網羅。
はじめに
ワーク取付用のバイスジョーやテーブル上の治具クランプに対して、ツールタレットや回転するスピンドルチャックが直接衝突するハードクラッシュは、CNC加工において最も避けるべき深刻な事故です。オペレータがサイクル途中でプログラムを一時中断し、手動で軸をジョグ移動させた後、フレームキャンセルを実行せずにリセットや再起動を行うと、バックグラウンドの座標系にG58による絶対オフセット値が残存してしまいます。この座標ずれに気づかずに加工を再開すると、機械は誤った位置から軌道を計算し、切削工具をクランプやバイスジョーに衝突させ、高価なボールねじを破損させて軸過負荷アラーム(Alarm 14800)を発生させます。段取り前にMD 24000パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるため、長期にわたり不良品発生が続いてしまいます。加工再現性の低下を防ぎ、安定したロット間の繰り返し精度を維持するためには、G58絶対軸プログラマブルオフセットの正しい動作原理と制御パラメータの確実な管理が不可欠です。
技術概要
| 技術仕様 | 詳細 / 設定値 |
|---|---|
| コマンドコード | G58 |
| モーダルグループ | Group 3 (プログラマブルオフセット、作業領域制限、極プログラミング) |
| 対応ブランド | Siemens SINUMERIK (ネイティブ G290 モード) |
| 重要パラメータ | MD 24000 $MC_FRAME_ADD_COMPONENTS (フレーム微調整オフセット有効化、1に設定必須) |
| 主な制限事項 | 他の移動指令を含まない独立した別ブロック (NC block) でプログラミングすること |
クイックリード
- G58は、現在アクティブなワークオフセットの粗補正(coarse translation)コンポーネントのみを上書きする、置換型の絶対軸フレームコマンドです。
- Siemensインタプリタが軸移動の実行前にフレームシフトを処理できるように、G58は専用の独立したNCブロックでプログラミングしてください。
- 機械データパラメータであるMD 24000が1に設定されていることを確認してください。そうしないと、G58実行時に即座にAlarm 18312が発生し、制御が停止します。
- G58は粗補正コンポーネントのみを変更し、G59を介して更新されるアクティブな微調整オフセット(fine offset)コンポーネントは保持されることに注意してください。
- サイクルの中断が発生した後は必ず座標状態を確認し、SUPAを使用して機械の物理的原点(マシンゼロ)へ安全に退避させてください。
- G25およびG26を使用してアクティブな作業領域制限(working area limitations)を設定し、ツールタレット、チャック、および治具を保護する電子安全境界を構築してください。
基本概念
Siemens SINUMERIK制御にG58絶対軸ワークオフセット(zero offset)を実装することは、加工中の座標シフトを動的に管理するための高度な手法を提供します。G58が単に静的なワーク座標系を選択するために使用されるFanucやMitsubishiの制御とは異なり、SiemensはG58をプログラマブルな絶対軸置換フレーム(absolute axial substitution frame)として評価します。これにより、プログラマーはアクティブなワークオフセット(G54など)を基準として、ブロック内の特定軸の絶対粗補正(absolute coarse translation)コンポーネントを一時的に置き換えることができます。これは、基準となるワークセットアップ位置をシフトすることなく、特定の軸の微小な粗調整が必要となるマルチキャビティ治具上の局所的なツールパス変更において特に有用です。切り替えられた座標は、アクティブなツールオフセット(tool offsets)を無効化することなく動的に再計算されます。
コマンド構造
ネイティブのSiemens SINUMERIKモード(G290)において、G58はGコードGroup 3に属する、モーダルに有効な準備機能として動作します。このコマンドは、加算的なフレーム命令ではなく、置換型のフレーム命令(substituting frame instruction)として振る舞います。G58ブロックが解析されると、制御装置は指定された軸に対して現在アクティブなワークオフセットの粗補正コンポーネントのみを置き換え、微調整オフセットや変更のない他の軸には影響を与えません。
このコマンドは既存 of 座標置換レベルを上書きするため、慎重に孤立させる必要があります。インタプリタはG58を独立したNCブロックに入力することを要求します。同一ブロック内に移動指令と座標置換を混在させると、構文エラーが発生するか、サイクル実行中に予測不可能な軸移動経路を辿る原因となります。
コマンド構文
G58 X__ Y__ Z__ A__ ;
コマンドパラメータ
- X, Y, Z, A: アクティブなフレームのプログラマブル絶対粗補正コンポーネントと置き換える、絶対軸座標値を指定します。
- MD 24000 $MC_FRAME_ADD_COMPONENTS: 軸微調整オフセット(fine offset)コンポーネントを有効にするための機械データパラメータです。G58の解析時にこの値が0であると、システムフォールトを誘発します。
- MD 28080 $MC_NUM_USER_FRAMES: 制御メモリに割り当てられるユーザー設定可能なワークオフセット(G54からG57、G505からG599)の総数を設定します。設定範囲は1から93です。
- MD 10760 $MN_G53_TOOLCORR: 座標フレームを抑制する際に、工具長補正および工具径補正を抑制するか維持するかを設定します。
ブランド別応用
Siemens
Siemens SINUMERIK制御は、ネイティブモード(G290)内でG58を軸方向の絶対並進置換フレームとして処理します。このオフセットは、特定の軸に対してアクティブなワークオフセットの粗成分を変更し、加算的な微細成分はそのまま維持します。オペレータはコードを実行する前に、パラメータMD 24000が有効になっていることを確認する必要があります。
G58を実行すると、Group 3フレームスタックに直接書き込まれることで座標原点がシフトします。これはマルチキャビティ構成などを設定する際に実証され、スピンドルを異なるバイスジョーへと順次誘導するために、個々の軸シフトが順番にプログラムされます。
| 制御要素 | 仕様 / 設定 | 目的とアラームの挙動 |
|---|---|---|
| MD 24000 $MC_FRAME_ADD_COMPONENTS | 設定値: 1 | 微調整オフセットフレームを有効にします。0に設定されている場合、G58実行時にシステムが停止し、Alarm 18312が発生します。 |
| MD 28080 $MC_NUM_USER_FRAMES | 設定範囲: 1〜93 | メモリに保存されるユーザー設定可能なオフセットの数を設定します。 |
| 旋削モードバージョン | 840D sl 対 802D sl | 高度な840D slは多角旋削用のGroup 20コマンド(G51.2マルチエッジ旋削ON、G50.2 OFF)をサポートしますが、コンパクトな802D slはサポートしていません。 |
| Alarm 14800 | 発生条件: 送り速度(Feedrate) = 0 | G58フレーム下で運動が指令された際、パスの合成速度がゼロと評価された場合に発生します。 |
警告: G58は常に独自のNCブロックに隔離してください。同一行でG58と移動Gコード(G01やG00など)を組み合わせると、インタプリタの構文エラーや予期しない工具経路移動を引き起こします。
ブランド比較
| Siemens制御シリーズ | 多角旋削 / マルチエッジ旋削 (Group 20) | ユーザーフレーム割り当て (MD 28080) | メモリおよびフレームスタッキング機能 |
|---|---|---|---|
| SINUMERIK 840D sl / ONE | 完全サポート (G51.2マルチエッジ旋削ON、G50.2 OFF) | 最大93個のワークオフセット (G54〜G57、G505〜G599) | 動的な粗補正/微調整補正(coarse/fine translation)の分割に対応する大容量マルチレベルフレームスタック |
| SINUMERIK 828D | 限定的 / アプリケーション依存のサポート | 最大93個のワークオフセット (G54〜G57、G505〜G599) | 絶対粗補正(G58)および加算微調整補正(G59)をサポートする標準フレームスタック |
| SINUMERIK 802D sl | 非サポート (Group 20コマンドは完全非対応) | 基本的なフレームメモリ割り当て | コンパクトなフレームバッファ、基本的な軸方向のワークオフセット変更のみ |
技術解析
ワークオフセット処理において、Siemens SINUMERIK制御をFanucおよびMitsubishiの制御から明確に区別する、3つの重要なプログラム的およびアーキテクチャ上の挙動が存在します。
第一に、Siemensはバイリンガルの切り替え式コンパイラモデル(G290/G291)で動作します。FanucやMitsubishiの制御は、座標オフセットやレジスタシフトを単一の連続するプログラムフロー内でネイティブに解釈しますが、Siemensでは、レガシーなISOスタイル(G10オフセット入力など)を含むブロックをコンパイルするために、G291を介して明示的にコンパイラをISO Dialectモードに切り替える必要があります。その後、プログラムはG290を指令してネイティブのSINUMERIKモードに戻り、高度なパラメータフレーム(TRANS、ROT、SCALE、MIRROR)やネイティブのワークオフセットを処理しなければなりません。
第二に、Siemensはワークオフセットをマルチレベル「フレーム」メモリスタックの動的かつモジュール形式の構成要素として管理します。G58は、G Group 3のプログラマブルな軸固有の置換コンポーネントとして処理されます。これは、G59(軸方向加算微調整オフセット)と連携し、絶対(coarse)座標移動と微調整(fine)座標移動を独立したスタックレイヤーに分割します。これに対して、FanucやMitsubishiは、ワーク座標系(WCS G54〜G59)をモノリシックな単一レジスタの絶対位置として扱います。
第三に、Siemensには専用の絶対抑制コマンドであるSUPAが備わっています。プログラムされると、SUPAはすべてのアクティブなワークオフセット、プログラマブルオフセット、基本オフセット、および手動パルス発生器(手動ハンドル)によるオフセットを抑制し、機械座標原点(マシンゼロ)へ安全に軸を退避させます。FanucやMitsubishiの制御は、SUPAのようなマルチレベルの抑制ブロックコマンドを欠いており、代わりにG53のような標準の非モーダルな座標抑制コマンドに依存しています。
プログラム例
; N10 G290 ; ネイティブSINUMERIKモードへの切り替え
; N20 G54 ; 一次ワーク座標オフセットの有効化
; N30 TRANS X10 Y10 Z10 ; 絶対粗オフセットをX10 Y10 Z10に設定
; N40 ATRANS X5 Y5 ; 微調整オフセット成分X5 Y5を加算 (アクティブオフセットの合計: X15, Y15, Z10)
; N50 G58 X20 ; 粗XオフセットをX20に置換 (アクティブオフセットの合計: X25, Y15, Z10)
; N60 G59 X10 Y10 ; 微調整オフセットをX10 Y10に置換 (アクティブオフセットの合計: X30, Y20, Z10)
; N70 G01 X0 Y0 F150 ; 送り速度150で直線加工を実行
; N80 SUPA ; 軸を安全に退避させるためすべての座標オフセットを抑制
; N90 M30 ; プログラム実行終了
空運転 (dry run)
プログラム実行の空運転中、N10ブロックによりコンパイラがネイティブのSINUMERIKモードに切り替わります。N20はベースとなるワークオフセットをロードします。N30ブロックはTRANSによる粗座標シフトを適用し、座標系原点をX10, Y10, Z10に確立します。N40ブロックは加算的なATRANS微調整オフセットを適用し、X15およびY15の累積シフト量となります。N50ブロックはG58を実行し、これは元の粗Xオフセット値である10を20で上書きするため、Yが15に維持されたまま、アクティブな工具経路原点はX25へとシフトします。N60ブロックはG59を呼び出して微調整オフセットを置換し、最終的な累積シフトはX30およびY20になります。N70ブロックでG01直線加工を実行した後、N80ブロックはSUPAを呼び出してG58、G59、およびG54のシフト量を即座に抑制し、ツールキャリア(主軸キャリア)をマシンゼロへと安全に復帰させます。
エラー解析
| Siemensアラームコード | アラーム説明およびメッセージ | 発生条件 | 根本原因 / オペレータによる修正方法 |
|---|---|---|---|
| Alarm 18312 | channel %1 block %2 frame: Fine offset not configured (微調整オフセットが構成されていません) | 機械データパラメータであるMD 24000: FRAME_ADD_COMPONENTSが0のときに、NCインタプリタがG58またはG59を解析した場合。 | パラメータ内でフレーム微調整オフセットが無効化されています。機械データパラメータMD 24000を1に設定し、制御装置を再起動(リセット)してください。 |
| Alarm 14800 | Channel %1 Set %2 programmed path velocity is less than or equal to zero (プログラムされたパス速度がゼロ以下です) | アクティブなG58オフセットの下で軸移動指令(G01など)が実行されたが、パスの送り速度がF0と評価された場合。 | 固定送り速度(Fixed feedrates)機能がアクティブになっていない状態で、パス送り速度がゼロに設定されています。移動ブロックでゼロ以外の送り速度(F150など)を指定してください。 |
| Alarm 61000 | Tool offset not active (工具オフセットがアクティブではありません) | 有効なアクティブ工具補正番号(D番号)が指定されないまま、オフセットシフトや固定サイクル(canned cycle)が実行された場合。 | 工具オフセットが設定されていない状態で座標変換が実行されました。加工前に有効な工具補正コード(D1など)を記述してください。 |
実務応用ノウハウ
回転するスピンドルチャックの爪やバイスジョー、テーブル上の治具クランプにツールタレットが激突し、切削工具の破砕やボールねじの破損、そして重篤な軸過負荷によるAlarm 14800を引き起こす主因は、サイクル中断時の不適切な座標リセットにあります。オペレータが加工を中途で停止して手動ジョグを割り込ませた際、G58による絶対軸オフセットがアクティブな状態でフレームキャンセルを実行しないと、バックグラウンドのフレームメモリにシフト値が残留します。この未検証の状態で加工を再開すると、次のロットから加工原点が不適切に変位し、重大な再現性の低下と非計画停止を引き起こします。段取り前にMD 24000パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるため、長期にわたり不良品発生が続いてしまいます。ロット間の加工再現性を担保し、金型や高価なワークの破損を防ぐためには、G25/G26およびWALIMON/WALIMOFコマンドを利用した電子的な作業領域制限を設定し、物理的な衝突防止境界をプログラム上に二重で設定することが極めて有効です。
関連コマンド
- g53-suppress-current-frame: アクティブな設定可能フレームおよびプログラマブルオフセットを抑制し、機械座標系での安全な移動を可能にします。
- g54-settable-zero-offset: 軸方向オフセット(G58/G59)が適用される基準となる、ワーク座標系の原点を設定します。
- g52-local-coordinate-system: ローカル座標系シフトとして動作し、SiemensのフレームベースのG58スタックとは異なる階層で機能します。
おわりに
SINUMERIKにおけるG58絶対軸オフセットの適切な運用は、複数キャビティを用いた量産ラインにおけるロットの一貫性と繰り返し精度を保証する要です。フレームの階層構造を正しく理解し、段取り段階でパラメータの整合性を検証しておくことが、予期せぬ位置ずれによる再現性の低下や不良品発生を防ぐ実務上の大原則となります。絶対の粗並進と加算微調整並進を独立して管理できるSiemensのフレームメモリ構造の強みを最大限に活かし、SUPAやG25/G26などの安全機能と組み合わせることで、機械衝突リスクのない極めて信頼性の高い自動化加工プロセスが実現します。
よくある質問
ロット生産中にG58による寸法ばらつきを防ぐためのチェック項目は?
ロット生産における寸法ばらつきや加工再現性の低下は、前回のバッチの粗オフセット成分がアクティブな状態のまま次のバッチが起動されることで発生します。これを防ぐため、量産開始前およびシフト交代時には、必ず制御盤のフレーム表示画面でアクティブなオフセット値を目視確認し、不要なシフトが残存していないかチェックしてください。
G58実行時に発生するAlarm 18312を未然に防ぐパラメータ確認方法は?
Alarm 18312は、微調整オフセット機能が無効な状態でG58/G59が呼び出されると発生します。未然に防ぐため、実加工の前に必ずSINUMERIKの「設定」エリアからシステムマシンデータ画面を開き、パラメータ「MD 24000 $MC_FRAME_ADD_COMPONENTS」の値が「1」に設定されていることを確認し、変更した場合はNCの再起動を行ってください。
サイクル途中のリセット後にG58オフセットを完全に消去するプログラム対策は?
プログラムがサイクル途中で停止された場合、G58で上書きされた並進成分はリセット後もメモリに残り、次のサイクルでの衝突を引き起こします。このオフセット残留を回避するため、メインプログラムの先頭ブロックおよび終了M30ブロックの直前に、アドレスのない単独の「TRANS」コマンドを挿入して、座標スタックの絶対粗補正を毎回クリアしてください。
まだ解決しませんか?
このトピックについて、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アラーム防止、刃物台衝突回避と量産ロットの繰り返し精度向上を図る実務ノウハウ。