CNC旋盤におけるG12.1極座標補間プログラミングと衝突回避ガイド
CNC旋盤でG12.1極座標補間を安全にプログラムする手順を解説。Fanuc、Siemens、Mitsubishi各社制御装置におけるパラメータ設定や、タレットの衝突を招くエラー・アラーム14800の回避策、位置決めノウハウを詳しく解説します。
はじめに
G12.1極座標補間を使用した旋盤の端面ミル加工において、仮想座標平面のセットアップミスは、タレット刃物台が軌道を外れて回転チャックやワーク固定治具のクランプに直接衝突するハードクラッシュを引き起こす主要因となります。この衝突により、主軸が粉砕されたり、タレット内部のギヤに亀裂が入ったりして、加工中のワークは瞬時に廃品(不良品)と化してしまいます。極座標補間モードが呼び出された際、C軸の割り出し座標が不正確なまま仮想原点カウンターがリセットされると、物理的な干渉が発生してツール軌道が大きく歪みます。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。このような事態を未然に防ぎ、製品の信頼性と繰り返し精度を維持するためには、制御装置ごとの特徴と制限事項を深く理解することが不可欠です。
技術概要
| 項目 | 仕様 |
|---|---|
| コマンドコード | G12.1(極座標補間ON)、G13.1(極座標補間OFF) |
| モーダルグループ | グループ 21(Fanuc / Siemens / Mitsubishi グループ 19 または 21) |
| 対応ブランド | Fanuc、Siemens、Mitsubishi |
| 重要パラメータ | Fanuc Parameter No. 5040 Bit 3、Siemens MD18800、Mitsubishi Parameter #1516 |
| 主な制限事項 | G12.1およびG13.1は独立したブロックでプログラムする必要があります。周速一定制御(G96)は数学的に互換性がありません。 |
クイックリード
- 回転軸の事前位置決め: 回転方向のオフセットや端面輪郭のズレを防ぐため、G12.1を起動する前にC軸をC0に割り出します。
- 送り速度コマンドの維持: システムがG95(回転送り)からG94(毎分送り)へ強制的に切り替わるため、G12.1の直後にゼロ以外のF値をプログラムします。
- 刃先R補正のキャンセル: 先読みパーサーの破損を防ぐため、G13.1を呼び出す前にG40を使用して刃先R補正(G41/G42)を解除します。
- 2倍のクリアランス確保: 補正アラームを防ぐため、アプローチおよび退避の座標値が工具刃先Rの2倍(直径指定の場合は4倍)を超えていることを確認します。
- 周速一定制御の回避: 座標プリプロセッサの競合を避けるため、極座標モードに入る前にG96をキャンセルし、G97の回転数一定制御に切り替えます。
- バリア領域の設定: 物理的な衝突が発生する前に軸移動を停止させるため、制御盤上でチャックバリアおよびテールストックバリア(G22/G23)を有効にします。
基本概念
G12.1極座標補間により、プログラマーはマシニングセンタにおける標準的な直交座標系のように、旋盤ワークの端面に複雑な輪郭をプログラミングできます。プリプロセッサは、仮想の平面指令をリアルタイムで実際の同期された直線軸(X軸)および回転軸(C軸)の移動パルスに動的に変換します。これにより、X軸の移動量とC軸の角度をコーディネートするための複雑な三角関数の計算を行う必要がなくなります。
G12.1の輪郭設定および実行時には、送り速度のモードや工具半径補正に関して厳格な規律を維持する必要があります。G12.1ブロックを実行すると、制御装置は送りモードを非同期の毎分送り(G94)に強制的に切り替え、それまでの同期された回転送り(G95)を無効にします。G12.1モード内で送り速度のF値が宣言されていない場合、送り速度はゼロに低下し、即座にアラームが作動してワークに深いツールマーク(ツール目)を残し、廃品(不良品)にしてしまいます。
コマンド構造
準備機能のG12.1コマンドは、ワーク端面に仮想の座標平面を確立します。このモードでは、回転主軸軸(C軸)が物理的な直線X軸と直交する仮想の直線軸として機能し、標準の直交座標によって工具経路を定義できるようになります。仮想平面の座標原点は、ワーク原点に固定されます。
G12.1モードは、G13.1によってキャンセルされるか、システムリセットによって無効化されるまで有効に保たれます。起動コマンドとキャンセルコマンドは、どちらも独立したブロックでプログラムする必要があり、移動指令や他の補助機能を同一ブロックに記述することはできません。この構文上の分離により、プリプロセッサは平面計算モードを安全に切り替えることができます。
FanucおよびSiemensの制御装置では、基本的な起動はG12.1;、解除はG13.1;となります。Mitsubishiの制御装置は拡張構文G12.1 D_ E=_;をサポートしており、Dは仮想軸を指定し、E=は物理的な回転軸を割り当てます。この挙動に影響を与える代表的なパラメータの詳細を下表に示します。
| ブランド | パラメータ | 内容 / 説明 |
|---|---|---|
| Fanuc | Parameter No. 5040 Bit 3 (TCT) | 有効な工具長補正シフトタイプ |
| Fanuc | Parameter No. 5431 Bit 0 (MDL) | G60のモーダルグループ割り当て |
| Fanuc | Parameter No. 0001 Bit 1 (FCV) | レガシーSeries 15プログラムフォーマット切り替え |
| Siemens | MD18800 ($MN_MM_EXTERN_LANGUAGE) | 外部ISO Dialectコンパイルシステムの有効化 |
| Mitsubishi | Parameter #1516 mill_ax | ミーリング補間に使用する回転軸の物理名 |
| Mitsubishi | Parameter #1293 ext29/bit0 | G95同期送りの有効保持許可 |
ブランド別応用
Fanuc
Fanucシステムは、グループ21のモーダルコードを介して極座標補間を管理し、工具補正シフトにはParameter No. 5040 (TCT)を、G60一方向位置決めのモーダルグループ割り当てにはParameter No. 5431 (MDL)を使用します。
一般的なFanucの起動ブロックは独立したブロックでのG12.1;で構成され、その後にXおよびC座標を使用した直交座標移動が続き、G13.1;で終了します。
| 区分 / 分類 | 識別子 | 内容 / 設定値 |
|---|---|---|
| パラメータ | Parameter No. 0001 Bit 1 (FCV) | 解釈コンパイラをレガシーSeries 15プログラムフォーマットに切り替える (0 または 1) |
| パラメータ | Parameter No. 1017 / No. 1019 | 軸ごとの回転および直径の設定を定義 (0 または 1) |
| パラメータ | Parameter No. 1041 (I_inch) | 初期寸法単位の設定 (0はメートル、1はインチ) |
| アラーム | Alarm PS0041 | G41/G42における干渉:補正下で始点と終点が同一 |
| アラーム | Alarm PS0306 | CNR/CHFにおける軸の不一致:無効な移動軸の組み合わせ |
| アラーム | Alarm PS0050 | ねじ切りブロック内でのCHF/CNRは不可:ねじ切り中の面取り/コーナーR指定 |
| アラーム | Alarm PS0051 | CNR/CHF後の移動指令不足:面取り/コーナーRブロックの後に移動指令がない |
| アラーム | Alarm PS0052 | CHF/CNR後のコードがG01ではない:面取り/コーナーRブロックの後にG01移動指令がない |
| アラーム | Alarm PS0325 | 形状プログラム内に使用不可のコマンドあり:複数制御サイクル内の無効なコード |
| アラーム | Alarm 14800 | プログラムされた経路速度がゼロ以下 |
警告:Fanuc System A旋盤でG90をプログラミングすると、絶対値モードではなく固定サイクル(外径荒削りなど)が起動するため、予期しない工具動作を引き起こす可能性があります。
Siemens
Siemens制御装置は、G291を介したISO DialectモードでG12.1を実行し、準備コードをコンパイルするためにマシンデータMD18800およびオプションビット19800を必要とします。
ISO Dialectモードでは、G12.1;がTRANSMITキネマティック変換を起動し、G01 G42 X40.0 C-20.0 F150;のような座標移動を可能にし、G13.1;で解除します。
| 区分 / 分類 | 識別子 | 内容 / 設定値 |
|---|---|---|
| パラメータ | MD18800 ($MN_MM_EXTERN_LANGUAGE) | 外部ISO Dialectコンパイルシステムの有効化 (0 または 1) |
| パラメータ | Option Bit 19800 ($MN_EXTERN_LANGUAGE) | 外部ISO Dialectコンパイルシステムを有効にするオプションパラメータ (0 または 1) |
| パラメータ | MD20050-20080 | ジオメトリ軸の割り当ておよびチャンネル固有の軸定義 |
| アラーム | Alarm 61815 | G40非アクティブ:変換呼び出し時に工具R補正が有効 |
| アラーム | Alarm 61800 | 外部CNCシステム不在:MD18800または19800パラメータが未設定 |
| アラーム | Alarm 14800 | プログラムされた経路速度がゼロ以下 |
| アラーム | Alarm 61811 | 許可されていないISO軸識別子:マッピングされていない、または許容されないISO軸 |
警告:工具径補正(G41/G42)が有効な状態でG12.1を呼び出そうとすると、Alarm 61815が作動し、即座にタレットが停止します。
Mitsubishi
Mitsubishi CNCは、パラメータ#1516および#1517でミーリング補間を構成し、パラメータ#1293によって回転送り(G95)を有効に保持するかどうかを決定します。
Mitsubishiのプログラムでは、G12.1 D0 E=C;を使用して物理的な回転軸を動的に宣言し、端面形状を加工した後にG13.1;で終了させることができます。
| 区分 / 分類 | 識別子 | 内容 / 設定値 |
|---|---|---|
| パラメータ | Parameter #1516 mill_ax | ミーリング補間に使用する回転軸の物理名 |
| パラメータ | Parameter #1517 mill_c | 仮想ミーリング補間軸の名前 |
| パラメータ | Parameter #8111 Milling Radius | 直線座標値が半径指定か直径指定かを決定 |
| パラメータ | Parameter #1533 mill_Pax | 極座標補間平面を決定するための直線座標軸 |
| パラメータ | Parameter #1293 ext29/bit0 | 回転送り(G95)を有効に保持するかどうかを指定 |
| パラメータ | Parameters #1026 to #1028 | 座標変換用の基本ジオメトリ軸 I, J, K の定義 |
| パラメータ | Parameter #1078 Decpt2 | 最小指令単位の設定 (タイプI または タイプII) |
| アラーム | Program Error P32 | E= の後に座標値がプログラムされている (例: E=C90.0) |
| アラーム | Program Error P33 | G12.1/G13.1が独立したブロックに記述されていない、またはカンマ区切り記号がない |
| アラーム | Program Error P35 | Dアドレスの後に0または1以外の数値が記述されている |
| アラーム | Program Error P128 | G12.1が有効な状態でG120.1/G121を実行 (ソフトウェアバージョンA8以前の場合) |
| アラーム | Program Error P481 | 工具長補正G43/G44の実行、またはG10.9(直径・半径切り替え)を指令 |
| アラーム | Program Error P482 | E= の後に定義された軸名がアクティブな系統内に存在しない |
| アラーム | Program Error P485 | G96が有効な状態でG12.1が指令された、またはG40の前にG13.1キャンセルを実行しようとした |
| アラーム | Alarm E98 | G12.1実行中に手動任意逆送り(G127)またはプログラム再スタートを実行しようとした |
警告:G12.1を起動する前にC軸をC0に位置決めしないと、ワーク端面カウンターがゼロクリアされ、輪郭全体の角度がオフセット(回転)してしまいます。
ブランド比較
| 項目 / 比較内容 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| 運動学的実装 | 基本的な座標マッピング計算ループ。 | TRANSMIT運動変換(キネマティック・トランスフォーメーション)エンジンをベースに構築。 | 座標マッピング計算ループ(軸割り当て用ブロック引数付き)。 |
| バイリンガル構文 | 厳格な標準ISOコンパイル。 | G291モードによりISO Dialectをシームレスにコンパイル。 | 厳格な標準ISOコンパイル。 |
| パラメータ起動 | 標準的なコンパイラ起動。 | MD18800およびオプションビット19800のコンパイル用パラメータが必要。 | 標準的なパラメータ設定。 |
| 同期送り(G95) | 厳格に禁止(毎分送りG94のみ)。 | ISO DialectによりG94に制限。 | パラメータ#1293 ext29/bit0の切り替えによりサポート。 |
| 直接的な軸構成 | 固定のシステム構成。 | MD20050-20080で設定する軸パラメータ。 | プログラム内の動的なブロック引数(G12.1 D_ E=_;)。 |
技術解析
これら各社の制御システムを解析すると、明確な設計思想の違いが見て取れます。FanucはGコードシステムAのアドレス構造を採用し、モーダルなG90/G91コードを排除して座標変数をアドレス文字で解釈します。Siemensはバイリンガルアーキテクチャを採用しており、G12.1が内部でTRANSMITエンジンにマッピングされるISO Dialectモード(G291)と、ネイティブのSINUMERIKサイクルモード(G290)の間をスムーズに切り替えることができます。Mitsubishiは、G12.1/G13.1を直接サポートしつつ、プログラム内で動的な軸の割り当てを行うためのブロック引数を追加することで、両者の思想の中間に位置しています。
さらに、先読み(ルックアヘッド)機能の実行と工具補正の処理においても違いが見られます。Fanucでは、刃先R補正モード中に物理的な軸移動を伴わないブロックが3つ以上連続すると、バッファが不足して実行が停止し補正ベクトルエラーを引き起こします。これに対し、SiemensとMitsubishiは、移動を伴わない複数のブロックにわたる複雑な補正ベクトルを、動的に先読みキューで処理することが可能です。加えて、Mitsubishiはパラメータ1293が有効な場合に回転送りG95モーダルの保持を許可しますが、FanucはG12.1をG94のみに厳格に制限しており、送り速度F値が省略された場合はアラーム14800を発生させます。
プログラム例
例1:Fanuc G12.1 端面ミル加工
G97 S1200 M03;
G00 X40.0 C0 Z3.0;
G12.1;
G01 G42 X20.0 C10.0 F150.0;
G01 X-20.0;
G01 C-10.0;
G01 X20.0;
G01 C10.0;
G40 X40.0 C0;
G13.1;
空運転 (dry run)解析:制御装置は主軸のC軸をC0に割り出し、座標平面を仮想XYモードに切り替え、アプローチ経路において工具半径補正G42をアクティブにして、四角形端面輪郭を加工し、工具補正G40をキャンセルし、極座標モードを終了します。
例2:Siemens G12.1 端面ミル加工
G291;
G97 S1200 M3;
G0 X40.0 C0 Z3.0;
G12.1;
G1 G42 X20.0 C10.0 F150;
G1 X-20.0;
G1 C-10.0;
G1 X20.0;
G1 C10.0;
G40 X40.0 C0;
G13.1;
G290;
空運転解析:制御装置はISO dialectコンパイルモードG291に入り、G12.1を実行してTRANSMITキネマティックソルバーをアクティブにし、四角形加工を実行して、工具半径補正G40をキャンセルし、極座標モードG13.1を終了し、SiemensネイティブモードG290に戻ります。
例3:Mitsubishi G12.1 端面ミル加工
G17 G90 G00 X40.0 C0 Z3.0;
G12.1 D0 E=C;
G01 G42 X20.0 C10.0 F150;
G01 X-20.0;
G01 C-10.0;
G01 X20.0;
G01 C10.0;
G40 X40.0 C0;
G13.1;
空運転解析:機械はXY平面を設定し、主軸を事前位置決めし、仮想Y軸と物理C軸を動的にマッピングしてG12.1を実行し、直線運動を行い、半径補正G40を無効にし、極座標モードG13.1を解除します。
エラー解析
| ブランド | アラームコード | 発生条件 | オペレータ側の症状 / 現象 | 原因と対策 |
|---|---|---|---|---|
| Fanuc | Alarm PS0041 | G41/G42下において、プログラムされた円弧の中心が始点または終点と数学的に同一。 | 実行が停止し、タレットが静止し、画面にアラームが表示される。 | アプローチ座標に十分な逃げ距離(工具刃先Rの2倍より大きいクリアランス)をプログラミングする。 |
| Siemens | Alarm 61815 | G12.1呼び出し時に工具R補正(G41/G42)がアクティブ。 | サイクルのプリプロセッサが、最初の動作前に実行を停止する。 | G12.1を呼び出す前に、G40をプログラムして工具径補正をキャンセルする。 |
| Mitsubishi | Program Error P485 | 周速一定制御(G96)がアクティブな状態でG12.1が指令された。 | 制御装置がP485プログラムエラーを表示し、ブロックの実行を拒否する。 | G12.1の前にG96がキャンセルされ、一定回転数G97がアクティブであることを確認する。 |
実務応用ノウハウ
極座標補間(G12.1)を実行する際、C軸の原点位置決め(G00 C0;)を怠ると、三菱製制御装置では仮想C軸カウンターが現在位置でゼロクリアされ、端面全体の加工位相が回転方向にずれてしまいます。これにより、ワーク個体間での位相のズレや、再現性の低下、そして最終的な不良品発生に直結します。このような加工位置のズレや、干渉によるクラッシュによる深刻なワーク破損を避けるためには、G12.1の起動前に必ず明確な位置決め移動コマンドを実行しなければなりません。また、段取り前に5040番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。さらに、制御装置の安全機能を最大限に活用するため、チャックバリアおよびテールストックバリア(G22/G23)による電子境界を設定しておくことで、工具がプログラムされた動作範囲を逸脱した場合でも、物理的衝突の前に主軸および各送り軸の動作が直ちに停止し、設備と製品の安全性が確保されます。
関連コマンド
- g07.1-cylindrical-interpolation: G12.1が仮想の平らな平面上で補間するのに対し、円筒面上で機能します。
- g08-look-ahead-control: 工具経路のベクトルを事前準備し、複雑な輪郭遷移時における送り速度の低下を防ぎます。
- g09-exact-stop-non-modal: コーナー座標において機械を完全停止まで減速させ、コーナーの丸まり(ダレ)誤差を防ぎます。
G13.1: 極座標補間モードを終了させ、制御システムを標準的な旋盤座標系に戻すためのキャンセルコマンドです。
おわりに
極座標補間(G12.1)を用いた量産加工を安全に成功させるためには、各制御システム固有の挙動やパラメータの特性を事前に把握し、確実な位置決めと安全境界の設定を行うことが絶対条件です。実機で加工を開始する前に、まずワークやクランプから十分に離れた空中での空運転を実行し、工具軌道や軸同期の整合性をオペレーター自身が目視で確認することを強く推奨します。G12.1の開始・終了時に送りモードの切り替え(G94とG95)や補正キャンセル(G40)が正確に機能しているかを常に検証することで、再現性の低下や不要な干渉エラーを防ぎ、加工工程の信頼性と繰り返し精度を長期にわたって高い水準で維持することができます。
よくある質問
極座標補間で加工した複数のロットで寸法にばらつき(位相ズレ)が出る原因は何ですか?
C軸の位置決め確認や、極座標モード切り替え時のワーク原点設定パラメータの設定ミスが考えられます。特に機械起動後の最初の原点復帰が不十分な場合、ロットごとにわずかな位相ズレが発生します。毎日の作業開始前に必ずC軸の基準点復帰を実行し、最初の加工前にインジケーターでC軸の位置決め精度を手動測定して確認してください。
Fanucの極座標補間で工具長補正やコーナー丸め(CNR)の挙動がおかしくなるのを防ぐために、どのパラメータを確認すべきですか?
5040番パラメータ(TCT)が正しく設定されているか確認する必要があります。また、コーナー補間で送りを制御する3453番パラメータ(FRC/DSE)のビット構成が不適切だと、コーナー部での送り速度が異常になり面粗さがばらついて繰り返し精度が損なわれます。量産前に必ずNo.5040およびNo.3453の各ビット値が標準仕様書と一致しているかをシステム画面でチェックしてください。
G12.1実行中に発生する「Alarm 14800」や「Alarm PS0041」を回避するための具体的な対策は何ですか?
Alarm 14800はG12.1移行時のG94(毎分送り)モードにおいてF値(送り速度)が未定義のときに発生し、Alarm PS0041は工具径補正(G41/G42)の開始時のアプローチ動作において、クリアランス距離がノーズ半径の2倍未満のときにインターフェース干渉として検出されます。プログラム内のG12.1の直後の移動ブロックには必ず適切なF値を記述し、G41/G42を適用するアプローチ動作の移動量はツールノーズ半径の3倍以上のゆとりを持たせてプログラミングしてください。
まだ解決しませんか?
このトピックについて、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の共同創業者として活動を続けています。
関連記事
このトピックに関する他の記事
G27基準位置戻りチェックのCNCプログラミングと衝突防止対策
G27基準位置戻りチェックコマンドの正しいプログラミング手法を解説。Fanuc 1401、Siemens MD 34100、Mitsubishi #2037などの重要パラメータ検証や、アラーム61816等のトラブル対策、量産ロットの繰り返し精度と再現性を高める実務ノウハウを網羅。
Siemens G26 上限作業領域境界と主軸速度制限の設定
Siemens SINUMERIKのG26コマンドによる上限作業領域制限と主軸回転数制限の設定方法を解説。SD 43420などの重要パラメータ役割やアラーム対策を理解し、チャックやタレットの物理的衝突を防いで量産ロットの繰り返し精度を高めます。
G26主軸速度変動検出ONのプログラミングと制限設定方法
Fanuc、Siemens、MitsubishiにおけるG26/G162主軸速度変動検出とリミット制限の正しい設定方法を解説。パラメータ3402等の注意点や、過負荷によるスピンドル衝突・ワーク破損をロット間で確実に防ぐプログラミングノウハウ。
G25下限作業領域制限と主軸速度制限:Siemens CNC解説
SiemensのCNC制御装置(SINUMERIK)でG25を使用した下限作業領域および下限主軸速度を設定し、タレット衝突やチャック激突を防ぐプログラミング手法を解説。SD 43430やSD 43410などの安全パラメータ設定を徹底検証します。