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 を使用します。

ユーザー定義関数ライブラリから、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] タブで、[テスト生成] をクリックします。

入力引数

すべて折りたたむ

MATLAB 式。たとえば、x > 0

代替方法

関数 sldv.condition を使用する代わりに、Test Condition ブロックをモデルに挿入できます。Test Condition ブロックの代わりに sldv.condition を使用するといくつかの利点があります (What is Test Case Generation?にを参照)。

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

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

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

R2009b で導入