NCプログラムの構造|誰でもわかる!工作機械を徹底解説

NC工作機械で使用するNCプログラムは、NC言語というプログラミングの専門用語でできています。NCプログラムは、加工開始場所の座標指令、主軸速度設定などの準備指令、実際に加工を行う座標の移動指令などの指令を出し、NC工作機械を制御します。

今回は、そのNCプログラミングのデータ構造について解説します。

NCデータの書式

NCプログラムは、複雑な加工では専用のCAD/CAMソフトウェアを使うことが多いですが、簡単な加工であればパソコンのテキストエディタで作ることもできます。

 例)G01 X50.0 Z-60.0 F0.1;

上記は、NC旋盤で外丸削りをする際のNCコードです。このようなコードが羅列されたテキストがNCデータとなります。

ソフトウェアを使った場合でも出来上がったNCデータはテキストになっているため、後からでも工程の確認、修正することができます。

アドレス

NCプログラムのコードは英字と数字の組み合わせで出来ています。英字の部分をアドレスといいます。以下のコード例でいうと赤字部分がアドレスになります。

 例)G01 X50.0 Z-60.0 F0.1;

機械の各種動作に関する機能ごとに、使用するアドレス(アルファベット)が決まってます。主なアドレスは次の通りです。

アドレス 機能・名称 用途
O プログラム番号 プログラムの識別
N シーケンス番号 行のブロック番号
G 準備機能 位置決めや主軸移動などの動作指令
M 補助機能 主軸回転開始や切削剤ONなど機械の制御指令
X, Y, Z, U, W, I, J, K 座標語 X, Y, Z, U, W:軸移動の指令
I, J, K:円弧の中心座標
R 円弧半径指定 円弧の長さ半径を指定
S 主軸機能 主軸の回転数設定(RPM)
F 送り速度指定 切削時の送り速度設定(mm/min)
T 工具機能 工具番号の指定
P ドウェル 指定時間停止

データ

アドレスに続く数値をデータといいます。以下コードの赤字部分がデータになります。

 例)G01 X50.0 Z-60.0 F0.1;

ワード

アドレスとデータを組み合わせたものをワードといいます。以下のコードでは、合計4個のワードがあります。

 例)G01 X50.0 Z-60.0 F0.1;

EOB

NCプログラムは行の最後に必ずセミコロン”;”がつきます。このセミコロンをエンドオブブロック(EOB)といい、行の終了を意味します。また、このEOBからEOBまでをブロックといいます。

パソコンのテキストで作成する場合は、このEOBは入力する必要はありません。NC装置が読み込むときに自動的に改行がEOBに変換されます。

※実際には行の先頭にプログラム番号(O□□□□)とシーケンス番号(N□□□□)がつきます。

プログラム番号とシーケンス番号

ブロック数の管理やプログラムのリストを管理しやすくするためにプログラム番号(Oコード)やシーケンス番号(Nコード)を使用します。数値は自由に設定することができます。

※小数点は使用できません。

まとめ

今回はNCプログラムのデータ構造について解説してみました。

実際にNCプログラムを作成する手順は次の通りとなります。

・座標系の設定(Gコード)
・加工の準備指令(M, Sコードなど)
・移動指令(Gコード)
・加工の終了~次工程の準備指令(M, Sコードなど)
・加工の終了指令(Mコード)

NC工作機械の種類によってプログラムの指令順序が決まっており、またNC装置(FanucやオークマのOSP,MAZAKのMAZATROLなど)によってもNCコード作成のルールが定義されているため、最初は工作機械のマニュアルを確認しながらNCデータを作成することになります。