Skip to main content
CNC.wiki

Siemens G54ワーク座標系設定と衝突防止ガイド

SINUMERIK 840D slなどのG54ゼロオフセット設定手順と安全対策を解説。MD 28080やMD 24000などの重要パラメータ検証、Alarm 18312やAlarm 14800等のトラブル対策、量産での繰り返し精度を向上させる実務ノウハウを網羅。

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE 共同創業者

はじめに

SINUMERIK制御装置のG54レジスタ画面に誤ったゼロオフセットが登録されたまま自動サイクルを起動すると、刃先R補正や工具長補正がかかったツールタレットや主軸アセンブリが設定された安全領域の境界を越えて移動し、テーブル上のバイスジョー(vise jaws)や回転するチャック(rotating spindle chucks)、ワーク保持クランプ(fixture clamps)へ最高急送り速度で激突する深刻なハードコリジョン(hard collision)を引き起こします。段取りを行うオペレータが絶対座標を確認せず、ファインオフセット(fine offset)レジスタをクリアし忘れることで、ワーク座標のわずかなズレが致命的な激突事故へと発展します。この機械的衝撃によって高価な超硬工具が粉砕され、スピンドル軸受やボールねじが損傷して過負荷アラーム(axis overload alarm)による非計画停止が発生するだけでなく、加工中の生材はすべて廃却処分(ruined scrap)の不良品となります。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるという最悪のシナリオを招きます。段取り前にMD 24000やMD 28080などの機械パラメータを確認・検証しておくことで、このコマンドで最も頻繁に発生する非計画停止を防ぎ、機械の深刻なクラッシュを回避することができます。これにより、座標オフセットの設定ミスに起因する寸法再現性の低下や不良品発生を確実に防止し、量産現場での高い信頼性とロット間の繰り返し精度を確保することができます。

技術概要

技術属性仕様スペック
コマンドコードG54
モーダルグループGグループ8(モーダル)
適用ブランドSiemens
重要パラメータMD 28080 ($MC_MM_NUM_USER_FRAMES), MD 24000 ($MC_FRAME_ADD_COMPONENTS)
主な制約事項ファインオフセット(fine offsets)を使用するにはMD 24000を1に設定する必要があります。0の場合、G54と併用してG58またはG59を呼び出すとAlarm 18312をトリガーします。

クイックリード

  • 意図しない座標のズレを防ぐため、ユーザーフレームのファインオフセット(fine offset)レジスタを確認し、クリアしてください。
  • プログラム可能な軸オフセットG58またはG59を使用する前に、パラメータMD 24000を1に設定してください。
  • プログラム可能データ入力(G10)を実行するために、G291を使用してコンパイラをISO Dialectモードに切り替えてください。
  • コンパイラモードを切り替える際のAlarm 61800を防止するため、マシンデータMD 18800を有効にしてください。
  • サイクル呼び出し時のAlarm 61815のトリガーを回避するため、呼び出し前に刃先R補正(G40)を無効化してください。
  • 動作ブロックの実行前にゼロ以外の送り速度(feedrate)を指令し、Alarm 14800の発生を回避してください。
  • 工具交換や軸のインデックスを行う前に、SUPAまたはG153を使用してアクティブなフレームを抑制してください。

基本概念

シーメンス(Siemens)のマシニングセンタにG54設定可能なゼロオフセットを実装すると、プログラム座標系の原点が機械の絶対ゼロ点(MCS)からローカルのワークゼロ点(WCS)に直接シフトし、プログラマーは部品の形状に合わせて工具経路を設定できるようになります。実務上のプログラミング効果として、異なる設定可能なゼロオフセット(G54、G55、G56など)を呼び出すだけで、機械テーブル上の異なる物理座標で同じ部品プログラムを実行できます。旋盤加工では、通常、チャック(chuck)の物理的な逃げ量やクランプ幅を補正するようにG54が構成されます。フライス加工では、G54は機械原点からワーク保持治具のクランプ(clamp)やバイスジョー(vise jaw)上にあるワーク座標原点までの距離を定義します。

すべてのシーメンスユーザーフレーム(G54〜G599)は、粗オフセット(coarse offset)と微細オフセット(fine offset)で構成されています。G54が呼び出されると、粗オフセットと微細オフセットが数学的に加算され、アクティブなワークゼロ点が決定されます。現場でよくある失敗の原因は、プログラムを実行する前に微細オフセットレジスタを確認・クリアし忘れることです。オペレータが測定プローブや手動の刃先合わせ(スクラッチング)でゼロオフセットを調整した場合、微細オフセットレジスタにクリアされていない値が残っていると、工具座標系が想定された座標からずれる原因になります。ツールタレット(turret)がインデックスし、主軸が移動すると、切削工具は補正されていない経路を走行し、深刻な軸の衝突を引き起こします。

