HILS

モデルベース開発の手法|MILS・HILS・SILSの違いとは?

MILS・HILS・SILSの違い 1

自動車をはじめとした製造・開発において従来の組込み開発からモデルベース開発(MBD)への変換が行われています。今回の記事では、モデルベース開発における各種評価環境(MILS、HILS、SILS)の違いやメリットを中心に解説します。

モデルベース開発の導入はもちろん、MILS、SILS、HILS環境の構築はテクノプロ・デザイン社へご相談ください。モデルベース開発導入に必須であるMILS、SILS、HILS環境の構築は簡単ではありませんが、開発プロセスの効率化や開発コストの削減、安全な環境下での不具合や故障の検証が可能など、さまざまなメリットが得られます。
全国30か所以上の拠点によって迅速・綿密な対応が可能なテクノプロ・デザイン社が、それらを強力にサポートします。ぜひご相談下さい。

目次

モデルベース開発におけるV字プロセスとは

モデルベース開発(Model Based Development)とは、制御システムの設計段階で、制御システムの仕様をモデルで表現し、モデルをPC上でシミュレーションさせて動作検証を行いながら仕様の精度を高める開発手法です。モデルを活用して制御システムの仕様検討や組み込みソフトウェア開発を行います。

モデルベース開発は、V字プロセスに沿って進められます。
V字プロセスとは、ソフトウェア開発におけるウォータフォール型の開発工程をV字状に変形して、各種設計工程がどのテスト工程に対応するのかを示しています。

従来の組込み開発では、要件定義、基本設計、詳細設計といった設計工程を行った後、製造/実装を経て単体・結合テスト、システムテスト、実機テストといったテスト工程に入ります。そのため、要件定義、基本設計といった上流工程の不具合は、システムテスト、実機テストの工程まで待たないと見つからない場合があります。

モデルベース開発は従来の組込み開発と同じ工程で開発が進みますが、要件定義、基本設計の段階でモデルを用いて制御システムの動作検証を行いながら仕様を定義します。そのため、上流工程の不具合を早期に発見することができ、システムテスト、実機テストの工程では上流工程の不具合を大幅に削減することができます。
そして、設計段階でモデルを用いた検証工程を実現するための評価環境がMILS、SILSです。

【関連記事】以下の記事ではモデルベース開発について詳しく解説しています。

あわせて読みたい
モデルベース開発とは?不向きな分野、自動車以外も含めた具体例 モデルベース開発(MBD)は、「動く仕様書」とも呼ばれるモデルを利用し、設計段階から多彩な検証を繰り返すことが可能な、優れた開発手法です。これまでは自動車業界で...

MILS、HILS、SILSの違いやメリット

モデルベース開発において用いられる、MILS、HILS、SILSそれぞれの違いとメリットについて解説します。

シミュレーション環境・プロセス概要
MILS
(Model In the Loop Simulation)
●仕様設計段階の制御モデルとプラントモデルで構成された評価環境
●シミュレーション動作を確認しながら制御モデルの仕様を検討する
●開発工程の(序盤)要件分析/基本設計工程で実施
HILS
(Hardware In the Loop Simulation)
●制御装置であるECUと、制御対象を模擬したHILS装置で構成した評価環境
●制御対象の振る舞いは、HILS装置に組み込んだプラントモデルで模擬
●実機環境と近い環境でECUソフトウェアの評価を行う
●開発工程の(終盤)のテスト工程で実施
SILS
(Software In the Loop Simulation)
●仕様設計段階の制御コードとプラントモデルで構成された評価環境
●制御コードはACGでモデルから自動生成されたものを使用。モデルからコードに置き換えたことによる影響の動作検証を行う
●開発工程の(中盤)のプログラミングの手前で実施
*SILSで合格した制御コードはECU側のコードと結合してECUソフトウェアとなる

MILSとは

MILSとは「Model In the Loop Simulation」の略です。開発対象の制御装置をモデル化し、制御対象モデルと組み合わせてシミュレーションを実施します。制御処理をコンピュータ上でシミュレーションさせて動作検証を行うことで、仕様検討、設計、要求分析、基本設計といった開発序盤の設計段階で仕様の精度を高めます。

一般的に制御装置は「コントローラー」制御対象は「プラント」と呼ばれています。「コントローラー」と「プラント」をモデル化して、コンピュータ上でモデルの動きをシミュレーションします。制御内容を変更する際にはコンピュータ上でモデルの処理内容を変更します。そのため、変更した制御システムの動作を即時確認できることがメリットです。

コンピュータ上で制御システムの動作検証を行うため、試作機で検証する際に発生する物理的な破損の心配はありません。MILSでは極端な条件設定や大胆な設計変更をした場合の動作検証が可能です。MILSによって設計段階で仕様の不備を見つけることができるため、後工程での仕様不備に伴う手戻りによる開発工数増加を防止できます。

ただし、すべてがモデル=仮想環境下で検証が行われるため、ハードウェアに起因するエラーや実行時間といった実機ありきの検証はできません。そのため、実機に起因する検証については、MILS以降の工程で確認を行います。

HILSとは

HILSとは「Hardware In the Loop Simulator またはSimulation 」の略で、制御装置であるECUと制御対象を模擬したHILS装置で構成した、ECUソフトウェアを評価する環境です。HILSはシステムテスト、実機テストの工程で導入されます。

