組込制御システムのテストは、HIL (Hardware-In-the-Loop) シミュレーションの優れた手法を用いることで効率化できます。安全性、利用可能性やコストなどを考慮すると、完成された組込制御システムを使ってすべてのテストを実施するのは現実的ではありません。HILシミュレーションを使用すれば、こうした課題をもたらすシステムを部分的にシミュレートできます。完成システムを実世界でテストする前に、仮想環境で組込制御デバイスを全面的にテストすることで、テスト対象システムが複雑化しても、コスト効率の良い方法で信頼性と市場投入までの期間の要件を維持できます。
HILテストシステムは、リアルタイムプロセッサ、I/Oインタフェース、オペレータインタフェースの3つの主要コンポーネントで構成されています。リアルタイムプロセッサは、HILテストシステムの中核をなすものです。それにより、ハードウェアI/O通信、データロギング、刺激信号生成、モデル実行など、HILテストシステムのほとんどのコンポーネントを確定的に実行できます。テストの一部として物理的に存在していないシステムの部分を正確にシミュレーションするには、通常リアルタイムシステムが必要です。I/Oインタフェースとは、テスト対象ユニットと通信するアナログ、デジタル、バス信号です。I/Oインタフェースを使用すると、刺激信号の生成、データの収集・ロギング・解析、テスト対象の電子制御装置 (ECU) とモデルがシミュレーションする仮想環境とのセンサ/アクチュエータ通信を行うことができます。オペレータインタフェースは、リアルタイムプロセッサと通信して、テストコマンドを提供し可視化を実現します。また、構成管理、テストオートメーション、解析、レポート生成などのタスクを実行することもあります。
図1.HILテストシステムは、オペレータインタフェース、リアルタイムプロセッサ、I/Oインタフェースの3つの主要コンポーネントで構成されています。
多くのHILテストシステムでは、ハードウェア欠陥生成によってECUとシステムの他の部分で信号障害を発生させて、そのような条件下でデバイスの動作をテスト、特性評価、検証できます。そのためには、例えばグランドに対する短絡や開回路などの欠陥条件下での操作と、通常操作の間で、HILテストシステムがインタフェース信号を切り替えられるよう、I/OインタフェースとECUの間に欠陥生成ユニット (FIU) を挿入できます。
図2.ハードウェア欠陥生成により信号障害時のECUの動作をテストできます。
一部の組込制御システム (自動車、航空機、風力発電など) では、多くの場合、ネットワーク接続されたECUを複数使用して緊密に動作させています。当初はそれぞれのECUを個別にテストしますが、さらに徹底した仮想テストを行うために、完全な車両シミュレータやアイアンバードシミュレータなどシステムのインテグレーションHILテストシステムを使用することも少なくありません。
図3.自動車、航空機、風力発電では複数のECUを使用します。
マルチECU制御システム (と一部のシングルECU制御システム) をテストする際は、追加の処理能力と配線の簡素化という2つのニーズについて考える必要があります。
最新のマルチコア処理能力が備わっていても、システムによっては1つのシャーシの処理能力では足りない場合があります。そのようなシステムのパフォーマンス要件を満たすには、分散処理テクニックを利用することもできます。極めてチャンネル数の多いシステムでは、処理能力が足りないだけでなく、I/Oの追加も必要となります。逆に、プロセッサが不足しがちな大型モデルを使用するシステムでは、処理能力の追加目的のみでシャーシを追加することが多いため、それらのプロセッサは1つのタスク専用に使用して効果を高めています。シミュレータタスクをどのように分散するかによって、シャーシ間の共有トリガ/タイミングや確定性に優れたデータのミラーリングによる緊密な動作が可能となります。
図4.処理能力を高めるために複数のシャーシを使用する際は、シャーシ間でのタイミングとデータ同期のインタフェースがしばしば必要となります。
多チャンネルシステムでの配線の実装と管理は、非常に時間とコストがかかる可能性があります。そのようなシステムでは、ECUとHILテストシステムの間で数百から数千におよぶ信号を接続することが必要な場合があるため、スペースの要件に対応させると何メートルもの距離になることがあります。
ただし確定性に優れたリモートI/O技術では、そのような複雑な配線を簡素化し、ECUにモジュール形式で接続可能にすることで、システム構成を効率的に修正できます。I/Oインタフェースを備えたリアルタイム処理シャーシ計測器を含む1つのラックにすべての接続をルーティングするのではなく、確定性に優れたI/Oを使用すれば、システムの仮想部分を正確にシミュレーションするのに必要な高速確定性能を犠牲にすることなく、各ECUに近接したモジュール式I/Oインタフェースを利用できます。
この方法の場合、ECUとI/Oインタフェースの接続をローカルで行い (1メートル未満)、1本のバスケーブルを使用してリアルタイム処理シャーシに接続できるため、HILテストシステムの配線は簡素化されコストも大幅に削減されます。さらに、この方法はモジュール式なので、1つを除いてすべてのECUをシミュレーションするマルチECUテストシステムから、どのECUもシミュレートされない完全なシステム統合HILテストシステムまで、段階的に簡単に拡張できます。
図5.確定性に優れたリモートI/Oインタフェースを使用すると、ECUとI/Oインタフェースの接続がローカルで行えるため、HILテストシステムの配線を簡素化しコストを削減できます。
HILテストシステムに適したアーキテクチャが決まったら、次は開発要件に最適なコンポーネントを選択します。NIでは、HILテストシステム実装用にさまざまなリアルタイム処理およびI/Oオプションをご用意しています。それらのオプションはすべてオープン業界規格に基づいているため、常に最新のPC技術をHILテストシステムに活用できるだけでなく、将来のシステム要件の変更にも対応できます。
NIのHILプラットフォームは、オープンで拡張性に優れているため、システム要件の変化にも対応できます。 モジュール式アーキテクチャのNI HILプラットフォームは、機能を追加することで簡単にアップグレードできます。そのため将来のテストシステムにも対応できるほか、組込ソフトウェアテストアプリケーションの極めて厳しい要件でも満たすことができます。 また広範なI/Oが利用可能なことに加え、NIでは、HILテストの自動化を可能にし、後処理やレポート生成を行い、テスト結果を要件にマッピングできるソフトウェアツールを提供しています。 そうしたツールを使用すると、ソフトウェア開発プロセスの早い段階で多彩なテストを実行できるので、製品の品質を高めつつ開発の総コストを低減できます。