NC旋盤プログラムの基礎知識!Gコード・Mコードから安全対策まで
- 4月15日
- 読了時間: 10分
NC旋盤の「プログラム」と聞くと、数学のような難しい数字の羅列を想像するかもしれません。
しかし、その本質は非常にシンプルで、実は私たちの身近なものに例えることができます。
この記事では、初心者の方に向けて、プログラムの仕組みから重要性、そして安全に作業するためのポイントまでを分かりやすく整理して解説します。
1. プログラムは「機械へのレシピ」
プログラムは難しく感じますが、「全自動の料理ロボットに送るレシピ」と考えると簡単に理解できます。
最初に材料や道具を準備して、次に調理をし、最後に片付けをする。
この流れは料理も金属加工も全く同じです。
良いレシピがあれば誰でも美味しい料理が作れるように、正確なプログラムがあれば、誰でも高品質な部品を作ることができます。
2. プログラムを構成する2つの言葉(GコードとMコード)
機械への指示は、主に2種類の「コード」で成り立っています。
2.1 刃物の動きを指示する「Gコード」
Gコード(準備機能)は、刃物をどう動かすかを指示する言葉です。
例:「1番の刃物を材料に当たらないとこまでダッシュで移動しろ!」「ここからはリンゴの皮を剝くみたいにゆっくり0.1ミリずつ削れ!」という感じです。
G00(位置決め): 刃物を目的地まで最速で移動させる(ダッシュ!)。
G01(直線補間): 指定した速度でゆっくり削りながら進む。
G02 / G03(円弧補間): 時計回り、または反時計回りに円を描くように動く。
2.2 機械のスイッチを担当する「Mコード」
Mコード(補助機能)は、機械本体の装備を動かす合言葉です。
例:「材料を回せ!」「油を出せ!」「チャックの開け・閉じろ!」
M03: 材料を回す(主軸正転)。
M05: 回転を止める。
M08: 油(切削油)を出す。
M10 / M11: チャック(材料を掴む部分)を閉じる・開く。
2.3 切削条件を決める「S・F・T機能」
コード以外にも、数値で細かく条件を指定します。
S (Speed): 主軸の回転数。
F (Feed): 刃物が進むスピード。
T (Tool): 使う刃物の番号。
3. プログラムの基本構成(3段階)
プログラムは大きく分けて以下の3つのステップで構成され、これを繰り返すことで形を作っていきます。
プログラムの始まり(準備)
使いたい刃物を選び、材料に当たらない安全なところまで移動させます。
メインの動き(調理)
材料を回し、GコードとMコードを組み合わせて正確な座標(X・Y・Z)を指定しながら削り、形にしていきます。
プログラムの終わり(片付け)
加工が終わったら、刃物を材料に当たらない安全な場所まで戻します。
4. プログラムの基本構成例
簡単な円柱の端面を削るイメージのプログラムは、以下のようになります。
O0001 (プログラム番号)
G50 S2000 (最高回転数の制限)
G00 T0101 (1番の工具を選択)
G96 S150 M03 (周速一定制御で回転開始)
X55.0 Z5.0 M08 (削り始める手前まで急接近)
G01 Z0.1 F0.2 (削り始めの深さまでゆっくり移動)
X-1.0 (端面を削り落とす)
G00 X100.0 Z100.0 M09 (安全な場所まで戻る)
M30 (プログラム終了)
テスト図面の寸法で、プログラム作成
シチズンのL10とスターのSB20Rでのプログラム作成。

