はじめに
NC工作機械では、加工プログラム(NCプログラム)を効率的に作成するために変数が活用されています。変数を使用することで、同じ加工の繰り返しや座標計算、自動補正などを簡単に行うことができ、プログラムの保守性や生産性が大きく向上します。
特にFANUCをはじめとするNC装置では、マクロプログラム(Custom Macro)と組み合わせることで、高度な自動化や柔軟な加工制御が可能になります。
今日では、NCプログラムの変数の種類や使い方、具体的な活用例を交えながら詳しく解説します。
NCプログラムの変数とは?
NCプログラムの変数とは、数値を一時的または継続的に保存するためのメモリです。
通常のNCプログラムでは、
G01 X100.0 Y50.0
のように数値を直接入力しますが、変数を使用すると
#100=100.0
#101=50.0
G01 X#100 Y#101
と記述できます。
変数を利用することで、
- 同じプログラムを様々なサイズに対応できる
- 数値変更が簡単になる
- 加工条件の自動計算ができる
- プログラムの再利用性が高まる
といった多くのメリットがあります。
NCプログラムの変数の種類
NCプログラムでは、大きく分けて3種類の変数が使用されます。
① ローカル変数(#1~#33)
特徴
ローカル変数は、一時的に使用する変数です。
主に
- G65によるマクロ呼び出し
- サブプログラム
で使用されます。
サブプログラムが終了すると値は消去されます。
使用例
O1000
G65 P2000 A50.0 B20.0
M30
O2000
#3=#1+#2
M99
この場合
- #1 = 50
- #2 = 20
- #3 = 70
となります。
② コモン変数(#100~#199)
特徴
コモン変数は、複数のプログラムで共有できる変数です。
加工寸法や送り速度など、共通で使用したい値を保存できます。
使用例
#100=10
#101=5
G01 X[#100+#101] F100
実際の移動位置は
X15
になります。
このように計算結果をそのまま座標に利用できます。
③ システム変数(#500~#999)
特徴
システム変数はNC装置が管理している特殊な変数です。
主な用途は
- 工具補正
- ワーク座標
- 加工時間
- 現在位置
- アラーム情報
などです。
一部の変数は電源を切っても保存されます。
使用例
#510=20.0
G43 H1 Z[#510]
工具長補正を変数で管理できます。
NCプログラムで変数を活用する方法
① 計算処理
変数は四則演算が可能です。
#1=10
#2=20
#3=#1+#2
#4=#2-#1
#5=#1*#2
#6=#2/#1
結果
- #3=30
- #4=10
- #5=200
- #6=2
となります。
さらに
SIN
COS
TAN
SQRT
ABS
ROUND
FIX
FUP
などの数学関数も利用できます。
② 条件分岐(IF文)
条件によって加工方法を変更できます。
#1=5
IF[#1 EQ 5] GOTO100
N100
M30
比較演算子には
- EQ(=)
- NE(≠)
- GT(>)
- LT(<)
- GE(≧)
- LE(≦)
があります。
例えば
IF[#100 GT 50] GOTO200
は、
「#100が50より大きい場合にN200へジャンプ」
という意味です。
③ ループ処理(WHILE)
繰り返し加工では非常に便利です。
#1=1
WHILE[#1 LE 5]DO1
G01 X#1 F100
#1=#1+1
END1
結果
X1
X2
X3
X4
X5
まで自動で加工されます。
穴加工や等間隔加工などで頻繁に利用されます。
実際の加工現場での活用例
等ピッチ穴加工
開始位置 X0
穴ピッチ 20mm
穴数 10個
変数を使用すると
#100=0
#101=20
#102=10
#103=1
WHILE[#103 LE #102]DO1
G81 X#100 Y0 Z-15 R2 F150
#100=#100+#101
#103=#103+1
END1
穴数やピッチを変更するだけでプログラムを作り直す必要がありません。
ワークサイズ変更
例えば製品サイズが
- 100mm
- 150mm
- 200mm
に変わる場合でも、
#100=100
を
#100=150
へ変更するだけで対応できます。
量産品では大幅な工数削減になります。
変数を使用するメリット
プログラムを短縮できる
同じコードを何度も書く必要がなくなります。
メンテナンスしやすい
寸法変更も変数を書き換えるだけです。
ミスを減らせる
数値を何度も入力しないため、入力ミスを防止できます。
加工時間を短縮できる
マクロ化することでプログラム作成時間が大幅に短縮されます。
再利用性が高い
一度作成したマクロは、他の製品にも簡単に流用できます。
使用時の注意点
変数は非常に便利ですが、いくつか注意点もあります。
- システム変数はNC装置の動作に影響するため、内容を十分理解して使用する。
- コモン変数は他のプログラムと共有されるため、意図しない上書きに注意する。
- NCメーカー(FANUC、三菱電機、オークマ、ヤマザキマザックなど)によって利用できる変数やマクロ機能が異なる場合があるため、使用する機種のマニュアルを確認する。
まとめ
NCプログラムの変数は、加工プログラムの柔軟性と効率を大きく向上させる重要な機能です。
ローカル変数・コモン変数・システム変数を適切に使い分けることで、座標計算や加工条件の自動設定、条件分岐、ループ処理など高度な制御が実現できます。また、マクロプログラムと組み合わせれば、同一プログラムを多様なワークに適用でき、プログラム作成時間の短縮やヒューマンエラーの防止にもつながります。
製造現場では、変数を使いこなすことが生産性向上や品質安定化の鍵となります。NCプログラムを学び始めた方は、基本的な変数の使い方から習得し、徐々にマクロや自動化技術へとステップアップしていくことをおすすめします。


