G28基準位置戻りのCNCプログラミングと衝突防止対策
G28自動基準位置戻りコマンドのプログラミング手法と衝突対策を解説。Fanuc 3401やMD 34100、#2037などの重要パラメータ検証、アラームPS0092等のトラブル対策、量産ロットの繰り返し精度と再現性を向上させる実務ノウハウを解説。
はじめに
自動加工サイクルにおいて、テーブル上のバイスジョー(vise jaw)や回転するチャック(rotating chuck)、ワーク固定クランプ(workholding clamp)への高速急送りによるツールタレットの激突は、最も致命的で回避すべき衝突リスクの一つです。プログラム内でG28自動基準位置戻りを絶対指令(G90)で実行し、目標座標をゼロ(例えば、G90 G28 X0 Y0 Z0)と記述した場合、CNCコントローラはワーク座標系の原点(G54 X0 Y0 Z0)を中間経由点として解釈します。その結果、タレットやスピンドルは安全位置に退避する代わりに、原材料や治具に向かって最高急送り速度(rapid feedrate)で突っ込み、刃物を粉砕し、タレットを曲げ、過負荷アラームによる非計画停止を引き起こしてワークを廃却処分(ruined scrap)に追い込みます。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるという最悪のシナリオを招きます。段取り前にParameter No. 3401やMD 34100、#2037などの重要パラメータを確認することで、このコマンドで最も多い非計画停止を防ぎ、機械のクラッシュを完全に回避できます。これにより、座標系の狂いに起因する寸法再現性の低下や不良品発生を具体的に防ぎ、量産現場での高い信頼性とロット間の繰り返し精度を維持することができます。
技術概要
| 技術属性 | 仕様スペック |
|---|---|
| コマンドコード | G28 |
| モーダルグループ | グループ00 / 非モーダル(ワンショット) |
| 適用ブランド | Fanuc, Siemens, Mitsubishi |
| 重要パラメータ | Fanuc: Parameter No. 3401 Bit 6 (GSB) & Bit 7 (GSC), Parameter No. 3402 Bit 0 (G01); Siemens: MD 34100 $_MA_REFP_SET_POS[n]; Mitsubishi: Parameter #2037 G53ofs, Parameter #1091 Ignore middle point |
| 主な制約事項 | G28ブロックには少なくとも1つの軸座標を指定する必要があります。実行前にすべてのアクティブな工具長補正、刃先R補正、工具径補正(G40、G49、Txx00)をキャンセルしなければなりません。 |
クイックリード
- インクリメンタル安全モード: 中間経由点をバイパスして直接機械原点(ゼロ点)に戻るために、モーダルを
G91(フライス/旋盤BおよびC)に切り替えるか、インクリメンタル座標アドレスU0 W0(旋盤A)を使用します。 - オフセット補正のキャンセル: 誤った原点不到達アラームを防ぐため、G28を実行する前に必ずG40および工具長/オフセットキャンセル(Txx00またはG49)を指令してください。
- 最小の構文アドレス: G28ブロックには少なくとも1つの軸座標(X、Y、Z、U、Wなど)を記述する必要があります。空のコマンドブロックは構文エラーの原因となります。
- 座標機能の無効化: 座標のずれやチェックの失敗を防ぐため、アクティブなスケーリング、座標系回転、ミラーリング機能をすべて無効にしてください。
- 経由点でのモード切替回避: 軸がシングルブロックの中間経由点で一時停止している間に、CNCモード(MDIや手動)の切り替えやPLC割り込みを発生させないでください。
- 回転軸の制限: 協調エラーや三菱の「プログラムエラー(P10)」を回避するため、複数の回転軸の原点復帰は同時ではなく、個別にプログラミングしてください。
基本概念
加工プログラムにG28自動基準位置戻りを組み込むことは、工具のインデックス、パレット交換、またはプログラム終了の前に、再現性の高い物理的な機械ゼロ点(機械原点)を確立するプログラム上の安全ルーチンを構築することにつながります。ツールタレットやスピンドルアセンブリは、干渉のない既知の安全なホームポジションに退避させる必要があります。G28はこれを2段階の動作で処理します。まずプログラムされた軸が指定された中間経由点に移動し、そこから機械ゼロ点の座標へ直接移動します。これにより、工具交換がワークやワーク保持具から十分に離れた場所で行われるようになり、工具の干渉を防ぎます。
軸が機械ゼロ基準点に安全に到達したかを検証するため、プログラマーはG27基準位置戻りチェックを実装できます。G28が物理的な基準点への復帰を行うのに対し、G27はサイクル中に位置決めエラーや座標系のずれが発生していないかを確認する診断的検証ステップを提供します。これらのコマンドを組み合わせることで、工場は座標系の健全性を確認できます。これは、機械的オーバートラベルを避けるためにG00位置決め(高速位置決め)中に軸が最高速度で移動する際に特に重要です。
G22ストアドストロークリミットチェックONコマンドのような安全監視エリアを基準点復帰サイクルと組み合わせることで、ソフトウェアベースの動作制限境界を確立できます。これらのソフトリミットは、機械のスライド部がエンクロージャの物理的な限界領域に衝突するのを防ぎます。G28の実行中、制御装置は一時的に補正をキャンセルするため、実際の刃先経路はアクティブなオフセット値に基づいてシフトします。経由点通過時に座標がどのように変換されるかを理解することは、工具経路を作業領域の安全な境界内に維持するために不可欠です。
コマンド構造
G28コマンドは、基準原点復帰を実行する前に、プログラムされた座標へ軸を高速位置決めするグループ00の非モーダル(ワンショット)命令です。指定された軸は、ブロックで設定された座標まで急送り速度で移動します。軸が目標位置に到達すると、制御装置の位置ループ比較器が、システム変数に格納されている基準座標と機械の物理的なフィードバックを評価します。この戻り動作はブロック内でプログラムされた軸のみを対象とし、指定されなかった軸は移動せず検証も行われません。
多様な機械構成に対応するため、G28は異なる構文構造を使用します。GコードシステムAで動作する旋盤システムでは、復帰ブロック内で直接絶対座標(X、Z)またはインクリメンタル座標(U、W)を使用します。フライスシステムやマシニングセンタでは、絶対座標アドレス(X、Y、Z)を指定します。三菱システムでは、Pパラメータを追加して、戻り先とする基準位置を指定できます。シーメンス制御では、G28を解析する前に、G291を使用してシステムをISO Dialectモードに切り替える必要があります。
旋盤/ターニングシステムの構文:
G28 X... Z... ; (絶対座標)
G28 U... W... ; (インクリメンタル座標)
フライス/マシニングシステムの構文:
G90 G28 X... Y... Z... ; (絶対座標)
G91 G28 X... Y... Z... ; (インクリメンタル座標)
パラメータ仕様:
| アドレス / パラメータ | 説明 | 適用ブランド |
|---|---|---|
| X, Y, Z | 絶対位置決めモードにおける中間経由点の座標。 | Fanuc, Siemens, Mitsubishi |
| U, W | 対象軸チェックのためのインクリメンタル座標値(システムA)。 | Fanuc, Mitsubishi |
ブランド別応用
Fanuc
ファナック(Fanuc)制御では、G28はカーネルレベルで座標を直接比較するネイティブなグループ00準備機能コマンドとして実行されます。パラメータ3401のビット7および6などのセットアップパラメータにより、座標がGコードシステムA、B、Cのいずれで処理されるかが決定されます。座標が一致すると、操作パネルの基準位置復帰ステータスLEDが点灯します。
プログラマーは、同一ブロック内でG40およびTxx00を使用して補正をキャンセルしなければなりません。例えば、G28 G40 U0 W0 T0300 M05 ; は、刃先R補正と工具オフセットをキャンセルしながら、X軸およびZ軸の基準点への復帰を行います。
| システムカテゴリ | 識別子 / コマンド | 応用詳細 |
|---|---|---|
| パラメータ | Parameter No. 3401 Bit 7 (GSC) & Bit 6 (GSB) | 座標解釈のためのアクティブなGコードシステム(A、B、またはC)を選択します。 |
| パラメータ | Parameter No. 3402 Bit 6 (CLR) | リセット時にグループ00のモーダルGコードがクリア状態に戻るかどうかを決定します。 |
| パラメータ | Parameter No. 3402 Bit 0 (G01) | リセット時のデフォルトの動作状態(急送りG00か直線切削送りG01か)を設定します。 |
| パラメータ | Parameter No. 5040 Bit 3 (TCT) | アクティブな軸での工具長補正(+/-)G43/G44の動作を制御します。 |
| アラーム | Alarm PS0092 | 軸がG28を完了したものの、実際の機械ゼロ点と正確に一致しません(LEDが点灯しません)。 |
| アラーム | Alarm PS0187 | スケーリング(G51)、ミラーイメージ(G51.1)、または座標回転(G68)の実行中にG28を実行した場合にトリガーされる不正コマンドアラーム。 |
| アラーム | Alarm PS0325 | G71やG72などの複合形固定サイクルの仕上げ形状定義ブロック(P〜Q間)の中にG28が指定された場合にトリガーされます。 |
| バージョン区分 | 旋盤Gコードシステム | 旋盤システムはGコードシステムA、B、またはCを選択します。システムAはアドレス文字(X/Z対U/W)を使用して絶対/増分を区別します。 |
| バージョン区分 | レガシーシリーズ15 | 補正データや固定サイクルの処理が異なり、標準の複数ブロック繰り返しパラメータが無効になります。 |
警告: 座標回転(G68)がアクティブな状態でG28を実行するとAlarm PS0187がトリガーされるため、プログラマーは原点復帰を指令する前に必ずG69で座標回転を無効化しなければなりません。
Siemens
シーメンス(Siemens)制御は、ISO Dialectラッパーを使用してG28を処理します。内部的には、SINUMERIKはカーネルレベルのコマンドを直接実行するのではなく、代わりに cycle328.spf という名前のバックグラウンドマクロプログラムを実行します。このマクロは、マシンデータ MD 34100 を使用して基準点の物理的な座標位置を定義します。
復帰動作を実行するには、G291を使用して制御をISO Dialectモードに切り替える必要があります。例えば、G91 G28 X0 Y0 Z0 ; とプログラミングすると、cycle328.spfマクロを使用してX軸、Y軸、およびZ軸의基準座標をチェックし、復帰します。
| システムカテゴリ | 識別子 / コマンド | 応用詳細 |
|---|---|---|
| パラメータ | MD 34100 $_MA_REFP_SET_POS | 基準点1〜4(インデックス0〜3)の基準座標値を定義します。 |
| パラメータ | MD 18800 $MN_MM_EXTERN_LANGUAGE | 外部のISO Dialect言語インタープリタを有効にします。 |
| パラメータ | MD 20154 $MC_EXTERN_GCODE_RESET_VALUES[n] | 外部言語モードにおけるリセット時のデフォルトGコード(絶対/増分)を決定します。 |
| アラーム | Alarm 61800 | 外部CNCシステムがありません。MD 18800が有効になっていない場合にトリガーされます。 |
| アラーム | Alarm 61004 | 内部のcycle328.spfマクロにおいて幾何軸の構成が正しくありません。 |
| アラーム | Alarm 14800 | プログラムされた経路速度またはデフォルトの送りがゼロであるか、設定されていません。 |
| バージョン区分 | SINUMERIK 802D sl 対 840D sl | 802D slはチャンネルのGコードリセット変数が書き込み保護されていますが、840D slは完全な変更が可能です。 |
警告: 未解決の座標変換が存在するとcycle328.spfが失敗しAlarm 61004がトリガーされるため、G28の実行前に必ずTRAFOOFを使用してアクティブな座標変換を完全に解除してください。
Mitsubishi
三菱(Mitsubishi)CNCシステムは、PLCに直接リンクされたグループ00非モーダル命令としてG28を処理します。コントローラは、軸固有のパラメータ#2037を使用して機械原点からの基準座標オフセット値を保存します。座標が一致すると、システムはゼロ点到達信号を出力します。
プログラマーはPアドレスを使用して、4つの基準位置のどれを対象にするか指定できます。例えば、G28 U0 W0 T0300 ; は工具オフセットをキャンセルしながら、第1基準位置をチェックし復帰します。
| システムカテゴリ | 識別子 / コマンド | 応用詳細 |
|---|---|---|
| パラメータ | Parameter #2037 G53ofs | 基準点1〜4の軸固有의 基準座標オフセット値。 |
| パラメータ | Parameter #1443 G28ol | 1に設定すると、G28急送りブロックのオーバーラップ機能が有効になります。 |
| パラメータ | Parameter #2633 G28olinps | 急送りブロックのオーバーラップ機能用インポジションチェック幅を設定します。 |
| パラメータ | Parameter #1091 Ignore middle point | 1に設定すると、中間経由点をバイパスして直接原点に復帰します。 |
| アラーム | Program Error (P430) | 電源投入後、中間経由点をシステムに記録するためのG28またはG30を実行せずに、G29を実行した場合にトリガーされます。 |
| アラーム | Program Error (P931) | 工具軸長補正(G43.1)が有効な状態でG28が指令された場合にトリガーされます。 |
| アラーム | Operation Error (M01 0013) | 中間点の一時停止中に、MDIや手動原点復帰モードに切り替えた場合に発生します。 |
| アラーム | Operation Error (M01 0129) | 中間点の一時停止中に、PLC割り込み動作が開始された場合に発生します。 |
| アラーム | Program Error (P10) | M80/M830システムにおいて、2つ以上の回転軸に対してG28が同時に指令された場合に発生します。 |
| バージョン区分 | M80 / M830シリーズ | アクティブなオフセットに対応するため直線軸が強制的にシフトし、複数の回転軸を同時に原点復帰させるとP10が発生します。 |
| バージョン区分 | C80シリーズ | G28はZRデバイス変数(#50000〜#52749)と統合されます。G26はスピンドル監視ではなく加工割り込み退避(タッピング退避)を表します。 |
警告: 三菱のC80シリーズではG26コードのコマンド競合が存在し、主軸速度変動検出ではなく、自動運転加工割り込み時の工具退避サイクルがトリガーされます。
ブランド比較
| 機能・属性 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Gコード実行レベル | NCK動作カーネル内でグループ00非モーダルコマンドとしてネイティブに実行されます。 | ネイティブ実行はバイパスされ、ISO Dialectモードにおいて cycle328.spf バックグラウンドマクロ経由で実行されます。 | グループ00非モーダルコマンドとしてネイティブに実行されます。 |
| 座標変換への対応 | アクティブな補正フレームの手動キャンセルが必要です。 | マクロが基準点復帰前に TRAFOOF を介して座標変換を自動的に解除します。 | 直接処理され、ローダ等とのハンドシェイク用にPLCへゼロ点到達物理信号を送信できます。 |
| 基準位置と復帰サイクル | Parameter No. 3402 を使用する厳格なグループ00非モーダル復帰。 | 基準位置を軸マシンデータ MD 34100 $_MA_REFP_SET_POS にマッピングします。 | 最大6つの工具交換位置(G30.1〜G30.6)およびオーバーラップパラメータ #1443 G28ol をサポートします。 |
| G26のコマンド競合 | 主軸速度変動検出機能を有効にします。 | — | 加工割り込み時の工具退避リカバリサイクルを起動します。 |
技術解析
Fanuc、Siemens、およびMitsubishi制御装置の根底にあるアーキテクチャの違いにより、G28原点復帰サイクルが座標系レジスタおよび物理的な軸制御ループとどのように対話するかが決定されます。FanucおよびMitsubishi制御では、G28はネイティブなカーネルレベルのコマンドとして実行されます。これは、モーションループと軸位置決め補間器が中間経由座標および基準座標を直接処理し、完了時に操作パネルのLED(Fanuc)やPLCのゼロ点到達レジスタ(Mitsubishi)などの物理的な信号出力を生成することを意味します。逆に、シーメンスのSINUMERIK制御は、NCKカーネル内でG28をネイティブに実行しません。代わりに、プログラマーはG291を介してISO Dialectモードを有効にする必要があり、これによりG28コマンドは cycle328.spf という名前のバックグラウンドマクロプログラムにルーティングされます。このマクロベースの実行は、基準点へのアプローチを開始する前に、ネイティブの TRAFOOF コマンドを使用してアクティブなキネマティックフレームを解除し、ソフトウェアオフセットを介して座標を評価します。
もう一つの明確な対比は、これらのブランドが複数の基準点と急送りダイナミクスをどのように管理するかにあります。Mitsubishiシステムは非常に柔軟な基準構造を提供しており、プログラマーは最大6つの専用工具交換座標(`G30.1` から `G30.6`)を利用し、ブロックオーバーラップパラメータ(`#1443 G28ol` および `#2633 G28olinps`)を構成してサイクルタイムを最適化できます。Fanucはより厳格なグループ00構造に依存しており、Parameter No. 3402が座標クリア状態を規定し、工具補正は手動で管理する必要があります。また、クロスプラットフォームのコマンド競合は、現場に深刻な衝突リスクをもたらします。代表的な例は `G26` コマンドで、これはFanucでは主軸速度変動検出を表しますが、Mitsubishi制御では加工割り込み(タッピング退避マクロ)を表します。G26ブロックを含むFanucのGコードプログラムをMitsubishi制御で実行すると、予期しない軸退避動作がトリガーされ、切削工具をワークに突っ込ませて致命的な衝突事故を引き起こす原因になります。
プログラム例
Fanuc Example
G91 G28 X0 Y0 Z0 ; 中間距離ゼロのインクリメンタル基準原点復帰
G28 Z0.1 M09 ; 経由点Z0.1を経由する絶対モードでのZ軸復帰、クーラントOFF
G28 U0 W0 T0300 M05 ; X/Z軸の旋盤インクリメンタル復帰、オフセットキャンセルおよび主軸停止
M30 ; プログラム終了
空運転 (dry run) の検証
スピンドルを停止させ、ワークホルダーからワークを取り外した状態で、初品の空運転を実行します。実行前に、すべての軸を手動で原点復帰させ、機械座標系を確立します。操作パネルの空運転モードを有効にしてプログラムを実行します。軸スライドは、中間経由移動を行うことなく、現在位置から機械ゼロのホームポジションに直接移動してG28ブロックを実行します。ホームに到達したら、操作パネル上の基準位置復帰LEDが点灯することを確認します。軸がホームに到達する前に停止するか、LEDが点灯しない場合は、アクティブなオフセットを確認し、Alarm PS0092のステータスを検証してください。
Siemens Example
G291 ; SINUMERIK制御をISO Dialectモードに切り替え
G28 Z150.0 M09 ; Z軸を中間座標Z150.0に退避させ、クーラントOFF
G91 G28 X0 Y0 Z0 ; 経由距離ゼロのインクリメンタル原点復帰を指令
G290 ; ネイティブのシーメンスモードに戻す
M30 ; プログラム終了
空運転の検証
ISO Dialectの解析を可能にするため、MD 18800が有効であることを確認してください。送り速度オーバーライドを下げて空運転を実行します。プログラムを起動します。制御装置は、G28を処理するためにバックグラウンドマクロ cycle328.spf を呼び出します。工具は中間点に移動した後、MD 34100で定義された機械ゼロ基準点へと移動します。座標がマシンデータの設定値と一致しない場合、サイクルマクロは実行を停止し、Alarm 61800またはAlarm 61004を表示して、サイクルスタートランプを消灯します。
Mitsubishi Example
G91 G28 X0 Y0 Z0 ; 経由距離ゼロのインクリメンタル原点復帰を実行
G28 Z150.0 M09 ; Z軸を中間点Z150.0に移動させる絶対基準原点復帰、クーラントOFF
G28 U0 W0 T0300 ; 旋盤システムのインクリメンタル原点復帰、工具オフセットキャンセル
M30 ; プログラム終了
空運転の検証
パラメータ #2037 G53ofs に正しい機械オフセット値が設定されていることを確認します。空運転の送り速度でプログラムを実行します。軸はプログラムされた座標へ移動したのち、機械のホームへと戻ります。画面を監視して、軸の到達が検証されたことを確認します。完了後、制御装置がPLCにゼロ点到達信号を送信したことを確認します。
エラー解析
| ブランド | アラームコード | トリガー条件 | オペレータに現れる症状 | 原因 / 対策 |
|---|---|---|---|---|
| Fanuc | Alarm PS0092 | 軸はG28動作を完了しますが、物理的な機械ゼロ点と正確に一致しません。 | 基準位置復帰LEDが点灯せず、自動サイクル起動が無効化されます。 | G28を指令する前に、アクティブなすべての補正(G40、G49、Txx00)をキャンセルします。 |
| Fanuc | Alarm PS0187 | 座標回転(G68)、スケーリング(G51)、またはミラーイメージ(G51.1)が有効な状態でG28が実行されました。 | 実行が停止し、画面にAlarm PS0187が表示されます。 | G28を実行する前に、座標回転(G69)またはスケーリング(G50)を無効化します。 |
| Fanuc | Alarm PS0325 | G71やG72などの複合形固定サイクルの仕上げ形状定義ブロック(P〜Q間)の内部にG28が指定されました。 | プログラムがAlarm PS0325で停止します。 | 固定サイクルの仕上げ形状定義から移動指令(G28)を削除します。 |
| Siemens | Alarm 61800 | 外部のISO Dialectインタープリタのマシンデータが有効になっていない状態でG28が実行されました。 | サイクルが即座に停止し、Alarm 61800が表示されます。 | MD 18800(またはオプションビット19800)を有効にします。 |
| Siemens | Alarm 61004 | 内部のcycle328.spfマクロにおいて、幾何軸の構成が正しくありません。 | バックグラウンドマクロの実行中に動作が停止し、Alarm 61004が表示されます。 | Verify channel geometry axis assignments and ensure they align with cycle328.spf. |
| Siemens | Alarm 14800 | G28が指令されましたが、プログラムされた経路速度またはデフォルトの送りがゼロであるか、設定されていません。 | サイクルがAlarm 14800で停止します。 | 有効な経路送り速度または速度を指定します。 |
| Mitsubishi | Program Error (P430) | 電源投入後、中間点を記憶させるためのG28またはG30を実行せずに、G29を実行しました。 | プログラム実行が停止し、画面にProgram Error (P430)が表示されます。 | 中間経由点をシステムに記録するため、まずG28またはG30をプログラミングして実行します。 |
| Mitsubishi | Program Error (P931) | 工具軸長補正(G43.1)が有効な状態でG28が指令されました。 | プログラム実行が停止し、画面にProgram Error (P931)が表示されます。 | 事前にG43.1工具補正を無効化します。 |
| Mitsubishi | Operation Error (M01 0013) | シングルブロックでの中間点停止中に、モードをMDIまたは手動原点復帰に切り替えました。 | 実行が停止し、Operation Error (M01 0013)が表示されます。 | 中間経由点でのモード切り替えを避けます。 |
| Mitsubishi | Operation Error (M01 0129) | シングルブロックでの中間点停止中に、PLC割り込み動作が開始されました。 | 実行が停止し、Operation Error (M01 0129)が表示されます。 | 中間経由点での一時停止中にPLC割り込みを発生させないでください。 |
| Mitsubishi | Program Error (P10) | M80/M830システムにおいて、2つ以上の回転軸に対してG28が同時に指令されました。 | NCが停止し、画面にProgram Error (P10)が表示されます。 | 回転軸のG28原点復帰は、軸ごとに個別にプログラミングします。 |
実務応用ノウハウ
ワーク座標系がアクティブな状態で G90 G28 X0 Y0 Z0 を指令すると、タレットの激突や刃物の粉砕といった破滅的なクラッシュを引き起こします。絶対指令モード(G90)が有効であるため、CNC制御システムは指定された目標座標を中間経由点として解釈し、ツールタレットまたはスピンドルアセンブリをG54ワーク原点へ向けて最高急送り速度で突進させます。テーブル上のバイスジョー(vise jaw)や回転チャック(rotating chuck)、ワーク固定用クランプ(workholding clamp)が配置されている場合、スピンドルはこれらに直接突っ込み、ツールを破壊するだけでなくスピンドルベアリングを歪ませ、多大な修理費用と非計画停止を発生させます。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるという重大な品質トラブルを招きます。座標系のずれや狂いは、製品寸法におけるロット間の再現性の低下および不良品発生に直結します。
段取り前にFanucのNo. 3401やNo. 3402、SiemensのMD 34100、あるいはMitsubishiの#2037や#1091などの重要パラメータを確認することで、このコマンドで最も多い非計画停止を防げます。特に、中間点を無視して直接復帰を可能にする設定(Mitsubishiの#1091)や、リセット時のモーダル指令状態を決定する設定をあらかじめ整合させておく必要があります。安全を担保するためには、加工ブロックの直前で工具長補正や刃先R補正をG40やG49(またはTxx00)で明示的にキャンセルし、増分指令モード(G91または旋盤におけるU0 W0)を用いて中間距離をゼロにするように指令体系を統一してください。これにより、干渉物のないクリアな直線軌道で安全に機械原点へ復帰させることが可能になり、量産現場での高い信頼性と加工精度を確保することができます。
関連コマンド
- G27(基準位置戻りチェック): 軸が基準座標(機械原点)に正確に一致しているかを検証するコマンド。
- G22(ストアドストロークリミットチェックON): ワークや治具との衝突を防ぐために、ソフトウェアによる進入禁止領域(ソフト制限境界)を設定・有効化します。
- G00(位置決め): 各軸を最高速度(急送り速度)で目標座標へ移動させます。
G29(基準位置からの復帰): G28サイクルで記憶された中間経由点を通過し、指定されたプログラム座標へ軸を移動させます。G30(第2、第3、第4基準位置戻り): パラメータで設定された第2、第3、第4の基準原点(工具交換位置など)に軸を移動させます。
おわりに
ロット間の寸法ばらつきを防ぎ、常に安定した繰り返し精度を担保するためには、プログラムの終了時や工具交換の前に、再現性の高い安全な基準点復帰ルーチンを組み込むことが不可欠です。G28を指令する際は、絶対モード(G90)でのゼロ点指定による衝突リスクを徹底的に排除するため、必ずインクリメンタル指令(G91またはU0 W0)を使用し、さらに先行ブロックで補正キャンセルコード(G40およびG49)を記述する習慣を徹底してください。段取り時に制御パラメータの動作特性を正しく確認し、プログラム上の安全ルールを順守することで、不意の機械クラッシュや非計画停止を防ぎ、量産現場の安全性と生産効率を最大限に高めることができます。
よくある質問
G28による原点復帰を繰り返す中で、連続加工ロット間で寸法のばらつき(再現性の低下)が発生する場合の対策はありますか?
インクリメンタル指令(U、W)を多用するプログラムにおいて、制御レジスタ内の丸め誤差や、加工中に発生する熱変位が座標系の微小なドリフトを引き起こしている可能性があります。この寸法ばらつきを防ぐため、10サイクルごとに主軸やテーブルを完全にG90の絶対位置指令で機械原点に戻し、エンコーダからのフィードバックデータに基づいて現在座標を物理的に再同期・クリアする補正マクロプログラムを実行してください。
機械の移設や初期セットアップ時、G28の中間経由点の挙動を安全に制御するために事前に検証すべきパラメータは何ですか?
FanucであればParameter No. 3401(Gコードシステム選択)およびNo. 3402(リセット時のモーダル選択)、Mitsubishiであれば中間点を完全にバイパスするパラメータ(#1091)のON/OFFを確認する必要があります。干渉物が狭い機械室にある場合は、Parameter No. 3401/3402および#1091の内容をメーカーの仕様書と照らし合わせて確認し、空運転で実機の動きを確認した上で初期段取りのチェックシートにその設定値を記録してください。
G28を実行した際、軸は機械原点付近まで移動したにもかかわらず「Alarm PS0092」(Fanuc)が発生してサイクルが停止する原因は何ですか?
刃先R補正(G41/G42)や工具長補正(G43/G44)などのオフセットベクトルがアクティブな状態でG28が実行されたため、制御装置が座標の一致判定を行えずアラームをトリガーしています。G28の前に補正キャンセルコマンド(G40およびG49/Txx00)がプログラム内で確実に読み込まれているかを確認し、キャンセルの記述位置をG28の直前に配置するようプログラムを修正してください。
まだ解決しませんか?
このトピックについて、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アラーム防止、刃物台衝突回避と量産ロットの繰り返し精度向上を図る実務ノウハウ。