Skip to main content
CNC.wikiCNC.wiki

Fanuc SYS_ALM195・196・197システムアラームの対策とパラメータ設計

FanucのSYS_ALM195、196、197アラームの診断手順。I/O Linkのノイズ対策、PMCウォッチドッグ停止の回避、ラダーのネスティング制限、およびParameter 3196によるクラッシュ時のモーダル状態記録の手順まで徹底解説。

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE 共同創業者

はじめに

JD1AおよびJD1Bポートにおける瞬間的な電圧降下や配線の接触不良は、ワーク加工中のB軸クランプシーケンスを突如中断させ、主軸(spindle)やタレット(turret)といった精密機器への励磁電力を喪失させます。この瞬間、CNC画面にはSYS_ALM195、SYS_ALM196、またはSYS_ALM197のアラームが表示されてシステムが完全にフリーズし、暴走を防ぐためにすべての機械制御が遮断されます。これらは、リセットボタンの押下だけでクリアできる単純なプログラムの構文エラー(syntax error)ではなく、PMCのウォッチドッグタイマの停止やI/O Linkの通信途絶を意味する致命的なシステムエラーです。対策を怠れば、量産中のロット間における再現性の低下や非計画停止による不良品発生を招き、生産ライン全体を麻痺させる重大なリスクとなります。

技術概要

項目説明 / 値
コマンド / アラームコードSYS_ALM195, SYS_ALM196, SYS_ALM197
モーダルグループ / 属性Non-modal / System Alarm
対象ブランドFanuc
重要パラメータParameter No. 3196 Bit 7 (HAL), Parameters No. 12990 to 12999
主な制約事項PMCスタックのネスティングレベル上限は8。ノイズ干渉を防ぐため、JD1A/JD1Bケーブルの確実な接地(アース)処理が必要。

クイックリード

  • 通信切断の診断: SYS_ALM195は、JD1A-JD1Bポート間のI/O Link経路における物理的な配線不良または電源の不安定さとして扱い、サブコードPC050の有無を確認します。
  • ウォッチドッグ停止時のメイン基板検査: SYS_ALM196は、PMC CPU of 致命的な停止(内部コードPC073)として扱い、メイン基板の物理的な点検を行います。
  • ラダーロジック構造のチェック: SYS_ALM197は、システムソフトウェアの整合性を検証するか、CRCやSPE/FBEの構文エラー(サブコードPC097, PC070, PC071)がないかラダーロジックを監査します。
  • 状態キャプチャ用パラメータの設定: Parameter No. 3196, Bit 7 (HAL)を0に設定することで、システムクラッシュ時の機械の正確な絶対/機械座標およびモーダルなG-codeを自動的に記録します。
  • ラダーサブプログラムの監査: PMCサブプログラムのネスティング(CALL/CALLU命令)を厳密に8レベル未満に抑え、致命的なラダースタックエラーWN07の発生を防止します。
  • 軸干渉の隔離: 競合アラーム0130を防ぐため、PMC軸制御コマンドがNCコマンドと重複または競合しないように設計します。

基本概念

FanucのSYS_ALM195、SYS_ALM196、およびSYS_ALM197を取り扱う際、オペレータや保守エンジニアは、これらが単なるプログラムの記述ミスではなく、PMCやI/O Linkにおける深刻なシステムレベルのクラッシュであることを認識する必要があります。SYS_ALM196 PMC watchdogアラームが発生すると、PMC CPUが即座に停止し、サーボアンプおよびスピンドル(spindle)アンプの励磁電源が強制的にオフになります。実務上、これにより機械のすべての動作制御(machine control)が完全に失われます。瞬時停電や配線不良、あるいは過度なノイズ干渉によってI/O Link의通信エラー(SYS_ALM195)が発生した場合、機械はただちに外部の周辺機器との通信接続を失います。プログラマやオペレータは、I/O Linkの物理的な接続状態(JD1AポートとJD1Bポートの間)を細心の注意で監視し、機械が適切に接地(grounding)されていることを確認しなければなりません。I/O通信の途絶は、B軸クランプシーケンスやスピンドルクランプ完了信号といった重要な処理を唐突に中断させ、サイクル途中で機械を停止状態に追い込む原因になります。CNCからPMCへの通信異常が発生した場合、システムは特有のアラームコード(PC050やPC073など)を出力し、可動部品への電力を遮断します。これは破滅的な機械の暴走を防ぐための保護動作ですが、復旧には主電源の再起動(hard power reboot)が必要となります。

