Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

予知保全アルゴリズムの展開

通常、予知保全アルゴリズムの展開または統合は、アルゴリズム開発ワークフローの最終段階です。アルゴリズムを最終的にどう展開するかも、アルゴリズム設計の初期段階における考慮事項となることがあります。たとえば、アルゴリズムを組み込みハードウェア上で実行するか、スタンドアロンの実行可能ファイルとして実行するか、あるいは Web アプリケーションとして実行するかは、完全な予知保全システム設計の要件や他の側面に影響を与えることがあります。MathWorks® 製品では、予知保全アルゴリズムの開発、展開、検証用にプロセスのフェーズがいくつかサポートされています。

"V モデル" はモデルベース デザインのコンテキストでよく使われる概念図で、予知保全アルゴリズムの設計と展開を検討する場合にも関連があります。V モデルは、展開と実装で重要となる以下のフェーズを強調します。

仕様と要件

仕様と要件の開発には、予知保全アルゴリズムの観点と展開の観点の両方からの考慮事項が含まれます。予知保全アルゴリズムの要件は、システムに関する理解と、プロセス、その信号、および予期される故障の数学的な解析との組み合わせに由来するものです。展開の要件には、以下についての要件が含まれます。

  • メモリと計算能力。

  • 動作モード。たとえば、アルゴリズムは 1 日 1 回などの固定時間間隔で実行されるバッチ プロセスの場合があります。あるいは、新しいデータが利用可能になるたびに実行されるストリーミング プロセスの場合もあります。

  • アルゴリズムの保守と更新。たとえば、展開されたアルゴリズムは固定されており、ときどきの更新によってのみ変更される場合があります。あるいは、新しいデータが利用可能になると適応して自動的に更新されるアルゴリズムを開発することもあります。

  • アルゴリズムをクラウドで実行しなければならないか、あるいは Web サービスとして提供されるかなどの、アルゴリズムの実行場所。

設計とプロトタイプ

V モデルのこのフェーズには、データの管理、データの前処理の設計、状態インジケーターの特定、および故障検出用の分類モデルや残存耐用期間推定用のモデルの学習が含まれます (アルゴリズムの設計プロセスの概要は、状態監視と予知保全のアルゴリズムの設計を参照してください)。設計フェーズでは、開発したアルゴリズムのテストと調整に履歴データや合成データを使用することがよくあります。

実装と展開

候補のアルゴリズムを開発したら、次のフェーズではアルゴリズムを実装し、展開します。MathWorks 製品では、スタンドアロン アプリケーションから Web サービスまで、数多くのさまざまなアプリケーション ニーズとリソース制約がサポートされています。

MATLAB Compiler

Predictive Maintenance Toolbox™ を使用して開発されたアルゴリズムを実行するスタンドアロン アプリケーションまたは共有ライブラリを作成するには、MATLAB® Compiler™ を使用します。MATLAB Compiler を使用して、MATLAB コードをさまざまな方法で展開できます。これにはスタンドアロンの Windows® アプリケーション、共有ライブラリ、Excel® アドイン、Microsoft® .NET アセンブリ、汎用 COM コンポーネントなどが含まれます。このようなアプリケーションまたはライブラリは、無償で配布可能な MATLAB Runtime を使用して MATLAB 環境外で実行されます。MATLAB Runtime は、アプリケーションとともにパッケージ化してインストールするか、インストール プロセス中にダウンロードすることができます。MATLAB Compiler を使用した展開の詳細については、MATLABCompiler 入門 (MATLAB Compiler)を参照してください。

MATLAB Production Server

アルゴリズムを Web、データベース、およびエンタープライズ アプリケーションに統合するには、MATLAB Production Server™ を使用します。MATLAB Production ServerMATLAB Compiler を利用して専用サーバーまたはクラウド上でアプリケーションを実行します。予知保全アルゴリズムのパッケージ化には MATLAB Compiler SDK™ を使用でき、MATLAB Compiler の機能を拡張して、C/C++ 共有ライブラリ、Microsoft .NET アセンブリ、Java® クラス、または Python® パッケージを MATLAB プログラムから作成できるようになります。これにより、コードの書き直しやカスタム インフラストラクチャの作成なしで、生成されたライブラリを MATLAB Production Server に展開することができます。

