Main Content

リビルド

モデル参照ターゲットのリビルドを条件付きで行うか、常に行うか、行わないかを指定するオプション

モデル コンフィギュレーション ペイン: モデル参照

説明

[リビルド] コンフィギュレーション パラメーターは、モデルからコードを更新、シミュレート、生成する前に参照モデルに対するシミュレーションと Simulink® Coder™ ターゲットをいつリビルドするかを決定します。

モデルの階層構造のモデルは異なるリビルド設定をもつことができます。モデルを更新、シミュレートする場合またはモデルのコードを生成する場合、そのモデルのリビルド設定はすべての参照モデルに適用されます。

ノーマル モードで実行されるモデルはシミュレーション ターゲットを生成しません。また、[リビルド] 設定の影響を受けません。

参照モデルのコンフィギュレーション パラメーターの設定

モデル参照階層では、現在のモデルの階層構造における最上位モデルと現在の参照モデルのどちらのコンフィギュレーション パラメーターを編集するかに応じて、[コンフィギュレーション パラメーター] ダイアログ ボックスの開き方が異なります。

  • 現在のモデルの階層構造における最上位モデル — Simulink ツールストリップの [モデル化] タブで [モデル設定] をクリックします。

  • 現在の参照モデル — Simulink ツールストリップの [モデル化] タブで [モデル設定] ボタンの矢印をクリックします。その後、[参照モデル] セクションで [モデル設定] を選択します。

あるいは、参照モデルを最上位モデルとして開きます。その後、Simulink ツールストリップの [モデル化] タブで [モデル設定] をクリックします。

設定

変更が検出された場合 (既定値) | 常に行う | 既知の依存関係で変更が検出された場合 | 行わない
常に行う

参照モデルに対するターゲットのリビルドを常に実行します。この設定では不要なビルドが引き起こされる可能性があるため、処理時間が最も長くなります。すべてのモデル参照ターゲットを最新にするには、モデルを展開する前にこの設定を使用します。

変更が検出された場合

シミュレーション結果に影響する可能性がある変更が検出されたときに、参照モデルに対するターゲットのリビルドを条件付きで実行します。参照モデルの依存関係に対して加えられた変更を広範囲に検出するには、この設定を使用します。

既知の依存関係の変更が見つからない場合、モデルの構造的チェックサムが計算されます。構造的チェックサムは [モデルの依存関係] コンフィギュレーション パラメーターで指定されていない、ユーザーが作成した依存関係で発生する変更を検出します。構造的チェックサムが変更されている場合、モデル参照ターゲットがリビルドされます。

既知の依存関係で変更が検出された場合

シミュレーション結果に影響する可能性がある変更が検出されたときに、参照モデルに対するターゲットのリビルドを条件付きで実行します。変更の検出に要する時間を短縮する場合は、この設定を使用します。

既知または潜在的な依存関係の変更が見つからない場合、モデルの構造的チェックサムは計算 "されず"、モデル参照ターゲットはリビルド "されません"。無効なシミュレーション結果を防ぐには、ユーザーが作成したすべての依存関係を [モデルの依存関係] パラメーターにリストしなければなりません。

行わない

参照モデルに対するターゲットのリビルドを行いません。この設定では処理時間が最も短くなり、可能な場合はシミュレーションを高速化するための Simulink キャッシュ ファイルを使用します。モデルの開発時にリビルドを回避する場合は、この設定を使用します。

モデル参照のターゲットの期限が切れている場合、シミュレーションに無効な結果が示される可能性があります。ソフトウェアで既知のターゲット依存関係の変更をチェックし、モデル参照ターゲットの期限が切れている可能性がある場合に報告するには、[リビルドの診断をしない] パラメーターを使用します。モデル参照ターゲットを手動でリビルドするには、関数 slbuild を使用します。

Simulink キャッシュ ファイルの使用と共有の詳細については、シミュレーションを高速化するための Simulink キャッシュ ファイルの共有を参照してください。

すべて展開する

[リビルド][変更が検出された場合] または [既知の依存関係で変更が検出された場合] に設定して、モデル参照ターゲットを条件付きでリビルドできます。

コールバック スクリプトの一部として実行される MATLAB® スクリプトを変更するとします。この MATLAB スクリプトは、[モデルの依存関係] コンフィギュレーション パラメーターにモデルの依存関係としてリストされていません。

[リビルド] の設定により、影響を受けるモデル参照ターゲットをリビルドするかどうかが決まります。

  • [変更が検出された場合] では、変更がモデルの構造的チェックサムに影響するため、リビルドが実行されます。

  • [既知の依存関係で変更が検出された場合] では、既知のターゲット依存関係は変更されないため、リビルドは実行されません。

次のフロー チャートは、[リビルド][変更が検出された場合] または [既知の依存関係で変更が検出された場合] のいずれかに設定した場合に Simulink で実行される処理を示しています。

Flow chart for when to rebuild model reference targets

[変更が検出された場合] または [既知の依存関係で変更が検出された場合] の設定では、次の場合にモデル参照ターゲットがリビルドされます。

  • 既知のターゲット依存関係が変更されている。

  • モデルのファイルまたはライブラリが変更され、構造的チェックサムが変更されている。

  • 潜在的なターゲット依存関係のトリガーが検出され、構造的チェックサムが変更されている。

  • 上記のいずれにも該当せず、[リビルド] の設定が [変更が検出された場合] で、構造的チェックサムが変更されている。

ヒント

リビルド検出速度および精度を向上させるには、[モデルの依存関係] コンフィギュレーション パラメーターを使用してユーザーが作成した依存関係を指定します。

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性影響なし
安全対策

[変更が検出された場合] または [行わない]

[行わない] 設定を使用する場合は、[リビルドの診断をしない] コンフィギュレーション パラメーターを [リビルドが必要な場合エラーにする] に設定します。

プログラムでの使用

パラメーター: UpdateModelReferenceTargets
1 : 'Force' | 'IfOutOfDateOrStructuralChange' | 'IfOutOfDate' | 'AssumeUpToDate'
既定の設定: 'IfOutOfDateOrStructuralChange'

詳細

すべて展開する

バージョン履歴

R2006a より前に導入

すべて展開する


1 This table maps the programmatic values to the equivalent interactive values of the Rebuild configuration parameter.

UpdateModelReferenceTargets ValueEquivalent Rebuild Value
'Force'Always
'IfOutOfDateOrStructuralChange'If changes detected
'IfOutOfDate'If changes in known dependencies detected
'AssumeUpToDate'Never