マシニングセンタのプログラミング基礎講座⑪〜プログラム実践練習〜(ファナック)

「Gコードの基本は覚えたけど、実際に図面を見てプログラムを組むとなると手が止まってしまう…」

そんな経験、ありませんか?

マシニングセンタのプログラミングは、構文の知識だけでは身につかない部分が多くあります。

実際の加工図面をもとに、「どの順序で加工するか」「どのツールを使うか」「どんなGコードを書くべきか」を考えることで、初めて実践的なスキルが養われていきます。

この記事では、そんな実践力を身につけたい方のために、図面付きの練習課題を使って、

✅ 使用するツール番号の指定

✅ 完成したGコードプログラムの例

✅ 学習のコツや習得方法

までをセットで丁寧に解説していきます。

学習用にも、現場トレーニングにも活用いただけるプログラムを題材にしています。

これからNCプログラムを覚えたい方や、現場での応用力をつけたい方は、ぜひ読み進めてみてください!

前回の講座はこちら

この図面の加工プログラムを組んでみよう

マシニングセンタのNCプログラミングをマスターするには、やはり実践あるのみです。

基本的なGコードやテンプレートの構成を理解していても、実際の図面からプログラムを組む経験がなければ、現場では通用しづらいのが現実です。

今回は、下図のような角プレート部品を題材に、ファナック制御(FANUC)向けのマシニングセンタ用プログラムを実際に作成してみましょう。

▼ 今回の課題図面はこちら

この図面には、複数の穴あけ加工(ドリル、タップ)、座ぐり、輪郭仕上げなどが含まれており、基礎的な要素が幅広く詰まっています。

• ボルト穴(M8×15)×5

• 座ぐり8-6.8 キリ深さ15 ×8

• R5コーナー

• 外形ポケット加工

• Z方向の段付き形状(38mm→10mm)

といったように、実際の製品でもよくある形状・加工指示が数多く含まれており、学習用の練習課題として適したものを選んでいます。

加工順序・ツール番号は以下の通り

それでは実際にプログラムを組む前に、まずは加工の流れとツール構成を整理しておきましょう。

図面通りに加工するためには、順序立てた段取りが欠かせません。

特に初心者のうちは、先にこうして「何から加工するか」「どの工具を使うか」を明確にしておくことで、無駄なミスや手戻りを減らすことができます。

▼ 加工順序はこの順番!

1. 外周荒加工

 まずはφ10のラフィングエンドミルで材料の大まかな外形を削り出します。

2. φ6.8のキリ穴あけ加工

 指定された場所に貫通穴を開けます。M8タップの下穴と、キリ穴ですね。

3. 穴の面取り加工

 リーディングドリル(面取りドリル)でバリ取りも兼ねて面取りを行います。

4. M8タップ加工

 タップ加工でネジ山を切っていきます。

5. 外周仕上げ加工

 エンドミルにて外周寸法を仕上げます。

6. 外周面取り加工

 最後にC1の外周面取り加工を行い、完成です。

▼ ツール番号と工具の内容

使用する工具とツール番号の対応は以下の通りです。

ツール番号工具名称
T2φ10 超硬4枚刃 ラフィングエンドミル(荒加工用)
T3超硬ドリル φ6.8(下穴あけ)
T4リーディングドリル(面取り用)
T5M8タップ
T6φ10 超硬4枚刃 エンドミル(仕上げ用)

このあとの見出しでは、これらをもとに実際に作ったプログラム例を紹介していきます。

構文の書き方や注意点もあわせて解説していきますので、実務に役立てたい方はぜひそのまま読み進めてください!

プログラムの解答はこちら

ここでは、先ほどの図面に対応したマシニングセンタ用NCプログラム(FANUC形式)を紹介します。

今回は、工具長補正・座標系の呼び出し・サブプログラム活用など、基本的な構文を中心に組み上げています。

▼ メインプログラム(O1000)

%
O1000
N1(GAIKEIARA)
G40 G49 G80
T2 M6
T3
G90 G54 D2 H2 S6000 F730
M98 P1800
G0 X-50. Y0.
G0 Z5.
G1 Z-9.8
M98 P2001
M98 P1900
M1

N2(6.8KIRI)
G40 G49 G80
T3 M6
T4
G90 G54 B3 S9320 F1200
M98 P1800
G99 G81 Z-17.05 R5. K0
M98 P2002
G99 G81 Z-22.05 R5. K0
M98 P2003
M98 P1900
M1

N3(ANAMENTORI)
G40 G49 G80
T4 M6
T5
G90 G54 H4 S5000 F1050
M98 P1800
G99 G81 Z-3.9 R5. K0
M98 P2002
G99 G81 Z-4.5 R5. K0
M98 P2003
M98 P1900
M1

N4(TAP)
G40 G49 G80
T5 M6
T6
G90 G54 H5 S600 F750
G98 P1800
M135 S600
G99 G84 Z-18.13 R5. K0 F750
M98 P2003
M98 P1900
M1

