ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

コンフィギュレーション参照について

モデル内のコンフィギュレーション参照とは、ベース ワークスペースまたはデータ ディクショナリ内のコンフィギュレーション セット オブジェクトに対する参照のことです。独立型コンフィギュレーション セットを指定しているコンフィギュレーション参照をもつモデルは、コンフィギュレーション参照がアクティブな場合にそのコンフィギュレーション セットを使用します。そのため、このモデルのコンフィギュレーション パラメーターは、参照するコンフィギュレーション セットがモデル内に直接存在する場合と同じになります。

モデルには任意の数のコンフィギュレーション参照を連結できます。各リファレンスの名前は一意でなければなりません。コンフィギュレーション参照を使用する方法の例は、複数モデル間でコンフィギュレーションを共有するまたはコンフィギュレーション参照を作成して連結するを参照してください。

ヒント

コンフィギュレーション セット オブジェクトは保存またはエクスポートしてください。そうしないと、モデルを再び開いたときに、コンフィギュレーション参照が関連付けられません。コンフィギュレーション セット オブジェクトを自動的に読み込むようにモデルを設定するには、カスタマイズされたモデルの動作のコールバックを参照してください。

コンフィギュレーション参照を使用する理由

コンフィギュレーション参照と独立型のコンフィギュレーション セットを使用すると、次の目的を達成することができます。

  • 任意の数のモデルに同じコンフィギュレーション セットを割り当てる

    特定のコンフィギュレーション セットを使用する各モデルには、MATLAB® 変数を指すコンフィギュレーション参照が含まれています。その変数の値は、独立型のコンフィギュレーション セットです。すべてのモデルがコンフィギュレーション セットを共有します。セット内のパラメーターの値が変更されると、そのセットを使用するすべてのモデルの値が変わります。この機能を使用すると、多数の参照モデルをすばやく再構成し、親モデルと参照モデルを矛盾なく設定できます。あるモデルが個々のパラメーターに対して異なる値を必要とする場合、そのパラメーターをオーバーライドして、コンフィギュレーション参照内でローカルに値を変更することができます。詳細については、個々のコンフィギュレーション パラメーターのオーバーライドを参照してください。

  • モデル ファイルを変更せずに、任意の数のモデルのコンフィギュレーション セットを置き換える

    複数のモデルがコンフィギュレーション参照を使用して、独立型のコンフィギュレーション セットにアクセスする場合、別のセットを MATLAB 変数に割り当てると、そのセットがすべてのモデルに割り当てられます。この機能を使用して、コンフィギュレーション セットのライブラリを維持し、1 つの操作で任意の数のモデルに割り当てます。

  • モデル ファイルを変更せずに、異なるコンテキストで使用される参照モデルに対して別のコンフィギュレーション セットを使用する

    異なるコンテキストで別のコンフィギュレーション セットを使用する参照モデルには、参照モデルのコンフィギュレーション セットを変数として指定するコンフィギュレーション参照があります。

関連付けられていないコンフィギュレーション参照

コンフィギュレーション参照が有効なコンフィギュレーション セットを参照していない場合、参照されているコンフィギュレーション セットが見つからないという警告が示されます。関連付けられていないコンフィギュレーション参照を有効にしても、警告やエラーは表示されません。ただし、アクティブになっている関連付けられていないコンフィギュレーション参照には、モデルのコンフィギュレーション パラメーター値はありません。そのため、モデルの作成、モデルのシミュレーション、モデルに対するコードの生成、またはモデルを使用したコンフィギュレーション パラメーター値へのアクセスを実行しようとすると、エラーになります。

詳細については、コンフィギュレーション参照を関連付けるを参照してください。

個々のコンフィギュレーション パラメーターのオーバーライド

多くのモデルから同じコンフィギュレーション セットを参照する場合、個々のパラメーターに対して異なる値を必要とするモデルが存在する可能性があります。コンフィギュレーション参照を使用すると、個々のパラメーターをオーバーライドして、参照コンフィギュレーションとは異なる設定を指定することができます。ローカル設定は、パラメーターをオーバーライドするコンフィギュレーション参照のみに影響を与え、参照コンフィギュレーション セットやその他のコンフィギュレーション参照には影響しません。

パラメーターをオーバーライドした場合、その値を参照コンフィギュレーション セットから復元することができます。パラメーターを復元するときに参照コンフィギュレーションの値が反映され、オーバーライドされた状態ではなくなります。詳細については、コンフィギュレーション参照のパラメーター値の変更を参照してください。

コンフィギュレーション参照の制限事項

  • コンフィギュレーション参照を別のコンフィギュレーション参照にリンクできますが、この深さを超えてコンフィギュレーション参照を入れ子にすることはできません。

  • カスタム ターゲットを使用しているときに、コンフィギュレーション参照をアクティブにすると、関数 ActivateCallback は、対応する独立型のコンフィギュレーション セットの通知をトリガーしません。同様に、独立型のコンフィギュレーション セットが 1 つのターゲットを別のターゲットに切り替えると、関数 ActivateCallback は新しいターゲットの通知をトリガーしません。この動作は、アクティブなコンフィギュレーション参照がそのターゲットを指している場合にも起こります。関数 ActivateCallback の詳細については、rtwgensettings 構造体 (Simulink Coder)を参照してください。

  • たとえば、モデル参照階層で一貫していなければならないパラメーターなど、参照のすべてのパラメーターをオーバーライドできるわけではありません。

古いシミュレーション ターゲット設定をもつモデルのコンフィギュレーション参照

次のブロックの 1 つが含まれている非ライブラリ モデルがあるとします。

  • 関数 MATLAB

  • チャート

  • Truth Table

  • Attribute Function

R2008a 以前では、このタイプの非ライブラリ モデルは、コンフィギュレーション パラメーターにシミュレーション ターゲット (または sfun) 設定を保存しません。その代わり、モデルはコンフィギュレーション セットの外部の設定を保存します。

この古いタイプのモデルを読み込むと、シミュレーション ターゲット設定がアクティブなコンフィギュレーション セットのパラメーターに移行します。

  • アクティブなコンフィギュレーション セットが内部的にモデルに存在する場合は、自動的に移行されます。

  • モデルがアクティブなコンフィギュレーション参照を使用して、ベース ワークスペースのコンフィギュレーション セットを指す場合、移行プロセスは異なります。

コンフィギュレーション参照を無効にする既定の移行プロセス

複数のモデルがベース ワークスペースのコンフィギュレーション セットを共有することができるため、非ライブラリ モデルの読み込みによって、そのコンフィギュレーション セットのパラメーター値を自動的に変更することはできません。既定の設定では、これらの動作はモデルの読み込み中に起こり、使用しているソフトウェアのバージョンに関係なく、そのシミュレーション結果は次のように同じになります。

  • ベース ワークスペースのコンフィギュレーション セットのコピーはモデルに連結される。

  • シミュレーション ターゲット設定は、この新しいコンフィギュレーション セットの対応するパラメーターに移行する。

  • 新しいコンフィギュレーション セットがアクティブになる。

  • 古いコンフィギュレーション参照が非アクティブになる。

MATLAB コマンド ウィンドウに、これらの動作を説明する警告メッセージが表示されます。このプロセスでは、モデルに対して矛盾のないシミュレーション結果が出るようになっていますが、ベース ワークスペースのコンフィギュレーション セットにリンクしているコンフィギュレーション参照が無効になります。

関連する例

詳細