NCプログラムの基礎知識

マシニングセンタ

NCプログラムとは

NCプログラムは、コンピューター制御された機械によって実行される作業手順の指示です。一般的には、CADソフトウェアで設計された部品のモデルを元に、CAMソフトウェアを使用してNCプログラムが作成されます。

NCプログラムには、加工操作の順序、切削パス、切削速度、送り速度、工具の選択などが含まれます。これらのプログラムは、工作機械のコントロールシステムによって読み取られ、実際の作業を行うための命令として解釈されます。

Gコード

Gコードは、コンピュータ数値制御(CNC)機械の制御に使用される一連の命令です。これらの命令は、工具の移動、切削速度、回転速度、工具の交換など、CNC機械が行う操作を指示します。Gコードは、通常、プレーンテキスト形式で記述され、各行に1つの命令が含まれます。

Gコードは、工作機械の制御システムによって解釈され、実際の作業を実行するための指示として処理されます。例えば、G01は直線補間を表し、工具の移動を直線的に行うことを指示します。G02とG03は円弧補間を表し、工具の移動を円弧状に行います。

Gコードには、ワーク座標系の設定、工具の選択、加工条件の設定、サブルーチンの呼び出し、パレットの操作など、さまざまな機能が含まれます。これらの命令を組み合わせて、CNC機械はCADモデルに基づいて部品を正確に製造します。

Gコードは、工作機械の種類やメーカーによって若干異なることがありますが、基本的な機能と命令は共通しています。 CNCプログラミングにおいて、Gコードを理解し、適切に使用することが重要です。

Gコード一覧

コード機能
G00位置決め
G01直線補間
G02円弧補間/ヘリカル補間 CW
G03円弧補間/ヘリカル補間 CCW
G02.2インボリュート補間 CW
G03.2インボリュート補間 CWW
G02.3指数関数補間 CW
G03.3指数関数補間 CWW
G04ドゥエル、イグザクトストップ
G05高速サイクル加工/高精度輪郭制御
G06.2NURBS補間
G07仮想軸補間
G07.1円筒補間
G08先行制御
G09イグザクトストップ
G10データ設定
G10.6工具退避および復帰
G11データ設定モードキャンセル
G12.1極座標補間モード
G13.1極座標補間モードキャンセル
G15極座標指令キャンセル
G16極座標指令
G17XY平面
G18ZX平面
G19YZ平面
G20インチ入力
G21メトリック入力
G22ストアードストロークチェックオン
G23ストアードストロークチェックオフ
G25主軸速度変動検出オフ
G26主軸速度変動検出オン
G27リファレンス点復帰チェック
G28リファレンス点への自動復帰
G29リファレンス点からの自動復帰
G30第2、第3、第4リファレンス点復帰
G30.1フローティングリファレンス点復帰
G31スキップ機能
G33ねじ切り
G37工具長自動測定
G39コーナオフセット円弧補間
G40工具径補正キャンセル
G41工具径補正左
G42工具径補正右
G40.1法線方向制御キャンセルモード
G41.1法線方向制御左オン
G42.1法線方向制御右オン
G43工具長補正+
G44工具長補正−
G45工具位置オフセット 伸張
G46工具位置オフセット 縮小
G47工具位置オフセット 2倍伸張
G48工具位置オフセット 2倍縮小
G49工具長補正キャンセル
G50スケーリングキャンセル
G51スケーリング
G50.1プログラマブルミラーイメージキャンセル
G51.1プログラマブルミラーイメージ
G52ローカル座標系設定
G53機械座標系選択
G54ワーク座標系1選択
G54.1追加ワーク座標選択
G55ワーク座標系2選択
G56ワーク座標系3選択
G57ワーク座標系4選択
G58ワーク座標系5選択
G59ワーク座標系6選択
G60一方向位置決め
G61イグザクトストップモード
G62自動コーナオーバライドモード
G63タッピングモード
G64切削モード
G65マクロ呼び出し
G66マクロモーダル呼び出し
G67マクロモーダル呼び出しキャンセル
G68座標回転
G69座標回転キャンセル
G72.1回転コピー
G72.2平行コピー
G73ペックドリリングサイクル
G74逆タッピングサイクル
G75プランジ研削サイクル(0-GSC)
G76ファインボーリングサイクル
G77プランジ直接定寸研削サイクル(0-GSC)
G78連続送り平研削サイクル(0-GSC)
G79間欠送り平研削サイクル(0-GSC)
G80固定サイクルキャンセル/外部動作機能キャンセル
G81ドリルサイクル、スポットボーリング/外部動作機能
G82ドリルサイクル、カウンターボーリングサイクル
G83ペックドリリングサイクル
G84タッピングサイクル
G85ボーリングサイクル
G86ボーリングサイクル
G87バックボーリングサイクル
G88ボーリングサイクル
G89ボーリングサイクル
G90アブソリュート指令
G91インクレメンタル指令
G92ワーク座標系の変更/主軸最高回転数クランプ
G92.1ワーク座標プリセット
G94毎分送り
G95毎回転送り
G96周速一定制御
G97周速一定制御キャンセル
G98固定サイクルイニシャルレベル復帰
G99固定サイクルR点レベル復帰
G107円筒補間
G150法線方向制御キャンセルモード
G151法線方向制御左側オン
G152法線方向制御右側オン
G160インフィード制御機能キャンセル
G161インフィード制御機能

