G01 cncコード線形補間

CNC工作機械における G01 リニア補間コマンドの総合ガイド

CNC旋盤や加工センターで使用される「G01リニア補間」は、現代の製造業において最も基本的かつ重要なコマンドの一つです。正確な直線移動の実現によって、精密な部品製造を可能にするこのコマンドは、初心者から熟練のプログラマーまで、すべてのCNCオペレーターが習得すべき基本スキルです。

:bar_chart: G01リニア補間とは何か?

G01コマンドは、工具を現在の位置から指定された位置まで直線的に移動させるためのコードです。この「リニア補間」とは、CNC制御装置が始点と終点の間に直線経路を自動的に計算し、軸モーターを同期制御することで直線的な動きを実現する機能を指します。

例えば、工具がX軸方向に100mm、Z軸方向に50mm同時に移動する必要がある場合、G01コマンドは各軸の速度を適切に調整し、完全な直線経路を維持します。この機能がなければ、複雑な形状の加工は事実上不可能でしょう。

G01 X100 Z-50 F200

上記の例では、X100(X軸方向に100mm)、Z-50(Z軸方向に-50mm)の位置まで、F200(毎分200mmのフィード速度)で工具が直線移動します。

:counterclockwise_arrows_button: CNC旋盤と加工センターにおけるG01の違い

CNC旋盤での使用

CNC旋盤では、G01コマンドは主に次の用途で使用されます:

  • 外径・内径の直線切削
  • 端面加工
  • テーパー加工
  • ネジ切り(ピッチ送り)
  • 溝入れ作業

CNC旋盤特有の特徴として、材料が回転し工具が移動するという点が挙げられます。このため、X軸とZ軸の2軸のみを使った単純な動きが中心になります。

旋盤用G01プログラム例(外径テーパー切削):

N10 G90 G54 G18 ;絶対座標、ワーク座標系、XZ平面選択
N20 G00 X50 Z5 ;早送りで初期位置へ移動
N30 G96 S200 M03 ;定切削速度、主軸正回転
N40 G01 X40 Z0 F0.2 ;テーパー切削開始点への直線移動
N50 G01 X30 Z-30 F0.15 ;テーパー切削実行
N60 G01 X30 Z-50 ;直径30mmの直線部分切削
N70 G00 X100 Z100 ;退避位置へ早送り
N80 M30 ;プログラム終了

マシニングセンターでの使用

マシニングセンターでは、G01コマンドはより多軸での使用が一般的です:

  • 平面加工
  • ポケット加工
  • 輪郭加工
  • 3D曲面の直線近似
  • 穴あけ作業の位置決め

マシニングセンターでは、典型的にX、Y、Z軸の3軸、さらに高度な機械では5軸以上を制御します。そのため、G01コマンドは複雑な3D形状を作成するための基本ブロックとして機能します。

マシニングセンター用G01プログラム例(矩形ポケット加工):

N10 G90 G54 G17 ;絶対座標、ワーク座標系、XY平面選択
N20 G00 X10 Y10 Z50 ;安全高さへ早送り
N30 S3000 M03 ;主軸回転開始
N40 G00 X10 Y10 Z5 ;加工開始点上方へ位置決め
N50 G01 Z-5 F50 ;切り込み
N60 G01 X10 Y90 F150 ;ポケット輪郭の直線切削
N70 G01 X90 Y90 ;ポケット輪郭の直線切削
N80 G01 X90 Y10 ;ポケット輪郭の直線切削
N90 G01 X10 Y10 ;ポケット輪郭の直線切削(閉ループ)
N100 G00 Z50 ;安全高さへ退避
N110 M30 ;プログラム終了

:hammer_and_wrench: 主要制御装置におけるG01コマンドの比較

FANUC制御システム

FANUCは世界中で最も広く使用されているCNC制御システムです。その基本的なG01構文は次のとおりです:

G01 X_ Y_ Z_ F_ ;

FANUCの特徴:

  • 小数点以下の桁数が制限される(通常6桁)
  • 指定されていない軸は前の位置を維持
  • ブロック終了時に正確に減速

