G96とG97:周速一定制御(CSS)と主軸回転数一定制御(RPM)の徹底解説
G96(周速一定制御)とG97(主軸回転数一定)のプログラム方法と重要パラメータ設定を解説。Fanucの3712やMitsubishiの#1146によるスピンドルクランプ監視、SiemensのLIMSなど、量産時の繰り返し精度向上と衝突回避のための徹底ガイド。
はじめに
CNC旋盤加工において、最高主軸回転数のクランプ(G50/G92やLIMS)を設定しないまま周速一定制御(G96)を実行するというプログラムミスは、加工現場で最も警戒すべき壊滅的なクラッシュ(衝突事故)を引き起こす。工具がワーク端面の回転中心(径X0.0)に近づくにつれて、制御システムは指令された切削速度を維持しようと主軸回転数を無限大に引き上げる計算を行う。物理的な制限クランプが設定されていない場合、主軸は遠心力によるチャック爪の把持力低下を引き起こす極限状態まで急加速し、ワークがチャックから激しく飛散して機械内部に激突する。このハードクラッシュは、超硬工具を粉砕し主軸アライメントを狂わせ、量産ラインを非計画停止(ダウンタイム)に追い込む。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前に最高回転数パラメータ(G50/G92値など)を確認することで、このコマンドで最も多い非計画停止を防ぐことができる。これらの一連の設定ミスは、再現性の低下や不良品発生(スクラップ)に直結する。本稿では、Fanuc、Siemens、MitsubishiにおけるG96およびG97の切り替え挙動、パラメータ設定、アラーム制御を詳細に解説し、現場における繰り返し精度と機械の安全性を極限まで高める実務ノウハウを解説する。
技術概要
| 技術仕様 | 仕様および制約事項 |
|---|---|
| 主要Gコード | G96(周速一定制御有効)、G97(主軸回転数一定/モーダルキャンセル) |
| モーダルグループ | モーダルGコード グループ02(Fanuc / Mitsubishi)、主軸制御モーダルグループ(Siemens) |
| サポート対象コントローラ | Fanuc(システムB/Cおよび標準Tシリーズ)、Siemens SINUMERIK、Mitsubishi M800V/M80V |
| 重要パラメータ | Fanuc: 3770 (ラジアル演算軸), 3771 (最小回転数), 3712 bit 4 (CSA クランプ監視), 3708 bit 5 (SOC オーバーライド制御) · Siemens: MD20100 (横軸定義), SD43230 (LIMSクランプ限界) · Mitsubishi: #1181 (G96演算軸), #1087 (G00位置決め周速制御) |
| 主要な物理的制約事項 | 円筒補間(G07.1)およびリジッドタップサイクル中は使用禁止。主軸の回転中心が横形状軸の絶対座標ゼロ(X0)でなければならない。G96実行中はギヤ段切り替え(M40-M44)がロックアウトされる。 |
クイックリード
- 安全クランプを最優先で実行する: 危険な主軸の急加速を防ぐため、G96を実行する前に必ずG50/G92(Fanuc/Mitsubishi)またはLIMS(Siemens)を設定してください。
- 加工面品位の確保: 周速一定制御(G96)は、工具が回転中心(X0)に近づくにつれて主軸回転数(RPM)を動的に上昇させ、切削条件を一定に保つことで工具摩耗を最小限に抑えます。
- 軸心上の加工加工: 工具の位置に関係なく一定の回転速度を維持するため、ドリル加工、リーマ加工、リジッドタップなどの軸心上の加工では、主軸回転数一定制御(G97)を使用します。
- 送り速度との連動: 毎回転送り(G94-G95 送り速度モード)がアクティブな場合、軸の送り速度は主軸回転数の上昇に合わせて自動的に加速され、軸移動速度も動的に高まります。
- 多軸マッピングの変更: PアドレスまたはSiemensのSCCコマンドを使用して、演算用の基準軸をリアルタイムに再割り当てすることが可能で、複雑な複合加工機やマルチスピンドル制御に対応します。
- ねじ切り時の同期保持: リードエラーやピッチ歪みを防ぐため、ねじ切りサイクル中は主軸回転数の動的再計算が自動的に一時停止(サスペンド)されます。
基本概念
金属切削加工において、ワークピース材料がインサートの切れ刃を通過する線速度は、切削速度(vc)と定義される。数学的には、この関係は vc = (π × D × n) / 1000 と表され、ここで D は工具先端におけるワーク径、n は主軸回転数(RPM)を表す。旋盤が固定された主軸回転数(G97モード)で動作する場合、工具が外径から中心に向かって送られるにつれて、線切削速度は連続的に低下する。この線速度の低下は、切りくず厚さの変動、端面加工部の面粗さの劣化、および切れ刃への過度な熱的ストレスを引き起こし、工具寿命を著しく低下させる要因となる。
この課題を解決するために、周速一定制御(G96)は、CNCコントローラに対して必要な主軸回転数をリアルタイムで動的に計算するよう指令する。横軸(通常はラジアル方向のX軸)が回転中心に近づくにつれて、コントローラはプログラムされた周速を維持するために主軸を自動的に加速させる。これにより、端面加工されたプロファイル全体で均一な表面粗さが保証され、工具を最適な切削効率で動作させることができる。これに対し、G97は周速一定制御を無効にし、主軸を一定の回転数(RPM)にロックする。G97は、工具の切削作用が主軸の回転中心に集中する加工(軸心上のドリル加工、リーマ加工、タップ加工など)や、ねじ切りサイクルに見られるような主軸の回転と直線軸との間の機械的同期を固定する必要がある場合に極めて重要である。
コマンド構造
CNCプログラミングでは、コントローラのブランドやモデルに応じて特定の構文フォーマットが必要となる。主軸最高回転数の制限クランプは極めて重要な安全機能であるため、G96の有効化前または有効化と同時に宣言しなければならない。誤った構文を使用したり、クランプコマンドを省略したりすると、プログラムの即座停止や極めて危険な運転状況を誘発する。
主要な3つの産業用コントローラシステムにおけるコマンドブロック形式は、以下のように構成されている。
- Fanuc旋盤(Tシリーズ):
G50 S[最高回転数];に続きG96 S[周速] M03;。キャンセルおよび回転数固定にはG97 S[固定回転数] M03;。Fanucマシニングセンタ(Mシリーズ)またはGコードシステムB/Cで動作する旋盤プログラムでは、最高回転数クランプにG50の代わりにG92を使用する。オプションのPアドレスにより、アクティブな座標演算軸を選択できる。 - Siemens制御盤:
LIMS = [最高回転数];に続きG96 S[周速] M3;。Siemensは拡張切削コードを提供している。G961は一定の切削速度と直線送り速度(mm/min)を同時に有効にし、G971は周速一定制御をキャンセルして直線送り速度を強制する。コマンドSCC[軸]により、プログラムの途中で演算基準軸を再割り当てできる。 - Mitsubishi制御盤:
G92 S[最高回転数] [Q最小回転数];に続きG96 S[周速] [P軸];。キャンセルにはG97 S[固定回転数];。Mitsubishiは、G92/G50ブロック内のQアドレスを使用した最小クランプ速度の設定を独自にサポートしている。
ブランド別応用
Fanuc
Fanuc CNCコントローラは、高度なパラメータカスタマイズ性を備え、モーダルグループ02コマンドを使用して主軸速度ロジックを制御する。ラジアル演算軸はデフォルトで物理的なX軸にマッピングされているが、機械メーカーはパラメータ3770を構成することで他の軸をサポートできる。G96が有効になると、工具の径方向距離が小さくなるにつれて主軸はリアルタイムで加速する。しかし、オペレータは高速回転による危険を防ぐため、アクティブな座標系と物理的なチャックの限界を慎重に確認しなければならない。
危険な主軸の急加速を防ぐため、パラメータ3712 bit 4(CSA)を1に設定することで、電源投入後に主軸速度クランプコマンド(G50またはG92)が事前に実行されずにG96ブロックが指令された場合に、制御盤がPS5557アラームを出力して実行を強制的に停止させることができる。さらに、パラメータ3708 bit 5(SOC)はオーバーライドダイヤルの挙動を制御する。これを1に設定すると、オペレータの主軸オーバーライド計算の「後」に最高主軸速度クランプが適用されるため、オーバーライドが120%に設定されていても、主軸が安全なG50限界値を超えて急回転するのを防ぐことができる。
| パラメータ | アラームコード | バージョンによる違い |
|---|---|---|
| 3770: ラジアル演算の基準軸識別番号(0〜制御軸数)。0の場合、Pアドレスは無効。 3771: 周速一定(CSS)中の最小主軸速度(0〜99,999,999 min−1)。 3708 bit 5 (SOC): オーバーライドに対する安全性(0 = オーバーライド計算の前にクランプを適用、1 = オーバーライド計算の後にクランプを適用(安全))。 3712 bit 4 (CSA): クランプ未設定時のプログラムロック(0 = アラームなし、1 = PS5557アラーム発生)。 | PS5557: G96指令の前に最高速度クランプ設定が不足している。 PS5355: マルチスピンドル選択時に切削速度Sコードが不足している。 PS0190: Pアドレス指定による軸アドレスの衝突。 PS0200: リジッドタップサイクル中に誤ってG96が指令された(パラメータ5209 bit 6が1の時)。 | マシニングセンタ(Mシリーズ)およびGコードシステムB/Cを使用する旋盤では、最高主軸回転数の制限クランプ設定に G92 が必要。標準のGコードシステムAを使用する旋盤(Tシリーズ)では、制限クランプ設定に G50 を使用する。 |
オペレータは、G96を実行する際、心押台のクリアランスとチャック爪の把持力を注意深く検証しなければならない。毎回転送りモードにおける送り速度は物理的に主軸回転数(RPM)に紐づいているため、ワーク中心付近では直線軸の送り速度が急加速し、安全領域を無視していると機械的干渉(衝突)を引き起こす可能性がある。
Siemens
Siemens SINUMERIK制御盤は、マシンデータMD20100で横軸(transverse axis)として定義された幾何軸に基づいて必要な主軸速度を計算し、極めて柔軟な主軸速度制御を提供する。この構成により、高精度な工具中心点(TCP)計算が可能となる。しかし、プログラマーは横軸の座標ゼロ(X0)が主軸の回転中心と完全に一致していることを確認しなければならない。プログラマブルオフセット(ATRANSなど)を使用して座標系を物理的な中心からシフトさせると、制御システムが誤った径を計算し、不適切な切削速度が算出されてワーク損傷などのトラブルを招く。
Siemensシステムでは、マスタースピンドルの最高回転数を制限するために、モーダルな LIMS の設定が必要である。負の主軸制限速度を設定すると、即座にAlarm 14820がトリガーされ、プログラムが停止する。横軸がMD20100で定義されていない場合、コントローラは不規則な動作を防ぐため、即座にAlarm 10870を出力する。G96またはG961が有効な間、自動ギヤ段切り替え(M40)は完全にブロックされる。
| パラメータ | アラームコード | バージョンによる違い |
|---|---|---|
| MD20100 $MC_DIAMETER_AX_DEF: 横幾何軸機能の設定。 SD43230 $SA_SPIND_MAX_VELO_LIMS: アクティブなLIMS主軸制限速度の記憶(0.1〜99,999,999.9 rpm)。 SD43210 $SA_SPIND_MIN_VELO_G25: 主軸回転数下限値設定。 MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT: ギヤ段の最小速度制限。 | Alarm 10900: G96/G961周速一定制御に必要なS値が不足している。 Alarm 14820: LIMSで設定された最高回転数制限が負の値になっている。 Alarm 10870: MD20100で横軸が定義されていない。 Alarm 14824: スピンドルに対して周速一定研削(GWPS)と周速一定制御(G96)が同時に有効化されたことによる競合。 Alarm 10860: アクティブなG96/G961ブロックで送り速度F値が不足している。 | ネイティブの Siemensモード(G290) では、G96を有効にすると自動的に毎回転送り(G95)がONになるが、G961は直線経路送り(G94)を強制する。 ISOダイアレクトモード(G291) では、特殊コマンドG973がLIMSクランプ制限を無効にしつつ周速一定制御をキャンセルする。 |
警告:Siemensにおいて主軸が停止している(M05)状態でG95を実行すると、わかりやすいアラームコードを出力することなく軸が静止したままになるため、主軸エンコーダの動作状態を事前に手動で点検することが重要です。
Mitsubishi
Mitsubishi M800V/M80Vコントローラは、Pアドレスを使用して演算の基準軸を動的に切り替えることができる、柔軟な主軸調整機能を提供する(例:G96 S200 P2)。パラメータ#1146および#1284が安全チェックを強制するように設定されている場合、事前のG92主軸クランプ設定なしにG96を指令すると「G96 Clamp Err.」アラームが発生する。もしパラメータ#1284が1に設定されている場合、安全チェックはバイパスされ、機械は警告なしに動作を継続し、主軸はX0位置で物理的最高限界回転数まで加速するため、遠心力によるワーク飛散のリスクが高まる。
Mitsubishi制御におけるユニークな機能は、任意の軸交換(G140/G141)中の挙動である。G96がアクティブなブロックの実行中に一時的に軸交換が行われても、制御システムはアラームを出力しない。代わりに、主軸速度を最後のアクティブな安全値に自動的にロック(凍結)し、本来の軸構成が復元されるのを待機した上で、周速一定計算をスムーズに再開する。
| パラメータ | アラームコード | バージョンによる違い |
|---|---|---|
| #1181 G96_ax: 周速一定(CSS)デフォルト演算軸の設定。0の場合、軸は第1軸に固定されPアドレスは無効。 #1087 G96_G0: 早送り(G00)時の周速一定制御計算方式(0 = G00移動中も動的に連続計算、1 = ブロック終点でのみ主軸速度を計算)。 #1146 Sclamp: 主軸クランプ指令チェック機能有効スイッチ。 #1284 ext20/bit0: 主軸クランプチェック無効化フラグ(0 = チェック有効、1 = チェックバイパス)。 | G96 Clamp Err.: 事前の制限クランプコマンドなしでG96が指令された。 Illegal P-No. G96 (P133): Pアドレスで選択された軸番号が範囲外。 Operation Error (M01 1113): 系統間競合。別系統でねじ切りやタップ加工を実行中にG96が指令された。 | 多軸主軸制御I(Lシステム)では、G96クランプ未設定時に Program Error P134 が発生し実行を停止する。 多軸主軸制御II では、 Operation Error M01 1043 がトリガーされ、新しいG96コマンドの適用を保留するが、直前の安全な主軸速度を維持する。 |
急激な機械摩耗を防ぐため、パラメータ#1087(G96_G0)を1に設定することを推奨する。これにより、切削合間の空運転早送り(G00)時に主軸モーターが急激な加減速を繰り返す(ハンチング現象)のを完全に防止し、移動の終点でのみ主軸回転数を算出するため、無駄な電力消費と機械的ストレスを削減できる。
ブランド比較
周速一定制御の物理的原理はすべてのプラットフォームで共通しているものの、その実装方法、パラメータマッピング、および安全チェックのアプローチは、Fanuc、Siemens、Mitsubishiで大きく異なっている。以下の表は、主要な3大産業用CNCコントローラブランドが主軸制御をどのように処理しているかを比較したものである。
| 比較項目 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| 周速一定制御 (G96) の有効化 | G96(モーダル グループ02) | G96, G961, G962(モーダルグループ) | G96(モーダル グループ02) |
| 回転数一定 (G97) / キャンセル | G97(モーダル グループ02) | G97, G971, G972, G973 | G97(モーダル グループ02) |
| 最高回転数制限クランプコマンド | G50 S[回転数](標準旋盤システムA) G92 S[回転数](マシニングセンタ/システムB/C) | LIMS=[回転数] または LIMS[主軸番号]=[回転数] | G92 S[回転数] [Q最小回転数] または G50 S[回転数] [Q最小回転数] |
| 演算基準軸の変更 | G96ブロック内の P1〜P8 アドレス指定(パラメータ3770の事前構成が必要) | SCC[軸番号] による動的なプログラム指定 | G96ブロック内の P アドレス直接指定(パラメータ#1181の事前構成が必要) |
| 最小主軸回転数設定 | パラメータ3771 | 設定データ SD43210 $SA_SPIND_MIN_VELO_G25 | G92/G50制限クランプブロック内の Q アドレス |
| 早送り (G00) 時のG96計算処理 | 移動中も動的に回転数を連続計算 | 移動中も動的に回転数を連続計算 | パラメータ#1087 G96_G0で連続計算(0)か終点のみ計算(1)を選択可能 |
| マルチスピンドル制限ブロック | アクティブなマスタースピンドルのみ制限を設定 | 1つのブロックで最大4つの主軸制限を設定可能(LIMS=... LIMS[11]=...) | 主軸選択パラメータに基づいてアクティブな主軸に個別に制限を設定 |
| 最高回転数クランプ漏れアラーム | PS5557 アラーム(パラメータ3712 bit 4 = 1 の時) | — (ソースデータなし) | G96 Clamp Err. アラーム(多軸制御I:Program Error P134、多軸制御II:Operation Error M01 1043) |
技術解析
これら3つの主要コントローラの内部アーキテクチャを分析すると、主軸速度制御の設計に対する全く異なる開発思想が浮き彫りになる。Fanucは、徹底して詳細な「パラメータ駆動型」の安全バリア構築に重点を置いている。パラメータ3708 bit 5(SOC)を利用することで、工作機械メーカーは主軸の最高回転数をチャックの物理的な安全把持限界の直下に厳密に固定でき、オペレータの手動オーバーライドダイヤルによる変更介入を完全に隔離できる。オペレータが主軸オーバーライドダイヤルを120%に回しても、算出された回転数はG50値に強制的にクリップされ、遠心力によるチャック把持力低下トラブルを防止する。また、Fanuc의 P1からP8による演算軸指定アドレスは、複数のツールスライドやタレットを持つ大型複合旋盤において最大8軸までの独立したサーボ軸をラジアル距離の演算対象に容易に割り当てられる互換性を担保する。
これに対し、Siemens SINUMERIKは「高度なアルゴリズム制御」と「ダイナミックなプログラム記述の柔軟性」を最優先している。Siemensは、プログラマーが SCC[軸] コマンドを使用して、アクティブな横軸をリアルタイムに再割り当てすることを可能にしている。例えば、補助Y軸を備えた複合加工機において、機械パラメータをリセットすることなく、加工の途中でG96の半径演算基準をX軸からY軸へ切り替えることができる。さらに、1つのプログラムブロック内で最大4つの主軸に対して個別の回転数制限クランプを指定することが可能であり(例:LIMS=3000 LIMS[11]=2500 LIMS[12]=1200)、メイン主軸、サブ主軸、および回転工具主軸(ミーリングスピンドル)を同時に制御できる。G961やG973のようなネイティブなバリエーションコードは、送り速度との従来の従属関係を切り離すことを可能にし、高度な研削加工やミリング加工の最適化を実現する。
Mitsubishiは、Fanucに見られる動的なPアドレスマッピングと、インテリジェントな軸管理システムを組み合わせた「ハイブリッドアプローチ」を採用している。Mitsubishiのパラメータ#1087(G96_G0)は、機械の長寿命化に大きく貢献する優れた摩耗低減ツールである。早送り(G00)移動中の周速計算処理を終点到達時のみに制限することで、エアカットの高速移動中に主軸モータが急激な加減速を繰り返す(ハンチング現象)のを完全に防止し、電力消費と主軸駆動系の摩耗を劇的に抑制する。さらに、系統間の干渉を防ぐ任意の軸交換(G140/G141)制御ロジックは、マルチシステム(複数タレット・多系統)マシンにおいて極めて優れた調整能力を発揮する。G96がアクティブな状態で軸の交換が発生した場合、コントローラは一時的に主軸回転数を直前の安全な値にロックして挙動の乱れを回避し、軸構成の復元後に自動的かつシームレスに動的周速演算を再開する。
プログラム例
以下のプログラムブロックは、Fanuc、Siemens、Mitsubishiの各コントローラにおいて、最高主軸制限クランプを安全に設定し、周速一定制御を有効にするための適切なプログラム手順を示している。それぞれの例には、実行中にCNCシステムがどのようにプログラムコマンドを評価するかを示す、ステップバイステップの空運転(dry run)パス解析が含まれている。
Fanucプログラム例
G50 S2500;
G96 S150 M03;
G00 X100. Z2.0;
G01 X20. F0.2;
G97 S1200 M03;
G96 S200 P2;
空運転パス解析
- G50 S2500: コントローラは最高主軸回転数制限を読み取り、安全上の上限である2500 RPMを設定する。主軸はまだ回転しない。
- G96 S150 M03: 周速一定制御を150 m/minで有効にし、主軸を正転(M03)で始動する。主軸回転数は工具の現在位置の半径座標に基づいて計算される。
- G00 X100. Z2.0: 工具が径X100.0に早送り位置決めされる。コントローラはこの径に必要な主軸回転数を計算する:n = (150 × 1000) / (π × 100) ≈ 477 RPM。主軸は477 RPMに制御される。
- G01 X20. F0.2: 工具が0.2 mm/revの送り速度で径X20.0まで切削移動する。コントローラは主軸を動的に加速させる:n = (150 × 1000) / (π × 20) ≈ 2387 RPM。端面切削の進行に従い、回転数は477 RPMから2387 RPMまでスムーズに上昇する。
- G97 S1200 M03: 周速一定制御がキャンセルされ、ラジアル軸が移動しても主軸は一定の1200 RPMにロックされる。
- G96 S200 P2: 周速一定制御が200 m/minで再起動され、計算の基準軸が第2幾何軸(パラメータ3770で構成された軸)に切り替わる。
Siemensプログラム例
N10 LIMS=2500;
N20 G96 S120 M3;
N30 G0 X100 Z2;
N40 G1 X20 F0.2;
N50 G97 S1200 M3;
N60 SCC[X2];
N70 G96 M3 S20;
N80 LIMS=300 LIMS[11]=450 LIMS[12]=800 LIMS[13]=1500;
空運転パス解析
- N10 LIMS=2500: マスタースピンドルのモーダル最高回転数制限を2500 rpmに設定する。この値は設定データ SD43230 に保存される。
- N20 G96 S120 M3: 切削速度120 m/minで周速一定制御を有効にし、マスタースピンドルを正転(M3)で始動する。G96は自動的に毎回転送り(G95)を有効化する。
- N30 G0 X100 Z2: 工具が径位置X100に移動する。コントローラに必要な回転数を計算する:n = (120 × 1000) / (π × 100) ≈ 382 rpm。主軸は382 rpmに上昇する。
- N40 G1 X20 F0.2: 工具が径X20までワークを端面加工する。120 m/minを維持するため、主軸は動的に加速する:n = (120 × 1000) / (π × 20) ≈ 1910 rpm。この回転数はLIMSクランプ限界値である2500 rpmの十分に内側である。
- N50 G97 S1200 M3: 周速一定制御をキャンセルする。主軸は1200 rpmの一定回転数にロックされ、毎回転送りモード(G95)は維持される。
- N60 SCC[X2]: 周速一定制御の演算基準軸をチャネル軸のX2に動的に再割り当てする。
- N70 G96 M3 S20: 周速一定制御が20 m/minで再起動され、主軸回転数の演算はチャネル軸のX2を追従する。
- N80 LIMS=300 LIMS[11]=450 LIMS[12]=800 LIMS[13]=1500: マスタースピンドル(300 rpm)と3つの補助スピンドル(第11、12、13主軸)に対して、同一ブロック内で同時に最高回転数制限を設定する。
Mitsubishiプログラム例
G92 S4000 Q200;
G96 S200 P1;
M3;
G0 X100 Z2;
G1 X20 F0.2;
G96 P2;
G97 S1000;
空運転パス解析
- G92 S4000 Q200: 最高主軸制限回転数を4000 RPM(S4000)、最小制限回転数を200 RPM(Q200)に設定する。
- G96 S200 P1: 切削速度200 m/minで周速一定制御を有効にし、第1軸(P1)を演算の基準に指定する。
- M3: 主軸正転を指令。主軸は工具の現在位置に対応して算出された回転数で回転を開始する。
- G0 X100 Z2: 工具が径X100.0に早送り位置決めされる。コントローラは主軸を636 RPM(n = (200 × 1000) / (π × 100) ≈ 636 RPM)に制御する。
- G1 X20 F0.2: 工具が端面切削を実行する。径X20に向けて主軸が動的に加速する:n = (200 × 1000) / (π × 20) ≈ 3183 RPM。
- G96 P2: コントローラは周速一定制御の演算基準軸を第1軸から第2軸(Z軸/Z1軸)へ動的にシフトする。
- G97 S1000: 周速一定制御がキャンセルされ、主軸は一定の1000 RPMにロックされる。
エラー解析
G96およびG97を含むプログラムのセットアップや編集時には、オペレーション上のエラーやアラームが頻繁に発生する。以下の表は、Fanuc、Siemens、Mitsubishiの各制御盤における代表的なアラームの一覧であり、発生トリガー(起動条件)、オペレータ画面に表示される症状、根本原因、および解決するための具体的な対策(修正方法)を示している。
| アラーム番号・コード | 発生トリガー(起動条件) | 画面上の症状 | 根本原因および対策 |
|---|---|---|---|
| Fanuc PS5557 | 電源投入後、事前の最高回転数制限クランプ設定(G92またはG50)がない状態でG96が指令された。 | G96ブロックの実行直前で機械が強制停止し、画面に「NO MAX SP SPEED CLAMP COMMAND」と表示される。 | 根本原因: 制限クランプ忘れを防ぐためパラメータ3712 bit 4(CSA)が1に設定されている。 対策: G96ブロックより前に、G50(Tシリーズ)またはG92(Mシリーズ)による最高回転数クランプの設定ブロックを挿入する。 |
| Fanuc PS0200 | リジッドタップサイクル中に周速一定制御(G96)が有効になっている。 | プログラム実行が停止し、「ILLEGAL S CODE COMMAND」と表示される。タップ加工が失敗する。 | 根本原因: リジッドタップでは同期状態の維持が不可欠である。パラメータ5209 bit 6が1に設定されている。 対策: タップサイクル(G84/G88)の直前のブロックにG97を指令して周速一定を解除し、主軸回転数を一定にロックする。 |
| Siemens Alarm 10900 | プログラム内で初めてG96またはG961が選択された際に、そのブロックに切削速度S値の指令が不足している。 | プログラムが該当ブロックで一時停止し、「No S value programmed for constant cutting speed」と表示される。 | 根本原因: 制御システムにモーダルな切削速度情報が読み込まれていない。 対策: 起動ブロック内に必ず G96 S150 のように具体的なS値を明示的に記述する。 |
| Siemens Alarm 14820 | G96/G961が有効な状態で、LIMSで負の最高回転数制限がプログラムされた。 | プログラムが即座に停止し、「Negative maximum spindle speed programmed for G96, G961」というアラームが出力される。 | 根本原因: 主軸の安全制限値に負の値を設定することは、数学的・制御的に無効である。 対策: LIMS = 2500 のように、0.1〜99,999,999.9 rpmの範囲で正の限界値を設定するようにプログラムを修正する。 |
| Siemens Alarm 10870 | G96/G961/G962が有効になっているが、横幾何軸がバックグラウンドのマシンデータで定義されていない。 | 機械の移動が停止し、画面に「No transverse axis defined」と表示される。 | 根本原因: 横軸がマシンデータ MD20100 で未定義になっている。 対策: システム設定を確認し、MD20100 で横方向演算軸(通常はX軸)を正しく横幾何軸に定義する。 |
| Mitsubishi G96 Clamp Err. | 最高主軸制限クランプ(G92/G50)を宣言せずに、G96が呼び出された。 | 自動運転サイクルが即座に一時停止し、画面に「G96 Clamp Err.」と出力される。 | 根本原因: パラメータ#1146(Sclamp)が1に設定されており、クランプ漏れを能動的にチェックしている。 対策: リセットボタンを押し、プログラムを修正して、G96ブロックより前にG92またはG50制限ブロックを記述する。 |
| Mitsubishi Program Error P134 | 多軸主軸制御I:最高回転数クランプがない状態でG96を実行し、パラメータ#1448が0に設定されている。 | プログラムサイクルがキャンセルされ、G96ブロックは完全に無視され、画面に「Program error P134」と表示される。 | 根本原因: 多軸主軸制御Iにおける主軸制限クランプの検証がチェックを通過しなかった。 対策: 機械をリセットし、G96を呼び出す前に正しいG92/G50制限コマンドを追加する。 |
| Mitsubishi Operation Error M01 1043 | 多軸主軸制御II:選択されたスピンドルに対する制限クランプコマンドが無効。 | 運転エラー警告「Operation error M01 1043」が発生し、機械の運転がストップする。 | 根本原因: 多軸主軸制御IIにおける主軸クランプの検証エラー。 対策: 該当スピンドルを明示的に選択した直後に、再度G92またはG50による最高回転数設定を実行する。 |
実務応用ノウハウ
量産加工ラインにおける突発的な非計画停止(ダウンタイム)を防ぎ、100ロット以上の連続加工でも完璧な寸法の繰り返し精度と信頼性を維持するためには、周速一定制御(G96)の特性と各CNCブランド独自の監視パラメータを徹底して検証する標準化プロセスが不可欠である。G96加工で最も警戒すべき衝突の引き金は、ワークの外径から内径・端面切削(X0付近)に向けて工具が接近するにつれ、主軸回転数が物理的最高限度まで急激に跳ね上がる挙動である。最高回転数クランプが設定されていない場合、あるいはパラメータ #1284(Mitsubishi)のクランプチェックが無効(1)のまま運転されると、主軸はタレットやチャック爪の安全許容限界を超えて急加速し、強烈な遠心力でワークがチャックから飛散する。これにより超硬インサートの粉砕、ツールホルダーの破損、さらには回転チャックへの激突(ハードクラッシュ)を招き、高額な設備修理費と数日間にわたる生産ライン停止という壊滅的なコスト損失を発生させる。さらに、この最高速度制限が未検証の状態で量産を開始すると、ロット間で主軸モーターの熱変位や機械振動の大きさが変化し、2ロット目以降から加工寸法ばらつきが広がり、最終検査で初めて大量の廃棄(スクラップ)が発見される事態に陥る。
この深刻な生産リスクを技術的に排除するため、加工段取り前および新規プログラム投入時には、以下の多層的なパラメータ防護策を講じる必要がある。第一に、Fanucシステムではパラメータ 3712 bit 4(CSA)を1に設定することで、最高主軸回転数を制限するG50またはG92の指令がない場合にG96を指令すると、自動的にPS5557アラームを発生させて機械を停止させる安全回路を構築する。同時に、オペレータによる手動ダイヤル変更による超過を防ぐため、パラメータ 3708 bit 5(SOC)を1に設定し、オーバーライド計算後にG50クランプを適用してチャックの許容限界を厳守する。第二に、Siemensシステムでは、マスタースピンドルおよび最大4軸の補助軸に対して同一ブロック内で LIMS=... LIMS[11]=... の形式で最高回転数制限を適用し、負の値を指令した際のAlarm 14820による停止機能を確認する。特に、プログラム途中で SCC[軸] コマレスを用いて演算用の基準横軸(X軸からY軸など)を動的に切り替える際は、座標ゼロ点がスピンドル回転中心(X0.0)と完全に一致しているかを点検する。第三に、Mitsubishiシステムでは、空運転早送り(G00)時の頻繁なモーター加減速による機械的摩耗や電力ロス、ハンチングを防ぐため、パラメータ #1087 G96_G0 を1(終点のみの演算)に調整することで、主軸モーターの負荷を低減し設備寿命を延ばす。量産現場でのロット間の一貫性と信頼性を担保するためには、オペレータにプログラム先頭で最高速度を事前に確認させ、グラフィックトレースで安全バリアの動作を視覚的に検証する標準手順の徹底が最大の防衛策となる。
関連コマンド
周速一定制御機能は、単独で機能するものではない。これらは、座標系設定、送り速度モード、およびねじ切りサイクルと密接に関連している。適切なプログラム統合のために、以下の関連コマンド群の相互作用を理解することが不可欠である。
- G50 / G92(Fanuc / Mitsubishi): 主軸最高回転数の安全クランプ値(例:G50 S2500)を設定し、回転中心付近での危険な主軸加速を防止するために使用する。
- LIMS(Siemens): プログラム内において周速一定切削用の主軸最高回転数上限(例:LIMS=2500)を定義する。
- SCC(Siemens): 周速一定切削の半径演算における基準となる横幾何軸を動的に割り当てる。
- G94 / G95(および G98 / G99): 送り速度モード。G94/G98 は毎分送り(mm/minまたはinch/min)、G95/G99 は毎回転送り(mm/revまたはinch/rev)を定義する。G96モード下では、主軸回転数の上昇に伴い、毎回転送りの実際の直線移動速度もリアルタイムで加速される。
- G32 / G33 / G76: ねじ切りおよびタップサイクル。リードの狂いやピッチエラーを防ぐため、これらの実行中は周速一定制御の演算が自動的にサスペンドされ、主軸は一定回転数(G97状態)にロックされる。
おわりに
量産工場において加工中のハードクラッシュや想定外の非計画停止(ダウンタイム)を根本から排除し、ロット間で寸法の繰り返し精度と信頼性を完璧に維持するためには、加工プログラムの先頭でモーダル状態(G96またはG97)と最高速度制限クランプ(G50/G92/LIMS)を漏れなく明示する記述ルールを厳格化する必要がある。具体的には、すべての新規パーツ立ち上げやツール交換の段取り時に、機械の物理許容限界に対応する安全パラメータ(Fanucの3712やMitsubishiの#1146、SiemensのLIMS構成)を事前に確認し、シミュレーションおよびグラフィックトレースで干渉境界と最高制限速度を検証することを社内基準として標準化すべきである。G96と毎回転送り(G95)の併用時における急激な送り加速のメカニズムを正しく理解し、安全制限設定をプログラム設計の必須ステップとして日常化することが、ロットごとの微小な寸法ばらつきを防ぎ、高価な治工具の破損やワークの廃棄(スクラップ)を完全に防止する極めて強固な防護策となる。
よくある質問
周速一定制御(G96)を使用している量産ラインで、ロットが切り替わると端面の面粗さや寸法がばらつき、スクラップが発生する原因と対策は?
この現象は、加工ワークのロット変更に伴う材質の微小な硬度ばらつきに対して、G96による切削中の熱変位や主軸回転数の急激な加減速による機械の微小な熱膨張が蓄積するために発生します。G96による一定周速を維持する際、X0付近での主軸急加減速はモーター温度を急激に上昇させ、これが主軸台の熱変位として現れるため、量産2ロット目から累積的な寸法変化が発生します。これを防ぐため、ロット切り替えの段取り時には、必ず主軸をG97の一定回転数で数分間空運転して熱的平衡状態を作り出すとともに、パラメータ(Fanuc 3771等の最小回転数、またはSiemensのSD43210)を設定して極端な超高速・低速範囲への突入を防ぎ、クーラント圧の最適化をあわせて実行してください。
FanucでG96を呼び出した際にPS5557アラーム(NO MAX SP SPEED CLAMP COMMAND)が発生して機械が停止する原因と現場での復旧手順は?
このアラームは、制御システムにおいて最高主軸回転数を制限する安全用のG50(旋盤Gコード体系A)またはG92(ミル・複合旋盤体系B/C)がプログラム内で宣言されていないため、安全ロック機能が働いたことを示しています。これはパラメータ 3712 bit 4(CSA)が1に構成されている場合に発生するもので、クランプ指令を忘れて加工に入り、工具が中心(X0)に近づいた際に主軸が無限加速してチャック破損を起こすのを未然に防ぎます。復旧のためには、プログラム編集画面を開き、G96コマンドが記述されているより「前」のブロックに、使用するチャックの物理限界回転数に応じた G50 S2000 などの安全クランプ設定を追加して、再度アラームリセットを実行してください。
SiemensシステムでG96を実行中に突然Alarm 10870(No transverse axis defined)が発生して軸移動がストールする根本的な理由と対策は?
このアラームは、周速一定制御を維持するために必要な「半径距離」を測定するための横幾何軸(transverse geometry axis)が、バックグラウンドのマシンデータ(MD20100)で正しく割り当てられていないか、または座標系オフセット(ATRANSなど)により演算エラーが発生したためにトリガーされます。特にサブスピンドルへの移行や多軸複合加工時において、演算軸の追従が破綻するとこのエラーとなり、軸が突然静止して非計画停止が発生します。対策として、プログラムの実行前にチャネル内で SCC[X] や SCC[X2] を明示的に指定して演算対象の幾何軸を固定し、ワーク座標系ゼロ点が物理的な主軸の回転中心線と完全にゼロ一致しているかを確認してください。
まだ解決しませんか?
このトピックについて、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を用いた障害物回避など、量産時のロット間再現性を高め不良品発生を防ぐための実務ノウハウを紹介します。