GAIO CLUB

2022年08月23日

【第3回】xILS シミュレータの種類と使い方

MBD実践ステップアップガイド
MBD実践ステップアップガイド
MBDの特徴は、シミュレーションにより開発したモデルを検証できることで、モデル開発の段階や内容に応じてHILS、SILS、MILSなど各種シミュレータが用いられます。これらのシミュレータを総称してxILSといわれることもあります。

シミュレータによる製品開発のメリットについては多く語られていますが、目的に応じたシミュレータの選択や使い方について正しく理解していないと、思ったような成果を得ることができません。ここでは、xILSの構成と利用上の注意点について簡単に説明を行います。

HILS(Hardware In the Loop Simulator)

最も一般的に用いられているフィードバック制御系を評価するシミュレータです。
HILSの場合、シミュレータはプラントの挙動を模擬しており、入出力インターフェースを介してECUと接続しています。制御はシミュレーションではなく、ECUへ実装した制御プログラムによって行います。このように、閉ループ制御系のシミュレータでECU(ハードウェア)を用いたものをHILS(Hardware In the Loop Simulator)と呼んでいます。

入出力インターフェースは、ECUと接続時の電気的特性を確定するため、実際のアクチュエータやセンサー、もしくは疑似負荷を用いており、ECUの動作を実際のプラントにつないだときと同じ状態で検証することができます。このことから、HILSはリアルタイムシミュレータとも呼ばれます。ここで重要なことは、HILSの使用目的によって使い方やシミュレーション精度を適切に設定することです。

代表的な例を以下に挙げておきます。
HILSの基本構成

1. ECUの動作検証・・・実際のプラントに接続する前にECU動作を検証する

ECUをプラントに接続して想定通りに動かなかった場合、その検証に多くの時間を費やすことになります。
なによりも、試作品の故障や破損、場合によっては安全上の問題が生じることもありますので、HILSによる動作検証が重要となります。
このため、HILSの動作・応答を実機と同等にする必要がありますので、システム構成(電源や他システムとの連結など)に注意をする必要があります。

2. 制御アルゴリズムの検証・・・新しい制御アルゴリズムの成立性の確認

新しい制御アルゴリズムやセンサー・アクチュエータを使用する場合、事前に制御の妥当性(狙い通りの効果が期待できるか)を確認する場合に用います。このため、プラントのモデルの必要箇所はできるだけ精密にモデル化する必要があります。

HILSの場合、リアルタイムでシミュレーションを行う必要がありますので、モデルの全てを精密にすると所定時間内にモデルの演算を行えず、正しい結果が得られなくなります。

3. 制御プログラムの検査・・・制御仕様に基づく制御プログラムの動作

制御プログラム検査には、要求仕様通りに動作することを仕様項目の一つ一つについて確かめる定常的検査や設定条件を連続的に変化させて出力値をみる連続性評価、運転条件を実際の利用場面に即して評価するダイナミック検査などがありますが、HILSを使うことで検査条件を容易に設定できます。また、一度設定した検査条件や手順(テストシナリオ)をデータとして残せば、何度でも同一条件、同一手順で自動的に検査することができます。

ECUの動作が評価目的であることから、プラントモデルの精度はさほど要求されないため、HILSもコンパクトで比較的安価に構成できます。
HILS構成例

SILS/MILS(Software In the Loop Simulator / Model In the Loop Simulator)

言葉の定義からみると、ECUなどのハードウェアを用いずにソフトウェアだけで閉ループを構成したものをSILSといいます。

一般的に制御プログラムのソースコードをコンパイルして実行するシミュレータをSILS、Simulink※などのモデルエディタ上でシミュレーションするものをMILSとして区別しています。

※ MathWorks社の登録商標

小規模なシミュレーション

単機能で比較的小規模なモデルのシミュレーションを行う場合には、ダミーの入力や出力負荷(簡易的なプラントモデル)を用いて容易に閉ループシミュレーションを行うことができます。

この場合、制御モデルから生成された実行コードを用いるものをSIL(Software In the Loop)、モデルのエディタ上で直接シミュレーションするものをMIL(Model In the Loop)と呼ばれます。制御プログラムを設計時の検証や結合前のプログラム部品の検査時に用いられます。

注)SILS/MILSとSIL/MILの言葉の使い方に明確な定義はありませんが、ここではダミー入力やスタブモデルを利用した簡易的なシミュレーションをSIL/MIL、プラントモデルを用いた閉ループシミュレーションを行うものをSILS/MILSとします。
SIL/MILの構成

大規模なシミュレーション

HILSは、ECUのマイコンに搭載されるOSで複数の処理の実行、停止、スケジューリングがされますが、SILS/MILSでは制御プログラムの実行管理の他、プラントモデルの実行管理や制御モデルとプラントモデルのデータ授受の管理を行う必要があります。このような機能を備えたSILS/MILSをVirtual HILSと言います。

HILSは、リアルタイムでシミュレーションを行わなければならない制約がありますが、SILS/MILSはソフトウェアにより実行が管理されていますので、例えばプラントモデルの演算に10秒かかったとしても、その間に他の処理を停止しておくことができますので、プラントモデルの演算終了後に演算開始時の時刻として他の処理を再開することができます。このような仕組みをソフトウェアリアルタイムと呼びます。Virtual HILSを使えば、HILSでは不可能であった精密モデルの利用も可能となります。

また逆に、高性能コンピュータを使えばリアルタイムより早くシミュレーションできますので、加速試験として利用できます。
SILS/MILSの構成

PILS (Processor In the Loop Simulator)

SILSは、制御モデルから生成されたソースコードを開発用コンピュータ(パソコン)の実行コードにコンパイルしてシミュレーションを行います。これに対し、制御モデルから制御用マイコンの実行コードを生成しマイコンに組み込んでシミュレーションを行うものをPILSと言います。

PILSの構成は、基本的にHILSと同じで、製品ECUの代わりにマイコンや周辺I/Oを組み込んだ汎用的なECUを用います。この汎用的なECUをRPE(Rapid Prototyping ECU)と言います。RPEでは、ECU搭載マイコンの上位互換マイコンを使ったものの他、HILSのプラントモデルを制御モデルに置き換えたもので構成することも可能です。

PILSを用いたHILSは、先に説明したVirtual HILSに比べ技術的に容易に構成できますので、ECUの開発段階でハードウェア構成が確定していない場合に有効なツールです。

sPILS(software-Processor In the Loop Simulator)

sPILSは、制御マイコンの命令コードをシミュレートするものでPILSのソフトウェア版です。
SILSでは、制御プログラムのソースコードをシミュレーション用PCの実行コードにコンパイルする必要がありますが、sPILSはターゲットマイコン(ECUに搭載されるマイコン)の命令コードをそのまま使用することができます。

ただし、ターゲットマイコンの周辺機能(タイマーや専用I/O、割込み機能など)は別途モデルを作成する必要があります。

筆者紹介

斗納 宏敏(とのう ひろとし)

入社時は電気系エンジニアでしたが、数年間はエンジン実験や試験走行が主な仕事でした。その後、制御プログラム開発を担当している時にデバッグ用にシミュレータを開発しましたが、入社時の経験が大いに役立ちました。今では仮想開発環境が一般的となりましたが、実物を使った実験をする事がMBDにおいても重要だと考えています。

人気のコラム

最新のコラム