例えば、こうしたシステムアラームが発生する前に、定期的にFanuc SRAMのバックアップと復元を実行し、システムパラメータが失われないように保護しておくことが極めて賢明です。万が一システムでメモリ破損が発生した場合には、エンジニアはFanuc SRAMパリティアラームの回復手順に従って、システムの完全性を復旧することができます。すべての通信ノードが高い信頼性で動作し続けるためには、SV5134-SV5136 FSSB設定と同様の適切なハードウェア構成が不可欠です。

Fanucは、重大なPMCおよびI/Oシステム障害の処理において、他のNCブランドとは異なるいくつかの極めて独自の特徴を持っています。第一に、そのアラームログ機能(alarm logging)の構成が比類なく詳細である点です。parameter 3196 bit 7 (HAL)とparameters 12990から12999を活用することにより、Fanuc의コントローラはクラッシュした瞬間の機械の精密な状態のスナップショット(snapshot)を自動的に生成します。SYS_ALMが発生したまさにそのミリ秒単位のタイミングで、実行中だった最大10個のモーダルなG-code、補助機能(Mコードなど)、および絶対/機械座標をキャプチャし、エンジニアが突然のPMCダウンの背景を完全に再現できるようにします。第二に、Fanucは極めて具体的なサブコードを用いて内部PMCのエラーを個別に識別します(例えば、物理的な接続先であるチャンネルやグループを明示するI/O Linkエラー用のPC050、あるいはDCSPMC上のラダーCRCエラー用のPC097など)。このセグメント化された自己診断の仕組みにより、保守スタッフは、不具合の原因が物理的なI/Oのデイジーチェーンにあるのか、C言語ボードにあるのか、それともメイン基板(main board)の致命的なハードウェア故障(hardware drop)にあるのかを容易に見分けることができ、一般的なwatchdog障害よりもはるかに短時間で根本原因を突き止めることができます。

コマンド構造

致命的なシステムアラームであるSYS_ALM195、SYS_ALM196、およびSYS_ALM197は、標準的なプログラミング用のG-code命令ではありません。代わりに、これらは制御ユニットを即座に割り込み状態(interrupt state)にする、ハードウェア駆動の非モーダルな(non-modal)システムアラームとして機能します。障害が検知されると、システムは即座に動作を停止し、主軸(spindle)やタレット(turret)といった機械構造部品を保護します。この際、アクティブなG-codeブロックの座標値やモーダルな情報をキャプチャして、正確な動作環境を記録します。

この診断スナップショットを有効に活用するために、オペレータは設定用パラメータを介してログの動作をカスタマイズできます。システムパラメータは、これらのモーダル値を取り込むかどうか、およびどのG-codeグループを記録対象にするかを決定します。これにより、保守エンジニアは重要な機械の状態を失うことなく、クラッシュ時の詳細な状況を正確に分析できます。

アラーム自己診断アドレス構造:

SYS_ALM195 / SYS_ALM196 / SYS_ALM197

(注: これらはハードウェアおよびシステムレベルのアラームであり、実行可能なG-codeシンタックスではありません。しかし、発生時にはアラーム履歴内で以下のフォーマットのモーダルデータが記録されます)

Gxx Gxx Gxx ... Dxx Exx Fxx Hxx Mxx Nxx Oxx Sxx Txx [Absolute/Machine Coordinates]

パラメータ説明設定値の範囲 / 設定内容
Parameter No. 3196, Bit 7 (HAL)システムアラームの発生時に、詳細なG-codeモーダル、座標値、および補助機能を記録するかどうかを設定します。0(有効)、1(無効)
Parameters No. 12990 to 12999システムアラームで制御がクラッシュした際に、モーダルデータとして記録する具体的なG-codeグループ番号を設定します。G-codeのグループ番号(デフォルトでは01から10まで)
PMC System Parameter (MAX LADDER AREA SIZE)PMCシーケンスプログラムに割り当てるメモリの上限を設定します。システム/メモリサイズの上限値

ブランド別応用

Fanuc

