ドキュメンテーション

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

パラメーター値のチェック

値のチェックについて

多くのブロックでは、数学パラメーターの範囲チェックが行われます。一般に、最小値と最大値を入力できるブロックでは、当該パラメーターの値が指定された範囲内であることを確認するためのチェックが行われます。

パラメーターの範囲チェックが行われるブロック

次のブロックでは、パラメーターの範囲チェックが行われます。

ブロックチェックするパラメーター

Constant

定数値

Data Store Memory

初期値

Gain

ゲイン

Interpolation Using Prelookup

テーブル データ

1-D Lookup Table

テーブル データ

2-D Lookup Table

テーブル データ

n-D Lookup Table

テーブル データ

Relay

オンの時の出力
オフの時の出力

Repeating Sequence Interpolated

出力値のベクトル

Repeating Sequence Stair

出力値のベクトル

Saturation

上限
下限

パラメーターの範囲の指定

一般に、ブロックのパラメーター ダイアログ ボックスに表示される [出力の最小値] および [出力の最大値] パラメーターを使用してブロック パラメーター値の有効範囲を指定します。ただし、以下の例外があります。

  • Gain ブロックの場合、[パラメーターの最小値] および [パラメーターの最大値] フィールドを使用して [ゲイン] パラメーターの範囲を指定します。

  • Data Store Memory ブロックの場合、[最小値] および [最大値] フィールドを使用して [初期値] パラメーターの範囲を指定します。

範囲の最小値と最大値を指定するには、double データ型の有限の実数スカラー値を評価する式のみを入力します。最小および最大の既定値は [] (指定なし) です。指定するスカラー値は、たとえば Simulink® がチェックするブロック パラメーターが非スカラーの場合などに拡張の対象となります (「入力とパラメーターのスカラー拡張」を参照)。

    メモ:   最小値または最大値として、NaNinf、または –inf を指定することはできません。

複素数の範囲の指定

パラメーターの最小値と最大値に複素数を指定すると、指定された最小値と最大値が複素数の実数部と虚数部に個別に適用されます。複素数の実数部または虚数部の値が最小値より小さいか、最大値より大きい場合、複素数は指定の範囲外になります。(sqrt(a^2+b^2)) のように実数部と虚数部を組み合わせたものに範囲チェックが行われることはありません。

パラメーターの範囲チェックの実行

パラメーターの範囲チェックは、次の方法で実施できます。

  • ブロックのパラメーター ダイアログ ボックスで [OK] または [適用] ボタンをクリックしたときに、ブロックでパラメーターの範囲チェックが行われます。しかし、簡単に評価できるパラメーターのみに対してブロックのチェックが行われます。たとえば、定義されていないワークスペース変数を使用するパラメーターはチェックされません。

  • Simulink エディターでシミュレーションを開始するか、[シミュレーション][ブロック線図の更新] を選択すると、Simulink はそのモデルのすべてのブロックに対するパラメーターの範囲チェックを実行します。

Simulink のパラメーターの範囲チェックでは、当該ブロック パラメーターの値を指定された範囲 (パラメーターの範囲の指定を参照) およびブロックのデータ型と比較します。つまり、Simulink は次のチェックを実行します。

DataTypeMin ≤ MinValue ≤ VALUE ≤ MaxValue ≤ DataTypeMax

ここで、

  • DataTypeMin は、ブロックのデータ型により表される最小値です。

  • MinValue は、[出力の最小値] などにより指定されたブロックが出力する最小値です。

  • VALUE はブロック パラメーターの数値です。

  • MaxValue は、Output maximum などによって指定される、ブロックから出力される最大値です。

  • DataTypeMax は、ブロック データ型により表される最大値です。

Simulink のチェックでパラメーター値の違反を検出すると、エラー メッセージが表示されます。例として、次のような Constant ブロックを含むモデルを検討します。

  • [定数値] パラメーターでは、ワークスペースにまだ定義されていない const 変数が指定されています。

  • [出力の最小値][出力の最大値] パラメーターはそれぞれ 28 に設定されています。

  • [出力データ型] パラメーターは uint8 に設定されています。

この状況において、Constant ブロックのダイアログ ボックスで [OK] をクリックしても、const 変数が定義されていないため、Simulink はパラメーターの範囲チェックを実行しません。しかし、MATLAB® プロンプトで

const = 10

を入力して値を定義してから、図を更新するものとします (「ブロック線図の更新」を参照)。Simulink には、次のエラー メッセージが表示されます。

この情報は役に立ちましたか?