2023年06月13日
【第10回】システムテスト
MBD実践ステップアップガイド
結合テストは、複数の制御モジュールをベースソフトウェアに搭載して、制御モデルが制御仕様通りの動作をすることを確認することのほか、モジュール間のインターフェースの整合性や制御干渉の有無をテストします。
MBDで結合テストは、制御モデルと仕様モデルが同一の動作をすることから「一致性の検証」と言われており、システムテストは、制御システムが機能・性能やその他の要件を満たしていることを総合的に確認するもので、「妥当性の検証」と言われています。
開発段階でのシステムテスト
制御ソフトウェアの最終段階でのシステムテストでは、ECUやセンサー、アクチュエータと連動して制御対象が設計意図通りに動作することを実機を用いて確認することが主な目的となりますが、作業を効率よくするために事前準備として(制御ソフトウェアの)システムテストが必要であり、HILSを用いて以下の作業を行います。
安全性の確認
実機での確認作業は危険が伴うことがありますので、最優先で確認しなければなりません。
制御ソフトウェアとハードウエアの不整合や設定のミスによりシステムが正常に制御できず、危険な状態になることや試作機の損傷につながることがないよう、HILSを使った事前確認が必要となります。
安全設計の確認では、システムの一部装置に故障や損傷があった場合の動作確認が必要な場合もありますが、HILSであれば任意のタイミングでモデルの一部を変更することが簡単にできますので、故障や損傷の生じた状態をいつでも作り出すことが可能であり、フェイルセーフ機能が作動することを安全に確認することができます。
制御システムの動作確認
狙い通りの制御が実現できている事を、実機を使用する前にHILSを使って確認を行います。
特に温度や天候など、実機では設定が困難な環境条件もHILSでは簡単に設定でき、同一条件で再現性の高いテストを繰り返し実施できますので、実機を使用する前に制御上の課題を効率よく解消しておくことができます。
HILSを使えば、開発のベースとなった制御モデル(ベースモデル)と開発した制御モデルを同一条件で実行することができますので、制御結果を比較することで変更した制御および変更の無い制御の確認が容易に行えます。
標準的なテストパターンを決めておけばベースモデルのHILSシミュレーション結果を基準データとして、開発した制御モデルの動作を繰り返し検証することができ、開発の効率化につながります。
机上適合
開発の最終段階では、所望の性能を実現するための制御パラメータを最適化する適合作業が必要となりますが、HILSを用いて事前適合をすることで工数やコストを削減することができます。
机上適合には、対象システムと近似した精密なプラントモデルを準備する必要がありますので、類似機種の精密なプラントモデルが必用となります。
実機適合では適合するプラントの実行状態を一定に保持することが困難であり、環境条件を設定するために長時間を要する場合もあり、適合作業を繰り返し行うために多くの工数と時間を必要とします。
一方、机上適合は適合する制御状態を数値で指定できますので、所定のシステムの挙動、性能が得られるまで制御パラメータの修正や、場合によってはロジックの修正を同一条件で繰り返し実行することが容易にできます。
最終的には実機を用いた適合が必要となりますが、机上適合の精度が高ければ修正に要する作業を効率化することができます。
量産段階のシステムテスト
量産段階では、制御システムの問題点は解消されており制御パラメータも確定されていることを前提とします。
制御ソフトウェアの動作については結合テストでも確認されていますので、システムテストでは制御システムが市場で予期せぬ不具合が生じないよう、できるだけ多くのテストケースを実施することが必要ですが、実機では天候や道路状態など任意の条件下で再現性のある試験を実施することが難しく、十分なテストを実施することができません。
そこで、HILSにより様々な条件下で繰り返しシステムテストを実施することで潜在的な問題点を早期に発見し、システムの信頼性を高めることが必要となります。
HILSテストでは以下の点に留意することが必要です。
システムテストに適したHILS
量産段階のシステムテストは長時間を要し、テストケースも多数あるため、複数のHILSを使用して並行したテスト実行ができるようにします。
開発段階では高精度なHILSを使用する必要がありますが、開発段階では制御動作を再現できるものであればプラントモデルは簡略化したものでも問題ありません。同様に使用するセンサー・アクチュエータも簡素な模擬部品で代用できますが、対象となる制御システムの論理的構成は忠実に模したものでなければなりません。
HILS周辺機器
ECUと制御対象との接続に問題があった場合のシステム動作確認を行う為、HILSの他に専用の検査装置を使用する場合があります。
1.プログラマブル電源
低電圧時、電圧の脈動、電源の瞬断などシステム電源に関するトラブルに対し、システムが安全に対応できることを確認するために用います。一般にシステム電源は大容量ですので専用のプログラマブル電源を用いますが、小容量の場合はHILS出力で直接シミュレーションすることができます。ECUへはメイン電源の他、バックアップ用電源があり、センサーやアクチュエータに電力供給する場合もあります。
また直接的な制御ソフトウェアの問題ではありませんが、他のECUやアクチュエータなどを介して電流が回り込んでくることで誤作動が生じる場合もありますので、電源の配置、配線についても実機を忠実に模した電源構成とすることが必要です。
2.ハーネスに関するトラブル(天絡、地絡、断線、瞬断)を再現できる装置
ハーネスに関係した障害から制御上の大きなトラブルに繋がることがないよう検査する他に、ECUの入出力異常を検出する自己診断機能の確認を行うなど、機能安全を図る上でも重要な役割を持っています。
3.通信シミュレータ
通信負荷の増加による制御遅延や誤作動が大きなトラブルにならないよう検査するために必用です。HILSも通信をシミュレートする機能は持っていますが、専用の検査装置の方が使い易いかと思います。一方、制御ソフトウェアに連動した通信の送受信を検査する場合はHILSを用いた方が良いでしょう。
検査シナリオの自動化
制御仕様にある項目が正しく実行されていることは確認が容易ですが、制御仕様に現れない状態でのシステム動作で異常がないことを証明するのは非常に困難ですが、想定外の状況下よる不具合やごく希に発生する不具合を防ぐため、できる限り多くのテストケースを実施して動作確認を行う必要があります。
テスト条件やテストパターンだけでなく、判定基準や許容範囲を含めてデータベース化しておけば、HILSを使って自動テストすることができますので、工数負荷も少なく、人為的ミスも防ぐことができます。
主なテストパターンには以下のようなものがあります。
また、長時間の自動テスト実行時に問題が発生した場合、そのまま継続して時間をロスしないよう、異常発生時に適切に対応できるような仕組みを講じておくことが必要です。
まとめ
単体テストや結合テストは制御仕様が良否判定の判断基準となりますが、システムテストでは潜在的な問題点を発見するためのプロセスでもあり、制御仕様だけでは十分と言えません。
制御仕様に表しきれない特殊な条件、例えばノイズや故障、電波障害などで制御システムに思わぬ誤作動が生じないよう検査しなければなりませんが、ここまでやったから大丈夫という判断基準もありません。
このため、過去の経験やノウハウの蓄積が重要となり、形式知化してデータベース化することが重要と考えます。
筆者紹介
入社時は電気系エンジニアでしたが、数年間はエンジン実験や試験走行が主な仕事でした。その後、制御プログラム開発を担当している時にデバッグ用にシミュレータを開発しましたが、入社時の経験が大いに役立ちました。今では仮想開発環境が一般的となりましたが、実物を使った実験をする事がMBDにおいても重要だと考えています。