FMU
Functional Mockup Unit (FMU) をモデルに含める
ライブラリ:
Simulink Extras /
FMU Import
説明
FMU ブロックは、既存の Functional Mockup Unit (FMU) を Simulink® にインポートします。インポートする既存の FMU に基づいて、ブロックで自動的に FMU モードが選択されます。
コシミュレーション— Functional Mock-up Interface (FMI) コシミュレーション インターフェイスを実装する FMU を統合します。これらの FMU には、ツールの結合に使用されるローカル ソルバーが含まれる場合があります。モデル交換— FMI モデル交換インターフェイスを実装する FMU を統合します。これらの FMU にはローカル ソルバーが含まれません。代わりに、Simulink からソルバーを継承します。
このブロックでは、FMI Version 1.0、2.0、および 3.0 がサポートされます。FMI Version 2.0 および 3.0 では、FMU にコシミュレーションとモデル交換の両方の要素が含まれていると、それらがブロックで検出され、ブロックの動作モードを選択するように求められます。
このブロックを使用するには、先に既存の FMU を用意する必要があります。別のツールからエクスポートするか、C 言語で作成します。
例
Model Exchange FMU の Simulink へのインポート
FMU Import ブロックを使用して FMU ファイルを読み込む方法を示すモデル。FMU ファイルは、Model Exchange モードでの実行をサポートします。
コシミュレーション FMU の Simulink へのインポート
この例では、FMU Import ブロックを使用して FMU ファイルを読み込む方法を示します。FMU ファイルは、コシミュレーション モードでの実行をサポートします。Simulink® ソフトウェアでは、FMU Import ブロックについて、FMU 自体でサポートされていれば、前後のステップへの移動、実行中のパラメーターの調整、状態の保存がサポートされます。
端子
出力
そのままでは何も出力しないプレースホルダー端子。実際の FMU がブロックにインポートされると入力端子と出力端子が構成されます。入力端子と出力端子は、どちらも数値データ型と string データ型をサポートします。
パラメーター
FMU の名前を指定します。ファイル拡張子は付けても付けなくてもかまいません。このエントリでは大文字と小文字が区別されます。FMU は MATLAB® パス上に存在しなければなりません。
FMU 名を指定するには、[FMU 名] テキスト ボックスに名前を入力します。
[OK] をクリックすると、アンパックされたファイルとファイル階層をそのまま使用して /slprj/_fmu/unique_ID フォルダーが作成されます。
依存関係
FMU 名を指定すると、4 つのタブを含むようにブロック ダイアログ ボックスが更新されます。
パラメーター
シミュレーション
入力
出力
プログラムでの使用
ブロック パラメーター: FMUName |
| 型: 文字ベクトル |
| 値: FMU の名前 (ファイル拡張子の有無は任意) |
既定の設定: ' ' |
パラメーター
このタブには、FMU で定義されているパラメーターがリストされます。
目的のパラメーターのみを表示するには、フィルター フィールドに検索文字列を入力します。この文字列でパラメーターの名前や説明のテキストを照合できます。
パラメーター テーブルの [値] フィールドでパラメーターの値を変更できます。
インポートされたパラメーターの名前には 55 文字の制限があります。
構造化されたモデル パラメーターの階層は、set_param 関数を使用して FMUParamMapping ブロック パラメーターを設定することで変更できます。このブロック パラメーターは、Inherit、Flat、または Structured に設定できます。既定では Inherit に設定されています。Flat に設定すると、構造化されたモデル パラメーターが、対応するパラメーター名と値をもつ個々のパラメーターに分割されます。Structured に設定すると、モデル パラメーターが組み合わされてパラメーター値の構造体が形成されます。
入力
このタブには、FMU の modelDescription.xml で指定されている入力変数がリストされます。
構造化された入力端子の変数を指定します。
変数に名前でフィルターを適用するには、テキスト ボックスに変数名を入力します。
変数テーブルには階層の最上位のノードとその子ノードの変数と値が一覧表示されており、このタブではその多くの項目を編集することができます。
名前 — 変数名。これは編集できません。
可視性 — このチェック ボックスをオンにすると、ブロックの入力端子が変数に対して有効になります。端子を削除するには、このチェック ボックスをオフにします。
最上位ノードでこのチェック ボックスをオンにすると、子ノードがブロックの 1 つの端子として表示されるようになります。
メモ
[適用] をクリックすると、ブロック端子の数が変わります。それに応じて接続の追加や削除を忘れずに行ってください。
開始 —
modelDescription.xmlで定義されている開始値を追加します。以下は実行できません。対応する入力端子が表示された状態で開始値を変更する。
非リーフ ノードに開始値を追加する。(リーフ ノードに対してのみ開始値を編集できます。)
バス オブジェクト名 — 端子に対応するバス オブジェクト変数を設定します。既定では、
modelDescription.xmlで定義されている構造化された変数名が変数に使用されます。ワークスペースで新しい変数を作成するには、fmudialog.createBusTypeを使用します。
いずれかの変数の値を変更すると [出力を既定の設定に復元] ボタンが有効になり、クリックすると元の設定に戻すことができます。
FMU ブロックの入力端子のレイアウトは、set_param 関数を使用して FMUInputMapping パラメーターを設定することで変更できます。このパラメーターは、Inherit、Flat、または Structured に設定できます。既定では Inherit に設定されています。パラメーターを Flat に設定すると、バス入力端子が個々のバス要素信号の入力端子に分割されます。パラメーターを Structured に設定すると、個々のバス要素の入力端子が組み合わされてバス入力端子が形成されます。
出力
このタブには、FMU の modelDescription.xml で指定されている出力変数と内部変数が一覧表示されます。
構造化された出力端子の変数を指定します。
変数に名前でフィルターを適用するには、テキスト ボックスに変数名を入力します。
変数テーブルには階層の最上位のノードとその子ノードの変数と値が一覧表示されており、このタブではその多くの項目を編集することができます。
名前 — 変数名。これは編集できません。
可視性 — このチェック ボックスをオンにすると、ブロックの出力端子が変数に対して有効になります。端子を削除するには、このチェック ボックスをオフにします。この FMU に内部変数が存在する場合は、個々の内部変数について可視性を有効または無効にできます。内部変数が選択されている場合、追加の出力端子が作成されます。
最上位ノードでこのチェック ボックスをオンにすると、子ノードがブロックの 1 つの端子として表示されるようになります。
メモ
[適用] をクリックすると、ブロック端子の数が変わります。それに応じて接続の追加や削除を忘れずに行ってください。
開始 —
modelDescription.xmlで定義されている開始値を追加します。出力変数については、開始値を変更または追加することはできません。バス オブジェクト名 — 端子に対応するバス オブジェクト変数を設定します。既定では、
modelDescription.xmlで定義されている構造化された変数名が変数に使用されます。ワークスペースで新しい変数を作成するには、fmudialog.createBusTypeを使用します。
いずれかの変数の値を変更すると [出力を既定の設定に復元] ボタンが有効になり、クリックすると元の設定に戻すことができます。
FMU ブロックの出力端子のレイアウトは、set_param 関数を使用して FMUOutputMapping パラメーターを設定することで変更できます。このパラメーターは、Inherit、Flat、または Structured に設定できます。既定では Inherit に設定されています。パラメーターを Flat に設定すると、バス出力端子が個々のバス要素信号の出力端子に分割されます。パラメーターを Structured に設定すると、個々のバス要素の出力端子が組み合わされてバス出力端子が形成されます。
シミュレーション
FMU に対する許容誤差の値の指定を有効にするには、このチェック ボックスをオンにします。それ以外の場合は、このチェック ボックスをオフにします。
依存関係
このパラメーターは、FMU のバージョンまたはモードで許容誤差の値がサポートされている場合にのみ適用されます。
プログラムでの使用
ブロック パラメーター: FMUIsToleranceUsed |
| 型: 文字ベクトル |
| 値: on | off |
既定の設定: 'off' |
FMU の相対許容誤差の値 (%)。スカラーとして指定します。
依存関係
このパラメーターは、FMU のバージョンまたはモードで許容誤差の値がサポートされている場合にのみ適用されます。
プログラムでの使用
ブロック パラメーター: FMUToleranceValue |
| 型: 文字ベクトル |
値: 1E-3 | スカラー |
既定の設定: '1E-3' |
FMU のシミュレーション用のバイナリを選択します。Windows® の FMU について、FMU に Linux® バイナリが含まれている場合は、このオプションを linux64 として設定します。
依存関係
このような Windows での Linux バイナリを使用したシミュレーションには、次の製品のインストールが必要です。
Simulink Compiler™
FMU Builder for Simulink サポート パッケージ
Windows Subsystem for Linux (WSL) Version 2.0.9.0 以降
詳細については、Simulate FMU with Linux Binary on Windows (Simulink Compiler)を参照してください。
プログラムでの使用
ブロック パラメーター: FMUSelectedBinary |
| 型: 文字ベクトル |
値: x86_64-windows | x86-windows | linux64 |
既定の設定: 'win64' |
FMU をイベント モードでシミュレートします。
依存関係
このパラメーターは、FMU でイベント モードがサポートされている場合にのみ有効になり、FMU がコシミュレーション モードで使用されていて FMI 3.0 標準との互換性がある場合にのみ適用されます。
プログラムでの使用
ブロック パラメーター: CSEventModeEnabled |
| 型: 文字ベクトル |
| 値: on | off |
既定の設定: 'on' |
シミュレーション中の通信ステップ サイズ。スカラーとして指定します。ブロックのシミュレーション時点間の時間間隔を指定します。詳細については、タイミングに関する考慮事項を参照してください。
ほとんどの場合は、予期しない動作を防ぐために、この値を正の値に設定します。サンプル時間を駆動ブロックまたはモデルのソルバーから継承するには、このパラメーターを -1 に設定します。詳細については、サンプル時間の指定を参照してください。
ブロックでは、連続、離散、継承など、さまざまなタイプのサンプル時間がサポートされます。ただし、一般的なコシミュレーション FMU でサポートされるのは、オフセットなしの周期的離散サンプル時間 (正のスカラーなど) のみです。
依存関係
このパラメーターはコシミュレーション モードでのみ適用されます。
プログラムでの使用
ブロック パラメーター: FMUSampleTime |
| 型: 文字ベクトル |
| 値: スカラー |
既定の設定: '-1' |
FMU のデバッグ ログの表示を有効にするには、このチェック ボックスをオンにします。それ以外の場合は、このチェック ボックスをオフにします。
プログラムでの使用
ブロック パラメーター: FMUDebugLogging |
| 型: 1 行 N 列の文字ベクトルの cell 配列 |
| 値: on | off |
既定の設定: 'off' |
デバッグ ログをタイプ別にフィルターを適用します。次のチェック ボックスをオンにして指定します。
OK
警告
破棄
エラー
致命的
保留中
プログラムでの使用
ブロック パラメーター: FMUDebugLoggingFilter |
| 型: 文字ベクトル |
値: OK | Warning | Discard | Error | Fatal | Pending |
既定の設定: 'OK' | 'Warning' | 'Discard' | 'Error' | 'Fatal' | 'Pending' |
デバッグ ログの送信先。以下として指定します。
ファイル—slprj/_fmu/_logs_modelname/modelname_FMUblockname.txtにストリーミングします。表示— MATLAB コマンド ウィンドウにストリーミングします。
依存関係
このパラメーターを [ファイル] に設定すると、[FMU のログ ファイルを開く] リンクが有効になります。
プログラムでの使用
ブロック パラメーター: FMUDebugLoggingRedirect |
| 型: 文字ベクトル |
値: File | Display |
既定の設定: 'File' |
コード生成
FMU ブロックの生成されたコードの FMI API のソースを指定します。生成コードで、ソース コードからインライン化された FMU 関数を使用するか、関数ポインターを使用してコンパイルされたバイナリから FMI API を参照するかを指定します。入れ子にされた FMU、ERT ターゲット、GRT ターゲット、およびラピッド アクセラレータ シミュレーション モードでは、ソース コード ベースのコード生成が既定のオプションです。例については、Integrate FMI APIs in Generated Code Using FMU Source Code or Binaryを参照してください。
ヒント
このオプションを [source code] として設定すると、生成コードを複数のプラットフォームでコンパイルできます。
依存関係
このオプションは、Simulink から生成されたソース コードが FMU パッケージに含まれている場合にのみアクティブになります。FMU に外部ツールからのバイナリまたはソース コードしか含まれていない場合、オプションは非アクティブになり、コンパイルされたバイナリがコード生成に使用されます。
プログラムでの使用
ブロック パラメーター: FMUCGType |
| 型: 文字ベクトル |
値: source code | shared library | auto |
ブロックの特性
バージョン履歴
R2017b で導入Windows 32 ビット DLL を含む FMU を Simulink でインポートしてシミュレートします。これを行うには、FMU ブロックのダイアログの [シミュレーション] タブで、[次を使用した FMU のシミュレーション] パラメーターを [x86-windows] として設定します。
Simulink から生成された FMU にパッケージ化されているソース コードを使用して、FMU 用のコードを生成します。入れ子にされた FMU、ERT ターゲット、GRT ターゲット、およびラピッド アクセラレータ シミュレーション モードでは、ソースコード ベースのコード生成が既定の設定です。以前は、FMU の生成コードはプラットフォーム固有のコンパイルされたバイナリ ファイルに依存していました。
周期的な定数クロックをもつスタンドアロン コシミュレーション FMU ブロックのシミュレーションとパフォーマンスが強化されています。次のことが可能になりました。
FMU を含むモデルのコードを生成する。
FMU を含むモデルをラピッド アクセラレータ モードでシミュレートする。
FMU をモデル参照に含め、アクセラレータ モードでシミュレートする。
入れ子にされた FMU を生成する。
FMU Import ブロックで、時間ベースのクロックを使用するスタンドアロン コシミュレーション FMU のインポートがサポートされます。Simulink では、時間ベースの FMU クロック変数が FMU ブロックのサンプル時間として登録されます。これにより、クロック イベントの更新をブロックで処理し、FMU と同期できます。
クロックを使用する FMU のシミュレーションは、ノーマル モードのシミュレーションでのみサポートされます。ブロックについて、コード生成はサポートされていません。
FMU Import ブロックで FMI 3.0 の次の機能がサポートされます。
整数と浮動小数点の新しいデータ型の導入。
ベクトルと行列のネイティブのサポート。
コシミュレーション モードに対するイベント モードのサポート。
バイナリ データ型のサポート。
FMU Import ブロックで Model Exchange FMU の離散入力値の変化が検出され、イベントの反復がトリガーされます。
FMU Import ブロックの入力と出力で列挙データ型がサポートされます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)