Fanuc制御装置は、ハードウェア主導のシャットダウンルーチンによって、深刻なシステムレベルの割り込み処理を実行します。JD1AまたはJD1Bポートで物理的な障害が発生した場合、あるいはPMC CPUのウォッチドッグ(watchdog)障害によりラダーロジックが停止した場合、機械は致命的な割り込みループに入ります。この状態において、FanucはPC050(I/O Linkの具体的なチャンネル、グループ、モジュール情報を特定)やPC073などの詳細な内部コードによってシステムエラーを隔離します。PMC CPUは自動的に停止し、各軸の座標運動が急停止し、サーボレディ(servo ready)信号が強制的にオフになります。これにより各軸の暴走が防止され、バイスの爪(vise jaw)やスピンドルのチャック(chuck)などのデリケートな機械部品が保護されます。

ブランド比較

モデル / シリーズ / PMCオプションアラームおよび診断動作ハードウェア / ソフトウェアの相違点
Fanuc PMC C Boardアラーム WN17 (NO OPTION LANGUAGE) および WN18 (ORIGIN ADDRESS ERROR) をトリガーします。カスタムのPMCラダーインターフェース用のオプション基板として使用されます。正しいオプションパラメータの設定が必要です。
Fanuc PMC-SA1アラーム 970 NMI OCCURRED IN PMCLSI をトリガーします。PMC制御用LSIデバイスの内部でI/O RAMのパリティエラー(parity error)が検出されたときに発生します。
Fanuc Series 16i / 18i / 21i / 0i / 15iparameter 3196 bit 7 (HAL) および parameters 12990から12999を使用した詳細な状態キャプチャをサポートします。メイン基板(main board)の故障かソフトウェアのクラッシュかを特定するため、セグメント化されたPMC watchdog (PC073) およびラダーCRC (PC097) の診断機能を備えています。

技術解析

Fanucは、重大なPMCおよびI/Oシステム障害の処理において、他のNCブランドとは異なるいくつかの極めて独自の特徴を持っています。第一に、そのアラームログ機能の構成が比類なく詳細である点です。parameter 3196 bit 7 (HAL)とparameters 12990から12999を活用することにより、Fanucのコントローラはクラッシュした瞬間の機械の精密な状態のスナップショットを自動的に生成します。SYS_ALMが発生したまさにそのミリ秒単位のタイミングで、実行中だった最大10個のモーダルなG-code、補助機能、および絶対/機械座標をキャプチャし、エンジニアが突然のPMCダウンの背景を完全に再現できるようにします。第二に、Fanucは極めて具体的なサブコードを用いて内部PMCのエラーを個別に識別します(例えば、物理的な接続先であるチャンネルやグループを明示するI/O Linkエラー用のPC050、あるいはDCSPMC上のラダーCRCエラー用のPC097など)。このセグメント化された自己診断の仕組みにより、保守スタッフは、不具合の原因が物理的なI/Oのデイジーチェーンにあるのか、C言語ボードにあるのか、それともメイン基板の致命的なハードウェア故障にあるのかを容易に見分けることができ、一般的なwatchdog障害よりもはるかに短時間で根本原因を突き止めることができます。

これらの障害が物理的に与える影響を分析すると、通常のプログラムミスが軸の動きを一時停止させるだけであるのに対し、SYS_ALM196やSYS_ALM195はCNCとPMCの通信ラインを瞬時に遮断します。これによりPMC CPUが停止し、非常停止信号回路(emergency ready line)が開いてコイル電源(coil power)が強制遮断されます。その結果、ツールタレット(turret)やB軸クランプなどの周辺コンポーネントは完了信号を受け取れないまま宙に浮いた状態となり、システムを完全に再起動する以外に回復手段がなくなります。モデル固有の挙動について詳しく分析すると、PMC-SA1を搭載したシステムはLSIチップ上の物理的なRAMパリティエラーをNMIアラーム970として直接検出するのに対し、モジュール式のPMC C基板は基板構成によるエラー(WN17およびWN18)を発生させるため、モデルごとの特性に合わせた個別のアプローチが必要とされることが浮き彫りになります。

プログラム例

; Fanuc: Typical modal data block captured in alarm history during a SYS_ALM crash
G0. G17. G90. G22. G94. G21. G40. G49. G80. G98. D0. E0. F0. H0. M10.;

空運転 (dry run)の検証: 診断履歴(diagnostic history)でこれらのモーダルを確認し、クラッシュ発生時に機械が早送り(G00)、メートル法モード(G21)、絶対位置決め(G90)、およびXY平面選択(G17)の状態であったかを照合します。これにより、切断される直前に誤った座標コマンドがアクティブになっていなかったかを検証できます。