HILS環境では、ECUの接続先を実機(センサーやアクチュエータ)に代わりHILS装置に接続します。HILS装置をプラントモデルで制御することで、制御対象の動きをシミュレーションすることができます。HILS装置はシミュレーションした結果(数値データ)をセンサーに代わりIO信号を模擬してECUに伝達します(フィードバック)。
ECUはフィードバックされた情報を基に新たな制御を行います。
このようにHILSは、実機(センサー、アクチュエータ)が無い環境でもECUソフトウェアの試験を行う環境を提供します。


HILSではMILSでは検証できないECU回路やIO信号ノイズ等による影響を含めた実機に近い環境でECUをテストします。

実機が完成する前にHILSでECUをテストできるため、テストの遅延を防止できます。実機で見つかる不具合を事前に発見することで手戻りを減らし、開発全体の効率化にも有効です。また、高速域・高温域での検証やECUの電気故障といった不具合を再現した検証も、安全かつ実機に近い環境でテストができるでしょう。

現在の組込み開発からモデルベース開発への移行を検討している際、まずはシステムテストの評価環境をHILS環境にし、その後にプロセス全体をモデルベース開発へ移行することも可能です。

【関連記事】以下の記事ではHILSについて詳しく解説しています。

あわせて読みたい
HILSとは?自動車分野における導入メリットと活用事例を解説 HILS(Hardware In the Loop Simulator あるいはSimulation)は、自動車分野における制御装置や制御機構の検証プロセスの効率化やコスト削減を目的に導入が拡大している...

SILSとは

SILSとは、「Software In the Loop Simulation」の略です。制御コードとプラントモデルで構成された検証環境で、制御コードはMILSの制御モデルからC言語などのソースコードに変換されたものを使用します。制御対象はMILSと同様にプラントモデルを使用します。
MILSが開発工程の序盤である設計工程で用いられるのに対して、SILSは中盤である詳細設計、製造/実装に用いられるのが特徴です。

MILSで検証した制御モデルのロジックをソースコードに変換した影響について、SILSでは検証します。SILSで検証した制御コードは、IOやマイコン等を制御する他のコードと結合(合体)し、ECUソフトウェアとなります。

その他のモデルベース開発の手法

モデルベース開発では、MILS、HILS、SILS以外にもさまざまな手法で効率良く開発を進めることが可能です。ここではモデルベース開発にて用いられているそれらの手法について解説します。

RCP(Rapid Control Prototyping)

「RCP(Rapid Control Prototyping)」とは、汎用の制御対象(ハードウェア)に制御モデルをつなぎ、制御設計を最適化する手法です。設計段階での詳細設計に用いられます。
自動車開発においては、汎用エンジンやトランスミッションに制御モデルを接続し、動作チェックする工程がRCPにあたります。MILSで検証した制御モデルが、実際の装置を制御できるのか確認したり、MILSで使用する制御対象モデル(プラントモデル)と実機であるプラントとの動作の違いを確認します。制御対象のシステムが複雑でモデル化が困難な場合、実機プラントを用いて検証するRCPが有効です。

RCPにより、モデルによるシミュレーションだけでは確認できないコントローラーとプラント間の相互通信で生じる信号の遅延やノイズなどのチェックが可能となります。システムの必須機能の早期の見直し、見極めなどが期待できるでしょう。

ACG(Automatic Code Generation)

「ACG(Automatic Code Generation)」とはモデルからコードを自動生成することで、ソフトウェア作成工程にて用いられる手法です。

人手に頼らずコードを自動作成できることが大きなメリットですが、モデルの記述によってはこちらの意図しないコードが自動生成されてしまうこともあり、細部を調整しながら活用する必要があります。

S-PILS (Simulated Processor In the Loop Simulation)

「S-PILS (Simulated Processor In the Loop Simulation)」とは、対象プロセッサのモデル(仮想マイコン)を用い、ソフトウェアの検証を行うシミュレーション環境のことです。
設計プロセスの基本設計、詳細設計工程にて用いられています。制御ソフトウェアやOS、ドライバなどの基盤ソフトウェアはモデルではなく実機を使用しますが、周辺プラントを含めたすべての環境をコンピューター上でシミュレーションできます。

たとえば仮想ECU内の素子にショート、オープンなど故障注入したうえで、マイコンモデルへの伝達、制御ソフトウェアの動作を検証できます。

まとめ

モデルベース開発におけるMILS、HILS、SILSの違いやメリット、その他さまざまな評価環境や手法について解説しました。モデルベース開発においてMILS、SILS、HILSを導入することで開発プロセス全体の効率化が実現できます。

MILS、HILS、SILSの構築やモデルベース開発に関するご相談は、モデルベース開発ソリューション提供の事例も豊富な、テクノプロ・デザイン社にぜひお任せください。神戸、名古屋、東京の3地域に開発センターを設置し、幅広いエリアで開発案件の要件分析からMILS/SILS/HILSの環境構築に必要となるハード・ソフトの選定、自動検証環境構築まで一括で対応いたします。
またMBD関連ツールについてはMBSE、RCP、ACG、MILS、SILS、HILSに対応する機器を保有し、複数ベンダーの連携も可能です。モデルベース開発導入に関するコンサルティングも提供していますので、お気軽にご相談ください。

目次