Main Content

高速化されたモデルでのコードの再生成

モデルの構造を変更すると、ラピッド アクセラレータ モードによって、スタンドアロンの実行ファイルが再生成され、アクセラレータ モードがターゲット コードを再生成し、既存の MEX ファイルを更新 (上書き) します。調整可能なパラメーターの値を変更すると、リビルドはトリガーされません。

シミュレーションをリビルドするかどうかの指定

アクセラレータ モードとラピッド アクセラレータ モードは、チェックサムを使用してモデルが変わったかどうかを判断し、コードが再生成する必要があるかどうかを示します。チェックサムとは、モデルとモデルに含まれるブロックの属性に基づき、MD5 チェックサム アルゴリズムを使用して計算された 4 つの整数の配列です。

  1. 関数 Simulink.BlockDiagram.getChecksum を使用して、モデルのチェックサムを取得します。次に例を示します。

    cs1 = Simulink.BlockDiagram.getChecksum('myModel');
    

  2. モデルを変更した後に 2 番目のチェックサムを取得します。新しいチェックサムが前のチェックサムに一致しない場合は、コードが再生成されます。

  3. チェックサム内の情報を使用して、シミュレーション ターゲットをリビルドした理由を特定します。

この手順の詳細については、Simulink Accelerator がコードを再生成している原因の特定を参照してください。

ラピッド アクセラレータ モードでのパラメーター調整

ラピッド アクセラレータ モードは、モデルのリビルドにおいて、ブロック線図および実行時パラメーターを他のパラメーターとは異なる扱いにします。

ブロック線図パラメーターの調整

一部のブロック線図パラメーターは、シミュレーション中にリビルドを必要とせずに変更できます。これらのパラメーターは関数 set_param または [モデル コンフィギュレーション パラメーター] ダイアログ ボックスを使用して調整します。これらのブロック線図パラメーターには、以下が含まれます。

実行時パラメーターの調整

以下の手順に従って、ラピッド アクセラレータ モードで最大加速度を実現できるよう実行時パラメーターを調整すると、同じ目的で set_param を使用した場合よりもさらに良い結果になります。

  1. 関数 Simulink.BlockDiagram.buildRapidAcceleratorTarget を使用して、ラピッド アクセラレータのターゲットの実行可能ファイルをビルドしながら、実行時パラメーター構造体に実行時パラメーターを収集します。

  2. パラメーターを変更するには、関数 Simulink.BlockDiagram.modifyTunableParameters を使用します。

  3. 変更したパラメーターを関数 sim に対して指定するには、RapidAcceleratorParameterSets および RapidAcceleratorUpToDateCheck パラメーターを使用します。

その他のすべてのパラメーターの変更は、どれもモデルのリビルドが必要になる可能性があります。

パラメーターの変更関数 sim に直接渡す場合ブロック線図でグラフィカルに、または関数 set_param で渡す場合
実行時リビルドは "不要" リビルドが必要になる可能性あり
ブロック線図 (ログ パラメーター)リビルドは "不要" リビルドは "不要"

アクセラレータ シミュレーション モードにおけるパラメーターの調整可能性の制限の詳細については、その他のモデル化の目的に関する調整可能性の考慮事項と制限を参照してください。

関連するトピック