精密機械加工分野において、 Post Processor は重要な「翻訳者」としての役割を果たし、CAMソフトウェアからのデータを、CNC制御装置が理解できる機械言語(Gコード/Mコード)へ変換します。 CNCプログラミングにおけるG&Mコード を理解することは、オペレーションエンジニアにとって必須であるだけでなく、最適なPost Processorを構築するための中核的な基盤でもあります。コマンドコード定義における小さなミスでも、工具、ワーク、さらには機械の主軸に損傷を与える可能性があります。 

CNC Post Processor開発時に知っておくべきG&Mコード
CNC Post Processor開発時に知っておくべきG&Mコード

1. 基本移動コマンド群(Motion Commands) 

これらは、すべてのPost Processorが正確に定義しなければならない基本コマンドであり、切削工具が正しい軌道を移動することを保証します。 

1.1. G0、G1、G2、G3 コマンド 

  • G0(Rapid Motion): 機械を最大速度(早送り)で指定位置まで移動させます。このコマンドは切削には使用しません。 
  • G1(Cutting Motion): 指定された送り速度(Feed rate)で、直線的に制御された切削移動を行います。 
  • G2/G3(Circular/Helical Interpolation): 円弧またはヘリカル移動を行います。G2は時計回り(CW)、G3は反時計回り(CCW)です。 

1.2. G61/G64による精度制御 

  • G61(Exact Stop Check): 機械は鋭角部で軸切替前に正確な停止点まで移動します。これにより形状精度は向上しますが、加工面に痕跡が残る可能性があります。 
  • G64(Continuous Cutting): G61とは逆に、角部に非常に小さなRを生成して連続的な移動を維持し、停止せず滑らかな表面加工を実現します。 
基本移動コマンド群
基本移動コマンド群

2. 時間設定および高精度加工コマンド 

2.1. G4(Dwell)一時停止コマンド 

プログラムを指定時間停止するために使用されます。通常、穴底加工や移動方向変更時に利用されます。 

構文: G4 P__ (Pはミリ秒単位)または G4 X__ (Xは秒単位)。 

例: G4 P1000 または G4 X1.0 はいずれも1秒間プログラムを停止することを意味します。 

2.2. 高精度加工コマンド G5.1 

このコマンドは、金型加工において加工誤差を制御するために特に重要です。 

  • 構文: G5.1 Q1 R__ (R1〜R10レベルで有効化)。 
  • R1: 荒加工(Roughing)。 
  • R5: 中仕上げ加工(Semi-rough)。 
  • R10: 仕上げ加工(Finish)。 
  • 解除: G5.1 Q0 を使用。 

注意: R値が高くなるほど、機械は精度を優先し、曲線部で送り速度を自動的に減速する場合があります。 

時間設定および高精度加工コマンド
時間設定および高精度加工コマンド 

3. G10による座標系とオフセット設定 

G10 コマンドは、機械操作パネルで手動入力する代わりに、プログラム経由で補正値を設定できる非常に強力な機能です。 

  • L2: ワークオフセット設定(G54、G55など)。 
  • L10: 工具長補正(Tool length offsets)。 
  • L11: 工具長摩耗補正(Tool length wear)。 
  • L12: 工具半径補正(Tool radius offsets)。 
  • L13: 工具半径摩耗補正(Tool radius wear)。 

代表的な例: 

  • G90 G10 L2 P1 X-250. Y300. : 機械原点基準でX-250、Y300の位置にG54(P1)原点を設定。 
  • G91 G10 L10 P5 R0.8 : 工具番号5の工具長に0.8mm追加(相対モード)。 
  • G91 G10 L12 P4 R0.2 : 工具番号4の半径に0.2mm追加。 

4. 加工平面と測定単位 

4.1. 平面選択コマンド G17/G18/G19 

  • G17: XY平面(フライス盤で一般的)。 
  • G18: XZ平面(旋盤で一般的)。 
  • G19: YZ平面。正しい平面選択は、G2/G3コマンド、工具半径補正、穴加工サイクルを正しく実行するための前提条件です。 

4.2. 単位設定コマンド G20/G21 

  • G20: 測定単位をインチに設定します。 
  • G21: 測定単位をミリメートル(mm)に設定します。 

5. 基準点復帰コマンド G28/G30 

これらのコマンドは、工具を機械の基準位置(Home)または中間位置へ戻します。 

  • G28: 機械基準位置(Machine Home)へ復帰。 
  • G30: 第2基準位置へ復帰(通常は工具交換時に使用)。 

操作例: 

  • G90 G28 X100. Y100. Z50. : 機械は(100, 100, 50)へ移動後、Homeへ戻ります。 
  • G28 U0. W0. : 機械が直接Homeへ戻ります(通常は旋盤で使用)。 
  • G91 G30 X200. Y100. Z100. : 機械は相対的に(200, 100, 100)移動した後、G30ポイントへ戻ります。 
G28/G30 基準点復帰コマンド
G28/G30 基準点復帰コマンド 

