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

Simscape 実行時パラメーターの管理

既定では、すべての Simscape™ パラメーターはコンパイル時に構成可能なパラメーターです。コンパイル時パラメーターの値を変更した場合には、変更したモデルのシミュレーション前に再コンパイルします。再コンパイルせずに反復シミュレーション間または生成コード内で値を変更する場合は、Simscape ダイアログ ボックス パラメーターを実行時に構成可能なパラメーターとして指定しなければなりません。

Simscape 実行時パラメーターの設定の表示

Simscape 実行時パラメーターを構成するには、ブロック ダイアログ ボックスのパラメーター設定を使用します。しかし、MATLAB® の設定で既定の動作として設定しない限り、Simscape ブロック ダイアログ ボックスのパラメーター設定に実行時パラメーターの設定は表示されません。サポート対象の Simscape パラメーターについて、実行時設定を表示するように既定の動作を設定する方法の例は、Simscape 実行時パラメーターの設定の表示を参照してください。

Simscape 実行時パラメーターの指定

一部の Simscape ブロック パラメーターは、コンパイル時にのみ構成可能なパラメーターです。コンパイル時にのみ構成可能なパラメーターを、実行時に構成可能なパラメーターとして指定することはできません。特定の Simscape パラメーターが実行時構成可能かどうかを判断するには、パラメーターのブロック ダイアログ ボックスの設定を調べます。ブロック ダイアログ ボックスで、有効化された実行時設定がパラメーターの隣に表示された場合、パラメーターを実行時構成可能に指定できます。そのためには、設定を [Run-time] に指定します。Simscape モデルからコードを生成する前の任意のタイミングで、ダイアログ ボックスの実行時設定を [Compile-time] から [Run-time] に変更できます。

次の図は、Simscape ブロックの [定電圧] パラメーターの実行時設定を有効にしています。パラメーターの実行時設定が存在しないか無効な場合、そのパラメーターはコンパイル時にのみ構成可能です。

Simscape 実行時パラメーターはフィールドごとではなく変数ごとに変更可能です。つまり、パラメーターの変更後に再コンパイルなしでシミュレーションを実行するには、パラメーター値を、数値の指定をするダイアログ ボックスの設定で単純に更新することはできません。ワークスペースまたは生成コード内で、パラメーターを表す変数の値を変更します。そのためには、まず次の手順を実行します。

  1. ダイアログ ボックスの設定で、パラメーターを変数として指定します。

  2. 変数の数値を MATLAB ワークスペースに保存します。

変数を使用して Simscape 実行時パラメーターを指定する方法を示す例については、Simscape 実行時パラメーターの指定と変更を参照してください。

生成コードの既定のパラメーター動作を設定する

既定では、シミュレーションの停止時に、モデルを再コンパイルする必要なく Simscape 実行時パラメーターの値を変更できます。コード生成時の既定のパラメーター動作を [インライン] に変更すると、生成コードのアルゴリズムですべてのブロック パラメーターの数値が定数としてインライン化されます。インライン パラメーターを使用して生成するコードは、パラメーター値の格納や取得が必要ないため、より計算効率に優れています。

Simscape 実行時パラメーターの既定の動作を設定するには、[モデル コンフィギュレーション パラメーター][最適化][信号とパラメーター] ダイアログ ボックスで、[既定のパラメーター動作] を選択します。オプションは、以下のとおりです。

  • インラインSimulink® Coder™ アルゴリズムは、生成する C コードですべてのブロック パラメーターの数値を定数としてハードコードし、変更できないようにレンダリングします。

  • TunableSimulink Coder は、シミュレーション実行間に再コンパイルなしでもパラメーター変更ができるように、変更可能なデータ構造を生成します。

既定のインライン動作の選択的オーバーライド

モデルの Simscape パラメーターを実行時に構成可能になるように指定すると計算コストが増大しますが、コストの増大はそのように指定したパラメーターの数に比例するわけではありません。単一のパラメーターを実行時に構成可能として宣言すると、計算コストは急激に増大します。それに追加して指定した Simscape 実行時パラメーターでは、パラメーターごとのコストの増大幅は小さくなります。したがって、インライン化によってモデルの計算コストが大幅に減少していたとしても、選択的にインライン化している個々の Simscape 実行時パラメーターの減少幅はわずかです。しかし、オーバーランの危険性があるモデルに Simscape 実行時パラメーターが含まれている場合、数件の Simscape 実行時パラメーターをインライン化から選択的に除外するだけでも、オーバーランの防止に十分な計算コストを減少できることもあります。

例外を使用してインライン化するには、[既定のパラメーター動作][インライン] に設定し、[モデル コンフィギュレーション パラメーター] ダイアログ ボックスを使用して、個々のパラメーターをインライン化から除外します。

関連するトピック