Main Content

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

ノミナル値によるシステムのスケーリング

ノミナル値は、モデル内で予想される変数の大きさを指定する方法を提供します。これは、変圧器の定格の指定や電圧計の範囲の設定に似ています。ノミナル値に基づくシステムのスケーリングを使用すると、シミュレーションのロバスト性が向上します。この機能を使用すると、モデル内の個々の変数のスケーリングを微調整することができます。これは、初期条件の収束と最小ステップ サイズの維持に特に役立ちます。

ノミナル値によるシステムのスケーリングの有効化または無効化

ノミナル値に基づくシステムのスケーリングを使用するとシミュレーションのロバスト性が向上するため、Simscape™ モデルではこの方法がベスト プラクティスです。そのため、モデルの新規作成時には、ノミナル値によるスケーリングが既定で有効になっています。

ノミナル値によるシステムのスケーリングは、[ノミナル値を使用して正規化] コンフィギュレーション パラメーターで制御します。

  1. モデル ウィンドウ上部の Simulink® ツールストリップで、[モデル化] タブを開いて [モデル設定] をクリックします。[コンフィギュレーション パラメーター] ダイアログ ボックスが開きます。

  2. [コンフィギュレーション パラメーター] ダイアログ ボックスの左側のペインで、[Simscape] を選択します。右側のペインに [ノミナル値を使用して正規化] チェック ボックスが表示されます。

    • チェック ボックスをオンにすると、モデルは、指定したノミナル値に基づいてソルバーにスケーリング情報を提供します。モデルの値と単位のペアを表示、追加、編集するには、[ノミナル値を使用して正規化] チェック ボックスの横にある [ノミナル値を指定] ボタンをクリックします。

    • チェック ボックスをオフにすると、ノミナル値によるスケーリングが無効になります。

想定されるノミナル値のソースとその評価順序

各変数のスケーリングは、そのノミナル値と物理単位によって決まります。ノミナル値はさまざまなソースから得られます。

  • BLOCK — ノミナル値とノミナル単位を、ブロックの基となっている Simscape コンポーネント ファイルで変数宣言属性として指定できます。これらの属性は、ブロック パラメーター x_nominal_value および x_nominal_unit (x は変数名) に変換されます。また、モデルの個々のブロックで対応するブロック パラメーター x_nominal_specify'on' に設定し、x_nominal_valuex_nominal_unit に別の値を指定することによって、これらの値をオーバーライドすることもできます。これらのパラメーターはブロック ダイアログ ボックスに表示されませんが、プロパティ インスペクター、または関数 set_param および get_param を使用して、値の表示と変更が可能です。詳細については、ブロック変数のノミナル値の変更を参照してください。

  • MODEL — ブロックにノミナル値が指定されていない場合、変数は、モデル テーブルに指定されている相応する物理単位のノミナル値を使用します。すべてのモデルには、ノミナル値とノミナル単位の既定のテーブルがあります (出荷時設定)。モデルの値と単位のペアを表示、追加、編集するには、[ノミナル値を使用して正規化] チェック ボックスの横にある [ノミナル値を指定] ボタンをクリックします。詳細については、モデルのノミナル値とノミナル単位のペアの指定を参照してください。

  • DERIVED — モデルのノミナル値のテーブルに変数の物理単位に相応する単位の行が含まれていない場合、この変数のノミナル値は基本の寸法から導かれます。たとえば、変数の初期値が lbf 単位であり、テーブルに力のエントリはない一方で {10,'lbm'}{12,'ft'}{2,'min'} が含まれている場合、その変数のノミナル値は {10*12/2^2,'lbm*ft/min^2'} になります。

  • FIXED — イベント変数、最上位モデルの入力、および Simscape Multibody™ 変数は、ノミナル値に従ってスケーリングできません。

詳細構成の変数ビューアーには、各変数のノミナル値とノミナル単位がソースと共に表示されます。詳細については、変数ビューアーを参照してください。

モデルのノミナル値とノミナル単位のペアの指定

