Fanucカスタムマクロ有効化パラメータ(0932/8135)の設定と衝突回避ガイド
Fanucカスタムマクロ有効化パラメータ0932および8135の設定手順、共通変数拡張、工具補正マッピング(V15)について解説。ロット間での再現性低下やアラーム123による非計画停止、チャックやバイスジョーへの激しい機械衝突(ハードクラッシュ)を防ぐ段取り実務。
はじめに
FanucのCNCにおいて、カスタムマクロの有効化パラメータ(8135#5や0932など)が未設定のままG65やG66などのマクロプログラムを実行すると、制御装置はマクロロジックを読み込めず即座にアラーム停止するか、あるいは不正確なオフセットアドレスが参照されることで、スピンドルやタレットが超高速の早送り動作でワーククランプやマシニングバイスの口金(バイスジョー)、あるいはチャックへ猛烈に突き刺さる致命的な機械衝突を引き起こす。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。量産現場における信頼性の確保とロット間での繰り返し精度の維持は極めて重要である。非計画停止を未然に防ぎ、再現性の低下や不良品発生を排除するためには、段取り前に8135番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。本稿では、カスタムマクロ有効化パラメータの正しい設定手順とエラー回避のポイントについて技術的に解説する。
技術概要
| 仕様項目 | 技術詳細 / 状態 |
|---|---|
| コマンドコード | G65 (単純呼び出し)、G66 (モーダル呼び出し)、G67 (モーダル呼び出しキャンセル) |
| モーダルグループ | 非モーダル (G65) / モーダル (G66) |
| 対象ブランド | Fanuc |
| 重要パラメータ | パラメータ 0932#2 (マクロ A)、パラメータ 0932#3 (マクロ B)、パラメータ 8135#5 (マスタ切り替え) |
| 主な制約事項 | カスタムマクロAとカスタムマクロBを同時に有効にすることはできません (パラメータ0932のビット2とビット3)。DNC運転中、カスタムマクロ制御コマンドの実行は厳密に禁止されています。 |
クイックリード
- 同時有効化環境の禁止: フォーマットおよびシステムの競合を防止するため、パラメータ0932#2(カスタムマクロA)と0932#3(カスタムマクロB)を同時に1に設定しないでください。
- マスタロックの解除: G65マクロ呼び出しや変数演算を実行できるようにするため、パラメータ8135#5(NMC)が0(使用する)に設定されていることを確認してください。
- 変数レジスタの拡張: パラメータ8135#6(NCV)を0に切り替えることで、共通変数を標準の#100〜#149から、最大#199および#500〜#999まで拡張します。
- 制御装置の原点復帰検証: 軸座標をプログラムの物理変数と一致させるため、マクロを呼び出す前にG28基準点復帰を実行してください。
- レガシー変数マッピングの監査: 工具補正アドレスの誤解釈を防ぐため、レガシーなFanuc FS15マクロプログラムをインポートする場合のみ、パラメータ6000#3(V15)を1に設定してください。
- DNC計算のロックアウト防止: DNCインターフェース経由でマクロロジックをストリーミングしないでください。実行するとアラーム123(DNC中のマクロ命令使用不可)が発生します。
- 有効化ステータスの確認: アラーム113やアラーム114によるフォーマット停止を防ぐため、G65コードを実行する前にマクロ有効化パラメータが有効であることを確認してください。
基本概念
Fanucのカスタムマクロ有効化パラメータは、硬直的なCNC制御装置を動的で数学的な演算エンジンへと変貌させる基礎的なゲートウェイとして機能します。パラメータ0932#2(カスタムマクロA)または0932#3(カスタムマクロB)などのビットを有効にすることで、機械メーカーやプログラマーは、変数、論理ループ、自動計測(プロービング)ルーチンなどを現場で直接利用できるようになります。Fanucは、そのマクロアーキテクチャを他の制御盤ブランドと明確に区別する3つの具体的な挙動を持っています。第一に、FanucはカスタムマクロAとカスタムマクロBの両方を同時に有効にすることを厳密に禁止しています。マニュアルにはパラメータ0932のビット2と3を同時に選択することはできないと明記されており、メーカーはいずれか一つの明確な数学的環境を選択せざるを得ません。
第二に、Fanucは物理的なハードウェア変更を必要とせず、パラメータのみで詳細なメモリ拡張を可能にします。パラメータ8135#6(NCV)を0に切り替えるだけで、CNCは即座に「追加の共通変数」を解放し、複雑な空間データを変数#999まで追跡する機能を大幅に拡張します。最後に、Fanucは厳格なネットワーク安全ロックアウトを強制します。データ回線上を流れるあらゆるコードを読み込もうとする単純な制御盤とは異なり、FanucはDNC運転中にマクロ制御コマンドが使用された場合に能動的にアラームを発生させ、動的なロジック処理を制限します。包括的な変数管理については、g65-custom-macro-bおよびg65-macro-argument-assignmentのガイドを参照してください。
コマンド構造
カスタムマクロの実行は、ローカル変数に数値を引数として渡す明確な呼び出し命令に依存します。主な方法は単純呼び出し(G65)であり、送り速度、座標、工具などのパラメータをバインドしながら、指定されたサブプログラムを1回実行します。
各移動ブロックで繰り返す必要がある加工に対して、制御装置はモーダル呼び出しをサポートします。この機能はキャンセルされるまでアクティブな状態を維持し、軸移動の直後にマクロサブプログラムを実行します。
G65 P_ L_ <arguments>;
G66 P_ L_ <arguments>;
G67;
| パラメータ | 説明 | 設定範囲 / 設定値 |
|---|---|---|
| パラメータ 0932#2 | カスタムマクロA機能を有効にする。 | 0 (無効) または 1 (有効) |
| パラメータ 0932#3 | カスタムマクロB機能を有効にする。 | 0 (無効) または 1 (有効) |
| パラメータ 8135#5 (NMC) | カスタムマクロ使用のマスタ切り替え。 | 0 (使用する) または 1 (使用しない) |
| パラメータ 8135#6 (NCV) | カスタムマクロ共通変数の追加(変数を標準の#100〜#149から、最大#199および#500〜#999へ拡張)。 | 0 (使用する) または 1 (使用しない) |
| パラメータ 6003#7 (MUS) | 割込み型カスタムマクロを使用するかどうかを決定する。 | 0 (使用しない) または 1 (使用する) |
| パラメータ 6000#3 (V15) | 工具補正システム変数をレガシーなFS15マッピングに対応付ける。 | 0 (FS16) または 1 (FS15) |
ブランド別応用
Fanuc
Fanucシステムは、コアプロセッサレベルでカスタムマクロ機能を管理します。これらのシステムレベルのパラメータを変更するには、事前にパラメータ書き込み(Parameter Write Enable: PWE)設定を有効にする必要があります。このプロセスの詳細な手順については、fanuc-parameters-and-pweのガイドを参照してください。
プログラムはG65またはG66コードを使用してマクロを呼び出します。必要なパラメータが有効になっていない場合、これらのコードは構文エラー(シンタックスフォールト)を引き起こします。
| 設定項目 | 詳細 | 設定値 / 説明 |
|---|---|---|
| パラメータ 0932#2 | カスタムマクロAの有効化 | 0: 無効、1: 有効 |
| パラメータ 0932#3 | カスタムマクロBの有効化 | 0: 無効、1: 有効 |
| パラメータ 8135#5 (NMC) | マスタマクロ切り替え | 0: 使用する、1: 使用しない |
| パラメータ 8135#6 (NCV) | 共通変数の拡張 | 0: 使用する、1: 使用しない |
| アラーム 113 | 命令不正 (IMPROPER COMMAND) | アクティブなマクロ環境内で使用できないコマンドまたは構文が実行された場合に発生 |
| アラーム 114 | マクロフォーマットエラー (FORMAT ERROR IN MACRO) | 未定義のHコードまたは数式以外のフォーマットエラーが検出された場合に発生 |
| アラーム 123 | DNC中のマクロ命令使用不可 (CAN NOT USE MACRO COMMAND IN DNC) | DNC運転中にマクロ制御コマンドを実行しようとした場合に発生 |
| バージョン: Series 0 | 0-MD、0-GSD、0-GCDパッケージ制御 | パラメータ0932のビット2および3を介してマクロA/Bを明示的に有効化 |
| バージョン: 新シリーズ対FS15レガシー | 工具補正変数のブリッジング | パラメータ6000#3(V15)により、システム変数を標準のFS16レイアウトとレガシーなFS15レイアウトの間で切り替え |
誤ったパラメータを設定すると、安全制限が無効になったり、システム変数が誤ったレジスタにマッピングされたりして、意図しない工具の移動や機械衝突を引き起こす可能性があります。
ブランド比較
| モデル / シリーズ | マクロ有効化方法 | 共通変数の範囲 | 工具補正変数のマッピング |
|---|---|---|---|
| Series 0 (0-MD、0-GSD、0-GCD) | パラメータ0932#2(マクロA)および0932#3(マクロB)を介して有効化 | 標準の#100〜#149、パラメータ8135#6を介して#199および#500〜#999へ拡張可能 | 固定の標準レジスタマッピング |
| Series 15 / 15i (レガシー) | システムオプションまたはパラメータを介して有効化 | 標準の#100〜#149、レガシーなFS15補正マッピングを使用 | レガシーな変数レジスタセット |
| Series 16i / 18i / 21i / 0i / 0i-F | 標準のパラメータブロック6000番台および8135番台を介してマッピング | パラメータ8135#6を使用して#199および#500〜#999へマッピング | パラメータ6000#3(V15)を介して標準のFS16またはレガシーなFS15マッピングを構成可能 |
技術解析
Fanucのカスタムマクロパラメータに関する技術的分析により、レガシーなハードウェア依存の構成と、現代の柔軟なパラメータ構造との間の明確な境界線が浮き彫りになります。レガシーなSeries 0およびFS15制御装置では、カスタムマクロ環境はハードウェアパッケージと特定の変数マッピングによって厳しく制限されていました。その後に新しいSeries 16i、18i、21i、および0iシステムが導入された際、デフォルトの工具補正レジスタがレガシーなFS15規格と異なるため、重大な互換性の問題が生じました。このアーキテクチャ上のギャップを埋めるため、Fanucはパラメータ6000#3(V15)を導入しました。このパラメータにより、現代の制御装置でレガシーな変数レイアウトをエミュレートすることが可能となり、古いマクロプログラムの変数アドレスを大幅に書き換えることなく、工具形状へのアクセスが可能になりました。
プログラム例
#100 = 10.0 ; 共通変数#100に値10.0を代入
G65 P9010 A1.0 B2.0 ; 引数 A=1.0, B=2.0 でマクロプログラム9010を呼び出し
G66 P9100 I5.0 J10.0 ; 各移動ブロックで9100へのモーダルマクロ呼び出しを開始
G67 ; アクティブなモーダルマクロ呼び出しをキャンセル
空運転 (dry run)
空運転の間、オペレータはマシンロックをアクティブにした状態でこのシーケンスを実行し、マクロの実行と引数の転送を検証します。制御装置は変数#100に10.0を代入し、次にG65を使用してマクロプログラム9010を呼び出し、ローカル引数AおよびBを渡します。次に、G66がモーダルマクロ呼び出しを開始し、その後の各軸移動ブロックでプログラム9100を実行します。最後に、G67がモーダル呼び出しをキャンセルします。オペレータは、自動運転での切削を行う前に、マクロ変数画面を監視して値が正しく割り当てられていること、およびフォーマットアラームが生成されていないことを確認します。
エラー解析
| アラームコード | 発生条件 | オペレータが受ける症状 | 根本原因 / 対策 |
|---|---|---|---|
| アラーム 113 IMPROPER COMMAND | プログラマーがアクティブなカスタムマクロ環境内で使用できない機能または構文を指令した。 | CNCの運転が即座に停止し、軸の移動が禁止されます。画面にアラームメッセージが表示されます。 | 0932#3や8135#5などのマクロパラメータが有効であることを確認するか、無効なコマンド構文を修正します。 |
| アラーム 114 FORMAT ERROR IN MACRO | カスタムマクロAがG65ブロック内で未定義のHコードを指令したか、カスタムマクロBが数式以外のフォーマットエラーを検出した。 | CNCの運転が停止し、ディスプレイにフォーマットエラーの警告が表示されます。 | 数式のフォーマットを確認し、カスタムマクロAのすべてのHコードが定義されていることを確認します。 |
| アラーム 123 CAN NOT USE MACRO COMMAND IN DNC | 機械がDNC(直接数値制御)モードで運転中にマクロ制御コマンドを実行しようとした。 | 運転が即座に停止し、DNCマクロエラーメッセージが表示されます。 | DNCインターフェース経由でマクロ演算や制御ロジックをストリーミングしないでください。 |
実務応用ノウハウ
カスタムマクロ有効化パラメータの不整合は、量産ラインにおいて深刻な位置ズレによる刃具破損を招き、スピンドルやタレットがチャック、マシニングバイスの口金(バイスジョー)、あるいはワーククランプへ猛烈に突き刺さる致命的な衝突事故(ハードクラッシュ)を引き起こす。特に、カスタムマクロB機能が未有効のまま、あるいはレガシーなカスタムマクロAのみが有効な状態で複雑なマクロプログラムをロードした場合、CNCは un-enabled な変数や数式を解読できず、自動運転中に即座にアラーム113(IMPROPER COMMAND)やアラーム114(FORMAT ERROR IN MACRO)をスローしてサイクルを中断する。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。段取り前に8135番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。さらに、異なる世代の制御装置間でプログラムを移植する際は、工具補正変数のマッピングを決めるパラメータ6000#3(V15)の構成が極めて重要になる。V15パラメータの設定に誤りがあると、制御装置は工具形状データを読み取る際に全く異なるシステム変数アドレスへアクセスする。この異常な変数値に基づいて動的なZ軸の切込み深さやX軸のシフト量を演算すると、ツールパスは想定位置から数ミリメートル以上もズレた軌道を生成し、再現性の低下や大量の不良品発生に直結する。このような予期せぬ位置ずれとそれに伴う致命的な機械衝突を未然に排除し、ロット間で一貫した繰り返し精度を維持するためには、実加工に入る前のパラメータ整合性の確認が絶対条件である。
関連コマンド
- G65 (単純マクロ呼び出し): カスタムマクロサブプログラムを1回呼び出し、ローカル変数をマクロ環境に渡します。
- G66 (モーダルマクロ呼び出し): キャンセルされるまで、各移動ブロックの後にカスタムマクロサブプログラムを自動的に呼び出します。
- G67 (モーダルマクロ呼び出しキャンセル): アクティブなG66モーダルマクロ呼び出しモードをキャンセルします。
- G10 (データ設定): Gコードプログラム内でシステムパラメータや補正値をプログラムにより変更することを可能にします。
- M96 (割込みマクロ有効): 外部信号によって部品プログラムを割り込み、特定のマクロルーチンを実行することを可能にします。
- M97 (割込みマクロ無効): 意図しないプログラム停止を防ぐため、割込みマクロモードを無効にします。
おわりに
マクロ有効化パラメータの適切なキャリブレーションと検証は、高度なプロービングや制御フローロジックを安全かつ安定して実行するための土台となります。量産工程における寸法精度の安定とロット間での高い再現性を保証するためには、マクロ有効化パラメータ(0932や8135)の確認を標準段取りチェックシートに組み込み、実加工前に徹底することが不可欠です。初品加工時には、シングルブロック運転と変数確認画面を用いた空運転によって動作検証を行うことで、パラメータ設定ミスに起因する予期せぬ衝突や非計画停止を未然に防止し、生産ライン全体の品質と信頼性を強固に維持できます。
よくある質問
マクロプログラムを用いた量産加工において、加工ロットの途中から突然寸法がばらつき、ロット間での再現性が低下する原因と対策は何ですか?
原因の一つとして、パラメータ8135#6(NCV)による変数拡張の設定が不完全であり、限られた共通変数(#100〜#149)を他プログラムやマクロと共有したことで、変数データの一時的な上書きや競合が発生したことが挙げられます。これにより、特定の加工ロット後半で補正データが狂い、寸法ばらつきを誘発します。実務アクションとして、段取り前にパラメータ8135#6を0に設定して共通変数を#199および#500〜#999へ拡張し、各マクロプログラム専用の変数アドレスを独立させて登録してください。
新旧異なるFanuc制御装置間でカスタムマクロを移植する際、機械の衝突を避けるために事前に検証すべきパラメータは何ですか?
最も注意すべきは、工具補正レジスタの変数アドレス定義を指定するパラメータ6000#3(V15)です。新シリーズではデフォルトの補正変数アドレスが旧FS15規格と異なるため、検証せずにプログラムを実行すると全く異なる補正値が代入され、ツール位置の異常シフトによるクラッシュを招きます。実務アクションとして、プログラム変更を行わない場合はパラメータ6000#3(V15)を1(FS15互換)に設定するか、あるいは新シリーズのFS16標準アドレス(V15=0)に合わせてマクロ内の変数アドレスを再定義してください。
G65マクロを実行した際に「アラーム123(DNC中のマクロ命令使用不可)」が発生し、機械が非計画停止する原因と対処法は何ですか?
Fanucシステムでは、DNC(ダイレクト数値制御)によるプログラムストリーミング中に、条件分岐(IF)や繰り返し(WHILE)などのマクロ制御コマンドを実行しようとすると、インタープリタの処理バッファ競合を避けるためにアラーム123が発生して安全のために運転をインターロックします。実務アクションとして、制御ロジックや変数演算を含むマクロプログラムはDNCで転送せず、あらかじめCNCの内部メモリー(メモリカード等)へ登録し、そこからメインプログラムでG65 P_を呼び出すように構成を変更してください。
まだ解決しませんか?
このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2005)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
CNC工作機械業界のあらゆる分野で25年以上の経験を持ち、ブランドに依存しないコンサルティング、エンジニアリング、純正部品サービスを提供するCNC CAREの共同創業者として活動を続けています。
関連記事
このトピックに関する他の記事
Fanuc PMCラダー転送ボーレート(PCLDB)設定とエラー対策
Fanuc CNCにおけるPMCラダー転送用ボーレートパラメータ0060#1(PCLDB)の設定手順とポート0024の構成方法を解説。ER18やER17などの通信エラーを防止し、タレット衝突や不良品発生を防ぐための安全ロック機能と実務での対策を網羅します。
Fanucパラメータ10340自動バックアップ設定とトラブル対策
Fanuc CNC制御装置でパラメータ10340を使用してSRAM自動バックアップを実行する手順を解説。PMC信号ATBKの監視によるデータ破損防止、アラームPS0519の回避、工具オフセット復元時の衝突防止など、量産の繰り返し精度と信頼性を高める設定方法を紹介。
Fanuc 3D干渉チェックの設定手順と干渉回避パラメータ
Fanucの3D干渉チェックパラメータ設定手順を解説。パラメータ10930#0や10930#5の検証、アラームPS0492への対処、PMC信号TDICHGによる変更反映手順を解説し、ロット加工における激しい衝突事故や不良品発生を防ぐ実務技術。
Fanucの工具寿命管理パラメータ設定方法と衝突を防止する段取り手順
Fanucの工具寿命管理パラメータ(6800#2、6810)の正しい設定方法を解説。登録時のエラーアラーム156や159の発生原因と対策を提示し、量産時の工具折損に伴うspindleやturretの衝突事故(ハードクラッシュ)を防ぎ、ロット間の加工精度と高い再現性を維持します。