NCプログラム入門「トスナック(TOSNUC)編」

NCプログラム


この記事は

  • NCプログラムって取説を見ても、よくわからない!
  • とりあえず機械を動かせるようになりたい!
  • 東芝(TOSNUC トスナック)の機械はじめて使う!

そんな人にNCプログラムをわかりやすく解説します。
この記事を読むと、簡単なのNCプログラム(TOSNUC)を自分で作れるようになります

NCは、数値制御という意味の英語「Numerical Control」の頭文字をとったものです。
CNCは、コンピュータ数値制御のことです。最近の工作機械はCNCになりますが、当サイトではNCで統一します。

NC言語について

NC言語はNC工作機械を動かすためのプログラミング言語です。

NC装置のメーカーや製造時期によっても違うので個別に覚える必要があります。

シリーズやバージョンにより、少しNCプログラムの記述方法が違います。

お使いの工作機械のNC装置の取扱説明書を必ず確認してください

ワード

NC言語はアルファベットと数値の組合せて1つの命令になります。

アルファベットをアドレス、数値をデータと呼びます。

アドレスとデータをあわせて、「ワード」ができます。

 (例) G91

「G」→アドレス 「91」→データ 「G91」→ワード になります。

アドレスに使うアルファベット

アドレスは用途にって決まっています。

アドレス用途
$プログラム名
Nシーケンスナンバー
G準備機能
M補助機能
X Y Zディメンションアドレス
F送り機能
S主軸機能
T工具機能
D H補正機能
P R Qその他

ブロック

G57 H901
G0 G90 X100 Y-50.6 
G43 Z100 H60 
M30 

4行のプログラムですが、この行のことをNC言語では「ブロック」と呼びます。

ブロックは1つ以上のワードで作られてます

とりあえず、これだけは覚えよう!「最低限必要なのNCプロクラムコード」

機械を動かすそう!

機械を動かすときは、次の内容を決める必要があります。

  • 原点(基準の位置)
    • G53 加工原点(フィクチャオフセット)キャンセル
    • G57 H901~ 加工原点を指定します。 

  • 動かすモード(削るか 削らないか)
    • G0 削らないとき 早送り
    • G1 直線で削るとき 切削送り

       
  • 位置指令のモード(絶対値か 相対値か)
    • G90 絶対値指令 原点からの位置
    • G91 相対値指令 現在地からの距離

  • 位置指令(ディメンションアドレスとデータ)
    • 移動させるX Y Z の位置

プログラム例

G57 H901
G0 G90 X100 Y100

「原点 オフセット H901 を使って、早送りで、絶対値で座標X100 Y100 に移動しなさい。」という意味になります。

G57H901、G90、 G0 はいずれも一度指令されると同じグループのGコードが指令されるまで保持されます。これを「モーダル」と呼びます。この機能により同じコード何度も記述の必要がありません。

G0 G90 X100 Y100
G0 G90 X125 Y135  上のブロックで指令があるので省略できる

穴をあけるなら!

穴の加工には「固定サイクル」が用意されています。

主なものを挙げます。

  • G81 単純な穴加工
     G81 Z-10. R3. F100
  • G87 高速で深い穴の加工(切りくずを切る動きをする)
     G87 Z-25. R3. Q3. F100
  • G83 深い穴の加工(切りくずを切る動きをする)
     G83 Z-50. R3. Q3. F100
  • G84 タップの加工
     G84 Z-25. R3. F300
    • 同期タップの場合
      M843
      G84 Z-25. R3. F300
      M845

固定サイクルは「モーダルなGコード」なので、下のブロックに座標位置を記述すれば穴の加工を繰り返してくれます。「G80」でキャンセルされます。

G53
G57 H901
G0 G90 X100 Y100
Z100
S1000 M3
G98 G81 Z-5 R5 F100
X200
X400 Y200
G80 M5

最初の G53 は フィクチャオフセットがキャンセルされ原点は機械座標の原点になります。
2行目でフィクチャオフセット H901 が選択されます。
上のプログラム例だと

  1.  X100 Y100
  2.  X200 Y100
  3.  X400 Y200

3か所にG81の加工をします。

ノーサイクル G100」について説明します。

G53
G57 H901
G0 G90 X100 Y100
Z100
S1000M3
G98 G100 G81 Z-5 R5 F100 
X200
X400 Y200
G80 

上のプログラム例は固定サイクルの前に「G100 」というワードを加えました。
最初のX100 Y100 の位置では「ノーサイクル G100」が働きG81の加工しません。

  1.  X200 Y100
  2.  X400 Y200

2か所にG81の加工をします。

固定サイクルの注意点

コード説明
G98イニシャル点復帰(初期)
G99R点復帰

