G03円弧補間完全プログラミングガイド:主要3大制御盤の比較と解説
CNCプログラミングにおけるG03反時計回り円弧補間の解説。Fanucのパラメータ3410、SiemensのMD21000、Mitsubishiの#1084などの許容誤差調整やPS0020、P70などのアラーム対策を徹底網羅。量産時の繰り返し精度と加工信頼性を最大化するための段取り手順をわかりやすく紹介。
はじめに
CNC旋盤やマシニングセンタでの量産において、ツールノーズR補正(刃先R補正)の有効時に円弧の始点または終点が円弧中心と完全に一致すると、Fanuc(ファナック)制御盤はPS0038「円弧ブロックでの干渉」アラームを検知する。この状態になると主軸(spindle)が急停止し、軸送り(feed)もその場でロックされるため、ワークピースに食い込み傷やツールマーク(加工痕)が残り、最終検査で寸法ばらつきによる不良品が発生する原因となる。特に、CAD/CAMポストプロセッサによる微小な四捨五入の丸め誤差は、ロット間での再現性を低下させ、2ロット目以降の量産時に突発的な寸法偏析や非計画停止を引き起こす重大なリスクである。段取り前に適切なパラメータ設定と軌跡検証を徹底しなければ、繰り返し精度(repeatability)を保証することはできない。
技術概要
| 指標 | 仕様 |
|---|---|
| コマンドコード | G03 (反時計回り interpolation) |
| modal グループ | グループ 01 (modal) |
| ブランド | Fanuc, Siemens, Mitsubishi |
| 重要パラメータ | Fanuc Parameter 3410, Siemens MD21000 / MD21010, Mitsubishi Parameter #1084 |
| 主な制約 | 始点と終点の半径差が厳密なパラメータ許容値内であること。 |
クイックリード
- G03 を実行する前に、方向や軸選択のアラームを回避するため、正しい平面選択(X-Y平面には G17、Z-X平面には G18、Y-Z平面には G19)を設定します。
- 全円を加工するか、あるいは(g02-circular-interpolation に類似した)部分円弧を加工するかに応じて、半径(R または CR)と中心点オフセット(I, J, K)のどちらを使用するか選択します。
- ポストプロセッサ(CAM)の丸め誤差許容能力に合わせて、半径差許容パラメータ(Fanuc 3410、Mitsubishi #1084)を調整します。
- 円弧の旋回角度が 180 度以下かそれより大きいかを制御するために、正しい正または負の符号を付けて R または CR アドレスをプログラムします。
- circular interpolation ブロック内で、工具交換(T コマンド)や急速な逆時間 feedrate(F0)を指令することを避けてください。
- Siemens 制御システムでは、AC または IC 修飾子を使用して、ブロック内で直接中心座標寸法を検証します。
基本概念
G03(または G3)は、アクティブな平面において、厳密に制御された切削 feedrate で、数学的に正確な反時計回りの円弧またはヘリカルスイープに沿って切削工具を駆動します。この動作は、オペレータから見たアクティブな平面に対して定義され、時計の針と反対の方向にスイープします。
工具を直線的に移動させる g01-linear-interpolation とは異なり、circular interpolation では、定義された中心点からの一定の距離を維持するために継続的な座標計算が必要です。CNC 制御装置は、2つの直線軸を同時にダイナミックに同期させて、この曲線経路を生成します。
正しい平面選択(G17、G18、または G19)の選択は、G03 の前提条件です。CNC 制御は、座標軸と方向ベクトルを正しく解釈するために、この modal 状態に依存しています。例えば、G17 は円弧スイープ用の X-Y平面を確立し、G18 は旋盤加工で標準的な Z-X平面を定義します。一般的なオペレーションは、g00-rapid-traverse を使用して工具を円弧の始点付近に配置し、続いて G03 の切削スイープを行うことから始まります。
コマンド構造
G03 コマンドでは、円弧の座標終点とその幾何学的な中心点を指定する必要があります。終点は、X、Y、Z などのデカルト座標アドレスを使用して定義されます。円の中心は、R アドレス(または Siemens の場合は CR)を使用してその半径で直接指定するか、I, J, K を使用して増分距離ベクトルで指定します。
距離ベクトル I, J, K が使用される場合、それらは円弧の始点から中心までの相対距離を表します。マシニングセンタでは、アクティブな平面によって使用されるオフセットが決まります。G17 の場合は I と J、G18 の場合は I と K、G19 の場合は J と K です。
以下は標準的な G-code 構文です:
- Fanuc Milling:
G17 G03 X_ Y_ R_ F_;またはG17 G03 X_ Y_ I_ J_ F_; - Fanuc Lathe:
G03 X_ Z_ R_ F_;またはG03 X_ Z_ I_ K_ F_; - Siemens Native:
G3 X... Y... Z... I... J... K...またはG3 X... Y... Z... CR=... - Mitsubishi Milling:
G03 X_ Y_ Z_ I_ J_ K_ F_;またはG03 X_ Y_ Z_ R_ F_; - Mitsubishi Lathe:
G03 X/U_ Z/W_ I_ K_ F_;またはG03 X/U_ Z/W_ R_ F_;
パラメータとアドレス:
| アドレス | 説明 |
|---|---|
| X, Y, Z | 円弧終点のデカルト座標。 |
| I, J, K | 始点から円弧中心までの増分座標距離ベクトル。 |
| R | 円弧半径(Fanuc および Mitsubishi で標準)。 |
| CR= | 円の半径パラメータ(Siemens 固有)。 |
| AR= | 円の開き角度(Siemens)。 |
| TURN= | helical interpolation 用の追加フル回転数(Siemens)。 |
| F | 切削 feedrate。 |
ブランド別応用
Fanuc
Fanuc システムは、円の実行を制御するために高度にカスタマイズされたバックグラウンドパラメータに依存しています。G03 ブロックに R および I, J, K 値が完全に欠落している場合、バックグラウンドのトグル設定によって、直線にデフォルト設定するか、アラームをスローするかが決定されます。
レガシーな数学的互換性のために、Fanuc はパラメータを使用して、歪んだ、または不完全な円弧の幾何学的解釈を切り替え、古い G-code ファイルが本来の通りに実行されるようにします。現代のコントローラは直接の経路を取りますが、レガシーなシステムはほぼ全円のスイープを行いました。
G17 G03 X50.0 Y50.0 R25.0 F200.0;空運転 (dry run): 工具はアクティブな X-Y平面上を、200 mm/min の切削 feedrate で半径 25mm の円弧に沿って終点 (50, 50) まで反時計回りに移動します。
| パラメータ | アラーム | バージョンによる違い |
|---|---|---|
| Parameter 3410:半径許容値限界。 | PS0020:半径許容値超過。 | Series 15 は、終点が一致しない場合にほぼ全円のスイープを行います。 |
| Parameter 3403 bit 5:R/IJK 欠落時の挙動。 | PS0022:R または I, J, K コマンドが見つかりません。 | Series 16 および Series 21 フォーマットは、一致しない目標値に対して直接 of ショートカットを取ります。 |
| Parameter 3450 bit 3:計算モード。 | PS0021:無効な平面選択。 | — (no source) |
警告:刃先 R 補正が有効な状態で、始点または終点が中心と一致する円弧ブロックを実行すると、PS0038 アラームがトリガーされます。
Siemens
Siemens(反時計回りの interpolation に G3 または G03 を使用)では、極座標や開き角度など、非常に柔軟なプログラミングが可能です。マルチターンループ用の専用パラメータを使用して、helical スイープを直接統合することがサポートされています。
円弧を開き角度や極座標だけでネイティブに定義できるようにすることで、輪郭制御の柔軟性が向上しています。また、制御システムにより、同じブロック内で中心座標の増分寸法と絶対寸法を直接ダイナミックに切り替えることも可能です。
N30 G3 X115 Y113.3 I-43 J25.52空運転: 工具は、中心オフセットが I-43 および J25.52 の、終点 (115, 113.3) への反時計回りの円弧をスイープします。
| パラメータ | アラーム | バージョンによる違い |
|---|---|---|
| MD21000 $MC_CIRCLE_ERROR_CONST:円の誤差定数。 | Alarm 14040:円の終点エラー。 | ネイティブモード (G290) は CR, AR, TURN, 極座標 AP/RP をサポートします。 |
| MD21010 $MC_CIRCLE_ERROR_FACTOR:円の誤差係数。 | Alarm 14095:プログラムされた半径 CR が小さすぎます。 | ISO Dialect モード (G291) は、中心/半径が省略された場合にアラームをトリガーするか、G01 経路を取ります。 |
| — (no source) | Alarm 14910:無効な開き角度。 | — (no source) |
警告:180 度より大きい反時計回りの円弧をプログラムする際に CR= の負の符号を忘れると、工具は意図しない短い経路を取るよう強制されます。
Mitsubishi
Mitsubishi の CNC 制御システムは、寛容な許容値処理を提供します。CAM システムが丸め誤差のある終点を出力した場合、制御システムは自動的に中心位置を調整してサイクルを維持します。
プログラマが半径や中心座標を含めるのを完全に忘れた場合、制御装置は円弧ブロックを自動的にターゲット終点への直線に変換することができます。CAM システムが丸め誤差のある円弧終点を生成しても、Mitsubishi はすぐにエラーにはしません。
G91 G17 G03 X10. R5.000 F500 ;空運転: 工具は、アクティブな X-Y平面上で増分的な反時計回りの動作を実行します。X座標は始点から 10mm 増加し、プログラムされた半径は 5.0mm、feedrate は 500 mm/min です。
| パラメータ | アラーム | バージョンによる違い |
|---|---|---|
| パラメータ #1084 RadErr:許容可能な円弧誤差。 | P70:終点偏差による円弧エラー。 | M850/M830/M80VW は、高度な 3D circular interpolation (G02.4) をサポートします。 |
| パラメータ #11028 Tolerance Arc Cent:中心調整。 | P33:フォーマットエラー(オフセット/半径の欠落)。 | 旋盤 (L) システムは、高度な 3D circular オプションをサポートしていません。 |
| パラメータ #11029 Arc to G1 no Cent:省略時の挙動。 | P113:無効な平面選択。 | — (no source) |
警告:システムが G03 modal 状態にあるときに工具交換(T コマンド)を実行すると、P151 工具コマンドエラーがトリガーされ、加工が停止します。
ブランド比較
| トピック / 機能 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| ヘリカルプログラミングフォーマット | 標準の G03 ブロックに直線軸 a を追加 | 標準 of G02/G03 ブロックに直接 TURN= パラメータを指定 | 構成/オプションに依存 |
| 円の半径プログラミング | 標準の R パラメータ | CR= パラメータ(角度が180度以下の場合は正、180度より大きい場合は負) | 標準の R パラメータ |
| 円弧中心座標オプション | 始点からの増分ベクトル | IC() および AC() 修飾子によるインラインでの動的切り替え | 始点からの増分ベクトル |
| 不完全な円弧のプログラミング | パラメータ 3403 bit 5 により処理(デフォルトで直線の G01 にするか、PS0022 アラームをトリガー) | ISO Dialect G291 に切り替え(Mダイアレクトで中心/半径が省略された場合はアラームをトリガー、Tダイアレクトでは G01 経路) | #11029 パラメータにより処理(自動的に G01 直線に変換するか、P33 フォーマットエラーをトリガー) |
| 誤った終点による半径不一致 | パラメータ 3410 で設定された制限を超えた場合、PS0020 半径許容値アラームをトリガー | MD21000/MD21010 の誤差限界を超えた場合、Alarm 14040 をトリガー | #11028 により中心を自動的にシフト、または #1084 / #1278 によりスパイラル補間を実行 |
技術解析
各ブランドは、全く異なる数学的・制御的アプローチによって G03 circular interpolation を処理しています。Fanuc は専用のトグルスイッチを使用して異なる世代間の計算互換性を管理し、歪んだ終点がどのようにトラバースされるかを決定します。この構造設計により、Series 15 コントローラで作成されたレガシープログラムが、現代の Series 16 や 21 のハードウェア上でも経路偏差を起こすことなく完全に同じように動作・実行されることが保証されます。
Siemens は、極座標や開き角度と並んで、絶対中心座標を直接インラインで指定できるようにすることで、増分座標のロックをバイパスします。この設計により、CAD/CAM システムでの座標変換が不要になり、プログラマが技術図面から寸法を直接入力できるようになります。TURN= パラメータを使用した helical サイクル(helical interpolation)の統合により、スレッドミーリング(ねじ切り)が非常に簡単になります。
Mitsubishi は、パラメータ設定を通じて現場での寛容な運用を重視しています。ポストプロセッサが丸め誤差を発生させた場合、パラメータ #11028 と #1084 が連動して円弧の中心点をシフトするか、またはスパイラル経路をスイープすることで、軸を急停止させることなく加工を継続させます。これにより、ツールマーク(加工痕)を最小限に抑え、工具を疲労から保護します。
プログラム例
Fanucの例
G17 G03 X50.0 Y50.0 R25.0 F200.0;空運転: 工具は、現在の位置から座標 (50.0, 50.0) まで、アクティブな X-Y平面上を、200.0 mm/min の feedrate で半径 25.0mm の反時計回りの円弧に沿って移動します。
Siemensの例
N30 G3 X115 Y113.3 I-43 J25.52空運転: 制御システムは、工具を終点座標 (115, 113.3) への反時計回りの曲線に沿って移動させます。中心点は、円弧の開始位置に対して相対的に X -43mm および Y +25.52mm の増分位置にあります。
Mitsubishiの例
G91 G17 G03 X10. R5.000 F500 ;空運転: 工具は、アクティブな X-Y平面上で増分的な反時計回りの円弧動作を実行します。X座標は始点から 10mm 増加し、プログラムされた半径は 5.0mm、feedrate は 500 mm/min です。
エラー解析
| ブランド | アラームコード | トリガー条件 | オペレータに見られる症状 | 原因 / 対策 |
|---|---|---|---|---|
| Fanuc | PS0020 | 始点と終点の半径差がパラメータ 3410 で設定された上限を超えている。 | 工具が切削中に即座に停止し、機械に「OVER TOLERANCE OF RADIUS」というメッセージが表示される。 | G-code の終点座標を再計算するか、パラメータ 3410 のしきい値を調整する。 |
| Fanuc | PS0022 | G03 ブロックに円弧半径 R と中心座標距離(I, J, K)の両方が欠落している。 | spindle が停止して送りも保留(feed hold)され、機械に「R OR I,J,K COMMAND NOT FOUND」と表示される。 | プログラムされた G-code ブロックに R または中心オフセット(I, J, K)を追加する。 |
| Siemens | Alarm 14040 | 始点と終点の半径差が MD21000/MD21010 の制限を超えている。 | ブロックの終了時に加工が停止し、「error in end point of circle」と表示される。 | CAD/CAM 出力座標を検証し、適切な数学的一致を確認する。 |
| Siemens | Alarm 14095 | プログラムされた半径 CR が、始点と終点の直線距離の半分より小さい。 | NC 停止がトリガーされ、ディスプレイに「radius for circle programming too small」と表示される。 | 終点座標を修正するか、ブロック内の半径 CR の値を増やす。 |
| Mitsubishi | P70 | 始点と終点の円弧半径不一致が、パラメータ #1084 で設定された限界を超えている。 | 機械が feed hold 状態に入り、画面に「Arc error」という警告が表示される。 | 終点を調整するか、パラメータ #1084 RadErr のエラーしきい値を増やす。 |
| Mitsubishi | P113 | 円弧コマンドの軸がアクティブな平面と一致しない。 | サイクルが即座に停止し、制御盤に「Illegal plane select」エラーが表示される。 | G03 軸がモーダルアクティブな G17/G18/G19 平面と一致していることを確認する。 |
実務応用ノウハウ
ロット間の繰り返し精度と金型級の寸法精度を維持するためには、制御盤ごとのパラメータ設計と境界チェックの徹底が不可欠である。例えば、Mitsubishi(三菱)の制御システムを使用する場合、段取り前に「#11028 Tolerance Arc Cent(円弧中心許容誤差)」パラメータ値を確認・検証することで、R指定円弧における微小な算出誤差による突発的な加工停止を防ぎ、ロットごとの再現性を大幅に向上させることができる。また、CAMデータの丸め誤差によって円弧始点と終点の半径がわずかに異なっていても、同システムの「#1084 RadErr」および「#1278 ext14/bit7」パラメータを適切にチューニングすることで、不要なアラーム停止を回避しつつ、スパイラル補間(spiral interpolation)を有効にしてワーク表面の同心度を極限まで安定させることが可能である。しかし、この許容値を超えると即座にP70「円弧エラー」アラームが発生し、加工が中途半端に停止することで不良品が発生する。さらに、物理的な機械干渉を防ぐため、Mitsubishiでは「G22チャックバリアチェック」を確実に設定し、円弧スイープ動作中にツールタレット(turret)がチャック(chuck)の回転包絡面に進入することを未然に防ぐ必要がある。同様に、Fanucシステムでは、ダブルタレット等で「G68座標回転・ミラーイメージ」が有効になっている場合、円弧の回転方向(G03)が意図せず反転するリスクがあるため、段取り前に必ずパラメータおよびプログラム上の回転アドレスを検証しなければならない。この検証プロセスを怠ったまま量産を開始すると、2ロット目、3ロット目と加工を進めるうちに刃具摩耗や熱変位の影響が加わり、最終検査で許容値を超える寸法ばらつきとして不良品が検出されることになる。事前にこれらの個別パラメータ値と安全システムを確認しておくことが、非計画停止のない高精度な連続加工を実現する唯一の手段である。
関連コマンド
- G01 (Linear Interpolation):工具をターゲット座標まで直線的に移動させます。多くの場合、円弧への進入または退出時の遷移に使用されます(g01-linear-interpolation を参照)。
- G02 (Clockwise Circular Interpolation):G03 の直接的な対になる機能であり、反時計回り動作の代わりに時計回りの円弧を実行します(g02-circular-interpolation を参照)。
- G17 / G18 / G19 (Plane Selection):どのデカルト座標軸(X-Y、Z-X、または Y-Z)が G03 の平面を形成するかを決定する modal コードです。
- G03.4 (3D Circular Interpolation):2D 平面に制限されることなく、3D 空間を通る円弧を可能にする Fanuc および Mitsubishi (G02.4) の高度なオプションです。
おわりに
量産工程における円弧加工の信頼性と繰り返し精度を保証するためには、単にG03プログラムを記述するだけでなく、制御盤内部の許容パラメータとCAD/CAMの丸め精度を完全に同期させることが絶対条件である。Fanucのパラメータ3410、SiemensのMD21000、Mitsubishiの#1084といった許容誤差のしきい値を、ワークピースの要求公差に照らし合わせて事前に最適化しておく必要がある。量産立上げ時には必ずテスト加工および三次元測定を行い、段取り前にこれらのパラメータ値とplane選択(G17/G18/G19)を確認することで、非計画的な加工停止や最終検査での不良品発生を根絶し、均質なロット製造を実現することを強く推奨する。
よくある質問
CAM出力の円弧プログラムでロット間に寸法ばらつきが出る原因は何ですか?
CAD/CAMポストプロセッサは微小な丸め誤差を伴う終点座標を算出することがあります。長期の量産中には、機械軸の熱膨張による小さな変動とこれらの計算上の不一致が組み合わさり、わずかな経路偏差を引き起こすことがあります。対策として、CAMポストプロセッサの出力精度(小数点以下桁数)を機械のインクリメントシステム(IS-BまたはIS-C)と一致させ、段取り前にFanucのパラメータ3410またはMitsubishiの#1084の許容値を必ず確認・微調整してください。
Mitsubishi制御盤でG03加工中にP151アラームが発生して停止するのはなぜですか?
コントローラがG03モーダル状態にあるときに工具交換(Tコマンド)が指令されると、P151工具コマンドエラーが発生します。オペレータがモーダルグループ01をキャンセルせずに自動工具準備(ステージツール)や中間コマンドをプログラムすると、制御内部のバッファで競合が生じます。対策として、G03モーダルアクティブ状態でTコマンドを指令することを避け、工具交換の直前には必ずG01やG00などの直線/位置決めコマンド、あるいはモーダルキャンセルブロックを挿入してバッファクリアを行ってください。
Siemens制御盤のAlarm 14040「円弧終点エラー」を防ぐためのチェックポイントは?
Siemensは、始点と終点の半径が一致しているかをクロスチェックするために、MD21000(定数許容値)とMD21010(比例係数)の2つの異なるパラメータを使用します。高速連続サイクルやマルチターンヘリカルパス(TURN=)では、サーボ制御の微小な動的遅れが数学的偏差と組み合わさることで、これらの制限を超えることがあります。対策として、段取り前にG290(ネイティブモード)でのプログラム値が正確であるかを確認し、半径差が許容値を超える場合は、サーボ追従誤差を軽減するために送り速度(F値)を下げるか、機械メーカーの技術サポートに相談してMD21000/MD21010のしきい値を調整してください。
まだ解決しませんか?
このトピックについて、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を用いた障害物回避など、量産時のロット間再現性を高め不良品発生を防ぐための実務ノウハウを紹介します。