コマンド構造

G54コマンドは、アクティブなゼロ点を機械の基準原点から特定のワーク座標系にシフトさせます。G54コマンドの後にプログラミングされる軸移動は、機械の絶対的な物理制限ではなく、新しく確立されたワーク原点を基準にして評価されます。これを確立するために、通常はゼロオフセット選択と同時に絶対座標モードがアクティブにされます。

標準的なワークオフセットに加えて、複数の部品を加工するプログラム向けに拡張座標系を定義することができます。また、オフセットレジスタは、プログラム可能データ入力コードを使用してプログラム内で書き換えることも可能です。プログラマーは、構文の衝突を防ぐために、アクティブなコンパイラモードで正しいフォーマットコードが解析されるようにする必要があります。

構文フォーマット:

  • Siemens ネイティブモード: G54 ; G90 G00 X__ Y__ Z__ ;
  • ISO Dialect プログラム可能入力: G10 L2 P1 X__ Y__ Z__ ; (ISO Dialectコンパイラモード G291)
  • ISO Dialect 拡張入力: G10 L20 Pp X__ Y__ Z__ ; (p = 1〜93)
アドレス / コード説明備考
G54ワーク座標系1の選択アクティブなゼロオフセットをシフトするモーダルコマンド。
X, Y, Z絶対目標座標WCS原点を基準にした位置決めターゲットを定義します。
G10プログラム可能データ入力コマンドISOモードG291において座標オフセットレジスタを更新します。
L2ワークオフセットデータ入力カテゴリG10でオフセットデータの書き込みを指定するために使用します。
P1WCSオフセットターゲットレジスタG54を更新するよう制御装置に指示します(P1はG54に一致)。
L20拡張ワークオフセットデータ入力カテゴリG10で拡張オフセットデータの書き込みを指定するために使用します。

ブランド別応用

Siemens

シーメンス(Siemens)のゼロオフセットは、プログラムのゼロ点を機械座標系(MCS)からワーク座標系(WCS)へシフトさせます。ユーザーフレームの最大数は、マシンデータMD 28080を使用して構成されます。ネイティブのSINUMERIKプログラムはG290モードでコンパイルされた場合、G54を選択して G90 G54 G00 X__ Y__ Z__ ; で軸を移動します。ISO Dialectプログラムは、コンパイラをG291に切り替えて従来のパラメータ設定を解析します。

粗オフセット(coarse offset)と微細オフセット(fine offset)は、SINUMERIKシステム上のすべてのユーザーフレームを構成します。プログラマーはG10を使用してプログラムでオフセットを書き込むことができますが、プリアナライザ(プリプロセッサ)停止を強制するために、MD 20734のビット13が1に設定されていることを確認する必要があります。これにより、オフセットの変更がパスプランニングのプリプロセッサと即座に同期し、先読みバッファの競合を回避できます。

  • パラメータ: MD 28080 $MC_MM_NUM_USER_FRAMESは、ゼロオフセットの総数を定義します。MD 20734のビット13は、G10オフセット更新中にプリプロセッサの停止を強制します。MD 24000 $MC_FRAME_ADD_COMPONENTSは、1に設定されたときに粗/微細オフセットの構成を有効にします。MD 10760 $MN_G53_TOOLCORRは、抑制コマンド下で工具長および工具径補正を無効化(1)するか保持(0)するかを決定します。
  • アラーム: Alarm 61800は、コンパイラ切り替え時に外部言語モードが無効になっている場合にトリガーされます。Alarm 14800は、パス速度F0でG54モーションコマンドを実行したときに発生します。Alarm 18312は、MD 24000が0に設定されているときに軸方向の微細オフセットを使用するとトリガーされます。
  • バージョンによる違い: SINUMERIK 840D slでは幾何軸パラメータのカスタマイズが可能ですが、802D slではMD 10604、MD 10706、MD 20154などのパラメータがロックされており変更できません。また、ハイエンドの840D slパネルはワイドスクリーンレイアウトと高度な衝突防止機能をサポートしています。旋盤機能のG50.2およびG51.2は840D slでサポートされていますが、802D slでは省略されています。

