getPrevActiveChild
前にアクティブであったサブステートの取得
説明
は、操作点 substateOp
= getPrevActiveChild(stateOp
)stateOp
において、前にアクティブであったサブステートの操作点を返します。stateOp
は、ヒストリ ジャンクションを含むステートの操作点でなければなりません。
例
前にアクティブであった子の変更
sf_boiler
モデルを開きます。openExample("stateflow/BangBangControlUsingTemporalLogicExample")
このモデルの詳細については、バンバン温度制御システムのモデル化を参照してください。
最終の操作点を保存するようにモデルを設定します。[コンフィギュレーション パラメーター] ダイアログ ボックスを開き、[データのインポート/エクスポート] ペインで次を行います。
[最終状態] を選択し、操作点の名前を入力します。この例では、
xFinal
を使用します。[最終の操作点を保存] を選択します。
[OK] をクリックします。
このシミュレーション セグメントの終了時間を設定します。[シミュレーション] タブで、[終了時間] を
100
に設定します。シミュレーションを実行します。
Bang-Bang Controller
チャートの操作点情報を含むStateflow.op.BlockOperatingPoint
オブジェクトにアクセスします。blockpath = "sf_boiler/Bang-Bang Controller"; op = get(xFinal,blockpath);
ボックス
Heater
のステートOn
がアクティブでないことを確認します。isActive(op.Heater.On)
ans = logical 0
ステート
On
について、前にアクティブであったサブステートを検索します。getPrevActiveChild(op.Heater.On)
ans = State: "HIGH" (handle) Path: sf_boiler/Bang-Bang Controller/Heater/On/HIGH Contains: []
ステート
On
について、前にアクティブであったサブステートを変更します。サブステートをStateflow.op.OperatingPointContainer
オブジェクトとして指定します。あるいは、string スカラーまたは文字ベクトルを使用してサブステートの名前を指定します。setPrevActiveChild(op.Heater.On,op.Heater.On.NORM)
setPrevActiveChild(op.Heater.On,"NORM")
変更された操作点において、サブステート
NORM
が前にアクティブであったサブステートであることを確認します。getPrevActiveChild(op.Heater.On)
ans = State: "NORM" (handle) Path: sf_boiler/Bang-Bang Controller/Heater/On/NORM Contains: []
入力引数
stateOp
— ステートの操作点
Stateflow.op.OperatingPointContainer
オブジェクト
ヒストリ ジャンクションを含むステートの操作点。Stateflow.op.OperatingPointContainer
オブジェクトとして指定します。
出力引数
substateOp
— サブステートの操作点
Stateflow.op.OperatingPointContainer
オブジェクト
前にアクティブであったサブステートの操作点。Stateflow.op.OperatingPointContainer
オブジェクトとして返されます。
バージョン履歴
R2009b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)