概要

NC言語とは?CNC旋盤やマシニングセンターを動かすプログラミング言語

NC言語(Numerical Control 言語)は、コンピュータ数値制御(CNC)機械に使用されるプログラミング言語です。主に金属加工、木工、プラスチック加工などの分野で使われ、工作機械の動きを制御します。以下にNC言語の基本的な構造といくつかの具体的な例を紹介します。

NC言語の基本構造

NC言語は通常、GコードとMコードの組み合わせで構成されています。

  1. Gコード(Geometric Code):

    • 機械の動きを指示するコード。
    • 例えば、直線運動、円弧運動、工具の位置決めなど。
  2. Mコード(Miscellaneous Code):

    • 機械の補助機能を制御するコード。
    • 例えば、スピンドルの開始・停止、クーラントのオン・オフなど。

主なGコード

  • G00: 迅速位置決め(Rapid positioning)
  • G01: 直線補間(Linear interpolation)
  • G02: 時計回りの円弧補間(Circular interpolation, clockwise)
  • G03: 反時計回りの円弧補間(Circular interpolation, counterclockwise)
  • G04: ドウェル(Dwell)
  • G17: XY平面の選択(Selection of XY plane)
  • G20: インチ単位の設定(Setting to inches)
  • G21: ミリメートル単位の設定(Setting to millimeters)
  • G28: リファレンスポイントの帰還(Return to reference point)
  • G90: 絶対座標指定(Absolute positioning)
  • G91: 増分座標指定(Incremental positioning)

主なMコード

  • M00: プログラムの停止(Program stop)
  • M01: オプションの停止(Optional stop)
  • M02: プログラムの終了(Program end)
  • M03: スピンドルの時計回り(Spindle on, clockwise)
  • M04: スピンドルの反時計回り(Spindle on, counterclockwise)
  • M05: スピンドルの停止(Spindle stop)
  • M06: ツールチェンジ(Tool change)
  • M08: クーラントオン(Coolant on)
  • M09: クーラントオフ(Coolant off)

基本的なNCプログラムの例

以下は、簡単な穴あけ加工を行うNCプログラムの例です。

%
O0001
G21         ; ミリメートル単位の設定
G17         ; XY平面の選択
G90         ; 絶対座標指定

; スピンドルの起動
M06 T01     ; ツール1の選択
M03 S1500   ; スピンドルの時計回り回転、回転数1500

; 穴あけ加工
G00 X0 Y0   ; 迅速位置決め
G01 Z-5 F200; 穴を開ける、送り速度200
G00 Z5      ; ツールを上げる

G00 X20 Y0  ; 次の位置に迅速移動
G01 Z-5 F200; 穴を開ける、送り速度200
G00 Z5      ; ツールを上げる

G00 X40 Y0  ; 次の位置に迅速移動
G01 Z-5 F200; 穴を開ける、送り速度200
G00 Z5      ; ツールを上げる

; スピンドルの停止
M05         ; スピンドル停止
M30         ; プログラムの終了とリセット
%

このプログラムの説明

  1. G21: ミリメートル単位を使用。
  2. G17: XY平面を選択。
  3. G90: 絶対座標指定を使用。
  4. M06 T01: ツール1を選択。
  5. M03 S1500: スピンドルを時計回りに回転、回転数は1500。
  6. G00 X0 Y0: 迅速位置決めで原点に移動。
  7. G01 Z-5 F200: 送り速度200でZ軸を-5まで直線運動(穴あけ)。
  8. G00 Z5: Z軸を5まで迅速位置決めで上げる。
  9. 同様に、次の位置(X20 Y0、X40 Y0)で穴あけを繰り返す。
  10. M05: スピンドル停止。
  11. M30: プログラム終了とリセット。

NC言語は、CNC機械を正確に制御するために非常に重要な役割を果たします。この基本的な理解を元に、より複雑な加工やプログラムの作成に進んでいくことができます。他にも質問があれば、いつでも聞いてくださいね。

具体的なプログラム

直径200mmで長さが100mmある鉄の丸棒をCNC旋盤で加工します
直径が150mmになるように切削加工、長さは60mm
次に先端が直径130mmで長さが10mmにしてそこから20mmまでを斜めに削る

というプログラムを組む場合はこうなる

%
O0001
G21         ; ミリメートル単位の設定
G18         ; XZ平面の選択
G90         ; 絶対座標指定

; 初期設定
G00 X0 Z0   ; 原点に移動

; 1. 直径を200mmから150mmに削る(長さ60mm)
M03 S1000   ; スピンドルの時計回り回転、回転数1000
G00 X200 Z0 ; 迅速位置決めで開始位置へ
G01 X150 Z-60 F200; 直線運動でX150 Z-60まで削る

; 2. 直径130mmの部分を作る(長さ10mm)
G00 X150 Z-60 ; 開始位置へ迅速移動
G01 X130 Z-70 F200; 直線運動でX130 Z-70まで削る

; 3. 直径130mmから150mmまでの斜め部分を削る(長さ20mm)
G00 X130 Z-70 ; 開始位置へ迅速移動
G01 X150 Z-90 F200; 直線運動でX150 Z-90まで削る

; 4. 長さ50mmのところで切り落とす
G00 X150 Z-50 ; 切り落とし位置へ迅速移動
M05           ; スピンドル停止
M00           ; オペレータによる確認待ち(オプション)

; 切断
M03 S1000     ; スピンドル再開
G01 X0 Z-50 F200 ; X0まで切断

; プログラム終了
M05         ; スピンドル停止
G00 X0 Z0   ; 原点に迅速移動
M30         ; プログラム終了とリセット
%

プログラムの説明

  1. G21: ミリメートル単位を使用。
  2. G18: XZ平面を選択。
  3. G90: 絶対座標指定を使用。
  4. G00 X0 Z0: 原点に迅速移動。
  5. M03 S1000: スピンドルを時計回りに回転、回転数は1000。
  6. G00 X200 Z0: 開始位置に迅速移動。
  7. G01 X150 Z-60 F200: 送り速度200でX150 Z-60まで直線運動(直径を150mmまで削る)。
  8. G00 X150 Z-60: 開始位置へ迅速移動。
  9. G01 X130 Z-70 F200: 送り速度200でX130 Z-70まで直線運動(直径を130mmまで削る)。
  10. G00 X130 Z-70: 開始位置へ迅速移動。
  11. G01 X150 Z-90 F200: 送り速度200でX150 Z-90まで直線運動(斜めに削る)。
  12. G00 X150 Z-50: 切り落とし位置へ迅速移動。
  13. M05: スピンドル停止。
  14. M00: オペレータによる確認待ち(オプション)。
  15. M03 S1000: スピンドル再開。
  16. G01 X0 Z-50 F200: X0まで直線運動で切断。
  17. M05: スピンドル停止。
  18. G00 X0 Z0: 原点に迅速移動。
  19. M30: プログラム終了とリセット。

このプログラムを使用して、CNC旋盤で指定された形状に加工できます。安全に作業を進めるために、プログラム実行前に確認とシミュレーションを行ってください。他にも質問があれば、いつでも聞いてくださいね。

-概要