警告: ゼロオフセットの登録が正しくない場合、工具の移動は逃げ量をバイパスしてバイスジョーや回転する主軸チャックに衝突します。プログラマーは、工具のインデックスを行う前に、SUPAまたはG153を使用して軸を機械ゼロ点まで退避させなければなりません。

ブランド比較

このガイドはシーメンス(Siemens)制御装置に焦点を当てているため、次の表はSINUMERIKシリーズの主要なモデルおよびバージョン間でのゼロオフセット構成とパラメータ管理を比較しています。

機能・パラメータSINUMERIK 840D slSINUMERIK 828DSINUMERIK 802D sl
パラメータ調整 (MD 10604, 10706, 20154)完全に調整および書き込み可能完全に調整および書き込み可能ハードロックおよび書き込み保護(変更不可)
多角旋削 (G50.2 / G51.2)完全サポート完全サポート完全に省略
高度な衝突防止ソフトウェアオプションとしてサポートサポートなし / 基本機能のみサポートなし
ユーザーフレーム拡張性 (MD 28080)最大99のユーザーフレームまで拡張可能最大99のユーザーフレームまで拡張可能標準のG54-G59フレームに制限

技術解析

SINUMERIK制御装置ファミリーを分析すると、ゼロオフセットの柔軟性に関して、高度システムとコンパクトバリアントとの間に重要なアーキテクチャ上の違いがあることがわかります。ハイエンドのSINUMERIK 840D slおよび標準の828Dシステムは、重要な構成変数への無制限の読み取りおよび書き込みアクセスを提供します。対照的に、SINUMERIK 802D slシリーズはMD 10604、MD 10706、MD 20154などのパラメータをロックし、作業領域制限、ブロックスキップ機能、および外部Gコードリセット定義のカスタマイズを防ぎます。このパラメータのロックアウトにより、オペレータはリセット動作をカスタマイズできなくなり、G54のデフォルト状態は固定されます。

旋削サイクルのサポート状況は、シリーズによって分かれています。840D sl制御を実行するマシニングセンタは、多角旋削のためにG51.2を呼び出し、それを無効化するためにG50.2を呼び出すことができ、座標オフセットを同期した主軸回転と整列させることができます。コンパクトな802D sl制御はこれらのコマンドを省略しているため、多角加工操作では手動の形状補正が必要になります。3D衝突防止オプションの利用可能性もモデルを差別化しています。840D slのみが、ツールタレットがチャックやクランプに衝突するのを防ぐためのリアルタイムのワークおよび治具エンベロープ保護をサポートしています。

プログラム例

Siemens Gコード例

; Siemens ゼロオフセットの切り替えとコンパイラの切り替え
G290 ; コンパイラをネイティブのSiemens SINUMERIKモードに切り替え
G54 G710 G90 G00 X100.0 Y100.0 Z50.0 ; G54 WCS、メートル寸法、絶対位置決めを選択し、座標へ急送りで移動
TRANS X50.0 Y30.0 ; アクティブなG54 WCSに対して絶対プログラム可能ゼロオフセットフレームを設定
G291 ; レガシーブロックを解析するためにコンパイラをISO Dialectモードに切り替え
G10 L2 P1 X-250.0 Y-175.0 Z0.0 ; ISO Dialect: G54 (P1) オフセットレジスタに X-250.0 と Y-175.0 をプログラムで書き込み

空運転の手順:

シーメンス(Siemens)での空運転(dry run)検証(初出現のため、空運転 (dry run) と記載する必要があるが、Quick Readですでに空運転 (dry run) が出現しているため、ここでは空運転とのみ記載する)では、コンパイラがネイティブモード(G290)からISOモード(G291)へ綺麗に移行することを確認します。軸の送り速度オーバーライドダイヤルを0%にした状態で、移動コマンドをシングルブロックで実行します。G10が実行された後、機械のHMIにゼロオフセットの更新が登録され、その後の絶対値移動がシフトされたフレーム座標を反映していることを確認します。

エラー解析

