メインコンテンツ

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

highlightActiveStates

アクティブ ステートの強調表示

    説明

    highlightActiveStates(op) は、操作点 op のアクティブ ステートを Stateflow® エディター内で強調表示します。

    すべて折りたたむ

    1. sf_car モデルを開きます。

      openExample("sf_car")

      このモデルの詳細については、Model a Car with Automatic Transmissionを参照してください。

    2. 最終の操作点を保存するようにモデルを設定します。[コンフィギュレーション パラメーター] ダイアログ ボックスを開き、[データのインポート/エクスポート] ペインで次を行います。

      1. [最終状態] を選択し、操作点の名前を入力します。この例では、xSteadyState を使用します。

      2. [最終の操作点を保存] を選択します。

      3. [OK] をクリックします。

    3. このシミュレーション セグメントの終了時間を設定します。[シミュレーション] タブで、[終了時間]3 に設定します。

    4. シミュレーションを実行します。

    5. shift_logic チャートの操作点情報を含む Stateflow.op.BlockOperatingPoint オブジェクトにアクセスします。

      blockpath = "sf_car/shift_logic";
      op = get(xSteadyState,blockpath)
      op = 
      
      Block: "shift_logic"    (handle)    (active)
        Path:     sf_car/shift_logic
      
        Contains:
      
          + gear_state                     "State (AND)"                        (active)       
          + selection_state                "State (AND)"                        (active)       
            gear                           "State output data"                  gearType [1, 1]
            down_th                        "Local data"                         double [1, 1]  
            up_th                          "Local data"                         double [1, 1]  
            datasetWrittenToVector         "Data set written to vector"         logical 4x1  
    6. gear_state ステートの操作点情報を含む Stateflow.op.OperatingPointContainer オブジェクトにアクセスします。

      op.gear_state
      ans = 
      
      State: "gear_state"    (handle)    (active)
        Path:     sf_car/shift_logic/gear_state
      
        Contains:
      
          + first          "State (OR)"         (active)
          + fourth         "State (OR)"                 
          + second         "State (OR)"                 
          + third          "State (OR)"
    7. チャートの t = 3 でアクティブになっているステートを強調表示します。

      highlightActiveStates(op)

      Stateflow chart showing active states.

    8. ギア チェンジを反映するように、ステート gear_state 内のサブステート アクティビティを変更します。

      setActive(op.gear_state.second)

      Stateflow chart showing active states.

    9. 変更された操作点において、ステート gear_state 内のサブステート second がアクティブであることを確認します。

      isActive(op.gear_state.second)
      ans =
      
        logical
      
         1

    10. Stateflow エディターでのアクティブ ステートの強調表示を解除します。

      removeHighlighting(op)

    入力引数

    すべて折りたたむ

    Stateflow チャートの操作点。Stateflow.op.BlockOperatingPoint オブジェクトとして指定します。

    ヒント

    • 強調表示をクリアするには、オブジェクト関数 removeHighlighting を使用します。あるいは、[デバッグ] タブの [アニメーション] で、[アニメーションの強調表示を削除] ボタン をクリックします。

    バージョン履歴

    R2009b で導入