6. 高度な多軸プログラミング(Multi-axis Commands) 

4軸・5軸機用のPost Processorにおいて、以下のコードは精度を保証するために極めて重要です。 

6.1. G43.4(TCPM – Tool Center Point Management) 

機械の回転中心ではなく、工具先端位置を基準にプログラミングすることを可能にします。G43.4が有効になると、回転軸が移動しても工具先端位置はワークに対して固定されたままとなります。 

  • 構文: G1 G43.4 X__ Y__ Z__ H__ F__ (Hは工具補正番号)。 

6.2. G68.2 と G53.1(Tilted Working Plane) 

  • G68.2: I、J、K軸を中心とした座標回転により傾斜作業平面を定義します。 
  • G53.1: G68.2で定義した平面に対して垂直になるよう、機械の物理軸(テーブルまたはヘッド)を自動回転させます。 

例: G68.2 X0 Y0 Z0 I0 J0 K90 (Z軸周りに90度回転)。 

7. 穴加工サイクル(Canned Cycles) 

Post Processor開発では、安全な機械運転を実現するために、固定サイクル内のパラメータを正確に定義する必要があります。 

7.1. 穴あけサイクル G81/G82 

  • G81: 通常穴あけ。 G81 X__ Y__ Z__ R__ F__. 
  • G82: 穴底で停止時間(P)を設け、表面をきれいにする穴あけ加工。 

例: G99 G82 X20. Y40. Z-20. R5. P2. F300. (穴底で2秒停止し、R点まで戻る)。 

7.2. ステップ穴あけサイクル G73/G83(Peck Drilling) 

  • G73: 高速ステップ穴あけ(切削位置で短距離退避)。 
  • G83: 切りくず排出のため、安全高さRまで完全退避するステップ穴あけ。 
  • Qパラメータ: 各ステップの切込み深さ(Peck depth)。 

7.3. タッピングサイクル G84 

  • 主軸回転速度(S)と送り速度(F)を同期させるため、 M29 コマンドと組み合わせる必要があります。 
  • 計算式: ねじピッチ = F/S。 

例: M29 S500; G84 X50. Y40. Z-15. R5. P3. F250. (ねじピッチ = 250/500 = 0.5)。 

7.4. リーマ加工サイクル G85 

穴拡大または仕上げリーマ加工に使用します。 G85 X__ Y__ Z__ R__ F__ K__ (Kは繰返し回数)。 

穴加工サイクル
穴加工サイクル

8. サブプログラム呼び出しおよびマクロ G65 

Post Processorでは、 G65 を使用して複雑なサブプログラムへパラメータを渡すことができます。 

  • G65 P__: P番号のプログラムを呼び出します。 
  • 付随する文字は、サブプログラム内の対応変数へ値を割り当てます(A=#1、D=#7など)。 

例: G65 P1234 A15 D26 は、プログラムO1234内で #1=15 および #7=26 を割り当てます。 

9. Mコード群(Miscellaneous Functions) 

  • M0/M1: プログラム停止(通常停止またはオプション停止)。 
  • M2/M30: プログラム終了(M30はプログラム先頭へ戻る)。 
  • M3/M4/M5: 主軸のCW回転、CCW回転、または停止。 
  • T/M6: 工具交換。マガジン付き機械では T5 M6 を使用。旋盤(Turret)では T0709 (工具7、オフセット9)を使用。 
  • M8/M9: クーラントON/OFF。 
  • M98/M99: サブプログラム呼び出しおよび終了。 

10. GコードおよびMコードプログラミングに関するよくある質問 

10.1 なぜ穴あけサイクルでG98とG99を使用する必要があるのですか? 

G98は穴あけ前の開始位置(初期安全Z位置)まで工具を戻し、G99はR高さまでのみ戻します。穴間にクランプや障害物がある場合はG98を使用します。 

10.2 G12.1(Polar Coordinate Interpolation)はどのように動作しますか?  

旋盤上でY軸をC軸へ変換します。X、Yで輪郭をプログラムすると、機械はX軸とC軸の同時移動比率を自動計算し、目的の形状を生成します。 

10.3 ねじ切り加工におけるG32とG33の違いは?  

G32はストレートねじとテーパねじの両方に使用できる一方、G33は主にストレートねじ用です。どちらもねじピッチに対応した固定送り速度Fが必要です。

*内容編集・処理元: manusnc.com

 CNCプログラミングにおけるGコードとMコード を理解することは、高品質なPost Processorを構築し、機械をスムーズに稼働させ、工具寿命を延ばすための鍵となります。 SDE Tech では、専門的なCAMソリューションおよびカスタムPost Processorサービスを提供し、企業の加工生産性最適化を支援しています。本詳細ガイドと事例集が、皆様の業務に役立つ資料となれば幸いです。CNCソリューションに関するご相談がございましたら、ぜひお問い合わせください。 

  • Website: sde.vn
  • Email: sales@sde.vn
  • Hotline/Zalo: 085 256 2615 – 0909 107 719

Leave a Reply

Your email address will not be published. Required fields are marked *