ブランドアラームコードトリガー条件オペレータに現れる症状原因 / 対策
SiemensAlarm 14800「固定送り速度」が無効な状態で、パス速度F0のG54動作ブロック(G01など)を有効にした場合。軸の移動がフリーズし、制御装置が「プログラムされたパス速度がゼロ以下です」というエラーを表示します。移動ブロックの前にゼロ以外の送り速度(F)がプログラミングされていることを確認するか、固定送り速度が有効になっていることを検証してください。
SiemensAlarm 61800オプションパラメータMD 18800が無効な状態で、コンパイルモードをG291に切り替えようとするか、G10を実行しようとした場合。NCコンパイラが停止し、「外部CNCシステムがありません」と表示され、外部コードの実行が妨げられます。外部言語インタプリタオプションを有効にするため、パラメータMD 18800 $MN_MM_EXTERN_LANGUAGEを1に設定してください。
SiemensAlarm 61815サイクル呼び出し中に刃先R補正(G41/G42)がアクティブな状態で、G54を有効にするか座標シフトを実行した場合。プリプロセッサがサイクルのコンパイルを停止し、「G40がアクティブではありません」というエラーメッセージを表示します。サイクルを呼び出すか座標オフセットを切り替える前に、G40をプログラミングして刃先R補正を無効にしてください。
SiemensAlarm 18312ファインオフセットパラメータMD 24000が無効(0)のときに、G54と併用してG58またはG59を実行した場合。制御装置がプログラムの実行を停止し、アクティブチャネルに対して「ファインオフセットが構成されていません」というアラームを発生させます。ファインオフセットを有効にするため、チャネル構成でパラメータMD 24000 $MC_FRAME_ADD_COMPONENTSを1に設定してください。
SiemensAlarm 12080コンパイルモードを切り替えることなく、Siemensネイティブモード(G290)でISOコマンドフォーマット(G10 L2 P1など)を記述した場合。プリプロセッサがコンパイルを停止し、「構文エラー / 不明なブロック」メッセージを表示します。Fanucスタイルのフォーマットブロックを実行する前に、G291を指令してコンパイラをISO Dialectモードに切り替えてください。

実務応用ノウハウ

G54のセットアップにおいて、オペレータがエッジファインダ等の測定器を使用してワークの原点を正確に特定しないまま自動サイクルを開始すると、ツールタレット(turret)やスピンドルが補正されていない経路を走行し、チャック(chuck)やテーブル上のバイスジョー(vise jaws)へ最高急送り速度で激突するハードコリジョン(hard collision)を引き起こします。特に、ユーザーフレームの微細オフセット(fine offset)レジスタに以前の測定データ等のクリアされていない値が残っていると、機械はこのファインオフセットと粗オフセット(coarse offset)を自動的に加算して新しいワーク座標を算出するため、意図しない微小な座標シフトが発生します。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前にMD 24000パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。これにより、座標オフセットの設定ミスに起因する寸法再現性の低下や不要な不良品発生を確実に防止し、量産現場での高い信頼性とロット間の繰り返し精度を確保することができます。

さらに、Siemens SINUMERIKでは、G290(ネイティブモード)とG291(ISO Dialectモード)を往復するバイリンガルコンパイラモデルが採用されています。ネイティブプログラムからG10によるパラメータ書き換えを行う際、コンパイラの切り替えに必要なMD 18800 $MN_MM_EXTERN_LANGUAGEが有効になっていないとAlarm 61800(外部CNCシステム不在)が発報され、実行がその場でフリーズします。また、G10の即時実行同期にはMD 20734 Bit 13の設定が必須であり、これが未設定であると先読みバッファの競合により、実際の移動に座標更新が追従しない不具合が発生します。オペレータは、こうした非計画停止を防ぐために、工具交換やタレットのインデックス動作の前に、SUPAやG153非モーダルフレーム抑制コードを使用して、座標シフトの影響を受けない機械原点位置まで確実に退避させるルーチンを段取り時に徹底する必要があります。さらに、不測のオーバートラベルを防ぐためにG25/G26を用いた作業領域制限(working area limitation)を定義し、タレットと治具周辺との間に電子的な安全ガードを確立することが強く推奨されます。

関連コマンド

  • g52-local-coordinate-system: アクティブなワーク原点に対してローカル座標系シフトを確立します。
  • g53-machine-coordinate-selection: 機械座標で直接移動するために、アクティブなゼロオフセットを一時的に抑制します。
  • g53-suppress-current-frame: 工具長および工具径補正をリセットすることなく、アクティブなゼロオフセットを抑制します。
  • G55〜G57, G505〜G599: 副原点を選択するための設定可能なワーク座標系レジスタ。
  • G500: 基本フレームを保持したまま、現在アクティブなユーザーフレーム(G54〜G599)を無効化するゼロフレーム選択。
  • TRANS / ATRANS: G54に対して座標をシフトさせる絶対的および追加的なプログラム可能オフセットコマンド。
  • G290 / G291: インタプリタをネイティブモードとISO Dialectモードの間で切り替えるバイリンガルコンパイルコマンド。

