You are on page 1of 18

NC スクール プログラミングのテキスト

TEXT FOR
NC SCHOOL
HOW TO MAKE A CNC PROGRAM
マシニングセンタ
初級プログラミング編(抜粋版)
プログラムとは

プログラムとは
マシニングセンタによる加工では、機械の動作を命令するためのプログラムが必要です。
このプログラムを作る作業をプログラミングといいます。
プログラミングには以下のような方法があります。
1.ワーク図

2.プログラム作成

①手動プログラミング ②パソコン等でプログラミング作成 ③ CAD/CAM による自動プログラミング


・ADMAC-Parts FANUC ポスト(オプション)

3.加工

NC プログラムをマシニングセンタの NC 装置に
読み込ませ、所定の準備操作をして起動します。

-準備操作-
加工物の取付、芯出し
原点設定
工具の準備、補正値の設定
NC プログラムのストア
(メモリーカードからの読み込み)

-1-
座標系

座標系
機械の座標系と運動方向
NCプログラムにて工具刃先の位置を指令することにより、指定された位置までテーブルや
主軸頭が動き、工具刃先を目的の位置まで移動させることができます。
テーブルや主軸頭が動作するときの座標軸と移動方向は機械形態により異なり、次のよう
に定められています。

[立形] 主軸

機械の正面から見たとき

Z+ Y+

X+
テーブル

X 軸 :テーブルの左右軸を指し、刃具の右行を正方向(+)とします。
Y 軸 :テーブルの前後軸を指し、刃具の奥行を正方向(+)とします。
Z 軸 :テーブルの上下軸を指し、刃具の上行を正方向(+)とします。
* X 軸と Y 軸は、テーブルが動くので+、-に注意して下さい。
Z 軸は主軸頭が動きます。

[横形]
機械の正面から見たとき Y+
横形は、この方向から見て
X+
主軸

Z+

パ レット

X 軸 :テーブルの左右軸を指し、刃具の左行を正方向(+)とします。
Y 軸 :テーブルの上下軸を指し、刃具の上行を正方向(+)とします。
Z 軸 :テーブルの前後軸を指し、刃具の奥行を正方向(+)とします。
* X 軸と Z 軸は、テーブル移動の機械もあるので+、-に注意して下さい。
Y 軸は主軸頭が動きます。

-2-
原点

原点
座標系と座標値
工具を目標位置に移動させるにはNCプログラムにて目標位置を指令しますが、指令された目
標位置がテーブルの上のどの位置にくるかは、各軸の 0(零)の位置がはっきりしていなければ
なりません。
X、Y、Z の軸が零の点を原点といい、この原点をどの位置にするかを決めることにより、座標系
を与えます。
工具を目標位置に移動させるには、NCプログラムにて座標系における座標値で指令します。
座標値は、その座標系を構成する各軸の成分で表わされます。

1.P1 の X 軸成分
2.P1 の Y 軸成分
3.P1 の Z 軸成分

P1 の位置 X1 Y2 Z3

プログラム原点の求め方
① 記入されている寸法の基準となっている点

原点
原点

② ・直方体やそれに似た形状であれば、角の点や、角二面の中央位置
・円筒形やそれに似た形状であれば、円の中心線 等
・加工物の上面(Z軸)
③プログラムした原点と加工物を取り付けたとき設定する原点とは一致させる必要があるため
原点設定操作のしやすい点原点設定操作のしやすい点。

加工物を取り付けた状態で、
芯の拾い易い点を原点に選ぶ

-3-
座標の指令方法

座標の指令方法
●座標系の選択
NC プログラムで使用される座標系には次の 3 種類があります。
(1)機械座標系
(2)ワーク座標系
(3)ローカル座標系
これらを必要に応じて使い分けます。

[1] 機械原点と機械座標系
機械上で基準となる点を機械原点と呼び、これを原点とする座標系を機械座標系と呼び
ます。
この機械原点は機械ごとにシステムパラメータにあらかじめ設定されています。
機械固有の変更しない座標系が機械座標系です。
機械座標系を選択したい場合は以下の指令を行います。

指令方式 G53 X_ Y_ Z_ ;