FANUCシステムでの複雑な例(輪郭加工):

O1000 ;プログラム番号
N10 G90 G54 G17 ;絶対座標系、ワーク座標系1、XY平面選択
N20 G00 X0 Y0 Z50 ;早送りで初期位置へ
N30 M06 T01 ;工具交換
N40 S2000 M03 ;主軸回転開始
N50 G43 H01 Z5 ;工具長補正適用、Z=5mmへ
N60 G01 Z-5 F100 ;Z=-5mmへ切り込み
N70 G01 X20 Y0 F150 ;輪郭開始点へ
N80 G01 X50 Y30 ;傾斜線切削
N90 G01 X80 Y30 ;水平線切削
N100 G01 X100 Y10 ;傾斜線切削
N110 G01 X100 Y-10 ;垂直線切削
N120 G01 X80 Y-30 ;傾斜線切削
N130 G01 X50 Y-30 ;水平線切削
N140 G01 X20 Y0 ;傾斜線切削(閉ループ)
N150 G00 Z50 ;工具退避
N160 M30 ;プログラム終了

SIEMENSの制御システム

Siemens SINUMERIKシステムでは、G01は同様に機能しますが、いくつかの構文の違いがあります:

G1 X_ Y_ Z_ F_ ;

Siemensの特徴:

  • G01の代わりにG1と略記可能
  • ブロック内での速度の動的な変更をサポート
  • より強力な曲線軌跡制御機能を持つ

Siemensシステムでの複雑な例(可変速度を使った輪郭加工):

PROC CONTOUR_SIEMENS
N10 G90 G17 D1 ;絶対座標系、XY平面選択、工具補正1
N20 G0 X0 Y0 Z50 ;早送りでアプローチ
N30 T="MILL_10MM" ;10mm工具の選択
N40 S2000 M3 ;主軸回転
N50 G0 X0 Y0 Z5 ;加工開始点近くへ
N60 G1 Z-5 F80 ;切り込み
N70 G1 X20 Y0 F150 ;輪郭開始
N80 G1 X50 Y30 F=150+50*SIN(X) ;可変速度での切削(位置に応じて変化)
N90 G1 X80 Y30 
N100 G1 X100 Y10 F120 ;速度変更
N110 G1 X100 Y-10 
N120 G1 X80 Y-30 
N130 G1 X50 Y-30 F=120*0.8 ;速度20%減少
N140 G1 X20 Y0 F150 ;初期速度に戻る
N150 G0 Z50 ;工具退避
N160 M30 ;プログラム終了
RET

MAZATROLの特徴

Mazatrolは独自の会話型プログラミングを特徴としていますが、EIAコード(G/Mコード)モードもサポートしています。G01は次のように使用されます:

G01 X_ Y_ Z_ F_ ;

Mazatrolの特徴:

  • 会話型とEIAモードの両方で直線補間をサポート
  • 独自の「UNIT」ベースのプログラミングを提供
  • G01とG1の両方の記法をサポート

Mazatrolシステムでの複雑な例(EIAモードでの輪郭加工):

%
O0001 (CONTOUR MAZATROL)
N10 G90 G17 ;絶対座標系、XY平面選択
N20 G00 X0 Y0 Z50 ;早送りで初期位置へ
N30 T01 M06 ;工具交換
N40 S2000 M03 ;主軸回転開始
N50 G43 H01 Z5 ;工具長補正適用
N60 G01 Z-5 F100 ;切り込み
N70 G01 X20 Y0 F150 ;輪郭開始点へ
N80 G01 X50 Y30 ;傾斜線切削
N90 G01 X80 Y30 ;水平線切削
N100 G01 X100 Y10 ;傾斜線切削
N110 G01 X100 Y-10 ;垂直線切削
N120 G01 X80 Y-30 ;傾斜線切削
N130 G01 X50 Y-30 ;水平線切削
N140 G01 X20 Y0 ;傾斜線切削(閉ループ)
N150 G00 Z50 ;工具退避
N160 M30 ;プログラム終了
%

HAASの制御システム

Haasは北米で広く使用されているCNC制御システムで、FANUC互換のG01構文を使用します:

