マクロ解説:第6回 よく使うシステム変数一覧 (FANUC)
ここではFANUCメモリCのCNCをベースにして説明します。
FANUC系のシステム変数 (#変数) は
- 工具の位置(機械座標・ワーク座標)
- ワーク座標系
- 補正値
- モーダル情報
などのCNC内部データを読み書きできます。書き込みはできず読み取り専用のシステム変数もあります。
工具補正
ここでは形状補正のみに絞って説明します。
| システム変数番号 | 内容 |
|---|---|
| #2001~#2200 | 工具長補正量(H補正量)1~200までの補正番号 |
| #10001~#10999 | 工具長補正量(H補正量)。この番号でも可能。1~999までの補正番号 |
| #2401~#2600 | 工具径補正量(D補正量)1~200までの補正番号 |
| #12001~#12999 | 工具長補正量(D補正量)。この番号でも可能。1~999までの補正番号 |
例)
機械に登録されている補正番号がH1=100, H2=20, D1=10, D2=5, であるとします。
それぞれ#2001=100, #2002=20, #2401=10, #2402=5, とCNCでシステム変数がセットされます。
NCデータ内でコモン変数を使って
#100 = #2001
と指令すれば、#100にH1の補正量を読み取ることができます。
#10000台の変数が使われることもあります。意味は同じです。
モーダル情報
直前に指令されたブロックのモーダル情報を読み取りできます。読み取り限定です。
| システム変数番号 | 内容 |
|---|---|
| #4001 ~ #4030 | Gコード |
| #4109 | Fコード(送り) |
| #4113 | Mコード |
| #4114 | シーケンス番号 |
| #4115 | プログラム番号 |
| #4119 | Sコード(主軸回転) |
| #4120 | Tコード(工具番号) |
位置情報
システム変数の末尾の数字が軸番号に対応します。X軸が軸番号1だと、対応するシステム変数は#5001や#5021になります。読み取り専用です。
| システム変数番号 | 内容 |
|---|---|
| #5001 ~ #5020 | 直前の終点位置(ワーク座標系) |
| #5021 ~ #5040 | 現在の位置(機械座標系) |
| #5041 ~ #5060 | 現在の位置(ワーク座標系) |
| #5061 ~ #5080 | G31などのスキップ位置(ワーク座標系) |
ワーク原点オフセット量
G54などのオフセット量です。#5221がG54のXオフセット、#5222がG54のYオフセット……などと対応します。
| システム変数番号 | 内容 |
|---|---|
| #5221 ~ #5240 | G54ワーク原点オフセット |
| #5241 ~ #5260 | G55ワーク原点オフセット |
| #5261 ~ #5280 | G56ワーク原点オフセット |
自動運転
エラーやNCデータの管理に使います。多くの場合、システム変数に値を書き込んで使います。
| システム変数番号 | 内容 |
|---|---|
| #3000 | マクロアラーム |
| #3006 | メッセージとともに停止 |
| #3011(読み取りのみ) | 日付 |
| #3012(読み取りのみ) | 時刻 |
システム変数の使い方
掴んでいる工具が違ったらアラームを出す
(想定工具T10以外なら停止)
IF [#4120 NE 10] THEN #3000=1(TOOL NOT T10)
用途:#4120で現在掴んでいる工具番号を読み取り、意図している番号 (T10) でなければマクロアラームで停止します。
スキップ位置を使う
(例:Xマイナス方向へスキップ移動)
G91 G31 X-50. F200. (skip)
G90
#101 = #5061 (skip X position)
用途:G31のスキップ位置で止まった値(X座標値)を#101で読み取ります。この値を使って、ワーク端面基準の原点設定などへ展開できます。
作業者に確認させる停止
#3006=1(CHECK CLAMP AND PRESS CYCLE START)
用途:段取りや測定、切り粉掃除などで止めて加工状態を確認します。
G54の値をG55へコピー
( G54 -> G55 コピー )
#5241 = #5221 (G55 X = G54 X)
#5242 = #5222 (G55 Y = G54 Y)
#5243 = #5223 (G55 Z = G54 Z)
用途:NCデータ内で新たなワーク座標系を設定したい場合に使います。
他にも多くのシステム変数がCNCには存在します。NCVIEWのマクロデバッガではシステム変数に限らず、マクロ変数の一覧をNCデータとともに確認できます。加工にかける前の不安なNCデータを検証することができます。