ThingSpeak

モノのインターネット (IoT) 解析プラットフォーム サービスである ThingSpeak™ を使うと、クラウドのライブ データ ストリームを集計、可視化、解析することができます。5 分以上の間隔で実行される診断と予知のアルゴリズムの場合、ThingSpeak IoT プラットフォームを使用して結果を可視化し、システムの状態を監視できます。また ThingSpeak を、手早く用意できる簡単なプロトタイピング プラットフォームとして、MATLAB Production Server を使う展開の前に使用することもできます。ThingSpeak Web サービスを使用して診断データを転送し、そのチャート ツールを使って進行状況の監視と故障アラームの生成を行うダッシュボードを作成できます。ThingSpeak は、デスクトップの MATLAB またはターゲット デバイスに組み込まれた MATLAB コードと直接通信を行うことができます。

MATLABCoderSimulinkCoder

MATLAB Coder™Simulink® Coder を使用して MATLAB または Simulink から C/C++ コードを生成できる場合があります。以下に例を示します。

  • MATLAB Coder を使用して、劣化ベースの RUL モデルにより残存耐用期間を推定するためのコードを生成できます。例については、残存耐用期間の予測用コードの生成Generate Code that Preserves RUL Model State for System Restartを参照してください。

  • System Identification Toolbox™ の多くの関数がコード生成をサポートしています。たとえば、状態推定 (extendedKalmanFilter など) および再帰パラメーター推定 (recursiveAR など) を使用するアルゴリズムからコードを生成できます。

  • Signal Processing Toolbox™ と Statistics and Machine Learning Toolbox™ の多くの関数とオブジェクトも MATLAB Coder をサポートしています。

コード生成をサポートしている MathWorks の機能のより包括的なリストは、C/C++ コードの生成でサポートされている関数およびオブジェクト (MATLAB Coder)を参照してください。

展開先

組み込みシステムとクラウドのどちらにアルゴリズムを展開するかを選択しなければならないことがよくあります。

クラウド実装は、クラウド上に大量のデータを集めて保存している場合に便利です。クラウドと、予知および健全性監視のアルゴリズムを実行しているローカル マシンの間でデータ転送の必要性をなくすことで、保守のプロセスがより効果的になります。クラウドで計算された結果をツイート、電子メール通知、Web アプリ、ダッシュボードを介して利用できるようにすることも可能です。クラウド実装では、ThingSpeak または MATLAB Production Server を使用できます。

あるいは、実際の装置にさらに近い組み込みデバイスでアルゴリズムを実行することもできます。これを行う主な利点は、必要な場合のみデータが転送されるため情報の送信量が削減されること、および装置の健全性に関する更新と通知が遅延なしで直ちに使用できることです。組み込み実装の場合、MATLAB CompilerMATLAB Coder、または Simulink Coder を使用してローカル マシンで実行されるコードを生成できます。

3 つ目のオプションは、上記の 2 つを組み合わせての使用です。アルゴリズムの前処理と特徴抽出の部分を組み込みデバイスで実行し、予測モデルをクラウドで実行して、必要に応じて通知を生成することができます。連続的に運用され膨大な量のデータを生成する石油掘削や航空機エンジンなどのシステムでは、セルラーの帯域幅やコストに制限があるため、データすべての実機への保存や転送がいつも可能なわけではありません。ストリーミング データやバッチ データを操作するアルゴリズムを使用することで、必要な場合にのみデータを保存し送信できるようになります。

ソフトウェアとシステムの統合

展開用の候補を開発した後は、アルゴリズムの性能を実際の状態下でテストし、検証します。このフェーズには、検証用テストの設計、ソフトウェアインザループ テスト、またはハードウェアインザループ テストが含まれます。要件および開発したアルゴリズムの両方を検証するために、このフェーズは欠かせません。多くの場合、これは要件、アルゴリズム、または実装の改訂につながり、V モデルの初期フェーズを繰り返すこになります。

プロダクション

最後に、アルゴリズムを実運用環境に置きます。このフェーズでは、多くの場合性能が監視され、運用経験を積むにつれて設計要件とアルゴリズムの検討が繰り返されます。

関連するトピック