; Fanuc: B-axis clamp signal M-code or related indexing block captured during PMC fault
G0. G97. G69. G99. G21. G50.2 G25. G13.1 B0.;

空運転の検証: 物理的なクランプソレノイドを切断した状態で、B軸インデックスの制御された実行を行います。PMC信号(M10/M11クランプ/アンクランプ)がシーケンスのタイミングと一致し、ストールしないことを確認します。また、ソフトウェア軸制限G50.2がNCコマンドと競合していないことを確認します。

; Fanuc: Spindle stop and auxiliary function block
M05;

空運転の検証: 空運転状態で主軸(spindle)停止の実行を検証します。PMCが主軸停止信号を正常に受信し、補助的な機械プロセスが開始される前に主軸が完全に停止することを確認します。これにより、高負荷減速時の通信ケーブル(communication cabling)へのノイズ誘導リスクを軽減します。

エラー解析

アラーム / エラーコード検出条件オペレータの症状根本原因 / 解決策
SYS_ALM195I/O Linkの通信エラー機械が完全停止、CNC画面のフリーズサブコードPC050によって確認。JD1A-JD1B間のケーブル接続、シールド、接地(アース)、および電源ラインを点検します。
SYS_ALM196PMC CPUのウォッチドッグ(watchdog)アラーム励磁がオフになり、動作制御が完全に喪失内部コードPC073を伴う。PMCメイン基板やCPUハードウェアの物理的な欠陥を検査します。
SYS_ALM197CNCシステムソフトウェアとPMCラダーの矛盾ソフトウェアのフリーズ、DCSPMCのCRCエラーPC097PC070、またはPC071を伴う。ラダーロジックの完全性、DCSPMCファームウェア、CPUカード、またはC言語ボードを確認します。
0130NCとPMCの軸制御の競合0130エラーを伴い、軸移動が即時停止G-codeの軸プログラムコマンドとPMC駆動の軸コマンドが競合しています。アクティブなNCパスとPMCロジックを整理し、競合を解消します。
WN07ラダーサブプログラムのスタックネスティングオーバーフローラダー実行の即時クラッシュCALLまたはCALLU命令のサブプログラムネスティングレベルが8を超えています。ラダーのネスティング構造を簡略化します。
WN03PMCファンクション命令の実行失敗CNC-PMC間通信の中断ラダープログラムが急停止したため、ファンクション命令(WINDR, WINDW, EXIN, DISPB)が失敗しました。安定したラダーの実行を確保します。

実務応用ノウハウ

B軸クランプソレノイド周辺の高電磁ノイズや、JD1A-JD1B接続ケーブルのシールド不良は、突然の通信途絶を引き起こし、最終的にSYS_ALM195エラーを誘発します。この通信遮断は、サーボモーターの励磁遮断という重大な結果を招き、ワークの寸法精度における「再現性の低下」や加工寸法のばらつきによる「不良品発生」へ直結します。現場での不具合解決にあたっては、まずParameter No. 3196, Bit 7 (HAL)が0に設定されていることを確認し、自動的に記録されたクラッシュ直前の10個のG-codeモーダルデータ(Parameters No. 12990〜12999)と絶対座標値を確認してください。このデータを活用することで、障害が主軸(spindle)のクランプ動作中に発生したのか、あるいはタレット(turret)の旋回中に発生したのかを物理的な原因にまでさかのぼって正確に特定できます。また、CALLまたはCALLU命令を用いたラダープログラムの設計時には、ネスティングの深さを必ず8レベル以下に抑え、WN07アラームによるPMCの非常停止を未然に防ぐことが、量産ロットにおける稼働安定性を維持するための必須要件です。

関連コマンド

  • WINDR: PMC側からCNCデータを読み込むために使用されます。システムクラッシュによってCNC-PMC間の通信が寸断されると実行に失敗し、アラームWN03が発生します。
  • WINDW: PMC側からCNCにデータを書き込むために使用されます。動作中に通信が切断されると、即座にWN03エラーが引き起こされます。
  • EXIN: ラダー内での外部入出力通信を有効にします。SYS_ALM195などのケーブル障害によって物理的なデイジーチェーン(daisy-chain)が停止した場合、即座に失敗します。
  • DISPB: PMCからCNC画面へのメッセージ表示を制御します。PMCのウォッチドッグ(watchdog)CPU停止(SYS_ALM196)の発生中は機能しなくなります。

