故障検出とは、システムの特性を監視し、その特性が予想される挙動や正常な挙動から逸脱し、性能の低下や故障につながる状況を特定することに焦点を当てた工学分野である。安全上重要なシステムにおいて不可欠である故障検出は、マイクロチップから宇宙船に至るまで、あらゆる業界において、運用コストや多額の損失をもたらすダウンタイムを削減する手段として、その重要性を高めている。
故障検出が活用されている代表的な業界には、次のようなものがあります:
こうした業界の多く、特に航空宇宙、医療、自動車業界では、故障が壊滅的な被害や人命に関わる事態を招く可能性があるため、設計段階および運用段階での故障検出が求められています。一方、半導体ICの設計・製造などの業界では、製造開始後の変更が極めて困難であるため、故障検出が設計プロセスの不可欠な要素として活用されています。また、あらゆる業界において、このプロセスは再設計、手直し、修理にかかるコストを削減するための費用対効果の高い手段となっています。
障害検出とは、障害検出・診断(FDD)、障害検出・隔離(FDI)、あるいは障害検出・隔離・復旧(FDIR)といった手法を用いて、システム内の障害を特定、理解、解決するための第一歩です。そのため、障害検出は単なる不具合の探知にとどまらない、はるかに重要なプロセスなのです。 包括的なFDIRプロセスの一環として、障害が重大な損害をもたらしたり、システムのパフォーマンスを低下させたりする前にそれを検出することで、企業を支援します。これにより、設計エンジニア、施設管理者、および保守チームは、異常によって保守コストが膨らんだり、故障が発生したり、怪我につながったりする前に、予防保守やその他の是正措置について効果的な判断を下すために必要な情報を得ることができます。
故障検出を行うエンジニアは、利用可能な数多くの手法を、データの取得元や解釈方法に基づいて、一連の標準的なアプローチに分類しています。各アプローチには長所と短所があり、エンジニアは評価対象の状況に応じて適切な手法を選択するよう努めています。
以下に、障害検出における最も一般的な手法を挙げます。
このアプローチでは、システムデータを分析し、各パラメータのリアルタイム値をあらかじめ設定された限界値と比較します。限界値を超えるとアラームが作動します。簡単な例として、自動車のエンジンに搭載された温度センサーが挙げられます。このセンサーは、エンジン冷却水の温度が110℃を超えると警告灯を点灯させ、120℃を超えるとエラーメッセージを表示します。この手法は単純ですが、システムが検知するように設計されている不具合しか検出できません。
モデルベースの故障検出では、エンジニアはシステムの数学的モデルを用いて、実世界のデータセットから得られる出力を予測します。監視ツールは、予測値と実測値の差、いわゆる「残差」を算出します。残差が指定された閾値を超えた場合、システムは故障を検知します。モデルベースのアプローチの利点としては、予期せぬ故障を検知できることや、過去のデータをモデルとして活用できることが挙げられます。一方、欠点としては、複雑なシステムの場合、モデルの作成が困難になることがある点が挙げられます。
この手法では、データストリーム内の値そのものを調べるのではなく、信号の周波数成分と、それが時間とともにどのように変化するかを分析します。このプロセスでは、高速フーリエ変換、統計的プロセス管理、またはウェーブレット解析を用いて、各信号が生成する通常の周波数パターンにおける変化を検知します。これは機械の故障診断、特に回転機械において非常に有用であり、振動や音響の変化から、機器の故障が発生する前にそれを予測することができます。 欠点としては、信号処理の複雑さや、信号ノイズに対する感受性の高さが挙げられます。
この故障検出手法では、履歴データ、あるいはシミュレーションやデジタルツイン から生成されたデータを用いて、システムの挙動をモデル化します。 この手法では、「正常」なデータと一致しないデータをすべて逸脱としてフラグ付けします。これは強力な故障検出手法であるだけでなく、予知保全や、故障が発生する前の診断ツールとしても活用できます。この手法の利点としては、非常に複雑なシステムへの対応力が高く、予期せぬ故障を特定できる点が挙げられます。一方、欠点としては、大量のデータが必要となることや、この戦略がブラックボックス的である点が挙げられます。
これとは少し異なる概念として、単一の値や信号ではなく、データや信号の組み合わせを評価するために、論理や決定木を用いる方法があります。このアプローチでは、ルールベースシステム、ファジー論理、故障木、エキスパートシステムなどを活用できます。これは、一連の事象が連鎖して故障に至る場合で、データが乏しい、単純かつ明確に定義されたシステムにおいて有効です。欠点としては、ナレッジベースの構築に時間がかかること、および既知の故障モードに限定されてしまうことが挙げられます。
障害の検出は、包括的な障害管理プロセスの第一歩です。問題が特定されたら、対応チームは標準的なプロセスに従って、その問題を管理・把握し、解決する必要があります。業界ごとに、そして多くの場合、その業界内の各企業ごとに、問題の特定から解決に至るまでを網羅し、得られた知見を組織内にフィードバックする、独自の障害管理プロセスが設けられています。
用語は用途によって異なりますが、特定された不具合に対処する際の手順のほとんどは、以下のいずれかのカテゴリーに分類されます。
障害検出には複数の実装方法がありますが、障害管理プロセス全体において重要なのは、検出されたすべての潜在的な障害を確実に捕捉し、さらなる調査や対応のために引き継ぐことです。
調査チームは、システム内のどこで障害が発生したかを特定し、その影響を受けた具体的なアセンブリ、サブシステム、コンポーネント、またはルーチンを特定する必要があります。これには、実際の障害を確認したり、誤検知を排除したりするために、システムの他の部分からのセンサー測定データを検証することがよく含まれます。
このステップでは、チームは不具合の内容(特定)と発生原因(診断)を明らかにします。 このステップの重要な側面として、故障の種類を分類すること――つまり、センサー、ソフトウェア、機械、製造上の欠陥、あるいはシステムのその他の要因のいずれに起因するものか――も挙げられます。また、このステップの成果として、原因の特定や、故障の重大度(軽微、機能低下、重大、安全関連など)の判定も行われます。
上記の情報を収集したら、チームは適切な文書を作成し、不具合の内容、発生場所、発生原因、深刻度、および影響を受ける対象者について、関係者に通知する必要があります。
障害対応ステップは、多くの場合、他のステップと並行して、あるいは検出直後に実行され、チームが障害の影響を軽減するために直ちに対処を行うものです。 より高度な制御システムでは、ソフトウェアに自動対応アルゴリズムが組み込まれている場合があります。また、障害によってアラームが作動した際に、オペレーターが介入するための標準操作手順(SOP)が定められていることも一般的です。対応策としては、システムの全部または一部を停止させる、冗長機能を活用する、あるいはシステムを稼働させたまま能力を低下させて運用を継続する、などが挙げられます。障害対応の目的は、機能を可能な限り維持しつつ、障害の拡大を食い止めることにあります。
障害は、障害復旧の段階で修正されます。これには、コンポーネントの修理や交換、ソフトウェアやハードウェアの再起動、動作パラメータの調整、あるいはハードウェア設計やソフトウェアコードの変更(バグ修正)などが含まれる場合があります。
運用が復旧した後、チームは障害後の検証や徹底的な根本原因分析を実施するか、あるいはその情報を機能安全評価に活用します。このステップの目的は、障害の再発の可能性を最小限に抑え、万が一再発した場合にその影響を回復・軽減するための是正措置を提言し、関連する障害について意思決定を行う関係者に情報を提供することです。
その性質上、障害検出には、システムに関するデータを収集し、それを監視して障害を検知することが含まれます。多くのアプリケーションにおいて、利用可能な情報の量と複雑さから、障害検出システムはビッグデータの範疇に分類されます。従来のデータ分析では、複雑なデータ、非線形なシステムの挙動、未知の障害、および漸進的な性能低下への対応が困難ですが、人工知能(AI)技術はこうした状況に最適です。 AIの手法は、障害に関する知識を学習し、分析手法を適応させ、人間や従来のデータ分析では見逃してしまうような障害を検出し、障害の早期発見を実現することができます。モノのインターネット(IoT)の導入によって生成されるデータの量と複雑さにより、正確な障害検出にはAIソリューションが不可欠となっています。
現在、故障検出におけるAIの実装の多くは、AIの決定論的な分野である「機械学習」に分類されます。機械学習では、過去のデータやシミュレーションによる合成データを用いて、システムが故障を認識できるよう学習させます。また、エンジニアの間では、ディープラーニング、データの要約、ログ分析、根本原因分析を支援するために、大規模言語モデル(LLM)を活用するケースも増えています。
故障検出のためのAI技術の代表的な例としては、次のようなものがあります:
エンジニアは、アプリケーションに障害検出機能を実装する際、さまざまなアプローチをとっています。業界によって詳細は異なりますが、障害検出ソリューションを効果的に実装するための以下の提案は、どの業界にも当てはまります。
現代の故障検出および診断の実装において重要な要素の一つは、包括的なソリューションの一環として、シミュレーションツールと機能安全ツールの両方を活用することです。開発チームは、機械システム向けのAnsys のTwin Builder(シミュレーションベースのデジタルツイン プラットフォーム)や、シノプシス のElectronicsデジタルツイン(eDT)といったツールを活用しています。 シノプシス Virtualizer、および シノプシス Platform Architect 集積回路向けのAnsys ElectronicsAnsys (eDT)などのツールを活用し、モデルのトレーニングに必要な仮想モデルや、リアルタイムデータとの比較用ベースラインモデルを作成します。さらに、Ansys Mechanical構造有限要素解析ソフトウェア、Fluent流体シミュレーションソフトウェア、HFSS高周波電磁界シミュレーションソフトウェアといったマルチフィジックス のツールを活用し、診断ツールに物理法則に基づいた挙動を付与しています。
Ansys やmediniなどの機能安全ツールは、機械システム向けのシステム指向の安全解析ソフトウェアであり、 シノプシス VCツール(VC Functional Safety Manager、 VC Z01X、VC Formal FuSa、VCS 機能検証 SolutionなどのVCツールは、電気および集積回路における機能安全に関する様々な国際規格を満たすために使用されています。
多くのアプリケーション、特に産業用およびビルシステムでは、同じデータを活用することで、エネルギー消費の最適化、パフォーマンスの向上、および予知保全の実現が可能となっています。例えば、ビルオートメーションシステムやHVACシステムでは、エネルギー管理と併せて故障検出機能を提供するFDDソフトウェアの導入が率先して進められています。製造分野のアプリケーション、特に高度に自動化されたシステムやロボット工学の分野では、故障検出とパフォーマンスの最適化を組み合わせています。
集積回路における故障検出は、その多くが製造前の設計段階で実施されるという点で独特です。このアプローチの目的は、論理エラー、シグナル・インテグリティ に関する問題、または電圧降下 によって引き起こされる故障を特定することです。チップの設計を変更するには莫大なコストがかかるため、設計が検証されて量産に入る前に、仮想モデルとテストパターンを用いて潜在的な故障を発見・除去します。エンジニアは、シノプシス VC Z01X 故障シミュレータ、シノプシス ZeBu サーバー、および シノプシス TestMAXなどを組み合わせて活用し、実環境と同じ検出手法を用いて設計を検証し、欠陥を検出しています。
IC設計において効果的な故障検出を行うための鍵は、仮想テスト用のテストパターンの生成を含め、これらのツールを設計フローに組み込むことです。また、製造後の出荷前には、製造上の問題に起因する故障を特定するために、厳格なテストが実施されます。故障が検出されると、チームは故障管理の手法を用いて、その故障を特定・対処します。これには、チップの廃棄、クロック速度の引き下げ、あるいはチップの故障部分の無効化などが含まれます。