Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

sldv.condition

Stateflow チャートおよび MATLAB Function ブロックのテスト条件関数

説明

sldv.condition(expr) は、生成されたテスト ケースの各タイム ステップで expr が true であることを指定します。expr には有効な論理式を使用します。

この関数はなにも出力しないため、expr を評価する間接的な副作用があるだけで、親関数には影響を与えません。MATLAB® コマンド ラインからこの関数を実行しても、効果はありません。

MATLAB コード内に sldv.condition のテスト条件を組み入れるか、その条件を分離して検証スクリプトに入れます。

[テスト生成] ペインの [テスト条件] オプションは、関数 sldv.condition と Test Condition ブロックによって表されるテスト条件に適用されます。

すべて折りたたむ

MATLAB Function ブロックを使用して、テスト オブジェクティブとテスト条件を追加します。

sldvdemo_cruise_control モデルを開き、ex_sldvdemo_cruise_control として保存します。

speed ブロック信号の Test Condition ブロックを削除します。Test Condition ブロックの代わりに、この例では、sldv.testsldv.condition を使用します。

User-Defined Functions ライブラリから MATLAB Function ブロックを追加します。

  1. ブロックに tests という名前を付けます。

  2. ブロックを開いて次のコードを追加します。

    function define_tests(speed, target)
    %#codegen
    
    sldv.condition(speed >= 0 && speed <= 100);
    sldv.test(speed > 60 && target > 40 && target < 50);
    sldv.test(speed < 20 && target > 50);
  3. モデルを保存し、最上位モデルに戻ります。

  4. このブロックを、speed ブロックの信号と target ブロックの信号に接続します。

変更を ex_environment_controller モデルに保存します。

テスト ケースを生成するには、[Design Verifier] タブで、[テストの生成] をクリックします。

入力引数

すべて折りたたむ

条件の式。論理式として指定します。たとえば、x > 0 です。

代替方法

関数 sldv.condition を使用する代わりに、Test Condition ブロックをモデルに挿入できます。Test Condition ブロックと sldv.condition の違いの詳細については、テスト ケースの生成とはを参照してください。

コードの生成に MATLAB を使用して、関数 sldv.condition を使用せずにテスト条件を指定することもできます。コードの生成に MATLAB を直接使用するのではなく、sldv.condition を使用すると、次の処理が不要になります。

  • Simulink® ブロックを使用した制約の表現

  • 条件の出力の Simulink ブロックへの明示的な接続

バージョン履歴

R2009b で導入