おわりに

Fanuc制御装置を搭載したマシニングセンタにおいて、ロット生産の寸法安定性を確保するためには、システムレベルのアラームに対する事後的な処置ではなく、予防的なパラメータ設計と定期的な物理点検が不可欠です。Parameter No. 3196, Bit 7 (HAL)を0に設定してクラッシュ状態のスナップショット記録を有効化し、JD1A-JD1Bケーブルの確実なアース接地処理とPMCラダープログラムのスタック制御(ネスティング制限8)を標準手順として定着させることが推奨されます。これらの方策は、瞬間的な電源異常やロジック干渉による突然の機械フリーズを未然に防ぎ、再現性の低下や不要な非計画停止に伴う不良品発生という壊滅的なリスクから量産現場を守る唯一の手段です。

よくある質問

SYS_ALM195が発生した場合、ケーブル交換の前に実施すべき物理チェックは何ですか?

JD1A-JD1Bのコネクタピンの抜けや緩みを点検し、さらに強電盤からの誘導ノイズを防ぐため、シールドが適切に接地(グラウンディング)されているかをテスターで確認してください。特に高負荷スピンドル減速時のノイズによりエラーが発生することがあるため、グラウンド線を最短距離でアースプレートに接続する処置を行ってください。

Parameter 3196のBit 7 (HAL)が設定されているか確認する手順と、そのメリットは?

MDIモードでパラメータ画面を開き、「3196」の7番ビット(最左端)を確認します。ここが0であれば、万が一システムアラームが発生した際にも自動的に詳細なG-codeモーダルと絶対/機械座標が記録されるため、MDI画面から不具合発生直前の指令値と座標変化を即座に確認するアクションを実行できます。

ラダープログラムのサブプログラム呼び出しでWN07エラーを回避するための具体的な設計制限は?

CALLおよびCALLU命令を使用したサブルーチンの多重呼び出し(ネスティング)は、システムの内部スタックメモリ制限により8レベル未満(最大7レベル)に制限されます。ラダー設計時には、共通処理を多層化するのではなくフラットな構造に統合し、メモリ領域(MAX LADDER AREA SIZE)の配分を最適化する整理を実行してください。

まだ解決しませんか?

このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

AIアシスタントに質問する
Hakan Gündoğdu
Hakan Gündoğdu
  • 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の共同創業者として活動を続けています。

関連記事

このトピックに関する他の記事

G73とG83ペックドリルサイクル:深穴ミリング完全ガイド

Fanuc、Siemens、MitsubishiにおけるG73高速ペックおよびG83深穴ドリルサイクルを徹底解説。ロット間寸法ばらつきを防ぐパラメータ5114設定、アラームPS0045原因と対策、再現性の高い加工ノウハウを網羅。

MitsubishiFanucProgramming

G50.2とG51.2ポリゴン加工のプログラミングと安全な同期パラメータ設定

Fanuc、Siemens、MitsubishiのCNC旋盤におけるG50.2・G51.2ポリゴン加工のプログラミング解説。同期パラメータ(7610、#1501)の設定、クランプ診断、アラーム回避手順など、量産時の寸法ばらつきを防ぎ繰り返し精度を高めるノウハウを徹底網羅。

SiemensMitsubishiProgramming

G31スキップ機能とCNCプローブ測定プログラム:ファナック・シーメンス・三菱

ファナック、シーメンス、三菱のG31スキップ機能とプローブ測定プログラムの構築手順。クラッシュを防ぐG40設定やサーボ遅れパラメータ(SEA/SEB)の補正により、量産後半のロット間での寸法ばらつきを防ぎ、繰り返し精度と加工再現性を劇的に向上させる実務ノウハウを徹底解説。

SiemensMitsubishiProgramming

G07.1シリンダ補間のプログラミング方法とアラーム対策

Fanuc、Siemens、三菱CNCにおけるG07.1シリンダ補間の完全ガイド。軸マッピングパラメータの設定方法、G00指令によるPS0176やP481アラームの原因と解決策、干渉を防止する安全なプログラミング手法を徹底解説。

SiemensMitsubishiProgramming