O5555
(TEST-PROGRAM)
(STAR-SB20R)
G266A9.0W45.0S3000
X-1.5Z145.0F0.015B2.0
G125
G300
G170
G40G97M9
G99M3S500
M11
G4U0.5
G0Z0.15T0
M200
M20
M10
G4U0.5
G171
T100
G0X[#531+1.0]Z-2.0M25
M27
M300
N1
T600
M1009
M3S4000
G4U0.1
(MAEBIKI)
G0X[#531+1.0]Z0.1T6
G1X-0.1F0.015
G1X5.0F0.02
G4U0.1
G2X7.0W1.0R1.0F0.015(R加工)
G4U0.1
G1Z10.F0.025
G4U0.1
G1X8.0W0.5F0.015(45°加工)
G4U0.1
G1Z27.0F0.025
G4U0.1
G1X[#531+1.0]F0.05
G0T0
T500
M3S4000
G4U0.1
(MIZO)
G0X[#531+1.0]Z27.8T5
M1
G1X8.2F0.5
G4U0.1
G1X7.8W0.2F0.015(面取り加工)
G4U0.1
G1X7.0F0.015
G4U0.1
G1X8.2F0.05
G4U0.1
G1Z30.2F0.5
G4U0.1
G1X7.8W-0.2F0.015(面取り加工)
G4U0.1
G1X7.0F0.015
G4U0.1
G1X[#531+1.0]F0.05
G4U0.1
G0T0
T400
M3S4000
G4U0.1
(URABIKI)
G0X[#531+1.0]Z34.4T4
M1
G1X8.2F0.5
G4U0.05
G1X7.0W0.6F0.015(C0.5面取り加工)
G4U0.1
G1X6.5F0.015
G4U0.1
G1Z44.5F0.25
G4U0.1
G1X5.3W0.6F0.015(C0.5面取り加工)
G4U0.1
G1X[#531+1.0]F0.05
G4U0.1
G0T0
N9
T100
M3S3500
(CUT-OFF)
G0X[#531+1.0]Z[45.0+2.0]T1
M82
M600
G1X-0.95F0.015
M610
M1010
G1X-1.5F0.02
M83
M80
/G0X[#531+1.0]W-0.5
/G0W2.0
/M98P7000
M81
M99
%
O5555
(TEST-PROGRAM)
(SITIZEN-L10)
/M52
M53
M805
G25
G50Z0.15
G99
M6
M9
M3S500
G4U0.1
G1Z-0.5F0.2
G1X9.5F0.2
M3S4000
G4U0.2
G26P5000Q10R15
G25
M810
G25
/M52
T1600
G50W0.045
(MAEBIKI)
G1X9.5Z0.1F0.1T16
G4U0.1
G1X-0.1F0.015
G1X5.0F0.02
G4U0.1
G2X7.0W1.0R1.0F0.015(R加工)
G4U0.1
G1Z10.F0.025
G4U0.1
G1X8.0W0.5F0.015(45°加工)
G4U0.1
G1Z27.0F0.025
G4U0.1
G1X9.5F0.05
T00
G50W-0.045
G25
M3S4000
G4U0.2
T1500
G50W-1.5
(MIZO)
G0X9.5Z27.8T15
G4U0.1
G1X8.2F0.5
G4U0.1
G1X7.8W0.2F0.015(面取り加工)
G4U0.1
G1X7.0F0.015
G4U0.1
G1X8.2F0.05
G4U0.1
G1Z30.2F0.5
G4U0.1
G1X7.8W-0.2F0.015(面取り加工)
G4U0.1
G1X7.0F0.015
G4U0.1
G1X9.5F0.05
T00
G50W1.5
G25
M3S4000
G4U0.2
T1400
G50W-2.5
(URABIKI)
G0X9.5Z34.4T14
G4U0.1
G1X8.2F0.5
G4U0.05
G1X7.0W0.6F0.015(C0.5面取り加工)
G4U0.1
G1X6.5F0.015
G4U0.1
G1Z44.5F0.25
G4U0.1
G1X5.3W0.6F0.015(C0.5面取り加工)
G4U0.1
T00
G50W2.5
G25
M3S3200
G4U0.1
T1100
(TUKKIRI)
G50W-1.2
G0X9.5Z45.0T11
G4U0.1
G811
M801
M802
G1X-0.95F0.015
G810
G1X-1.5F0.02
T00
G50W1.2
M8
M8
M8
/G0X10.0
/M98P7777
M9
G25
M7
G1X-1.5Z0.15F0.4T00
G4U0.2
M5
/M56
G999
N999
M2
で、この長いプログラムを見ても解りづらく、それを嚙み砕いて、各刃物の動きを見れば、プログラム内で何をしてるかが解りやすくなると思います。(ツーリングシート)↓

上記の図のように、4本の刃物を使用して、この製品は加工されてる事が解ると思います。
そのうちの一工程で何をしてるかを見て
スターなら シチズンなら(最新の機械と違うので注意)
T600 (刃物選択)
M1009
M3S4000(回転数)
G4U0.1
(MAEBIKI)
G0X[#531+1.0]Z0.1T6
G1X-0.1F0.015
G1X5.0F0.02
G4U0.1
G2X7.0W1.0R1.0F0.015(R加工)
G4U0.1
G1Z10.F0.025
G4U0.1
G1X8.0W0.5F0.015(45°加工)
G4U0.1
G1Z27.0F0.025
G4U0.1
G1X[#531+1.0]F0.05
G0T0
T1600(刃物選択)
G50W0.045
(MAEBIKI)
G1X9.5Z0.1F0.1T16
G4U0.1
G1X-0.1F0.015
G1X5.0F0.02
G4U0.1
G2X7.0W1.0R1.0F0.015(R加工)
G4U0.1
G1Z10.F0.025
G4U0.1
G1X8.0W0.5F0.015(45°加工)
G4U0.1
G1Z27.0F0.025
G4U0.1
G1X9.5F0.05
T00
G50W-0.045
刃物が4つで、前挽き・溝・裏挽き・突切り、
T〇〇〇~T0(スター)orT〇〇〇〇~T00(シチズン)までが、1工程だと思ってもらえば良いです。
さらに、説明書に記載されてる箇所を覚えとけば
スターなら シチズンなら(最新の機械と違うので注意)
O5555
(TEST-PROGRAM)
(STAR-SB20R)
G266A9.0W45.0S3000
X-1.5Z145.0F0.015B2.0
G125
G300
G170
G40G97M9
G99M3S500
M11
G4U0.5
G0Z0.15T0
M200
M20
と
M83
M80
/G0X[#531+1.0]W-0.5
/G0W2.0
/M98P7000
M81
M99
O5555
(TEST-PROGRAM)
(SITIZEN-L10)
/M52
M53
M805
G25
G50Z0.15
G99
M6
M9
M3S500
G4U0.1
G1Z-0.5F0.2
G1X9.5F0.2
M3S4000
G4U0.2
G26P5000Q10R15
G25
と
M8
M8
M8
/G0X10.0
/M98P7777
M9
G25
M7
G1X-1.5Z0.15F0.4T00
G4U0.2
M5
/M56
G999
N999
M2
あとは色々な違う製品の図面を見て、自分なりにプログラム作成と刃物の動き(ツーリングシート)を作成して見て下さい。
5. NCプログラムがもたらす4つのメリット
なぜ手作業ではなくプログラムを使うのでしょうか?それには4つの大きな理由があります。
① 正確な加工ができる
プログラムで「どこを何mm削るか」を細かく指定します。
→ 人の感覚に頼らず、ミクロン単位で正確に同じ形を作れる
② 同じものを何個でも作れる
一度プログラムを作れば、あとはボタンを押すだけ。
→ 同じ部品を何百個でも同じ品質で量産できる
③ 作業の自動化(省人化)
人がずっと操作しなくてもOK。
→ 時間と人手を節約できる
④ 複雑な形も加工できる
手作業では難しい形でも、プログラムなら可能。
→ 複雑な部品や精密部品が作れる
6. 旋盤プログラミングの要:X軸とZ軸の考え方
NC旋盤では、基本的に2つの軸だけで位置を考えます。ここが最も重要なポイントです。
Z軸(左右の動き): 材料の回転中心に沿った方向。右端面を「0」とし、材料に切り込んでいく方向がマイナス(Z-)になります。
X軸(前後の動き): 材料の直径方向。数値が大きくなるほど直径が大きくなります。※半径ではなく「直径の値」を入力するのが一般的です。
program
7. プログラムミスによる事故を防ぐ
プログラムのミスは、機械の破損や怪我に直結します。
■7.1 最も恐ろしい「干渉(衝突)」
プログラム上の数値ミスにより、刃物台(タレット)や工具が、高速で回転しているチャック(材料を掴んでいる部分)や材料に激突することを「干渉(クラッシュ)」と呼びます。
代表的なミス:G00の暴走
ミスの内容: 移動速度が最も速い「G00(位置決め)」の指示で、座標の入力を間違える(例:X10.0と打つべきところを、桁を間違えてX100.0と入力するなど)。
結果: 刃物が猛スピードで材料やチャックに突き刺さります。機械の精度が狂うだけでなく、刃物が粉砕して飛び散る危険があります。
正負の符号ミス(プラスとマイナスの逆転)
ミスの内容: 本来「Z10.0(材料から離れる方向)」へ動かすつもりが、「Z-10.0(材料に突っ込む方向)」と入力してしまう。
結果: 逃げるはずの動作で深く切り込んでしまい、大きな衝撃音とともに機械が停止します。
■7.2 工具の選択・補正ミス
NC旋盤には複数の刃物が付いていますが、それらの「長さ」や「位置」は一つずつ異なります。
ツール番号と補正番号の不一致
ミスの内容: 1番の工具を使っているのに、プログラムで2番の工具の補正値(T0102など)を読み込んでしまう。
結果: 機械は「別の刃物が付いている」と勘違いして動くため、想定外の場所を削ったり、激突したりします。
刃先R補正の無視
ミスの内容: 刃の先端にはわずかな丸み(R)がありますが、これを考慮せずに斜めや円弧のプログラムを組む。
結果: 衝突はしませんが、図面通りの寸法にならず、「不良品の大量生産」という形の事故に繋がります。
■7.3 回転数と固定のミス
物理的な数値以外にも、設定のミスが重大な事故を招きます。
G50(最高回転数制限)の忘れ
ミスの内容: プログラムの冒頭で最高回転数を制限し忘れる。
結果: 刃物が中心(X0)に近づくにつれ、機械が限界まで回転数を上げようとします。大きな材料や重いチャックの場合、遠心力で材料が吹き飛んだり、チャックが破損したりする極めて危険な状態になります。
送り速度(F)の入力ミス
ミスの内容: 単位を間違える(例:毎回転送り「F0.2」のつもりが、毎分送り「F200」のような設定になっているなど)。
結果: 刃物が耐えられないほどの猛スピードで削ろうとし、刃物が折れる、あるいは材料がチャックから外れて飛んできます。
■7.4 事故を防ぐための「3つの鉄則」
対策 | 内容 |
シングルブロック | プログラムを1行ずつ実行し、動きを目視で確認する。 |
ドライラン | 材料を入れずに空運転し、変な動きがないか確認する。 |
距離の確認 | 画面の「残り移動量」と実際の隙間を自分の目で照らし合わせる。 |
8.プログラムの重要性
NC旋盤における「プログラム」は、単なる命令書ではなく、「工場の安全」「製品の品質」「会社の利益」を支える心臓部です。
なぜこれほどまでにプログラムが重要視されるのか、その理由を3つの観点から説明します。
1. 職人の技術を「資産」に変える
かつての旋盤加工は、職人が手ハンドルを回して感覚で削っていました。しかし、プログラムを使えば、その熟練の技を「データ」として残すことができます。
再現性: 一度完璧なプログラムを作れば、1回目も1,000回目も、全く同じ精度の製品が作れます。
技術の共有: 優れたプログラマーが書いたコードは、他の作業者が使っても同じ結果を出せます。これは会社にとって大きな財産(資産)になります。
2. 「機械の限界」と「安全」を守る
NC旋盤は非常にパワーが強く、人間では制御できない速度で動きます。プログラムは、その怪力を制御する「手綱(たづな)」の役割を果たします。
物理的な保護: 「これ以上のスピードで回してはいけない」「ここより奥に刃物が入ってはいけない」という制限をプログラムで設定することで、高価な機械と作業者の命を守ります。
ミスの未然防止: 適切に組まれたプログラムは、人間がうっかりミスをしそうな部分をシステム的にカバーしてくれます。
3. 利益を生み出す「時間」の設計図
ものづくりの現場では「1秒」の積み重ねが利益を左右します。プログラムの書き方ひとつで、加工時間は大きく変わります。
効率化の追求: 無駄な動き(空振り)を削り、最適な切削ルートを組むことで、最短時間で製品を完成させます。
自動化へのステップ: 正確なプログラムがあれば、夜間に無人で機械を動かすことも可能になります。これにより、人間が寝ている間も利益を生む仕組みが作れます。
9.プログラムは「対話」である
初心者のうちは、プログラムを「ただの数字の列」と思いがちですが、実際には「機械に対して、どう動いてほしいかを伝える手紙」のようなものです。
「丁寧に、かつ最短ルートで削ってこい。ただし、絶対に無理はするなよ。」
このような意思を正確に伝えることができれば、機械は最高のパフォーマンスで応えてくれます。プログラムを学ぶということは、機械という強力なパートナーを乗りこなすための「言語」を学ぶことなのです。
プログラムの学習は、最初は暗号のように見えるかもしれませんが、一つひとつのコードの意味を理解すれば、機械という強力なパートナーを自在に操れるようになります。
まずは基本的なGコード・Mコードから覚え、自分なりの「レシピ」を作るところから始めてみましょう!



コメント