FANUC CNCシステムにおけるカスタムマクロ変数の名前参照
カスタムマクロは、FANUCが「システム変数」と呼ぶものを通じて、多くのCNC関連機能へのアクセスを提供します。このデータには以下が含まれます:
- 入出力信号(外部デバイスとの通信)
- オフセット(オフセットレジスタの読み書き)
- アラームとメッセージ表示(プログラムがエラー検出時にCNCアラームを生成)
- オペレーターパネル機能へのアクセス(シングルブロック、フィードホールド、フィードレートオーバーライドの有効/無効)
- 時刻/日付とクロックタイマーへのアクセス(イベントの計時)
- 現在のモーダル状態へのアクセス(モードの判定/変更)
- 現在の軸位置へのアクセス(プローブ使用時に重要)
従来、FANUCではこれらのデータを覚えにくい4桁の番号で参照する必要がありました。例えばアラーム生成はシステム変数#3000で指定します。#3000=100(TOOL TOO WIDE) とすると、「MC-100 TOOL TOO WIDE」アラームが発生します。
現在のFANUC CNCでは、システム変数を名前でも参照できます。アラーム生成用システム変数の名前は [#_ALM] です。すべてのシステム変数名は角括弧で囲まれ、ポンド記号とアンダースコア(#_)で始まります。[#_ALM]=100(TOOL TOO WIDE) でも同じアラームが発生します。
名前参照の利点
1. 視認性の向上: システム変数番号に不慣れな人でも、名前入りコマンドなら何をしているか直感的に理解できます。
2. 番号付きデータへのアクセスが容易に: オフセットなど番号付きデータにアクセスするシステム変数は、データタイプごとに恣意的な番号系列が割り当てられています。例えば人気のマシニングセンタオフセットテーブル構成では、工具長補正ジオメトリレジスタ(オフセット1〜200)に#2201〜#2400、摩耗オフセットに#2001〜#2200、カッタ半径補正ジオメトリに#2601〜#2800、摩耗に#2401〜#2600が使われます。個々のレジスタへのアクセスアルゴリズムはありますが、どの系列がどのデータか覚えるのは困難です。しかもCNCやオフセット構成によって番号系列が異なります。
名前参照では、データ番号がレジスタ番号と対応します。オフセット番号5(摩耗/ジオメトリ、長さ/半径問わず)にアクセスするならデータ番号は5です。さらに、変数名の方が番号より意味が通ります。
前述のマシニングセンタオフセットテーブルのシステム変数名(nはデータ番号):
[#_OFSHG[n]]— 工具長補正ジオメトリオフセット[#_OFSHW[n]]— 工具長補正摩耗オフセット[#_OFSDG[n]]— カッタ半径補正ジオメトリオフセット[#_OFSDW[n]]— カッタ半径補正摩耗オフセット
以下のどちらのコマンドも、工具長補正ジオメトリオフセットレジスタ番号5の現在値をコモン変数#101に格納します。
#101 = [#_OFSHG[5]]#101 = #2205
システム変数名はユーザーが制御できません。FANUCオペレーターズマニュアルで所定の名前を確認する必要があります。ただし、SETVN コマンドで、#500系列の永久コモン変数(#500〜#549)のうち50個まで、最大8文字(英数字、最初は文字)で名前を付けられます。命名後は、システム変数と同様、番号でも名前でも参照可能です。
例:SETVN 510[DIA1, LENGTH1, DIA2, LENGTH2]
値510は命名開始変数(#510)を指定。最初のカンマ前の名前が#510の名前、以降順次適用されます。実行後、#510〜#513が [#DIA1], [#LENGTH1], [#DIA2], [#LENGTH2] と命名されます。変数名は電源投入後も保持されます。
永久コモン変数の命名はシステム定数(複数プログラムや類似機械間で共有する値)と相性が良いです。例:2台の類似旋盤で、一方は低/高速レンジにM41/M42、もう一方はM23/M25を使用する場合。SETVN 521[LOW_RNG, HIGH_RNG] と命名し、各機で#521を低速Mコード(23または41)、#522を高速値(25または42)に設定。プログラムでは M[#LOW_RNG], M[#HIGH_RNG] で主軸レンジを指定します。
他のシステム定数例:
[#APR_DIST]— 急速接近距離を容易に変更可能[#SPD_%]/[#FEED_%]— 材料硬度変動に対応した切削条件調整[#FASTFEED]— 接近/退避動作の送り速度指定
産業機器
- エアコンプレッサーシステムの効率を高める:実証済みのヒントと戦略
- 現場条件がエアコンプレッサーの効率とエネルギーコストに与える影響
- 真空システム監査の完全ガイド:重要性、実施手順、コスト削減効果
- 圧縮空気中のコンタミネーションが生産プロセスに与える影響と防止策
- エアコンプレッサーのピーク性能を維持するエキスパートメンテナンスガイド
- C言語変数・定数・リテラル完全ガイド
- C言語ストレージクラス完全理解:スコープ・ライフタイム・パフォーマンス
- C言語の変数を理解する:型、命名規則、メモリ管理
- C++変数のスコープを理解する:ローカル変数とグローバル変数
- Python 変数とデータ型:型の理解と活用
- Java変数の種類:ローカル、インスタンス、クラス変数を徹底解説