〔注意事項〕
・ 機械座標系での位置指令をすると、その位置へ工具が早送りで移動します。
・ 機械座標系での指令は G53 を指令したブロックでのみ有効です。
・ G53 の指令はアブソリュート指令(G90)である必要があります。

[2] ワーク座標系
NCプログラムを作成する上で任意な位置に原点を決定し、この原点を座標系の原点とす
る座標系をワーク座標系と呼びます。
通常、ワークを加工するためには、このワーク座標系を使用し加工を行います。
ワーク座標系は、機械原点からワーク座標系原点までの各軸の距離(ワーク原点オフセ
ット量)を設定することにより確立されます。
Y+
機械原点
原点オフセット
(Y軸)

X+
ワーク座標原点
(プログラム原点)

原点オフセット(X軸)

機械原点とワーク座標系原点

ワーク座標系は、主に次の 2 つの方法で設定することができます。
1.G54~G59 を使用する方法
予め操作パネルからのデータ入力によりワーク座標系を設定しておき、プログラム
指令 G54~G59 により、どのワーク座標系を使用するかを選択します。
2.G92 を使用する方法
プログラム指令により、G92 に続く数値でワーク座標系が確立されます。

-4-
座標の指令方法

(1)G54~G59 を使用する方法(機種によりオプションの場合があります。)
加工前に芯出し等であらかじめワーク原点オフセット量を設定し、加工時に必要な座
標系を選択します。
ワーク座標系はあらかじめ 6 個まで設定することができます。
ワーク座標系は 6 組(G54~G59)まで設定でき、これを必要に応じて選択することが
できます。多数個取り加工等にも活用できます。

G54 G55
ワーク1 ワーク2

テーブル

多数個取り加工

指令方式 G_

G54・・・・・ワーク座標系 1 G57・・・・・ワーク座標系 4
G55・・・・・ワーク座標系 2 G58・・・・・ワーク座標系 5
G56・・・・・ワーク座標系 3 G59・・・・・ワーク座標系 6

電源投入時は G54 が選ばれています。

[プログラム例]

+Y +Y

A(30,15)

+X +X

(-30,-15)

(ワーク座標系 1) (ワーク座標系 2)

機械原点

(G90) G54 G00 X30.0 Y15.0 ; ・・・A 点へ移動します。


G55 X-30.0 Y-15.0 ; ・・・・・B 点へ移動します。

-5-
座標の指令方法

各々の座標系は、機械原点からそれぞれの座標系の原点までの各軸の距離(ワーク
原点オフセット量)を操作パネルから設定することにより決まります。

選択中のワーク座標系

ワーク原点オフセット量

ワーク座標系設定画面

画面上に表示される絶対座標値がワーク座標系における現在位置を表します。

(2)G92 を使用する方法
次の指令をすると、工具のある点、例えば刃先先端が指令された座標値となるように
ワーク座標系が確立されます。

指令方式 G92 X_ Y_ Z_ ;

[プログラム例]
G92 X60.0 Y100.0 Z50.0 ;

〔注意事項〕
・ オフセット中に G92 で座標系設定をすると、工具径補正、工具長補正、工具位置補
正については、オフセットをかける前の位置が G92 で指定された位置となるような座
標系が設定されます。
・ 工具径補正では、G92 で一時的にオフセットキャンセルとなります。
・ 手動レファレンス点復帰により、レファレンス点に復帰すると G92 で作られたワーク原
点オフセットベクトルはキャンセルされ、もとのワーク座標系が設定されます。
・ G54~G59 を使用する場合、G92 で座標系設定する必要はありません。また、G92
で座標系設定をすると G54~G59 の座標系がズレてしまいます。特に、G54~G59
をシフトしたい場合を除いて G92 と G54~G59 を混在しないでください。

-6-
プログラム指令方式

プログラム指令方式
プログラム指令方式の種類
工具の移動量を指令する方式には次の 2 通りがあります。
(1) アブソリュート指令方式
G90 で指令します。ワーク座標系における原点からの座標値を指令値とします。
(2) インクレメンタル指令方式
G91 で指令します。現在位置からの移動量そのものを指令値とします。

Y+

[例] P2
60

P1
40

ワーク座標系原点 P0
X+
30 70

現在 P0 に工具があるものとします