G98 はイニシャル点復帰です。イニシャル点とは、固定サイクルを読み込んだ時点のZ座標になります。上のプログラム例だと Z100 がイニシャル点で固定サイクル終了するたびに Z100 に戻ります。
加工時間を短縮したいが場合は G99 のR点(レファレンス点)復帰を使います。押さえなど干渉に注意して使います。

補正機能を使おう!

工具の長さや工具の径は変化することが多いので補正機能を使うことにより同じプログラムを使うことができます。

原点 G57 H901~ も補正機能(オフセット)の1つです。

NCの工作機械は不変的な機械座標系があります。ワークをセットする場合、毎回取り付け位置が変わります。それを補正するワーク座標系(原点 H901~)の設定です。

同様に工具の長さは工具により違います。その補正機能が工具長補正「G43」です。工具の長さを測定してあらかじめ「H番号」に設定しておきます。

G57 H901
G0 G90 X0 Y0 
G43 Z100 H10    工具長補正機能 H10の補正

また、中ぐり盤でW軸がある機械では、GコードG173を使うとクイルの繰り出し量を補正できます。G173W-100

工具径は工具径補正機能でGコードは「G41又は G42」で、工具径の値を「D番号」に設定しておきます。「G40」でキャンセルされます。
G41は進行方向に対して左側補正、G42は進行方向に対して右側補正です。ダウンカット(正転M3の時はG41)をオススメします。

G0 G90 X-20 Y15
Z-10.
G1 G41 X0. Y-5 D10 F1000 工具径補正 ON D10の補正
X5 Y0
G40 X25 Y20  工具径補正 OFF

補正番号は工具番号「T」と揃えるのが一般的です。

サブプログラムを使おう!

同じプログラムを繰り返すときは「サブプログラム」を使うと効率的にプログラムを作れます。

  • G72 $[プログラム名] ,L [繰り返し回数]  (繰り返さないときは [L1] 省略可)
  • M30 サブプログラムエンド (メインプログラム中のM30はプログラム終了)

G57 H901         原点オフセットH901番を選択
G0 G90 X60 Y20  加工スタート位置に移動
G43 Z100 H21  Z位置決め(工具長補正) 
S500 M3     回転数500 正転
Z10       加工開始高さ
G72 $101,L5   サブプログラム呼び出し
G0 Z100 M5    回転停止
M30        プログラム終了

$101          プログラム名 (サブプログラム)
G1 G91 Z-2F300    切込
G90 X160 F500  加工経路
G0 G91 Z20
G90 X-60      スタート位置へ戻す
G91 Z-20
G90
M30          サブプログラムでM30を読み込むとメインへ戻ります         

上のプログラムは Z8 Z6 Z4 Z2 Z0 で5回サブプログラムを実行します。
プログラムが短くて済みますね。注意

サブプログラムを繰り返すときは、サブプログラム内でスタート位置に戻してください。

次は穴加工の例です。

G53
G57 H901
T1 
M6             工具交換
N10 (CENTER)     シーケンス番号(コメント)
G0 G90 X0 Y0
G43 Z100 H1
S1000 M3 ;
G98 G100 G81 Z-2 R3 F100
G72 $201     サブプログラム
G80 M5

T2 
M6         工具交換
N20 (DRILL)    シーケンス番号(コメント)
G0 G90 X0 Y0
G43 Z100 H2
S1200 M3
G98 G100 G83 Z-20 R3 Q3 F120
G72 $201     サブプログラム
G80 M5 
M30 ;

$201       サブプログラム
X10 Y20
X20 Y25
X-30 Y-31
M30 

穴位置を入れるため穴加工でもサブプログラムはよく使います。

サブプログラムのメリット

  • NCプログラムが短くできる。
    
  • NCプログラムの確認が少なくできる。
    
  • NCプログラムの記述ミスの簡単に直せる。

まとめ

NCプログラムは、

  • アドレスデータをセットにして意味を持つ「ワード」ができます。
  • ワードを1つ以上並べ「ブロック」を作りる。TOSUNUCの場合はブロックは改行単位になります。
  • NCのプログラムはブロック単位で実行されます。

実際にNCプログラムを打ち込むとなると難しいと思います。基本的には以下の順番で記述すればOKです。

 工具交換
  ↓
 加工開始位置に移動
  ↓
 加工開始
  ↓
 終了、または工具交換

これを終わるまで繰り返します。

工具交換
T_
M6

加工開始位置
G57H_
G0G90X100Y20
G43Z100H_

加工開始するときは
S_M3
穴の加工なら G81などの固定サイクル
同じ工具経路を繰り返すならサブプログラムを使いましょう。

工具交換の前は必ずキャンセルしましょう
G80 穴加工キャンセル
G40 径補正キャンセル

この手順でNCプログラムを作って行きます。

ザックリとした説明ですが、いかがでしたか?
基本を押さえたら実践あるのみです。
参考にしていただければ幸いです。