Mコード

Mコードは、コンピュータ数値制御(CNC)機械において、機械の動作や機能を制御するための命令です。Gコードが工具の移動や切削速度などの工作に関する命令を担当するのに対し、Mコードは機械そのものの動作や機能を制御します。

Mコードは、機械の起動や停止、冷却液の供給、工具の交換、スピンドルの回転速度の変更、ツールチェンジャーの動作などの機能を指示します。これらの命令は、CNCプログラム内の特定の位置に配置され、機械が必要なタイミングで適切な動作を行うようにします。

例えば、M03はスピンドルを正回転させる命令であり、M05はスピンドルを停止する命令です。M08は冷却液を供給する命令であり、M09は冷却液の供給を停止する命令です。

Mコードは、機械の種類やメーカーによって若干異なることがありますが、一般的な機能と命令は共通しています。

Mコード一覧

コード機能
M00プログラムストップ
M01オプショナルストップ
M02エンドオブプログラム
M03主軸時計方向回転 
M04主軸反時計方向回転 
M05主軸停止 ※1
M06工具交換
M07クーラント2 
M08クーラント1 
M09クーラント停止 
M10クランプ1
M11アンクランプ1
M13主軸時計方向回転及びクーラント 
M14主軸反時計方向回転及びクーラント 
M15正方向運動 
M16負方向運動 
M19主軸オリエンテーション 
M30エンドオブデータ
M31インターロックバイパス 
M36送り範囲1 
M37送り範囲2 
M38主軸速度範囲1 
M39主軸速度範囲2 
M40〜45歯車選択 
M48オーバーライド無視のキャンセル 
M49オーバーライド無視 
M50クーラント3 
M51クーラント4 
M55位置1への工具の直線シフト 
M56位置2への工具の直線シフト 
M60工作物交換 
M61位置1への工作物の直線シフト 
M62位置2への工作物の直線シフト 
M68クランプ2 
M69アンクランプ2 
M71位置1への工作物の旋回シフト 
M72位置2への工作物の旋回シフト 
M78クランプ3 
M79アンクランプ3 

応用プログラム

プログラムは上から順番に下に向かって読み込んで行きますので、同じ工作物であれば同じプログラムを使い続けることができます。 しかし、ほんの少しだけ違う工作物の場合(例えば大きさや材質)わざわざプログラムを書き換えることをしなければなりませんが、条件付きNCプログラムを作成することで同じプログラムを使い続けることができます。

IF文

エクセルで数式を作ったことがある人ならすぐにわかる内容ですが、「IF文」は、プログラミングにおいて条件分岐を実現するための制御構造の一つです。一般的に、「もし〜ならば」という意味で用いられます。プログラムの中で特定の条件が成り立つ場合に、ある一連の命令を実行したり、別の条件が成り立つ場合には別の一連の命令を実行したりするために使用されます。

簡単な例を挙げると

#200=0 (材質がSSの場合0を代入)
IF[#200EQ0]GOTO5 (材質が0なのでN5に飛ぶ)
M3
S1200
N5
IF[#200GT0]GOTO6 (材質が0以上ならN6に飛ぶ)
M3
S2500

材質によって回転数を変えることができます。応用しながらどの工作物が来ても対応できるNCプログラムを作成できます。

比較演算子のコードは次のようになります。

NCコード意味
EQ左辺と右辺が等しい
(=)
NE左辺と右辺が等しくない
(≠)
LT左辺が右辺より小さい
(<)
LE左辺が右辺以下である
(<=)
GT左辺が右辺より大きい
(>)
GE左辺が右辺以上である
(>=)

まずは簡単なところからチャレンジしてみてください。

タイトルとURLをコピーしました