MotionSolveとVEOSの連成
MotionSolveは、ECUソフトウェア検証用のPCベースのシミュレーションプラットフォームであるdSPACE VEOSとのインターフェースを提供します。
VEOSを使用すれば、機能モデルから、仮想ECU、バスシステム、および車両モデルのネットワークまでのさまざまなモデルをシミュレートできますが、この主な機能は、追加のハードウェアを必要とすることなく、PC上で仮想処理装置(VPU)をシミュレートすることです。VPUは、dSPACE SystemDeskによって組み立てられた仮想ECU、つまり、SimulinkモデルやFMUから組み立てられたシステムモデルを表現できます。VEOSを使用すれば、これらのVPUを直接的にまたは仮想バスを介して相互接続することができます。VEOS上で動作するシミュレーションは、ハードウェアインザループシミュレーター上で動作するシミュレーションと同じツールからアクセスできます。このツールでは、ハードウェアが使用可能になる前にハードウェアインザループシミュレーション用のシミュレーションセットアップを準備することができます。
MotionSolveとVEOSの連成の価値
MotionSolveとVEOSを連成することにより、通信を中心に複雑なマルチ物理システムを調査できます。この連成では、MotionSolveがVEOS内のコントローラーやその他のシステムと相互作用する機械システムをモデル化します。例えば、横滑り防止機構(ESP)によってバランスが取られた厳しい障害物コース上の車両走行などが挙げられます。車両は、向き、ステアリング角、タイヤスリップ、ヨーレートなどの情報をコントローラーに送信します。コントローラーは、オーバー / アンダーステアリングを防止するために、これらの入力に基づいて各ホイールに必要なブレーキ出力を計算し、車両モデルに返します。
連成の実装
MotionSolveとVEOS間の連成は、2つの製品間の連成シミュレーションを介して実現されます。両方の製品は、それぞれ専用のプロセスで並列に実行されます。
MotionSolveとVEOS間のインターフェースは、各システム内の入力と出力によって定義されます。MotionSolveモデルでは、入力 / 出力を指定するためにControl_PlantInputやControl_PlantOutputなどの特殊なモデリングステートメントが追加されます。これらのステートメントは、モデルへの入力(例えば荷重やトルク)として、または計測出力(例えば変位や速度)として使用される変数を参照します。
MotionSolveは、FMUまたはSimulink S-functionを介してVEOSに連成されます。
FMU連成
MotionSolve FMU(Functional Mockup Unit)としたモデルでは、MotionSolveモデルをFMUとしてエクスポートするプロセスが説明されています。その後、このFMUはVEOSにインポートできます。FMUのインポート方法については、VEOSのマニュアルをご参照ください。
S-Function連成
MotionSolveとSimulinkの連成シミュレーションの概要 では、Simulinkモデル内のS-function(システム関数)を使用してMotionSolveモデルをプラントとして埋め込む方法を説明します。チュートリアルMV-7009:Simulinkとのリモート連成シミュレーションでは、MotionSolveモデルからS-functionを作成するための段階的手順を説明します。ステップ5~7では、主に、環境変数のセットアップ方法、MATLABパスへの必要なMotionSolveバイナリの追加方法、およびSimulinkモデルへのMotionSolveプラント(mscosimという名前のS-function)の追加方法を説明します。
MotionSolveプラントを含むSimulinkモデルを作成したら、Simulinkのコード生成を使用して、VEOS固有の入力信号と出力信号をモデルに追加(VEOSのマニュアルを参照)し、そのモデルからSimulinkインプリメンテーションコンテナー(SIC)を生成する必要があります。コンパイラーは64ビットにし、ターゲットファイルをdsrt.tlcに設定する必要があります(下のスクリーンショットを参照)。

図 1.

図 2.
- MS_VEOS_INPUT_FILE:MotionSolve入力ファイルへのパスを定義します。
- MS_VEOS_OUPUT_FILE:MotionSolveが結果を書き込むフォルダーへのパスを定義します。
Output
両方のソルバーが、それぞれ対応するモデルについて結果を生成し、それらは各ソルバー内でポスト処理されることが可能です。