Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

参照モデルに対するシミュレーション ターゲットの管理

"シミュレーション ターゲット"、別名"SIM ターゲット"は自動生成される MEX ファイルで、アクセラレータ モードで実行される参照モデルを実装します。Simulink®はシミュレーション中に必要に応じて参照モデルの動作と出力を計算するためにシミュレーション ターゲットを呼び出します。Simulink は、アクセラレータ モードで実行される参照モデルのすべてのインスタンスに対して、同じシミュレーション ターゲットを使用します。ノーマル モードで実行される参照モデルのインスタンスはシミュレーション ターゲットを使用しません。

モデル参照のシミュレーション ターゲットを作成するために、Simulink はアクセラレータ モードで実行される参照モデルにいくつかの要件と制限を適用するコードを生成します。それらの制約を除けば、アクセラレータ モードで参照モデルを実行するときに、シミュレーション ターゲットについて考慮する必要は通常ありません。これらの制約の詳細については、モデルの階層構造内のシミュレーション モードの選択を参照してください。

既定の設定で、Simulink は、以下の場合にアクセラレータ モードで実行される参照モデルのシミュレーション ターゲットを生成します。

  • 参照モデルの直接または間接の親のブロック線図を更新する際、またはモデルの階層構造をシミュレートする際に、シミュレーション ターゲットが存在しない。

  • 参照モデル内の構造的な変更により、シミュレーション ターゲットが無効になっている。

シミュレーション ターゲットの生成中は、MATLAB®コマンド ウィンドウにステータス メッセージが表示されるため、シミュレーション ターゲットの生成プロセスを監視できます。

プログラムによりモデル参照のシミュレーション ターゲットをビルドするには、関数slbuildを使用します。

メモ

Simulink Coder™ライセンスがある場合は、参照モデルのシミュレーション ターゲットを次のような他のタイプのターゲットと混同しないように注意してください。

  • ハードウェア ターゲット —Simulink Coderがコードを生成する対象プラットフォーム

  • システム ターゲット — 目的に応じたコード生成の方法をSimulink Coderに指示するファイル

  • ラピッド シミュレーション ターゲット (RSim) —Simulink Coderが供給するシステム ターゲット ファイル

  • モデル参照ターゲット — 参照モデルのSimulink Coderコードを含むライブラリ モジュール

変更のチェックに費やす時間の短縮

Simulink がリビルドを必要とするシミュレーション ターゲットがあるかどうかをチェックするために費やす時間を短縮するには、コンフィギュレーション パラメーターの値を次のように設定します。

  • 階層全体のすべての参照モデル内で、[信号の関連付け]コンフィギュレーション パラメーターを[明示的のみ]または[なし]に設定します。

  • モデルの階層構造の最上位モデルで、[リビルド]コンフィギュレーション パラメーターを[既知の依存関係で任意の変更が検出された場合]に設定します。または、このパラメーターを使用して Simulink がシミュレーション ターゲットを必ずリビルドする、または決してリビルドしないように指定できます。

これらのパラメーターはモデルのコンフィギュレーション セットに存在します。Modelブロックのパラメーターではありません。これらのパラメーターを参照モデルのいずれかのインスタンスに設定すれば、そのモデルのすべてのインスタンスに設定されます。

シミュレーション ターゲットのプログラミング言語の指定

モデル参照のシミュレーション ターゲットに対するプログラミング言語を指定するには、[コンフィギュレーション パラメーター] ダイアログ ボックスの[シミュレーション ターゲット]タブで[言語]コンフィギュレーションパラメーターを使用します。

シミュレーション ターゲットのカスタム コードの使用

モデル参照シミュレーション ターゲットをビルドするときにカスタム コードを Stateflow®ブロックまたはMATLAB Functionブロックと共に使用するには、[参照モデルにカスタム コードを含める]コンフィギュレーションパラメーターを使用します。

注意

アクセラレータ モードで参照モデルにカスタム コードを使用すると、カスタム コードを使用せずにモデルをシミュレーションした場合とは異なる結果になる可能性があります。カスタム コードにバスまたは列挙型の構造体の宣言が含まれる場合、シミュレーション ターゲットの生成は、ビルドの結果でこれらの構造体の宣言が重複する場合に失敗します。また、カスタム コードでバスまたは列挙型を表す構造体を使用すると、予期しないシミュレーション結果になる場合があります。

シミュレーション ターゲットの場所の制御

Simulink は現在のフォルダーのslprjビルド フォルダー内にシミュレーション ターゲットを作成します。slprjフォルダーが存在しない場合、Simulink はそれを作成します。

メモ

Simulink Coderのコード生成ではslprjフォルダーも使用します。slprj内のサブフォルダーには、シミュレーション コード、Simulink Coderのコードおよびその他のファイルが分離されて保管されます。詳細については、ビルド プロセスのフォルダーの管理(Simulink Coder)を参照してください。

生成ファイルは、現在の作業フォルダーとは異なるルート フォルダーに保存できます。このオプションでは、以下を実行できます。

  • 生成ファイルを生成するために使用するモデルおよびその他のソースを生成ファイルとは別に保管する。

  • 現在の作業フォルダーを以前の作業フォルダーに設定せずに、以前ビルドしたシミュレーション ターゲットを再利用または共有する。

  • 生成されたシミュレーション アーティファクトを生成された量産コードと分離する。

シミュレーション キャッシュ フォルダーは、シミュレーションに使用するアーティファクトを配置するルート フォルダーです。

現在のフォルダー (pwd) の代わりに使用するシミュレーション キャッシュ フォルダーを指定するには、[Simulink 基本設定][一般]ダイアログ ボックスでフォルダー パスを入力するか参照し、[シミュレーションキャッシュフォルダー]を設定します。

この基本設定は MATLAB セッション パラメーターの初期既定値を指定します。

または、関数set_paramを使用してCacheFolderの MATLAB セッション パラメーターを設定できます。

>> set_param(0,'CacheFolder', fullfile('C:','Work','MyModelSimCache')) >> get_param(0,'CacheFolder')
ans = C:\Work\MyModelSimCache

[シミュレーションキャッシュフォルダー]基本設定を現在の MATLAB セッションに対してのみオーバーライドまたは元に戻すには、関数Simulink.fileGenControlを使用します。Simulink.fileGenControlを使用して設定した値は、現在の MATLAB セッションが終了すると無効になります。

関連するトピック