極座標補間プログラムの基礎と作成手順・注意点

極座標補間プログラムとは何か、G12.1/G13.1コードの使い方や座標計算の手順をわかりやすく解説。Y軸なし機械でも六角や2面幅加工を実現する方法とは?

極座標補間プログラムで加工できる形状と正しい作成手順

G12.1モード中にG00を書くだけで、あなたのワークは一瞬でスクラップになります。


この記事の3ポイントまとめ
📐
極座標補間とはX軸とC軸の同期制御

Y軸なしのNC旋盤でも、G12.1コードを使えば端面の六角・2面幅・切り欠き形状の加工が可能になります。

⚠️
モード中はG00(早送り)が使用禁止

G12.1モード内でG00を指令するとアラームまたはワーク衝突につながります。移動はすべてG01送り速度で管理が必要です。

🔧
工具径補正と座標計算が品質を左右する

G42での工具径補正を読み込む前に点1へ移動すると素材に食い込みます。三平方の定理による正確な座標計算が前提です。


極座標補間プログラムの基本的な仕組みとG12.1コードの役割

極座標補間とは、X軸とC軸を同期させ、直交座標系で書いたプログラムをそのままX軸(直線軸)とC軸(回転軸)の動きに変換して輪郭形状を削り出す制御方式です。通常のターニングセンターはX-Z平面でプログラムを組みますが、極座標補間モードに入ることでX-C平面上のプログラミングが可能になります。


FANUCのNC装置では「G12.1」でモードON、「G13.1」でモードキャンセルです。G17(X-Y平面)・G18(X-Z平面)・G19(Y-Z平面)という基本3平面には「X-C平面」が存在しません。そこでG12.1を指令することで、CNC内部が仮想X-C平面として処理してくれます。これが基本の考え方です。


最も活用されるのは、Y軸を搭載していない3軸機(X・Z・C軸)での端面加工です。Y軸なしでは不可能に思える六角形状・2面幅・切り欠き・ポケット形状でも、極座標補間を使えば1工程で仕上げられます。つまり、Y軸なしでも平面加工ができるということですね。


Gコード 意味 備考
G12.1 極座標補間モードON X-C平面として処理開始
G13.1 極座標補間モードキャンセル 通常のX-Z平面に戻る
G41/G42 工具径補正(左/右) モード内で有効
G40 工具径補正キャンセル モード内でキャンセルする


Y軸付き機械があれば極座標補間は不要ですが、Y軸機能を持たない3軸のNC旋盤は現場に多く存在します。六角加工を別工程や外注に回すとリードタイムと外注費が発生します。極座標補間を習得すれば、その外注コストをゼロに近づけることが現実的に可能です。


参考:極座標補間プログラムの考え方と実際の使用例について詳しく解説されています。


極座標補間プログラムで使えるエンドミルの条件と加工できない形状

極座標補間で重要なのは、エンドミルの「向き」と「刃の種類」です。X軸とC軸を動かして輪郭をなぞる構造上、エンドミルはZ軸方向にツーリング(側面刃を使う向き)しか使えません。これが基本です。


X軸方向で底刃を使いながら極座標補間を実行しようとすると、エンドミルの底面が輪郭をなぞれずに形状不良を引き起こします。底刃が輪郭形状を正しく追えないからです。たとえばボールエンドミルや底刃加工を前提にしたアプローチは、この機能には使えません。


加工できる形状の具体例は次のとおりです。


  • 端面方向の2面幅・六角形状(M6ボルト頭部のような平行2面の削り出しなど)
  • 端面の切り欠き形状
  • 任意の輪郭形状(コーナーRに合ったエンドミル径の選定が必要)
  • 文字の彫刻(側面刃で追える形状なら対応可)


コーナーRが小さい形状ほど、細い径のエンドミルが必要になります。荒加工は大径で行い、仕上げ加工では最小コーナーRよりも小さい半径のエンドミルを使うのが原則です。コーナーRより大きいエンドミルを使うと、角に削り残しが発生して寸法不合格になります。


加工できない形状の典型例を挙げると、テーパ状の側面や、Z軸方向に連続した3次元曲面形状はこの機能だけでは対応できません。立体的な曲面加工にはY軸や5軸制御が必要になります。意外ですね。


  • ❌ X軸方向に底刃を使うアプローチ → 形状不良になる
  • ❌ コーナーRよりエンドミル半径が大きい場合 → 削り残しが発生
  • ✅ 側面刃でZ軸方向に加工する輪郭形状 → 対応可
  • ✅ 端面の六角・2面幅・切り欠き → 代表的な得意加工


参考:極座標補間で加工できる形状・できない形状についての詳細な解説があります。


極座標補間プログラム | Helicodesign


極座標補間プログラムの座標計算手順(三平方の定理を使った具体例)

プログラムを書く前に、まず座標値を正確に求める必要があります。これがわからないと、プログラムの数値を入力する段階で手が止まります。ここでは「φ50外径に幅40mmの2面幅を加工する(φ12エンドミル使用)」という実例で計算手順を説明します。


Step 1:X-C平面の図を作る


横軸をX、縦軸をCとして図を描きます。加工対象のφ50の円を書き、さらにエンドミル半径(6mm)を足したφ54の円(=アプローチ円)を描きます。2面幅40mmの線をφ54の円まで延長して、交点に番号を付けます。


Step 2:三平方の定理で座標を計算する