N5(SHIAGE)
G40 G49 G80
T6 M6
T4
G90 G54 D6 H6 S6000 F1100
M98 P1800
G0 X-50.
Z5.
G1 Z-10.
M98 P2001
M98 P1900
M1

N6(GAISHUMENTORI)
G40 G49 G80
T4 M6
T0
G90 G54 D4 H4 S5000 F1100
M98 P1800
G0 X-50.
Z5.
G1 Z-4.
M98 P2001
M98 P1900

M30

▼ サブプログラム(アプローチ・穴位置指令など)

O1800(APPROACH)
G90 G0 X0 Y0
G43 Z100.
M1
M3
O2001(GAISHU)
G0 X-50. Y-20. G41
G3 X-30. Y0. R20.
G1 Y22.5
G2 X-25. Y27.5 R5.
G1 X25.
G2 X30. Y22.5 R5.
G1 Y-22.5
G2 X25. Y-27.5 R5.
G1 X-25.
G2 X-30. Y-22.5 R5.
G1 Y0.
G3 X-50. Y20. R20.
G0 G40 X-50. Y0.
M99
O2002(8*6.8KIRI*15)
X0 Y20.
X14.142 Y14.142
X20. Y0.
X14.142 Y-14.142
X0 Y-20.
X-14.142 Y-14.142
X-20. Y0.
X-14.142 Y14.142
G80
M99
O2003(TAP)
X0. Y0.
X-22.5 Y20.
X22.5 Y20.
X22.5 Y-20.
X-22.5 Y-20.
G80
M99
%

プログラムのポイント

これまでの講座でプログラムの意味は学習しましたので、最重要な点に絞っておさらいをしておきます。

• G90 G54 D○ H○

→ 座標系呼び出し(G54)+工具径補正D番号+工具長補正H番号

• M98 P**

→ サブプログラム呼び出し。例えば「P1800」はO1800を呼び出している。

• G81 / G84

→ G81はドリルサイクル、G84はタップサイクル

• G43 Z100.

→ 工具長補正を有効化しながらZ100へ高速移動

プログラムの習得は、テンプレートを覚えたうえで、実践あるのみ

ここまでで、図面の読み取りから、加工順序の整理、ツール設定、そして実際のプログラム作成までを一通り見てきました。

この流れを何度も繰り返していくうちに、自然と「この形状にはこのコード」「こういう加工にはこの構文」という**“型”=テンプレート**が自分の中に蓄積されていきます。

まずは理解したうえで「写経」できればOK

はじめのうちは、既存の正しいプログラムを真似して打ち込むだけでも十分な学習になります。

ただし、初めにどのコードがどういった意味なのか先に理解をしておくようにしてください。

• 「ここで座標系(G54)を呼び出すんだな」

• 「ドリル加工はG81、タップはG84か」

• 「サブで位置だけまとめておくと楽だな」

このように理解したうえで、今回ご紹介したような練習プログラムを自分で写しながら、何も見なくても書けるように自分の「型」として仕上げていきましょう。

自分の中に「定番の型」を作ろう

よく使うパターン(例:外周加工、穴あけ+タップ加工など)は、

自分専用のテンプレートとして引き出し化しておくと、現場でも素早く対応できます。

• どの順番で書くか

• 各工程で使用する固定サイクル

• サブの使いどころ・使わない方がいい場面

など、経験を積むごとに実践的な判断力も身についてきます。

座学よりも“加工してなんぼ”

NCプログラムは、実際に加工してみないとわからないことの方が多いです。

たとえば、

• 思ったより切粉が出ない

• 工具が干渉する

• G41の補正方向を逆にしてしまった

など、トライアンドエラーを繰り返すことで、確実にスキルアップしていきます。

まとめ:NCプログラムは“覚える”より“使って慣れる”が近道!

マシニングセンタのプログラミングは、最初こそ難しく感じるかもしれませんが、基本的なテンプレートと実践の繰り返しで、確実に身につけることができます。

今回の記事では、実際の図面をもとに、

• 加工順序の考え方

• ツール番号の設定

• 実際に動くNCプログラムの構成

• 各サブプログラムの役割と使い方

といった一連の流れを、初心者の方にもわかりやすく解説してきました。

最初はプログラムを理解さえできればOKです。

回数を重ねるうちに、“なぜその順番なのか”“なぜその指令を入れるのか”が自然と理解できるようになっていきます。

NCプログラムの世界は、“知識”より“実践”がモノを言います。

細かい構文を覚えるより、まずは自分の手でコードを書き、実際に工具を動かし、加工結果を見て学ぶことが一番の近道です。

初めて「使える」プログラムを自分で書けたときの達成感は、何にも代えがたいもの。

この記事が、あなたのプログラム習得の第一歩となれば嬉しいです!

コメント