メインコンテンツ

Requirements Table

入力条件を使用した形式的要件のモデル化

R2022a 以降

  • Requirements Table block icon.

ライブラリ:
Requirements Toolbox

説明

Requirements Table ブロックは、形式的要件をモデル化します。ブロックは、最初に [前提条件] 列の条件を評価します。条件が満たされている場合、ブロックは他のシミュレーション データが [事後条件] 列の条件を満たすかどうかを確認するか、[アクション] 列のアクションを実行します。詳細については、Requirements Table ブロックを使用した形式的要件の作成を参照してください。

[仮定] タブで仮定を定義すれば、モデルの物理的な制限に基づいて要件を制約できます。要件への仮定の追加を参照してください。

このブロックは、Requirements Toolbox™ がある場合にのみ設定できます。

端子

入力

すべて展開する

入力データ。実数値のスカラー、ベクトル、または行列として指定します。定義した各入力データには対応する入力端子が含まれます。

依存関係

入力端子を作成するには、[シンボル] ペインでブロックを開き、入力データを作成します。Requirements Table ブロックのデータの定義を参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | string | fixed point | enumerated | bus

出力

すべて展開する

出力データ。実数値のスカラー、ベクトル、または行列として指定します。定義した各出力データには対応する出力端子が含まれます。

依存関係

出力端子を作成するには、[シンボル] ペインでブロックを開き、出力データを作成します。Requirements Table ブロックのデータの定義を参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | string | fixed point | enumerated | bus

パラメーター

すべて展開する

ブロック パラメーターを対話形式で編集するには、次の方法があります。

  • プロパティ インスペクターを使用する。Simulink ツールストリップから、[シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

  • [テーブル プロパティ] ウィンドウを使用する。ブロックを開きます。次に、[シミュレーション] タブの [準備] セクションで [テーブル プロパティ] をクリックします。

メモ

Requirements Table ブロックには、ブロックを右クリックして [ブロック パラメーター (Subsystem)] をクリックすることでアクセスできる Subsystem (Simulink) ブロック パラメーターもあります。ただし、それらのブロック パラメーターを更新することは推奨されません。

Requirements Table ブロックをアクティブにする方法を次の値のいずれかとして指定します。

  • 継承 — Simulink モデルからの入力により Requirements Table ブロックがアクティブになります。

    入力データを定義すると、Requirements Table ブロックは最も速い入力データのレートでサンプリングします。入力データを定義しないでおくと、Requirements Table ブロックは親サブシステムの実行動作で定義されたレートでサンプリングします。

  • 離散Requirements Table ブロックの [サンプル時間] パラメーターで指定するレートを使用して Requirements Table ブロックをサンプリングします。Requirements Table ブロックは指定されたレートに対応する一定の時間間隔で暗黙的イベントを生成します。モデルの他のブロックは、異なるサンプル時間をもつ可能性があります。

シミュレーション中に Requirements Table ブロックがアクティブになる時間間隔を指定します。既定値は、ブロックが Simulink からサンプル時間を継承することを示します。このプロパティは Simulink で使用するのと同じ形式を使用します。サンプル時間の指定の詳細については、サンプル時間の指定 (Simulink)を参照してください。

Subsystem ブロック パラメーターの [サンプル時間] パラメーターは使用しないでください。代わりに、[テーブル プロパティ] ウィンドウを使用します。

依存関係

このパラメーターを有効にするには、ブロック パラメーター [更新方法][離散] に設定します。

Requirements Table ブロックのデータが整数オーバーフローで飽和するかどうかを次の値のいずれかとして指定します。

  • on — ブロックは整数をワード サイズで許容される最大の正または負の値に設定することにより飽和します。この設定は MATLAB® の動作と一致します。

  • off — ブロックは値をラップします。

詳細については、飽和とラップ (Fixed-Point Designer)を参照してください。

シミュレーション中に次元が変化する入力と出力のデータを Requirements Table ブロックがサポートするかどうかを指定します。このパラメーターが on の場合、出力データで [可変サイズ] プロパティを有効にして可変サイズの出力を定義できます。詳細については、可変サイズを参照してください。

[スコープ][出力] に設定されたデータをブロックが前提条件で使用できるかどうかを指定します。このパラメーターを無効にすると、出力データを使用している前提条件のセルが強調表示され、警告アイコン が表示されます。これは、データが getPrevious の入力引数である場合には該当しません。ただし、getPrevious でタイム ステップにおけるデータの値を返すときに、そのデータが定義されていないと getPrevious から未定義の動作が返されます。

ヒント

  • 前提条件で出力データを使用すると、シミュレーション時に要件で書き込み前の読み取りの問題が発生することがあります。それらの問題を解決するには、要件を順番に指定します。詳細については、Detect Read-Before-Write Issuesおよび形式的要件の評価順序の活用を参照してください。

固定小数点プロパティ

Requirements Table ブロックの既定の fimath オブジェクト プロパティを次の値のいずれかとして指定します。

  • Same as MATLAB — ブロックは現在の既定の fimath オブジェクトと同じ fimath オブジェクト プロパティを使用します。テキスト ボックスがグレー表示され、現在のグローバル fimath オブジェクトが表示されます。

  • Specify other — テキスト ボックス内で独自の fimath オブジェクトを指定します。次の 2 つの方法があります。

    • fimath オブジェクトをテキスト ボックス内で作成する。

    • fimath オブジェクトを MATLAB またはモデル ワークスペース内で作成して、その変数名をテキスト ボックスに入力する。このオプションを使用し、モデルを他のユーザーと共有する場合は、変数をモデル ワークスペースで定義します。

  • fimath オブジェクトの詳細については、fimath オブジェクトの作成 (Fixed-Point Designer)を参照してください。

ヒント

  • Requirements Table ブロックの fimath オブジェクトは、ブロックの内容に対する globalfimath (Fixed-Point Designer) として動作します。ブロックは、このパラメーターの fimath オブジェクト プロパティを、fi オブジェクトとして取り扱うように選択したブロックに対する固定小数点と整数の入力信号に関連付けます。Requirements Table ブロックでの fi オブジェクトの作成には、追加の考慮事項があります。

    • fi オブジェクトの作成時に fimath オブジェクトがオブジェクトに関連付けられない場合、[要件テーブル fimath] のプロパティに関係なく、fi コンストラクターは既定の fimath オブジェクト設定を使用します。fi オブジェクトの作成後にオブジェクトで操作を実行する場合、オブジェクトは [要件テーブル fimath] のプロパティを採用します。

    • fi コンストラクターで fimath オブジェクトを指定する場合、fi コンストラクターは値を量子化するときにその fimath オブジェクトを維持します。fi コンストラクターで指定されない fimath 設定では、[要件テーブル fimath] で指定されたプロパティが使用されます。

拡張機能

すべて展開する

バージョン履歴

R2022a で導入

すべて展開する