点②の座標を求める計算がポイントです。φ54円の半径は27mm、2面幅の半分は20mmです。


$$C = \sqrt{27^2 - 20^2} = \sqrt{729 - 400} = \sqrt{329} \approx 18.138$$


X軸は直径指令なので2倍し、X≒36.276となります。よって点②の座標は(X36.276, C20.0)です。


Step 3:残りの点は対称で求める


点③は点②をC軸に対して対称にした(X−36.276, C20.0)、点④は(X−36.276, C−20.0)、点⑤は(X36.276, C−20.0)となります。X-C平面の対称性を使えば、計算量は最初の1点だけで済みます。これは使えそうです。


Step 4:初期アプローチ点を決める


エンドミルの刃先中心でオフセットが設定されているので、φ50素材に対してφ12のエンドミルが接触するのはX62.0の位置です。初期アプローチ点はX65.0以上に設定します。エンドミル直径分のマージンが必要なことを覚えておけばOKです。


CADが手元にある場合は、図を実際に描いて交点を拾う方法が最も確実です。手計算が苦手な場合でも、CADの寸法機能を使えば三平方の定理の計算ミスをげます。


極座標補間プログラムの4つの注意点とよくある失敗パターン

座標が求まったあとも、プログラムを書く段階でミスが起きやすい箇所が4つあります。これを知らずに進めると、ワークへの衝突やアラームで機械が止まります。痛いですね。


注意点①:G12.1モード中はG00が使えない


極座標補間モード(G12.1)の内側では、早送りG00が指令できません。この仕様を知らずにG00を書くと、FANUC系では「PS0146」「使用できないGコード」などのアラームが発生します。モード内の移動はすべてG01の送り速度指令で管理してください。加工しない移動区間でも、F1.0程度の高速送りで代用するのが実務上の定石です。


注意点②:工具径補正はアプローチ前に有効にする


点①(素材に接触する加工開始点)に到達する前に、必ずG42(工具径補正右)を読み込んでいる状態にしてください。補正なしで点①座標へ移動すると、エンドミル半径分だけ内側に食い込みます。φ12のエンドミルであれば6mm内側に食い込み、素材干渉が発生します。


注意点③:加工終了後の退避でも補正を維持する


加工完了後に工具径補正をキャンセル(G40)する際も、初期アプローチ点(X65.0など)まで戻してから行います。途中でG40を指令すると、補正解除の瞬間に素材と干渉するリスクがあります。「退避してからキャンセル」の順が条件です。


注意点④:G12.1指令前後のモーダルGコードに禁止コードが混入しない


FANUC系のPS0146アラームは「極座標補間モード中に指令できないGコードが含まれている」ことを示します。G27・G28・G30・G52・G92・G53などはモード内で使用不可です。G13.1でモードを抜けてから指令してください。


注意点 失敗パターン 対策
G00禁止 モード内にG00を書いてアラーム G01+高送り速度で代用
工具径補正のタイミング 点①到達前に補正未読込→食い込み アプローチ移動中にG42を読む
退避時の補正キャンセル 途中でG40→素材干渉 初期アプローチ点まで戻してG40
禁止Gコードの混入 G28等をモード内に記述→アラーム G13.1後に移動・原点復帰を行う


参考:FANUC PSアラームの詳細番号と原因が体系的にまとめられています。


【FANUC】基本アラームコード一覧 【PS,BG,SRアラーム一覧】


機種ごとのGコードの違いと、極座標補間プログラムを転用するときの落とし穴

現場でよくある失敗が「FANUC用に作ったプログラムをそのまま別メーカーの機械に入力したらエラーが出た」というケースです。極座標補間のGコードは制御装置のメーカーや機種によって異なります。これが条件です。


FANUCでは G12.1(モードON)・G13.1(モードOFF)が標準的なコードです。一方、オークマのOSPシステム、シーメンスのSINUMERIK、三菱の M800シリーズなどでは、同じ機能が別のGコード番号に割り当てられていたり、パラメータ設定が必要だったりします。シーメンス系では「TRANSMIT」というキーワードで同様の機能を呼び出す機種もあります。


実際の現場では、こんな失敗例があります。FANUCの参考プログラムをそのまま別機種に入力したところ「不正なGコード」アラームが出て、1行ずつサービスマンと確認作業をしたケースです。原因はたった1行のGコード違いでした。転用時は必ず機械付属のプログラミングマニュアルを確認する、が原則です。


また、同じFANUC系でも、機械パラメータ(No.5460・No.5461)に直線軸と回転軸の軸番号が正しく設定されていないと、PSアラーム0145「極座標補間に誤りがあります」が発生します。新規機械導入後や機械の再設定後は必ずパラメータを確認してください。


  • 🔵 FANUC系:G12.1 / G13.1(パラメータNo.5460・5461の確認が必須)
  • 🟠 シーメンスSINUMERIK:TRANSMITコマンドで同等機能を実現
  • 🟢 オークマOSP:各機種マニュアルで専用コードを確認
  • 🟡 三菱M800シリーズ:M系Gコード系列切り換えで対応可


複数メーカーの機械が混在する工場では、機械ごとにプログラムテンプレートを分けて管理する方法が有効です。ファイル名に機械番号とNC装置メーカーを入れるだけで、転用ミスのリスクを大きく下げられます。


参考:FANUCとオークマのGコードの違いが具体的に解説されています。機種変更時の確認に役立ちます。


【NC旋盤】オークマのプログラムは、ファナックとどこが違う?