CYBERNET

SILS(Software In the Loop Simulation)

SILS とは

SILS とは Software In the Loop Simulation の略であり、制御システムの検証プロセスの 1 つ。設計段階で作成した MILS 環境のコントローラをモデルからコード(主としてC言語)に置き換えて、制御対象(=プラント)と接続することでシミュレーションによる検証を行う手法です。

MILS(Model In the Loop Simulation)では制御器もプラントも数式モデルで表現されるのに対し、SILSでは、制御器が「C言語」などの実際のコードに置き換えられ、より実装に近い形で検証を進めます。つまり、MILSが「設計段階のアルゴリズム検証」であるのに対し、SILSは「ソフトウェア実装の妥当性確認」に焦点を当てています。

なぜ SILS が必要なのか?

制御システム開発では、モデルを実装コードに置き換える際にさまざまな課題が生じます。SILSはそれらを解決するための重要な手法です。ここでは3つの要点に分けて解説します。

1. コードとモデルの乖離を防ぐ
MILSで設計したアルゴリズムは数式モデル上で動作確認されていますが、C言語などに実装すると挙動が変わることがあります。実装ミス、コード生成ツールの変換誤差、コンパイラ依存の処理などが原因です。SILSでは実際のコードを用いてプラントモデルと結合し、モデルと同等の動作をしているかどうかの確認ができます。

2. 数値誤差や演算順序の影響を把握
制御系はわずかな数値の違いが大きな性能差につながります。浮動小数点の丸め誤差や固定小数点化による精度低下、演算順序の違いによる結果の変化などは、実装後でないと表面化しません。SILSを通じて、数値計算に起因する挙動の変化を早期に検証できます。

3. 実機検証(HILS)のコストとリスクを回避
HILS環境の構築は高額なシミュレータや試作機を必要とし、誤動作すれば装置破損や安全事故のリスクもあります。MILSだけでなくSILSも活用することで、安全かつ低コストで不具合を洗い出し、HILS前の品質保証を効率化できます。

以上の理由から、SILSは特に自動車産業において欠かせない存在となっています。
自動車のように安全性と信頼性が最優先される分野では、「コードの妥当性確認」「数値的な安定性検証」「実機試験リスクの低減」というSILSの価値が特に大きく、開発効率と品質向上の両立に大きく貢献しています。

事例/活用例

モデルベース開発におけるSILSの適用と環境構築手法 ~MATLAB/Simulinkで構築するSILS検証環境~

本資料では、組み込みソフトウェア開発におけるSILS(Software In the Loop Simulation)環境構築についてMATLAB/Simulink にて使用可能な手法や、シミュレーション実行速度の高速化事例をご紹介いたします。

モデルベース開発(MBD)プロセス構築支援ソリューションのご紹介

開発初期段階で必要となる要件定義から、制御/プラントモデル構築、テスト実行までのMBDプロセスの総合支援に関するご提案を紹介します。

お問い合わせ

サイバネットシステム株式会社
エンジニアリングサービス事業部