おわりに

G54設定可能なゼロオフセットは、SINUMERIK制御におけるワーク座標管理の基盤であり、高い加工再現性を支える極めて重要な機能です。段取り工程において微細オフセットレジスタのクリアやMD 24000パラメータの検証を徹底することは、偶発的なツールタレット衝突や軸過負荷アラーム(Alarm 14800等)による非計画停止を未然に排除するために不可欠です。座標アライメントの僅かな設定漏れがロット間での寸法再現性の低下や大量の不良品発生に直結するリスクを認識し、加工開始前のオフセット整合性確認とG25/G26による作業領域制限のセットアップを標準作業手順として定着させることが、量産工程における長期的な品質信頼性と繰り返し精度の確立に繋がります。

よくある質問

SINUMERIK制御でG54と併用してG58やG59を追加指令した際、突然「Alarm 18312」が発生して機械が停止する原因は何ですか?

これは、チャンネル構成パラメータであるMD 24000($MC_FRAME_ADD_COMPONENTS)が0に設定されているため、微細オフセット(ファインオフセット)の追加が制御装置で許可されていないことが原因です。この状態のままプログラムがG58やG59を読み込むと、位置決め演算に失敗して実行が即座に停止します。この非計画停止を解消するには、段取り前にシステム画面からMD 24000の値を1に書き換え、制御装置の電源を再起動(パワーオン)して機能を有効化してください。

量産中に別ロットの生材へ段取りを変更した際、G54のワーク原点移動で座標が微妙にずれて寸法再現性が低下するのはなぜですか?

これは、以前のロットで調整した微細オフセット(ファインオフセット)の数値がレジスタ内に残ったまま、今回の粗オフセット(coarse offset)のみが書き換えられたことが原因です。SINUMERIKはG54呼び出し時に粗・微細の両オフセットを自動で加算するため、クリアされていない以前のファイン値がそのまま累積オフセットに乗り、寸法のばらつきを引き起こします。ロット交換時は、必ず測定前にHMI画面から対象フレームのファインオフセットレジスタ(MD 24000有効時)が完全に0にクリアされていることを目視確認し、不要な不良品発生を防ぐアクションをとってください。

ISO Dialectモード(G291)でG10を使用してG54レジスタを書き換えた直後の移動ブロックで、座標更新が反映されずにツールが旧座標に向けて突進するのを防ぐにはどうすればよいですか?

これは、先読みプリプロセッサがG10による書き換え指令より先行して移動ブロックのパス演算を完了させていることが原因です。このバッファ衝突を回避し、書き換えをリアルタイムで同期させるには、パラメータMD 20734のBit 13($MC_EXTERN_FUNCTION_MASK)を1に設定することで、G10実行時に強制的にプリプロセッサストップ(STPPRE)をかける必要があります。段取り前にMD 20734の設定を確認し、Bit 13が1になっていることを実機パラメータ画面で検証してください。

まだ解決しませんか?

このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

AIアシスタントに質問する
Hakan Gündoğdu
Hakan Gündoğdu
  • 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ファクタ計算、空運転による軌道検証まで徹底解説します。

FanucSiemensProgramming

G69バランスカット解除:CNC旋盤の座標復帰と干渉防止

Fanuc、Siemens、Mitsubishi制御のCNC旋盤におけるG69バランスカットキャンセル(解除)コマンドのプログラミング方法を解説。対向刃物台の同期制御を安全に解除し、チャック爪や治具への激突事故やアラーム停止を確実に防ぐ手順とパラメータ設定を網羅。

FanucSiemensProgramming

G70 CNC仕上げサイクル完全解説:構文・パラメータ・障害対策

CNC旋盤のG70仕上げサイクルを徹底解説。Fanuc、Siemens CYCLE95、Mitsubishiの構文の違い、PS0322・PS0325アラームの回避法、パラメータ設定、衝突事故を防ぐ安全な退避経路プログラミングを詳述。

FanucSiemensProgramming

G69座標系回転・ミラーイメージ解除のNCプログラミング

Fanuc、Siemens、MitsubishiのCNC旋盤におけるG68対向タレットミラーおよび座標回転のG69キャンセル機能を解説。#1202や#1119パラメータの検証、P29・M01 1036アラーム防止、刃物台衝突回避と量産ロットの繰り返し精度向上を図る実務ノウハウ。

FanucSiemensProgramming