NC工作機械を動かすには、ハンドルなどを使う方法とNC言語を使う方法がある。
NC言語は、単純な記号によって構成されており可読性が低い。
かの有名なアセンブラにも及ばない。

NC言語の例
G00 X0.Y0.Z10.;
G01 Z0.;
Y20.;
X10.Y10.;
X20.Y20.;
Y0.;
G00 Z10.;
X0.Y0.;

NC言語は基本的には
  • Gコード(準備機能)
  • Mコード(補助機能)
  • XYZABC(アドレス)
  • SFT(工具に関する命令)
で構成される。

Gコード

Gコードは機械に今からこれこれをしますよという意志を伝える。

G00 早送り 機械の最高速度で移動
G01 直線補間 Fで与えた速度で指定位置に直線で移動
G02 円弧補間 Fで与えた速度で指定位置に時計回りで移動
G03 円弧補間 Fで与えた速度で指定位置に反時計回りで移動
G80 固定サイクルキャンセル
G81 ドリルサイクル
G73 ステップサイクル
G83 深穴サイクル
G90 絶対指定 アドレスを絶対値とする
G91 相対指定 アドレスを相対値とする

Mコード

Mコードは補助機能とはいえ、重要な役割を持っている。
メーカーによってコードの意味が変わることが多いので注意が必要。
M00 プログラムストップ
M01 オプショナルストップ
M02 エンドオブプログラム
M30 エンドオブテープ
M03 主軸正転
M04 主軸逆転
M05 主軸停止
M19 主軸定位置停止
M08 クーラント入
M09 クーラント切

STF

Sは主軸の回転数(min-1)を与える。
S=(1000*V)/(PI*D)

V=切削速度(m/min)
PI=円周率(3.1415...)
D=刃物直径(mm)

Fは送り速度(mm/min)を与える。
F=S*f*N

fは一刃あたりの送り(mm/tooth)
Nは刃数