アブソリュート指令 インクレメンタル指令
P0 P1 G90 X30.0 Y40.0 ; P0 P1 G91 X30.0 Y40.0 ;
P1 P2 X70.0 Y60.0 ; P1 P2 X40.0 Y20.0 ;

〔注意事項〕
・ 1 つのブロック内で G90、G91 を同時に使うことはできません。
・ G90、G91 は常にどちらか一方が有効です。
・ 電源投入時の状態は、パラメータの設定により切換えが可能です。

-7-
プログラムに必要な記号一覧表

プログラムに必要な記号一覧表
●プログラム構成
記号 記号の説明
O○○○○ プログラム番号
アルファベット O (オー) の後に 4 桁以下の数字を付けて表します。
NC プログラムの先頭に必ず指令し、プログラムを管理します。
(例)第一工程、第二工程を加工するとします。
第一工程 O 1001
第二工程 O 1002 とします。

N○○~○○ シーケンス番号
8桁 アルファベット N (エヌ) の後に数字を付けて表します。
プログラムのチェック、編集、加工での工程箇所、呼び出し等で使用します。
非常に長いプログラムなどでは、現在の実行箇所を知ることができます。
また、プログラムの途中から加工を再開するときのシーケンス番号サーチ機能、
プログラム再開機能(オプション)等で使用することができます。
シーケンス番号は省略することもできます。
[シーケンス番号のつけ方]
・ アドレス N に続いて数字(0~9)を入れます。(シーケンス番号 0 は使用不可)
・ 指令できる桁数は 8 桁までです。
・ シーケンス番号はブロックの先頭に入れますが、オプショナルブロック
スキップ“/”はシーケンス番号の前に入れることも可能です。
・ シーケンス番号の順序は任意です。

ブロック
ブロックはいくつかのワードで構成されます。
ワードは、アドレスにつづく数値により構成されています。

アドレス アドレス アドレス


数値 数値 数値

ワー ド ワー ド ワード

ブロ ッ ク
・アドレスはアルファベット A~Z のうち 1 つを使用し、それぞれの内容を規定します。
・以下のアドレスの数値は、小数点入力が可能です。
X、Y、Z、A、B、C、I、J、K、Q、R、F
・以下のアドレスの数値は小数点入力できません。
(アドレス G は、オプション機能により小数点が必要な場合もあります。)
O、N、D、H、M、S、G、P

-8-
プログラムに必要な記号一覧表

●G コード(準備機能)
G○○ アルファベット G(ジー)に続く 2 桁の数字で指令します。
G コードによってそのブロックで実行したい機能を指令します。
G コードの有効範囲には次のものがあります。
ワンショット…指令されたブロック内のみ有効で、次のブロックに移る時、自動的
に解除されます。
モーダル…同一グループ内の他のGコードに変更されるまで有効。
グループ Gコード 内 容 備 考
G00* 位置決め
G01 直線補間
01
G02 円弧補間 時計廻り(ヘリカル切削) ヘリカル切削はOP
G03 円弧補間 反時計廻り(ヘリカル切削) ヘリカル切削はOP
G04 ドウェル
00 G08 先行制御
G09 イグザクトストップ
G17* XY平面選択
02 G18 ZX平面選択
G19 YZ平面選択
G27 レファレンス点復帰チェック
G28 レファレンス点への自動復帰
00 G29 レファレンス点からの移動
G30 第2、第3、第4リファレンス点復帰 (OP)第3、第4はOP
G31 スキップ機能
G40* 工具径補正 キャンセル
07 G41 工具径補正 左側
G42 工具径補正 右側
G43 工具長補正 +
08
G44 工具長補正 -
G45 工具位置オフセット 伸長 OP
G46 工具位置オフセット 縮小 OP
00
G47 工具位置オフセット 2倍伸長 OP
G48 工具位置オフセット 2倍縮小 OP

-9-
プログラムに必要な記号一覧表

