G28・G29・G30基準位置復帰:CNC原点復帰の安全プログラム解説
G28、G29、G30によるCNC基準位置復帰(原点復帰)コマンドの解説。Fanuc、Siemens、Mitsubishiにおける中間点での一時停止やドッグレッグ動作の直線補間パラメータ設定(16205番、#1279など)を最適化し、チャックやバイスへの機械衝突や不良品発生を防ぐ安全対策を紹介。
はじめに
CNCマシンの電源投入直後、あるいは段取り替えの際、G68による座標回転やミラーイメージ(対称加工)といったアクティブな座標変換を解除しないままG28やG30による基準位置復帰(原点復帰)を実行することは、ロータリーチャックや精密バイスジョー、ワーク固定用クランプへの激突を招く最も致命的なプログラミングミスの一つです。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるという、再現性の低下に伴う致命的なリスクがあります。しかし、段取り前に16205番や#1279番などのパラメータを確認することで、このコマンドで最も多い非計画停止を防げるのです。プログラム上の座標指示単位や中間座標の物理的な干渉回避経路を事前に検証し、G28、G29、そしてG30コマンドの各制御システム(Fanuc、Siemens、Mitsubishi)における挙動の違いとパラメータ設定を完全に理解しておくことこそが、高精度なロット生産の信頼性と繰り返し精度を保証し、不良品発生と非計画停止を完全にゼロにするための絶対条件です。
技術概要
| 仕様項目 | 詳細 |
|---|---|
| Gコード指令 | G28(第1基準位置復帰)、G29(基準位置からの復帰)、G30(第2・第3・第4基準位置復帰) |
| モーダルグループ | グループ00(非モーダル) |
| 対応コントローラ | Fanuc、Siemens、Mitsubishi |
| 重要パラメータ | Fanuc:16205番bit 0(SZR)、1015番bit 4(ZRL);Siemens:MD34100、SD43340;Mitsubishi:#1279 ext15/bit6、#2025、#2026 |
| 主な運動学的制約 | G29指令を実行する前に、中間点(ウェイポイント)をメモリに登録するためにG28またはG30を実行する必要があります。逆方向への移動を防ぐため、アクティブなミラーイメージや座標系回転は解除されていなければなりません。 |
クイックリード
- 電源投入直後は、直ちにG28による原点復帰ルーチンを実行して揮発性メモリ内に中間点座標を登録し、不意なG29指令によるアラームの発生を防ぐ。
- 中間点を経由する際の予期せぬシフトを回避するため、基準位置復帰を呼び出す前に、G40で工具径補正を、G49で工具長補正を明示的に解除する。
- 主軸がワーク保持具や治具に激突する逆軸移動の危険を排除するため、アクティブなすべての座標回転およびミラーイメージ機能を解除する。
- 干渉しやすい治具クランプを工具が安全に回避できるよう、Fanucのパラメータ1015番bit 4(ZRL)を調整して、ドッグレッグ早送り動作を直線補間に強制する。
- 中間点での手動クリアランス確認を可能にするため、Mitsubishiのパラメータ#1279番ext15/bit6を有効にして、中間点でシングルブロック停止を実行させる。
- Siemens制御で標準のG28、G30、およびG27を使用する場合は、G291をプログラムしてISOダイレクトモードに切り替えるか、G290でネイティブSiemensモードに切り替えてG74による原点復帰を使用する。
基本概念
基準位置復帰(原点復帰)コマンドは、マシンの各軸を、物理的に確立された固定のグリッド原点や第2の工具交換位置へ安全に移動させるための役割を果たします。G28およびG30の基本的な機構は、2段階の移動シーケンスで構成されています。まず、制御装置は指定されたすべての軸に対して、プログラムされた中間点(ウェイポイント)へ早送りで移動するよう指令します。この中間点に到達すると、制御装置はハードコードされた機械基準位置への経路を計算し、各軸を最終目標位置へと移動させます。
この2段階の移動は極めて重要です。なぜなら、現在位置から原点への直線移動を行うと、背の高い治具やクランプと干渉する危険があるためです。中間点の座標は、干渉ゾーンを工具が安全に回り込むための幾何学的な「屈曲点」として機能します。しかし、この仕組みは制御の揮発性メモリに完全に依存しています。マシンの電源が遮断されると、登録されていた中間点の座標データは完全に消去されます。そのため、電源投入後にG28やG30を実行して新たな中間点を登録することなく、いきなり基準位置からの復帰指令であるG29を実行しようとすると、制御装置はランダムな移動による干渉を防ぐために即座にアラームを発生させて停止します。
コマンド構造
基準位置復帰指令の構文構造は、Gコード、対象軸の座標アドレス、およびオプションの位置登録アドレスの組み合わせで成り立っています。プログラマーは、G28またはG30のブロックで指定された座標が、原点そのものの最終位置を定義しているわけではないことを理解する必要があります。それらは、原点に復帰する前に工具が必ず経由しなければならない中間点を定義しています。
基準位置(原点)からの退避・復帰移動を行うには、G29指令を呼び出します。制御装置は、直前のG28やG30でアクティブなレジスタに記録された中間点の座標を読み込み、まずその中間点まで早送りで戻り、その後、G29ブロックでプログラムされた最終目標座標に向けて移動を継続します。これにより、工具が原点に入ったときと全く同じ安全な経路を通って原点から退避することが保証されます。
メーカーごとの構文の違い:
- Fanuc:
G28 IP_;(中間点 IP を経由する原点復帰)、G30 P_ IP_;(中間点 IP を経由する第2〜第4基準位置復帰、PにてP2〜P4を選択)、G29 IP_;(記録された中間点を経由して目標 IP へ退避) - Siemens(G291 ISOダイレクトモード):
G28 X... Y... Z... C...;(中間点を経由する第1基準位置復帰)、G30 Pn X... Y... Z...;(中間点を経由する第2〜第4基準位置復帰、Pnにて2〜4を選択)、G27 X... Y... Z...;(基準位置チェック) - Mitsubishi:
G28 X_ Y_ Z_ a_;(中間点を経由する第1基準位置復帰)、G30 P_ X_ Y_ Z_ a_;(中間点を経由する第2〜第4基準位置復帰、Pにて2〜4を選択)、G29 X_ Y_ Z_ a_;(中間点を経由する退避移動)
| アドレス / パラメータ | 機能的役割 | ブランド特有の仕様 |
|---|---|---|
IP_ / X, Y, Z, a, C | 絶対指令または増分指令(インクリメンタル)モードで中間点座標を指定します。 | 全ブランド共通 |
P_ / Pn | 第2、第3、または第4の基準位置レジスタを選択します。 | Fanuc、Siemens、Mitsubishi(省略時はデフォルトでP2) |
,F | 基準位置復帰時の移動に対して一時的に送り速度(早送りオーバーライド)を割り当てます。 | Mitsubishi独自のオーバーライド |
ブランド別応用
Fanuc
Fanucのシステムにおいて、基準位置復帰挙動は専用のシステムパラメータを介して細かくカスタマイズすることができます。パラメータ16205番bit 0(SZR)を使用することで、G28およびG30コマンドで必ず中間点を経由させるか、あるいは中間点をバイパスさせるかをオペレータが選択できます。パラメータ1015番bit 4(ZRL)は、中間点から基準位置までの移動経路に直線補間を使用するか、あるいは非線形な早送りを使用するかを指定します。
Gコードプログラムの実装例: G28 X100.0 Y50.0; は、X100.0、Y50.0の中間点を経由して第1基準位置(原点)に復帰します。
- パラメータ16205番bit 0(SZR): 1 = 軸を必ず中間点を経由させて移動させる、0 = 中間点をバイパスして直接基準位置へ移動させる。
- パラメータ1015番bit 4(ZRL): 0 = 非線形な「ドッグレッグ(犬の足型)」早送り位置決め、1 = 直線補間による位置決め。
- パラメータ3001番bit 7(ZPO): 0 = 計算完了時に原点復帰完了信号を出力、1 = 物理的に各軸が位置決め完了(サーボセトリング)するまで信号出力を遅延。
- パラメータ1005番bit 0(ZRNx): 0 = 電源投入後の原点復帰前に自動運転で移動が指令された場合にアラームを発行、1 = アラームを抑制。
- アラーム PS0305: 電源投入後、G28やG30を実行せずにいきなりG29を実行した場合にトリガーされます。
- アラーム PS0090: 軸が原点リミットスイッチのドッグに近すぎる状態で復帰を開始したか、またはアプローチ速度が遅すぎて基準グリッドマークを正常に検出できなかった場合に発生します。
- アラーム PS0304: 絶対位置(絶対原点)が確立される前にG28が指令された場合に発生します。
- 旧バージョン(レガシー)との違い: FS15-MA制御では、標準の軸座標入力の代わりに、位置決め座標に対して独自の
Pアドレス構文(例:G28 P_)を使用します。
警告: G28を呼び出す前に、必ず絶対基準位置(原点)が確立されていることを確認してください。そうでない場合、PS0304アラームが発生し、自動運転が停止します。
Siemens
Siemensシステムは、ISOダイレクトモードにおいて内部のサイクルプログラムを経由させることで、ISOスタイルの基準位置復帰を処理します。インクリメンタルシステムにおけるシステムの基準位置を定義するマシンデータパラメータMD34100が座標値を制御します。データパラメータSD43340を設定することにより、CYCLE328サイクルシェル内でG30.1コマンドの位置決め座標を指定します。
Gコードプログラムの実装例: G28 G91 X0 Y0 Z0; は、G291 ISOダイレクトモード下で、現在位置を中間点として第1基準座標軸への原点復帰を実行します。
- パラメータ MD34100 $MA_REFP_SET_POS[0...3]: インクリメンタルシステムにおける4つの基準位置の物理的な座標値を定義する軸専用マシンデータ。
- パラメータ SD43340 $SC_EXTERN_REF_POSITION_G30_1: G30.1基準復帰コマンドの座標値を設定するセッティングデータ。
- アラーム 61816「Axes not on reference point(軸が基準点にありません)」: G27チェックにおいて、軸が想定された基準位置座標に正確に配置されていない場合に発生します。
- アラーム 61804「Programmed position exceeds home position(プログラム位置が原点位置を超えています)」: プログラムされた中間点座標が、物理的な機械制限を超えている場合にトリガーされます。
- アラーム 61805「Value programmed as absolute and incremental(絶対指令と増分指令が同時にプログラムされました)」: 同一指令ブロック内に絶対(G90)と増分(G91)の指令が競合して記述された場合に発生します。
- モードの違い: G27、G28、およびG30を使用するにはISOダイレクトモード(G291)が必須であり、ネイティブのSiemensモード(G290)では原点復帰にG74を使用します。
警告: 基準位置復帰を実行する前に、必ずアクティブなミラーイメージや運動学的変換機能を解除してください。解除を忘れると、座標が反転し、工具が機械の物理的な干渉障壁に激突します。
Mitsubishi
Mitsubishiのコントローラは、原点復帰ブロック内に直接送り速度オーバーライドを記述できるため、非常にダイナミックな制御が可能です。パラメータ#2025(G28rap)はドッグ式原点復帰のデフォルト早送り速度を設定します。パラメータ#1279のbit 6(ext15)を有効にすると、プログラムされた中間点で機械を一時停止させることができます。
Gコードプログラムの実装例: G28 X100.0 Z50.0 ,F1000; は、指定された中間点X100.0、Z50.0を経由し、アプローチ速度を1000 mm/minに制限して原点復帰を実行します。
- パラメータ #2037 〜 #2040: 基本機械原点に対する第1〜第4基準位置の座標値を設定します。
- パラメータ #2025 G28rap: ドッグ式基準位置復帰時の最大早送り速度を定義します。
- パラメータ #2026 G28crp: ドッグスイッチ検出後のゼロマーク接近における減速アプローチ速度を設定します。
- パラメータ #1279 ext15/bit6: 0 = 標準の復帰動作、1 = 中間点でシングルブロック一時停止を有効にする。
- アラーム M01 0009: 第1基準位置復帰(G28)が完了する前に、第2基準位置復帰(G30)を実行しようとした場合にトリガーされます。
- アラーム P931: 軸方向に対して工具長補正が有効な状態で基準位置復帰が指令された場合に発生するプログラムエラー。
- バージョンによる違い: マシニングセンタ(M)システムはG30.6までの工具戻りをサポートし、Z軸から先に復帰した後にX/Y軸が復帰するのに対し、旋盤(L)システムはG30.5までをサポートし、X軸のみの復帰となります。
- 接近速度のオーバーライド: G28/G30指令時に、インラインで
,F引数を使用し、デフォルトの#2025 G28rapの早送り速度を一時的に上書きすることができます。
警告: 基準位置復帰を実行する前に、G49コマンドを使用して工具長補正を明示的に解除する必要があります。補正がアクティブなままだと、中間点位置がシフトし、P931アラームを誘発します。
ブランド比較
| 比較項目 | Fanuc | Siemens(G291 ISOダイレクトモード) | Mitsubishi |
|---|---|---|---|
| 対応コマンドセット | G28、G29、G30(標準コマンド) | G28、G30(G29は定義なし;代わりにG27を使用) | G28、G29、G30(標準コマンド) |
| 実行バックエンド | パラメータ構成に基づくハードコードされたファームウェア処理 | 背後で自動実行される編集可能な内部サイクル(CYCLE328およびCYCLE330) | 専用の機械パラメータに基づくハードコードされたファームウェア処理 |
| 中間点での一時停止 | 該当機能なし(情報源なし) | 該当機能なし(情報源なし) | パラメータ#1279 ext15/bit6により中間点でのシングルブロック停止が可能 |
| アプローチ速度オーバーライド | 手動フィードレートを無視し、固定パラメータを使用 | 手動フィードレートを無視し、規定の早送り速度を使用 | G28/G30ブロック内にインラインで ,F 指令を記述し速度をオーバーライド可能 |
技術解析
SiemensのSINUMERIKシステムは、高度なサイクル実行バックエンドを備えている点で、FanucやMitsubishiの制御装置とは一線を画しています。FanucやMitsubishiがG28、G29、G30コマンドをファームウェアレベルでハードコードされた低水準命令として処理するのに対し、SiemensはこれらのコマンドをCYCLE328およびCYCLE330という編集可能なサイクルプログラムを介して動的に実行します。このソフトウェアベースの階層により、Siemensはアクティブな座標システムに対して事前に高度な安全検証チェックを自動的に実行できます。これにより、実際の軸移動信号がサーボモーターに送信される前に、アクティブな運動変換をその場で安全に無効化し、プログラムされた中間点が物理的な軸制限を超えていないかを事前に検証することが可能になります。
現場におけるオペレータのリアルタイムな制御性の観点では、中間点での一時停止やアプローチ速度のオーバーライド機能を提供するMitsubishiが優れています。Mitsubishiのパラメータ#1279番bit 6を利用すると、プログラムされた中間点で機械を意図的にシングルブロック停止させることができます。これにより、工具が原点に完全に引き込まれる前に、バイスジョーやチャック等の干渉物と干渉しないかをオペレータが肉眼で安全に目視確認するためのマニュアル確認時間を確保できます。さらに、MitsubishiはG28またはG30ブロック内にインラインで ,F 送り速度コマンドを直接記述し、パラメータ#2025(G28rap)によるデフォルトの早送り速度を上書きできる唯一の制御システムです。このリアルタイムな速度制御は、大型の門型マシニングセンタや経年劣化したボールねじ駆動時の激しい構造振動を抑制するために極めて有効です。
これに対し、Fanucは各種挙動のグローバルな調整を深いシステムパラメータ群に全面的に依存しています。たとえば、サイクル単位での挙動修正を行う代わりに、パラメータ16205番(SZR)を切り替えることで中間点の経由動作そのものを完全に排除し、ワークスペースが十分に広いセットアップにおいて直接原点に移動させ、加工サイクルタイムを限界まで短縮することができます。また、軸の安全な位置決めを担保するため、Fanucのパラメータ3001番bit 7(ZPO)を介して独自の「セトリング確認ディレイ」機能を備えています。これは、各軸の物理エンコーダがターゲットの座標に完全に静定するまで原点復帰完了信号の出力をホールドする仕組みであり、パレットチェンジャーや自動ワークロード装置などの周辺システムが連動して動作する前の絶対的な運動安全性を保証します。
プログラム例
これら3つの制御システムの実務におけるプログラミングの具体的な相違点を示すため、現場での原点復帰および退避シーケンスの事例を以下に紹介します。
Fanuc 原点復帰および退避シーケンス
O0001 (FANUC HOMING EXAMPLE) ;
G90 G21 G40 G49 (安全ブロック:絶対指令、ミリ、各種補正キャンセル) ;
G28 X100.0 Y50.0 (中間点X100.0、Y50.0を経由して第1基準位置へ復帰) ;
G30 P2 Z0.0 (工具交換用の第2基準位置へ、中間点Z0.0を経由してZ軸復帰) ;
T02 M06 (工具交換実行) ;
G29 X25.0 Y25.0 (記録された中間点を経由して目標位置X25.0、Y25.0へ退避) ;
M30 ;
空運転 (dry run)動作解析:
- 機械はまず最初の安全ブロックを読み込み、アクティブな工具補正をキャンセルし、座標系をミリメートル入力に設定します。
G28 X100.0 Y50.0が実行されると、X軸とY軸は早送りで指定された中間点座標(X100.0、Y50.0)に移動します。- 中間点に到達した瞬間、機械は自動的に各軸を早送りで第1基準位置へ移動させます。
- 次に、
G30 P2 Z0.0が呼び出されます。Z軸はまず中間点Z0.0の位置まで退避し、その後、ハードコードされた第2基準位置P2(工具交換位置)に直接移動します。 - 工具交換によりツールNo.2が呼び出された後、
G29 X25.0 Y25.0指令がパースされます。制御装置は、直前のG28指令で揮発性メモリに記録された中間座標(X100.0、Y50.0)を読み出し、まずその中間点まで早送りで移動した後、G29でプログラムされた最終目標座標(X25.0、Y25.0)へ向けて移動します。
Siemens ダイレクトモード原点復帰シーケンス
; SINUMERIK ISO DIALECT MODE HOMING
G291 (ISOダイレクトモードG291へ切り替え) ;
G91 X0 Y0 Z0 (中間点用として増分指令モードを設定) ;
G28 X0 Y0 Z0 (現在位置を中間点として第1基準位置へ復帰) ;
G30 P3 X30. Y50. (増分中間点を経由して第3基準位置へ復帰) ;
G27 X100. Z50. (指定された軸の基準位置チェック実行) ;
G290 (ネイティブSiemensモードへ復帰) ;
M30 ;
空運転動作解析:
- 制御装置はG291指令を解釈し、ネイティブのSinumerikモードからISOダイレクトモードへと切り替えます。
- 増分指令モード(
G91)において、G28 X0 Y0 Z0は現在位置をそのまま中間点として指定します。これにより、機械は物理的な中間点シフトを行わず、現在位置から直接第1基準位置へと早送りで復帰します。 - 次のブロックの
G30 P3 X30. Y50.は、X軸およびY軸をそれぞれ増分で30mmおよび50mm移動させて中間点を確立し、その後、マシンデータMD34100で定義された第3の増分基準位置へ早送りで移動させます。 - 最後に、
G27 X100. Z50.で原点位置チェックを実行します。各軸が想定される原点座標に向けて移動し、もし実際の物理原点位置と何らかのズレを検出した場合、制御装置はAlarm 61816を発生させてプログラム実行を強制停止させます。
Mitsubishi 送り速度オーバーライド付き原点復帰シーケンス
% (MITSUBISHI HOMING EXAMPLE)
G90 G21 G40 G49 (標準キャンセル安全ブロック) ;
G28 X100.0 Z50.0 ,F1000 (中間点を経由して第1基準位置へ復帰、アプローチ速度を制限) ;
G30 P2 X50. Y50. Z0. (指定された中間座標を経由して第2基準位置へ復帰) ;
G29 X20. Z20. (記録された中間点を経由して最終目標位置へ移動退避) ;
M30 ;
%
空運転動作解析:
- 制御装置は最初の安全座標ブロックを読み込み、アクティブな工具径・工具長補正をクリアします。
- G28ブロックが読み込まれると、X軸とZ軸は指定された中間点(X100.0、Z50.0)に向けて移動します。このとき、記述された
,F1000コマンドがパラメータ#2025 G28rapの上限値を一時的に上書きし、移動中の激しい振動を抑えるためにアプローチ速度を正確に1000 mm/minに制限します。 - パラメータ
#1279 ext15/bit6が「1」に設定されている場合、機械は中間点に到達した時点で自動的にシングルブロック一時停止を実行します。オペレータはクリアランスを確認したのち、サイクルスタートを押して運転を再開します。 - 制御装置は、各軸を最終的な第1基準位置へと早送りで移動させます。
- 続く
G30 P2コマンドは、中間点(X50.0、Y50.0、Z0.0)を経由して第2基準位置レジスタP2へと早送りで移動します。 - G29退避指令は、直前のG28で記録された最新の中間点座標(X100.0、Z50.0)を読み出してその位置まで早送りで移動し、その後、プログラムされた最終目標座標(X20.0、Z20.0)へとツールを駆動します。
エラー解析
| ブランド | アラームコード | 発生条件 | オペレータから見た症状 | 根本原因と解決策 |
|---|---|---|---|---|
| Fanuc | PS0305 | 電源投入後、G28またはG30による原点復帰コマンドを実行して中間点座標を記録させる前に、いきなりG29指令を実行した場合。 | 加工サイクルが即座に停止し、赤い警告画面に「INTERMEDIATE POSITION IS NOT ASSIGNED(中間点が指定されていません)」と表示される。 | 根本原因:揮発性座標メモリに中間点の位置情報が記録されていません。 解決策:G29を呼び出す前に、まずG28原点復帰ルーチンをプログラムし実行して中間点データをシステムに記憶させてください。 |
| Fanuc | PS0090 | G28実行時に、軸が物理的にホームリミットスイッチのドッグに近すぎる状態でスタートしたか、接近中のグリッド検出速度が遅すぎる場合。 | コントローラが一時停止し、ディスプレイ上に「REFERENCE RETURN INCOMPLETE(基準位置復帰不完全)」という警告が表示される。 | 根本原因:軸が原点マーク(グリッド)を検出するために必要な減速・位置決めストローク長が不足しています。 解決策:軸を手動で一度原点から十分に離れた位置まで退避させた上で、ドッグを正常にキックできる十分な接近速度を確保して実行し直してください。 |
| Siemens | Alarm 61816 | G27基準位置チェックコマンドを実行した結果、プログラムされた軸が物理的な機械原点に正確に位置していないことを検出した場合。 | 自動運転モードが瞬時に中断され、警告欄に「Axes not on reference point(軸が基準点にありません)」と点滅表示される。 | 根本原因:軸座標の物理的なズレまたは原点スイッチ自体の故障が疑われます。 解決策:手動操作で再度軸の原点復帰を実行するか、マシンデータMD34100の原点座標値を調整してください。 |
| Siemens | Alarm 61804 | プログラムされた中間点の座標値、または現在の位置が、物理的な機械限界範囲を超えて指令された場合。 | プログラムが直ちに中断され、ディスプレイ画面に「Programmed position exceeds home position(プログラム位置が原点位置を超えています)」と表示される。 | 根本原因:プログラムされた中間点またはターゲット座標が、機械的に進入不可能なエリアに存在します。 解決策:機械が安全に進入できるワークエンベロープ内に収まるよう、プログラム内の座標アドレス値を修正してください。 |
| Mitsubishi | P430 | 電源投入後に一度も自動基準位置復帰(G28)を実行していない状態で、G29スタート位置復帰コマンドを実行した場合。 | マシンの軸運動が急激に減速停止し、診断ページ上に「プログラムエラー」のアラームが発生する。 | 根本原因:揮発性の中間点レジスタが空のまま退避コマンドが指令されました。 解決策:G29を記述する前に、プログラムの初期シーケンスとして必ずG28自動基準位置復帰を実行してください。 |
| Mitsubishi | P931 | 工具軸方向の工具長補正(G43/G44)がアクティブな状態で、G27〜G30指令が発行された場合。 | コントローラが動作指示を即座にロックし、ステータスパネルに「プログラムエラー」を表示して停止する。 | 根本原因:補正が有効な状態で原点復帰を行うと、基準座標計算がシフトして機械干渉を起こすため、システム側で禁止されています。 解決策:基準位置復帰コマンドを実行する前に、必ず「G49」をプログラムに記述して工具長補正を明示的に解除してください。 |
実務応用ノウハウ
工具や治具との致命的な干渉による刃具破損や非計画停止を未然に防ぐためには、各制御システムにおける基準位置復帰時の内部パラメータの動作特性を熟知しておく必要があります。例えば、FanucシステムでG28を実行する際、初期設定のままだとすべての軸が同時に移動する非線形な「ドッグレッグ」状の早送り軌跡を描くため、治具クランプ等に干渉する危険性が極めて高くなります。このリスクに対して、パラメータ1015番bit 4(ZRL)を「1」に設定することで、中間点から基準位置へのパスを直線補間に強制でき、狭いワークエンベロープ内でも安全な回避ルートを論理的に確保できます。また、最も現場の安全に直結する機能として、Mitsubishiシステムにおけるパラメータ#1279番のext15/bit6(中間点シングルブロック停止)の有効化が挙げられます。これを「1」に設定すると、G28やG30による移動時にプログラムされた中間点で機械が自動的に一時停止(シングルブロック停止)します。オペレータはこの一時停止の瞬間に、カッターとバイスジョーやチャックとのクリアランスを肉眼で安全に目視確認できるため、万が一の座標入力ミスやオフセット値の狂いがあっても、サイクルスタートを押す前に動作を遮断し、致命的な機械衝突や不良品発生を防ぐことができます。もし一時停止中に誤ってMDIモードや基準位置復帰モードに切り替えるとM01 0013アラームが発生し、PLC割り込み操作を行うとM01 0129アラームがトリガーされますが、これらも現場の誤操作による非計画停止を防ぐための重要な保護ロジックです。さらに、工具長補正を有効にしたまま基準位置復帰を指令することは、座標計算の不整合から衝突を引き起こす重大な要因です。Mitsubishiでは、軸方向の工具長補正が有効な状態でG27〜G30を指令すると直ちにP931アラームが発生して軸移動がロックされます。Siemensシステムでは、ISOダイレクトモード(G291)におけるG28およびG30の実行が、背後にある編集可能なサイクルシェル(CYCLE328およびCYCLE330)を介して処理されます。設定データSD43340やマシンデータMD34100で定義された機械座標に基づき、軸タイプの妥当性や座標の限界値チェックが自動実行されます。万が一、中間座標が物理的な機械限界を超えている場合はAlarm 61804がトリガーされ、絶対指令と増分指令の矛盾がある場合はAlarm 61805が発生し、移動前にシステムが自動停止します。このように、各システムのパラメータ構造とアラーム特性を理解し、段取り前に適切な確認を行うことが、ロット生産の再現性の低下を完全に遮断するための実務上の極意です。
関連コマンド
基準位置復帰コマンドを正しく記述するためには、原点復帰ルーチンと相互に関連し合う各種座標指令やチェック用コマンドのネットワークを体系的に理解しておく必要があります。
- G27(基準位置チェック): Fanuc、Mitsubishi(およびSiemensのG291モード)で使用され、軸が想定された原点座標に正常に到達したかを確認し、ズレがあればアラームをトリガーする確認コード。
- G30.1(フローティング基準位置復帰): Siemens等のSD43340などのパラメータ値に基づいて動的に計算される、固定の原点スイッチをバイパスした独自のフローティング基準座標に軸を戻す機能。
- G53(機械座標系選択): 中間点をメモリに一切記録することなく、基本の機械原点を基準とする絶対座標系(機械座標)へ軸を直接移動させる指令。
- G74(ネイティブ基準点アプローチ): Siemensのネイティブモード(G290)で軸の原点復帰を行うための指令であり、ISOダイレクトモードにおけるG28と全く同じ機能を持つ代替コマンド。
- G75(ネイティブ固定点アプローチ): 工具交換位置などの定義された固定座標位置へ主軸を直接退避させるためのSiemensネイティブ指令であり、G30の役割をネイティブで果たすコマンド。
- G00(早送り): 原点復帰動作を行う前に、各軸を中間点アプローチ開始の初期位置へ高速位置決めするために併用される指令。
- G17、G18、G19(平面選択): 原点復帰のアプローチ過程やスケーリング時に、円弧補間の方向を決定するアクティブ平面を定義する指令。
- G20、G21(単位系選択): インチとミリメートル間で基本座標系を切り替え、中間点座標の記述スケールに直接的な影響を与える単位スケーリング指令。
おわりに
確実な基準位置復帰ルーチンと徹底したパラメータ管理は、高精度なロット生産における信頼性と繰り返し精度を確立するための核心的アプローチです。段取り工程において、各メーカーのコントローラ設定(Fanucの16205番、SiemensのMD34100、Mitsubishiの#1279番)を事前に文書化し、中間点経由時の補正と安全な退避動作を機械ごとに把握しておく必要があります。G28を介した基準位置復帰の徹底、アクティブな対称加工や補正(G40/G49/G69など)の解除、そして実加工前におけるグラフィックによる空運転での検証プロセスを標準作業手順(SOP)に組み込むことで、不注意による未スケール動作や不適切な方向への暴走を物理的・論理的に完全に遮断できます。この標準化された事前検証手順のみが、再現性の低下や不要な不良品発生を防ぎ、加工機の稼働率と品質の最大化を約束します。
よくある質問
電源投入直後の自動運転でG29指令を実行するとアラーム(PS0305やP430)が発生するのはなぜですか?
電源投入直後、CNCの揮発性メモリ内に保持されている中間点(ウェイポイント)の座標値レジスタは完全に空(クリアされた状態)になっています。この状態でG28やG30による原点復帰動作を行わずに、いきなり基準位置からの復帰指令であるG29を実行すると、制御装置は経由すべき中間点の位置を特定できず、FanucではPS0305(中間点が指定されていません)、MitsubishiではP430(プログラムエラー)を発生させて軸移動を即座に非常停止させます。具体的な対策として、朝一番の立ち上げ時や非常停止解除後の最初のサイクルでは、必ずプログラムの先頭で一度G28を介した原点復帰ルーチンを確実に実行し、中間点座標をメモリに書き込ませる段取り手順を標準化してください。
量産ロット間で製品の寸法ばらつきが発生する場合、G28/G30関連のどのパラメータを確認すべきですか?
ロット生産における寸法ばらつきや再現性の低下を防ぐには、G28原点復帰の動作自体にパラメータ未検証の不確定要素がないか確認します。特にFanucのパラメータ16205番bit 0(SZR)の設定を確認し、中間点を強制経由(1)させているか、バイパス(0)させているかを確認してください。また、中間点到達から原点位置へのアプローチにおける各軸のサーボセトリング(位置決め静定)を監視するため、Fanucのパラメータ3001番bit 7(ZPO)を「1」に設定して物理的な位置決め完了を待ってから復帰完了信号を出力させる設定になっているかも極めて重要です。具体的な対策として、量産開始前にこれらのパラメータ状態を画面上で点検し、チェックシートに記録することを義務付けてください。
工具長補正を有効にしたままG28やG30による基準位置復帰を行うとなぜ危険なのですか?
アクティブな工具半径補正や工具長補正(G43/G44など)をキャンセル(G40/G49)せずに基準位置復帰を実行すると、制御装置は補正されたオフセット座標値を含めた状態で中間点への移動経路を計算します。これにより、実際の工具先端がプログラマーの意図しない経路(シフトした中間点)を通ることになり、機械内部のチャックやバイスジョー、ワーク固定用クランプ等の障害物と干渉して重大な突発事故を引き起こすリスクが極めて高くなります。Mitsubishiではこの衝突を防ぐために、補正がアクティブな状態での原点復帰指令に対して直ちにP931アラームを発生させて動作をロックする仕様となっています。具体的な対策として、G28やG30を記述するすべてのプログラムブロックの直前に、必ず「G40 G49」を明示的に挿入し、補正が完全に解除された安全な状態で退避運動を行うコード構成を厳格に順守してください。
まだ解決しませんか?
このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2005)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
CNC工作機械業界のあらゆる分野で25年以上の経験を持ち、ブランドに依存しないコンサルティング、エンジニアリング、純正部品サービスを提供するCNC CAREの共同創業者として活動を続けています。
関連記事
このトピックに関する他の記事
Siemens CYCLE800の使い方:平面旋回とツールアライメント
SiemensのCYCLE800による3+2軸加工をマスターしましょう。平面旋回、ツールアライメント、パラメータ設定から、アラーム61190や61153といったエラーのトラブルシューティングまで詳しく解説します。
Siemens CYCLE72 パスミーリング: 輪郭加工の設定とプログラム解説
SinumerikのCYCLE72輪郭ミーリングを徹底解説。_KNAMEや_VARIの正しいパラメータ設定、シミュレーション時のアラーム61123回避方法、チャッククランプ確認によるアラーム700017防止まで、機械停止や不良品発生を防ぐ実務ノウハウを紹介します。
Siemens CYCLE952旋削サイクルの設定とプログラム解説
SinumerikのCYCLE952輪郭旋削サイクルを徹底解説。_PRGや_CONRによるブランク境界定義、アラーム61051/61059の回避方法、および設定データSD55212による自動メモリ管理の設定手順まで詳しく紹介します。
Siemens SLOT1/SLOT2溝フライスcycleプログラミング
Siemens製Sinumerikの溝加工cycleSLOT1・SLOT2のプログラミングを解説。パラメータ設定、Alarm 61000を防ぐ工具半径補正、VARIを用いた障害物回避など、量産時のロット間再現性を高め不良品発生を防ぐための実務ノウハウを紹介します。