マクロ解説:第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 ~ #4030Gコード
#4109Fコード(送り)
#4113Mコード
#4114シーケンス番号
#4115プログラム番号
#4119Sコード(主軸回転)
#4120Tコード(工具番号)

位置情報

システム変数の末尾の数字が軸番号に対応します。X軸が軸番号1だと、対応するシステム変数は#5001や#5021になります。読み取り専用です。

システム変数番号内容
#5001 ~ #5020直前の終点位置(ワーク座標系)
#5021 ~ #5040現在の位置(機械座標系)
#5041 ~ #5060現在の位置(ワーク座標系)
#5061 ~ #5080G31などのスキップ位置(ワーク座標系)

ワーク原点オフセット量

G54などのオフセット量です。#5221がG54のXオフセット、#5222がG54のYオフセット……などと対応します。

システム変数番号内容
#5221 ~ #5240G54ワーク原点オフセット
#5241 ~ #5260G55ワーク原点オフセット
#5261 ~ #5280G56ワーク原点オフセット

自動運転

エラーや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データを検証することができます。

>訪問デモ・オンラインデモ受付中!

訪問デモ・オンラインデモ受付中!

弊社シンプルテックがご相談をお受けいたします。
ぜひお気軽にお問い合わせください!

CTR IMG