グループ Gコード 内 容 備 考
08 G49* 工具長補正 キャンセル
G50* スケーリング キャンセル OP
11
G51 スケーリング OP
G50.1* プログラマブルミラーイメージ キャンセル OP
18
G51.1 プログラマブルミラーイメージ OP
G52 ローカル座標系設定
00
G53 機械座標系選択
G54* ワーク座標系 1 選択
G55 ワーク座標系 2 選択
G56 ワーク座標系 3 選択
14
G57 ワーク座標系 4 選択
G58 ワーク座標系 5 選択
G59 ワーク座標系 6 選択
00 G60 一方向位置決め
G68 座標回転 OP
16
G69 座標回転・キャンセル OP
G73 高速深穴あけサイクル
G74 逆タッピングサイクル
G76 ファインボーリングサイクル
G80* 固定サイクルモード・キャンセル
G81 ドリルサイクル
G82 ドリルサイクル
09 G83 深穴あけサイクル
G84 タッピングサイクル
G85 ボーリングサイクル
G86 ボーリングサイクル
G87 バックボーリングサイクル
G88 ボーリングサイクル
G89 ボーリングサイクル

-10-
プログラムに必要な記号一覧表

グループ Gコード 内 容 備 考
G90 アブソリュート指令
03
G91* インクレメンタル指令
00 G92 ワーク座標系の設定
G93 インバースタイム送り OP
05 G94* 毎分送り
G95 毎回転送り OP
G98* 固定サイクルイニシャルレベル復帰
10
G99 固定サイクルR点レベル復帰

・*印のついている G コードは、電源投入時、あるいはリセットでその G コードの状態にな


ることを示します。
・00 グループの G コードはモーダルでない G コードであることを示し、指定されたブロック
のみ有効です。
・同じグループに属する G コードを同一ブロックに 2 つ以上指令した場合には、後で指令し
た G コードが有効となります。異なるグループであれば、いくつでも同一ブロックに指令す
ることができます。
・OP:オプションであることを示します。
・(OP):一部の機種でオプションまたはオプション設定なしであることを示します。

本一覧表には、一般的な G コードを掲載しました。
納入された機械の G コードの詳細については、取扱説明書を御覧ください。

-11-
プログラムに必要な記号一覧表

● M コード(補助機能)
M○○ アルファベット M(エム)に続く数字で指令します。
本機付属の取扱説明書 M コード一覧表を優先してください。
Mコードは次の 3 組にグループ分けされており、組合せにより最大 3 個のMコードを同一
ブロックで指令することができます。 A

B C C
グループ組合せ
C C C
Maa Mbb Mcc

第3Mコード

第2Mコード
第1Mコード

A グループ・・・第 1M コードに対し単一で指令をしなければいけないもの
B グループ・・・第 1M コードのみで指令できるもの
C グループ・・・B グループとの組合せが可能で第 2、第 3Mコードとして指令ができるもの。
〔注意事項〕
C グループ M コードで動作が相反するものを同一プログラム内で間違って指令した場合。
・M コードのアンサーが返らない為、M コードサイクルタイムオーバーとなりプログラ
ム運転が停止します。
・動作について 入、切動作の場合、切の動作が優先となります。
開、閉動作の場合、閉の動作が優先となります

軸移動と同時指令時の
開始時期 取消または 指令された
MDIモードで
Mコード 機 能 変更されるま ブロック
使用
グループ
完了後 で継続 のみ有効
同時開始
開始

M00 プログラムストップ ○ ○ A
M01 オプショナルストップ ○ ○ A
M02 エンドオブプログラム ○ ○ A
M03 主軸正転 ○ ○ B
M04 主軸逆転 ○ ○ B
M05 主軸停止 ○ ○ B
M06 工具交換 ○ ○ A
M07 オイルミスト 入 (OP) ○ ○ C
M08 切削油 入 ○ ○ C
M09 切削油類 切 ○ ○ C
M10 NCテーブルクランプ ○ ○ C
M11 NCテーブルアンクランプ ○ ○ C
M19 主軸定位置停止 ○ ○ B

-12-
プログラムに必要な記号一覧表

軸移動と同時指令時の
開始時期 取消または 指令された
MDIモードで
Mコード 機 能 変更される ブロック
使用
グループ
完了後 まで継続 のみ有効
同時開始
開始

M29 リジットタップモード 入 (OP) ○ A


M30 エンドオブテープ ○ ○ A
M31 ATCインターロックバイパス ○ A
ATCインターロックバイパス
M35 ○ A
(M31)キャンセル

