WOLFRAM

インポートされたFMUを使用する

アイコンビューFMUビュー
ダイアグラムビュー入力フィルタと出力フィルタ
ドキュメントラッパービュー
コンポーネントブラウザCo-Simulationビュー
一般ビュー

Modelicaが主要モデリング言語として使われているSystem ModelerでインポートされたFMUが使用できるようにするために,ModelicaモデルはFMUを中心にして作られる.そのモデルはラッパーモデルと呼ばれる.このページでは,ラッパーモデルの特性について述べる.

FMIのイントロダクションとしては,ファンクショナルモックアップインターフェースのページを参照のこと.

アイコンビュー

Model CenterでFMUをインポートすると,自動的にラッパーモデルのアイコンビューが開く.組込みアイコンを使ったFMUではSystem Modelerにおいてもそのアイコンが維持されるが,右上の角に小さいパズルの画像が加えられる.これはインポートされたFMUとSystem Modelerで作られたモデルの区別を容易にするために加えられるものである.インポートされたFMUがアイコンを含まない場合は,アイコンとしてパズルの画像が与えられる.

インポートされた水槽システムのFMUのアイコン

2.gif

アイコンを持たないFMUに対して自動的に生成されたアイコン

ダイアグラムビュー

ラッパーモデルのダイアグラムビューには入力,出力,入出力に接続されたフィルタのグラフィカル表現が含まれる.また,FMUについてのテキストによる情報も含まれる:

ドキュメント

FMUに付属するドキュメントは,インポート後にSystem Modelerから利用できるようになる.ドキュメントを含まないFMUについては,Modelicaクラス用のデフォルトのドキュメントページが表示される.クラスのドキュメントを見る方はドキュメントセンターユーザガイドを参照されたい.

コンポーネントブラウザ

Model Centerの右側のコンポーネントブラウザ には,現在開いているクラスのすべてのコンポーネントとラッパーモデルのパラメータすべてがリストされる.これにはFMUのインポート時にSystem Modelerによって作成された多数の内部変数が含まれる.名前の最後にアンダースコアが付いている変数とパラメータ( debugLogging_ x_等)はすべてインポートによって生成されたものであり,FMU変数と混同してはならない.コンポートブラウザについての詳細情報はModel Centerユーザガイドコンポーネントブラウザを参照されたい.

4.gif

インポートされた水槽システムのFMUのコンポーネントブラウザ

一般ビュー

ラッパーモデルの一般ビューは,Model Centerの下部にある.このビューには,最上位モデルに存在するすべての入力,出力,パラメータが表示される.一般ビューには,FMUの内容によって表示されるいくつかのセクションがある:

FMUビュー

「FMU」タブには,デバッグのログのための設定等,FMU全体のパラメータが表示される.

6.gif

FMUビュー

入力フィルタと出力フィルタ

FMUのインポートについてのページで述べたとおり,入力または出力にフィルタを加えると,FMUを安全に他のコンポーネントにループで接続できるようになる.インポートの際にFMUインターフェースフィルタを加えるオプションに「入力で」(または「出力で」)が選択されていた場合,入力または出力はインポートされたFMUのフィルタに接続される.

インポートされたTankのFMの入力はフィルタに接続されている

上のスクリーンショットから分かるように,フィルタは端子ブロックに交互に接続される.これらの端子により,デフォルトのフィルタをユーザがカスタマイズしたフィルタやDiscreteDelays_サブパッケージのフィルタに交換することが可能となる.フィルタを右クリックし,「タイプを変更」を選び,その他フィールドに新しいクラスを入力する.これは,デフォルトのフィルタをダイアグラムレイヤーから削除し,新しいフィルタをダイアグラムビューにドラッグアンドドロップしても行える.その後,接続線ツールを使ってフィルタを入力(または出力),および対応する端子ブロックに再び接続する.

ラッパーモデルの入力と出力には,モデル記述ファイルで指定されているもとの名前が与えられるが,対応する端子ブロックにあるFMUの実際の変数の名前には,接尾辞_fmu_が使われる.例えば,上に示したインポートされたTankのFMUにおいて,ラッパーインターフェース変数は qInqOutのようにそのモデル記述ファイルで指定されたものと同じ名前が付けられ,ここで実際のFMU変数はそれぞれqIn_fmu_.uqOut_fmu_.yと命名される.フィルタブロックの命名は重要ではない.

8.gif

入力変数,フィルタ,端子の命名

ラッパービュー

FMUのインポートダイアログFMUインターフェースフィルタを加えるオプション「入力で」または「出力で」が選択されていると,Model Centerのメインウィンドウ下部に「ラッパー」タブが現れる.ラッパービューには,加えられたすべてのフィルタのデフォルトの時間定数filterT_と,選択可能な遅延を持つ離散遅延にのみ適用できるdelayKind_入出力フィルタのパラメータが含まれている.

filterT_パラメータはラッパービューで直接編集することができ,その変更はすべての入出力フィルタのデフォルトに適用される.もちろん各フィルタの時間定数に異なる遅延を使用したい場合は,個々のフィルタの値をデフォルトの時間定数に優先することもできる.

delayKind_パラメータは,DiscreteDelays_.Integer_SelectDelayのような選択可能な遅延を持つ離散遅延のデフォルトである.これには3つの選択肢がある:

Co-Simulationビュー

FMI for Co-simulationでは,FMUはSystem ModelerにおいてModelicaモデルとは独立に動作する独自のシミュレータを持つ.シミュレータを制御するラッパーモデルのパラメータはCo-Simulationビューで見られる.

FMUとModelicaモデルとの間でのデータ(入力および出力)交換は,離散的な通信点で行われる.ラッパーモデルには通信点を決める2つの動作モードがあり,動作モードはuseTriggerInput_で制御される.useTriggerInput_true ならstepTrigger_に接続された外部のトリガ信号が通信点のトリガに使用される.useTriggerInput_false の場合は,通信はstep_で与えられるステップサイズで定期的に行われる.

FMUが可変ステップサイズソルバと誤差推定を使用する場合は,tolerance_をゼロより大きいものに設定することで,誤差推定に許容範囲を与えることが可能である.

10.gif

Co-Simulationビュー