すべてのモデルには、ノミナル値とノミナル単位の既定のテーブルがあります (出荷時設定)。モデルの値と単位のペアを表示、追加、編集するには、以下を行います。

  1. モデル ウィンドウ上部の Simulink ツールストリップで、[モデル化] タブを開いて [モデル設定] をクリックします。[コンフィギュレーション パラメーター] ダイアログ ボックスが開きます。

  2. [コンフィギュレーション パラメーター] ダイアログ ボックスの左側のペインで、[Simscape] を選択します。

  3. [ノミナル値を使用して正規化] チェック ボックスがオンになっていることを確認します。

  4. [ノミナル値を使用して正規化] チェック ボックスの横にある [ノミナル値を指定] ボタンをクリックします。

    ノミナル値のモデル テーブルが新しいウィンドウで開きます。これには、現在モデルに定義されている値と単位のペアがすべて含まれています。

  5. 値と単位のペアを編集するには、対応するセルを選択し、新しい値または単位を入力します。

  6. 新しい値と単位のペアを追加するには、テーブルを含むウィンドウの最上部のツール バーで をクリックします。このアクションにより、新しい空の行がテーブルの一番下に追加されます。この行のセルを選択し、新しい値と単位のペアのノミナル値とノミナル単位を入力します。

  7. 値と単位のペアを削除するには、対応する行を選択して をクリックします。

  8. テーブルの編集が終了したら、[OK] をクリックします。モデルを保存すると、テーブル データが保存されます。

ブロック変数のノミナル値の変更

ブロックの各変数には、関連する 3 つのブロック パラメーターがあります (x は変数名)。

  • x_nominal_specify — この特定ブロック内の変数 x に対する、システムの既定のノミナル値をオーバーライドできます。既定のパラメーター値は 'off' です。この場合、変数のノミナル値は想定されるノミナル値のソースとその評価順序に記載されている評価順序に従って決定されます。スケーリングに x_nominal_valuex_nominal_unit のパラメーター値を使用するには、このパラメーターを 'on' に設定します。

  • x_nominal_valuex_nominal_specify パラメーターが 'on' に設定されている場合、この値が、ノミナル単位のパラメーターとともに、この特定ブロック内の変数 x のスケーリングを決定します。パラメーター値は数値で、文字ベクトルとして指定しなければなりません。既定のパラメーター値は '1' です。

  • x_nominal_unitx_nominal_specify パラメーターが 'on' に設定されている場合、この単位が、ノミナル値のパラメーターとともに、この特定ブロック内の変数 x のスケーリングを決定します。パラメーター値は有効な物理単位名で、文字ベクトルとして指定しなければなりません。この単位は、変数の初期値に指定された単位に相応するものでなければなりません。既定の単位は初期値の単位と同じです。

メモ

ノミナル値とノミナル単位は、ブロックの基となっている Simscape コンポーネント ファイルで変数宣言属性として指定できます。詳細については、Nominal Value and Unit for a Variableを参照してください。この場合、その変数のノミナル値とノミナル単位のパラメーターは、既定値を変数宣言属性から取得します。

これらのパラメーターはブロック ダイアログ ボックスに表示されませんが、関数 set_param および関数 get_param を使用して、値を表示し変更することができます。

たとえば、1 つのブロックの i (電流) のノミナル値とノミナル単位を変更するには、モデル内でこのブロックを選択して以下を入力します。

set_param(gcb,'i_nominal_specify','on')
set_param(gcb,'i_nominal_value','10')
set_param(gcb,'i_nominal_unit','mA')

この一連のコマンドは、ブロック変数の既定のノミナル値を上書きして 10 mA に設定します。

プロパティ インスペクターを使用して同じアクションを実行するには、以下を行います。

  1. モデル内のブロックを選択します。

  2. モデル ウィンドウ上部の Simulink ツールストリップの [モデル化] タブで、[設計] セクションの右端にある矢印をクリックします。[一般] ギャラリーで、[プロパティ インスペクター] をクリックします。

  3. ブロック プロパティが表示されている [プロパティ インスペクター] ペインで、[変数] ノードを展開し、次に [電流] 変数のノードを展開します。

  4. [ノミナル値] の横にあるチェック ボックスをオンにします。この操作は、i_nominal_specify パラメーターを 'on' に設定することと等価です。

  5. [ノミナル値] チェック ボックスがオンになると、その [値] フィールドが編集可能になります。「10」と入力し、単位のドロップダウン リストから mA を選択します。

参考

関連するトピック