G01 X_ Y_ Z_ F_ ;

Haasの特徴:

  • ユーザーフレンドリーなインターフェース
  • 特定のマクロとサブプログラム構文
  • インチと公制の簡単な切り替え

Haasシステムでの複雑な例(傾斜面加工):

O01234 (HAAS CONTOUR EXAMPLE)
N10 G90 G54 G17 G40 G49 ;座標系と補正をリセット
N20 G00 X0 Y0 Z50. ;早送りで初期位置へ
N30 T1 M06 ;工具交換
N40 G43 H01 ;工具長補正適用
N50 S2500 M03 ;主軸回転開始
N60 G00 X-10. Y-10. ;XY平面での位置決め
N70 G00 Z5. ;切削開始位置の上方へ
N80 G01 Z-5. F50. ;切り込み
N90 G01 X0 Y0 F150. ;輪郭開始点へ
N100 G01 X10. Y0 ;第1セグメント
N110 G01 X25. Y15. ;斜め切削
N120 G01 X40. Y15. ;水平切削
N130 G01 X50. Y25. ;斜め切削
N140 G01 X50. Y40. ;垂直切削
N150 G01 X25. Y50. ;斜め切削
N160 G01 X0 Y40. ;斜め切削
N170 G01 X0 Y0 F75. ;閉ループ完了(送り速度半減)
N180 G00 Z50. ;安全高さへ退避
N190 M30 ;プログラム終了

HEIDENHAINの制御システム

Heidenhain制御は特に精密加工で人気があり、次のようなG01構文を使用します:

L X_ Y_ Z_ F_ ;

Heidenhainの特徴:

  • G01の代わりに「L」(Line)コマンドを使用
  • より高度な輪郭制御と精密加工に特化
  • パラメトリックプログラミング機能が充実

Heidenhainシステムでの複雑な例(テーパー付きポケット加工):

BEGIN PGM CONTOUR_HEIDENHAIN MM
1 BLK FORM 0.1 Z X+0 Y+0 Z-20 ;素材定義
2 BLK FORM 0.2 X+100 Y+100 Z+0
3 TOOL CALL 5 Z S2000 F150 ;工具呼び出し
4 L Z+50 R0 FMAX ;安全高さへ早送り
5 L X+10 Y+10 R0 FMAX ;早送りで初期位置へ
6 L Z+5 R0 FMAX M3 ;切削開始位置の上方へ
7 L Z-5 R0 F100 ;切り込み
8 L X+10 Y+10 RL F150 ;輪郭開始、工具半径補正左
9 L X+10 Y+90 ;垂直直線切削
10 L X+90 Y+90 ;水平直線切削
11 L X+90 Y+10 ;垂直直線切削
12 L X+10 Y+10 ;水平直線切削(閉ループ)
13 L Z+5 R0 FMAX ;安全高さへ移動
14 L X-20 Y-20 R0 FMAX ;プログラム終了位置へ
15 L Z+50 R0 FMAX M2 ;退避して終了
END PGM CONTOUR_HEIDENHAIN MM

三菱(MITSUBISHI)の制御システム

三菱電機のCNC制御システムでは、G01は次のように使用されます:

G01 X_ Y_ Z_ F_ ;

三菱制御の特徴:

  • 高速ナノ補間技術を搭載
  • 広範囲の加工パラメータをサポート
  • 独自の対話型プログラミング機能

三菱システムでの複雑な例(高精度輪郭加工):

O0001 (MITSUBISHI CONTOUR)
N10 G90 G54 G17 ;絶対座標系、ワーク座標系1、XY平面選択
N20 G00 X0 Y0 Z50 ;早送りで初期位置へ
N30 T01 M06 ;工具交換
N40 S2000 M03 ;主軸回転開始
N50 G43 H01 Z5 ;工具長補正適用
N60 G01 Z-5 F100 ;切り込み
N70 G01 X20 Y0 F150 ;輪郭開始点へ
N80 G61 ;正確な位置決めモード有効
N90 G01 X50.025 Y30.013 ;高精度輪郭切削(小数点以下桁数増加)
N100 G01 X80.018 Y30.005 ;
N110 G01 X100.002 Y10.001 ;
N120 G01 X100.007 Y-10.004 ;
N130 G01 X80.021 Y-30.002 ;
N140 G01 X50.009 Y-30.011 ;
N150 G01 X20.003 Y-0.008 ;
N160 G64 ;通常モードに戻る
N170 G00 Z50 ;工具退避
N180 M30 ;プログラム終了

