xMODマルチツール連携、MILS、SILSからHILSまでモデル共有を可能とするシミュレーションプラットフォーム
機能1
パワフルでユーザーフレンドリーな操作環境
xMODエディタは、モデルの取り込みや接続、シミュレーション設定、テストシナリオ設定、計算実行などを効率的に行うことができます。モデルをドラッグアンドドロップで配置し、グラフィカルに結線するだけでモデル接続が可能です。

モデルのビルド
サポート対象のシミュレーションツールで作成されたモデルを、xMOD上でスタンドアロン結合する場合、各モデルをSimulink Coder(Real Time Workshop)を使用して、xMODターゲットモデルとしてビルドします。ビルドによって、dllファイルとxmodelファイルが生成されます。

xMODサポート対象のシミュレーションツール
ツール | スタンドアロン対応 | ツールカップリング対応 | FMIインテグレーション |
---|---|---|---|
GT-SUITE | ○ | ○ | ○ |
Simulink | ○ | ○ | ○ (MATLABツールボックスが必要) |
AMESim | ○ | ○ | ○ |
Dymola | ○ | ○ | |
OpenModelica | ○ | ||
SimulationX | ○ (S-Function) |
○ | |
Flowmaster | ○ | ||
C/C++ | ○ | ||
KULI | ○ | ||
AVL Cruise | ○ | ○ | |
Saber | ○ | ||
Easy5 | ○ |
FMIインテグレーション
FMI1.0またはFMI2.0に準拠してエキスポートされたモデルは、そのままxMODに取り込むことができます。Model Exchangeタイプでエキスポートされたモデルは、xMODのエディタ上に配置するとき、xMODが提供している ソルバーとコミュニケーション時間 を選択します。Co-SimulationタイプでエキスポートされたFMI モデルは、コミュニケーション時間だけを設定し、他のモデルと接続します。xMODでは、FMI1.0準拠のモデルとFMI2.0準拠のモデルを接続して、シミュレーションを実行することが可能です。

異なるモデルの統合
ビルドされたxMODモデル(スタンドアロン)またはツールカップリングモデル は、モデルを管理するフォルダ下に保存され、xMODの中でツリー構造としてブラウザに表示されます。モデルを統合するエディタを開き、モデルをグラフィカルに接続します。
- ライブラリブラウザからドラッグ&ドロップによるモデルの配置
- スタンドアロンモデルとツールカップリングモデルの混在が可能


- xMOD固有のブロックライブラリ
固定値入力や信号型の変換は、xMODのブロックライブラリで対応することができます。また、UDPやイーサネット通信を使用して、リアルタイムに他のHILSと通信する場合は、送受信用のブロックを配置して、各モデルの入出力を接続します。

シミュレーションの実行
エディタで作成した統合モデルを、GUI操作またはテストシナリオを用いてシミュレーションします。
- 適合パラメータ、モニター変数の管理
シミュレーション中は、モデルの入出力変数だけでなく、モデル内のパラメータや変数へのアクセスが必要になります。GUIからアクセスするために、パラメータや変数を選択、データ書式・最大値・最小値を管理するエディタを利用することができます。 - 統合モデルのツリー構造表示からパラメータ・変数の直接選択が可能
- パラメータ・変数の種類に応じて分類されたタブから選択可能


- グループ単位でのシミュレーション結果の保存
シミュレーション目的によっては、基本周期(Base Period)ほどの細かいサンプリングで結果を保存する必要がないかも知れません。そのような場合、基本周期に対して整数倍のサンプリング時間を持つシグナルグループを複数定義し、モニターする変数を任意にシグナルグループに割当てることができます。

- ドラッグ&ドロップ操作によるGUI作成
快適なシミュレーション実行を支援するためにはGUIが不可欠です。ツールボックスかコンポーネントをドラッグ&ドロップで配置し、パラメータまたは変数をマッピングしてGUIを簡単に作成することができます。


同期モードの選択
異なるソルバーや、異なるステップ時間で計算される各モデルをxMODエディタ上で結合し、シミュレーションを実行する場合、各モデル間のデータ受渡し方法によっては、シミュレーション全体の計算時間に大きく影響することがあります。最適なシミュレーションを実行するために、以下の同期モードをシミュレーション開始前に選択しておくことができます。- Default : 完全同期
信号の従属関係が厳守されます。各時間刻みにおいて、上流側のブロックの計算が終了してから、その結果を使用して下流側のブロックの計算が行われます。 - PartiallySynchronizedMultiTasking:部分同期・非同期
各ブロックの時間刻みが同じ、あるいは整数倍の場合は部分同期となり、それ以外の場合は非同期とします。
- Default : 完全同期
テストシナリオ作成
GUIを使用して手動でシミュレーションを実行すること以外に、テストシナリオ(メソッド)を作成しシミュレーションを自動実行します。
- グラフィカルにシナリオを記述
- シナリオ(メソッド)の中で他のメソッドを呼出すことが可能
メソッド呼出し、条件分岐・繰り返しなどの基本処理要素をツールバー(ブロックとインストラクション)からドラッグ&ドロップで配置し、必要な属性を設定します。

1サイクル単位、全サイクル共通でアクションを記述
インストラクションから、アクション要素をドラッグ&ドロップでアクションリストエリアに配置し、シナリオを作成します。例えば、パラメータmの値を最初の3秒間は3.5に、その後5秒間は5.5に設定してシミュレーションを実行する場合は、アクションSETを2回挿入しそれぞれの開始時間を指定、パラメータに設定する値を記述します。
