Main Content

clone

Stateflow チャートの操作点のコピー

    説明

    newOp = clone(op) は、Stateflow® チャートの操作点 op のコピーを作成します。

    すべて折りたたむ

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

      openExample("stateflow/AutomaticTransmissionWithActiveStateDataExample")

      このモデルの詳細については、ローカル イベントを使用して Simulink ブロックとしてチャートをシミュレートを参照してください。

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

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

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

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

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

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

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

      blockpath = "sf_car/shift_logic";
      op = get(xFinal,blockpath);
    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)"                 
          + fourth         "State (OR)"                 
          + second         "State (OR)"         (active)
          + third          "State (OR)"                 
      

      操作点は、サブステート second がアクティブであることを示します。

    7. 操作点のコピーを作成します。

      newOp = clone(op);
    8. gear_state のアクティブなサブステートを変更することにより、新しい操作点を変更します。

      setActive(newOp.gear_state.first)

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

      newOp.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)"                 
      

    10. 元の操作点において、サブステート second がアクティブであることを確認します。

      op.gear_state
      ans = 
      
      State: "gear_state"    (handle)    (active)
        Path:     sf_car/shift_logic/gear_state
      
        Contains:
      
          + first          "State (OR)"                 
          + fourth         "State (OR)"                 
          + second         "State (OR)"         (active)
          + third          "State (OR)"                 
      

    入力引数

    すべて折りたたむ

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

    出力引数

    すべて折りたたむ

    操作点のコピー。Stateflow.op.BlockOperatingPoint オブジェクトとして返されます。

    バージョン履歴

    R2009b で導入