ファンクショナルモックアップインターフェース(FMI)
ファンクショナルモックアップインターフェース(FMI)標準は,ツール間でモデルを交換するための,ツール非依存のオープン標準である.FMIはファンクショナルモックアップユニット(FMU)と呼ばれる実行ファイルによって実装されるCインターフェースを定義する.System Modeler等のシミュレーション環境はFMIを使ってFMUのインスタンスを作成し,そのシミュレーションを他のFMUやシミュレーション環境にネイティブのモデルと一緒に行うことができる.
FMIの開発はモデリング環境がシステムモデルのCコードを生成することができる標準環境を作るために始まった.そのCコードはその他のモデルとシミュレーション環境で使用できるため,モデリングプロジェクトにおいてさまざまなツールやワークフローを使ったモデリングプロジェクトが容易になる.
System Modelerは現在FMI 1.0および2.0 for Model Exchange(インポートとエキスポート)と,FMI 2.0 for Co-Simulation(インポートとエキスポート)をサポートしている.
System ModelerにおけるFMUのエキスポートとインポートのワークフローについての詳細はにFMUのエキスポートとインポートついてのページを参照されたい.インポートされたモデルの特性については「インポートされたFMUを使用する」で説明する.
SYSTEM MODELERにおけるFMI
|
FMUのエキスポートとインポート インポートされたFMUを使用する FMI 変数の命名 |
ファンクションモックアップユニット
ファンクションモックアップユニット(FMU)はインターフェースを実装する実行可能ファイルである.FMUのエキスポート中はシステムモデルからFMUアーカイブが生成され,FMUのインポート中はFMUアーカイブからシステムモデルが生成される.
- モデル方程式:モデルは時間,状態,ステップ事象を含む常微分方程式,代数的関係,および離散方程式を使って記述できる.これらの方程式は少しのC関数で表すことができる.Cコードはその後FMUでソースで,またはバイナリ形式で分配され,一つのFMUには複数のプラットフォームおよび/またはプラットフォームのバージョンのバイナリを含むことができる.
- オプションのリソースファイル:ドキュメントのファイル(HTML),モデルアイコン(ビットマップファイル),マップと表,モデルに使われているその他のライブラリまたはDLLファイル等,その他にもFMUに含まれる可能性のあるオプションのファイルがある.
モデルの交換と連成シミュレーション
FMI標準は現在FMI for Model Exchange(インポートとエキスポート)とFMI for Co-Simulation(マスタとスレーブ)の2つのプロトコルを指定している.これら2つののプロトコルの主な相違点は,Model ExchangeではFMUはインポートツールのソルバを使ってシミュレーションが行われるのに対し,Co-SimulationではFMUはそのソルバと共に送られるということである.
FMI for Model Exchangeでは,複数のFMUが繋ぎ合すことのできるオフラインまたはオンラインのシミュレーションでも,マイクロプロセッサに埋め込まれた制御システム上でも,FMUを使用することができる.Model ExchangeとCo-Simulationのどちらにおいても,FMUは何万もの変数を含んで非常に大きくなることがある.
FMUとFMI標準についての詳細情報はwww.fmi-standard.org を参照されたい.