M50 オイルホール用切削油 入 (OP) ○ ○ C


M51 タップオイルショット 入 (OP) ○ ○ C
M58 切粉エアブロー 入 (OP) ○ ○ C
M59 切粉エアブロー 切 (OP) ○ ○ C
M60 パレットチェンジ (OP) ○ ○ A
M61 パレットチェンジ補助動作1 ○
A
M62 パレットチェンジ補助動作2 ○

M68 NCテーブルクランプ 2 (OP) ○ ○ C


M69 NCテーブルアンクランプ 2 (OP) ○ ○ C
M87 ミラーイメージ X ○ C
M88 ミラーイメージ Y ○ C
M89 ミラーイメージ キャンセル ○ C
M90 ワークカウンター (OP) ○ ○ C
M98 サブプログラム呼出 ○ ○ A
M99 エンドオブサブプログラム ○ ○ A
M130 工具交換指令補助 ○ ○ C
M131 主軸工具クランプ ○
A
M132 主軸工具アンクランプ ○

M139 ATCドア 開 ○
A
M140 ATCドア 閉 ○

M145 工具ポット水平 ○

M146 工具ポット垂直 ○
A
M147 工具マガジン正回転 ○

M148 工具マガジン逆回転 ○

M150 スピンドルスルークーラント入(OP) ○ ○ C
M180 ATCアームインチング 前進 ○
A
M181 ATCアームインチング 後退 ○

OP:オプションであることを示します。本一覧表には一般的なMコードを掲載しました。

-13-
プログラムに必要な記号一覧表

●アドレス指令範囲表
指令範囲
アドレス 機能 備考
メトリック インチ(オプション)
O プログラム番号 1~9999 同左
N シーケンス番号 1~99999999 同左
G 準備機能 0~99 同左
X、Y、Z 座標値 ±99999.999 mm ±9999.9999 inch
I、J、K 円弧の中心座標値 同上 同上
R 円弧の半径 同上 同上
F 毎分送り速度 1~5000.0 mm/min 0.04~196.85 inch/min 機械仕様により異なる
M 補助機能 0~99 同左 機械仕様により異なる
D、H オフセット番号 1~32 同左 機械仕様により異なる
0~99999999
P ドウェル時間 同左
(× 1/1000 sec)
切込量
Q 0~99999.999 mm 0~3937.0078 inch
(固定サイクル時)
切込開始点
R ±99999.999 mm ±3937.0078 inch
(固定サイクル時)
S 主軸回転数 機械仕様により異なる

●設定単位
・最小設定単位
プログラムに入力できる最小設定単位は、0.001mm または 0.0001inch です。(インチ入力
はオプション)
・数値の入力は通常、電卓形小数点入力となっています。
電卓形小数点入力では、プログラム指令に小数点をつけない場合、指令値の単位は mm、
inch になります。
[例]
X1
X1. すべて 1mm とみなされます。
X1.0

-14-
プログラム例題 ①

プログラム例題 ①
下記に従って φ125 フェイスミルにより上面削りして下さい。

切削送り(G01)

早送り(G00)
350

終始点
200

150
50

70 300

ワーク原点G54 370
450

φ125
フェイスミル

100

-15-
プログラム例題 ②

プログラム例題 ②
下記に従って φ10 エンドミルにより溝加工をして下さい。

-16-
プログラム例題 回答

[回答 1]
O0001 ;
G90 G00 X450.0 Y150.0 S300 M03 ;
G00 Z-1.0 ;
X370.0 ;
G01 X-70.0 F300 ;
G00 Y350.0 ;
X370.0 ;
Y50.0 ;
G01 X-70.0 ;
G00 Y350.0 ;
X370.0 ;
X450.0 Y150.0 ;
Z100.0 M05 ;
M30 ;

[回答 2]
O0002 ;
G90 G00 Z100.0 ;
G00 X-20.0 Y20.0 S1000 M03 ;
Z5.0;
G01 Z-10.0 F100 M08 ;
X40.0 F200 ;
Y80.0 ;
X80.0 Y70.0 ;
X120.0 ;
Y30.0 ;
X170.0 ;
G00 Z100.0 M09 ;
M05 ;
M30 ;

-17-

You might also like