:chart_decreasing: G01コマンドの高度な使用法

1. フィード速度の調整

異なる材料や複雑な形状に対応するために、G01コマンドでのフィード速度調整は重要です:

G01 X100 Z-50 F200 ;フィード速度200mm/分
G01 X150 Z-70 F100 ;フィード速度を100mm/分に減速

2. 工具径補正の活用

G01と工具径補正(G41/G42)を組み合わせることで、正確な輪郭加工が可能になります:

G01 G41 D01 X10 Y10 F150 ;左側工具径補正開始
G01 X50 Y50 ;補正適用状態での直線移動
G01 G40 X70 Y70 ;工具径補正キャンセル

3. 複数軸の同期制御

5軸マシニングセンターなどでは、G01は複数軸を同期して制御します:

G01 X100 Y100 Z-10 A30 B45 F200 ;X,Y,Z,A,Bの5軸同時制御

4. 正確な停止と移行

G09(正確な停止)と組み合わせることで、角の精度を向上させることができます:

G01 X50 Y30 F150 ;通常の直線移動
G09 G01 X80 Y30 ;この位置で正確に停止してから次へ移行

:brain: G01プログラミングのベストプラクティス

  1. 適切なフィード速度の選択:材料、工具、切削条件に基づいて最適な速度を選択する

  2. 効率的な移動経路の計画:不必要な工具移動を減らし、加工時間を短縮する

  3. 適切な工具径補正の使用:輪郭加工の精度を向上させる

  4. 安全な接近と離脱の経路:工具や機械の衝突を防ぐ

  5. 適切な小数点桁数の使用:過度な精度指定を避け、制御装置の処理負荷を軽減する

:magnifying_glass_tilted_left: G01リニア補間の応用例

精密機械部品の製造

航空宇宙や自動車産業で使用される精密部品は、多くの場合G01を使った直線輪郭の組み合わせで製造されます。

N100 G01 X25.453 Y35.217 Z-2.500 F120 ;高精度の座標指定
N110 G01 X38.721 Y42.198 Z-2.500 ;
N120 G01 X41.967 Y50.824 Z-2.500 ;

金型製造

金型のような複雑な形状は、多数のG01セグメントを使用して近似されます:

N200 G01 X10.1 Y5.2 Z-1.5 F100 ;金型輪郭の開始
N210 G01 X12.3 Y8.7 Z-1.8 ;傾斜面の加工
N220 G01 X15.4 Y10.2 Z-2.1 ;傾斜面の続き
...続く(数百〜数千行になることも)

医療機器部品

医療機器の製造では、高い精度と表面品質が要求されるため、適切なG01プログラミングが不可欠です:

N50 G01 X5.023 Y2.157 Z-0.5 F80 ;低速での精密加工
N60 G01 X5.023 Y7.331 Z-0.5 ;
N70 G01 X9.871 Y7.331 Z-0.5 ;

:white_check_mark: まとめ

G01リニア補間コマンドは、CNC加工の基礎であり、旋盤から5軸マシニングセンターまであらゆる種類のCNC機械で利用されています。各制御システムによって若干の構文や機能の違いはありますが、基本原理は同じです:工具を現在位置から目標位置まで直線的に移動させることです。

この基本的なコマンドを理解し、各メーカーの制御システムにおける使用法の違いを把握することで、初心者から熟練者まで、より効率的で精密なCNC加工プログラムを作成することができるでしょう。

CNC技術の進化とともに、G01コマンドの実装も進化し続けていますが、その根本的な重要性は変わりません。リニア補間は複雑な形状を作り出すための基本ブロックであり、CNCプログラミングスキルの基礎として、常に重要な位置を占め続けるでしょう。