アクティビティベースのタイム スライスを使用したアクティブな時間区間の強調表示
Stateflow® のステートと遷移は、モデルのシミュレーション時にアクティブ、非アクティブ、またはスリープ状態になります。モデル スライサーを使用すると、特定の Stateflowステートを使用した動作モードの表現 (Stateflow)および動作モード間の遷移 (Stateflow)がアクティブである時間区間のみに、モデルの強調表示を制約できます。したがって、選択したステートと遷移の動作中にシミュレーションに影響を与えるモデルの部分のみに、対象領域を絞り込むことができます。また、モデルの強調表示を 2 つ以上のステートまたは遷移の時間区間の共通部分に制限することもできます。
Stateflow のステートまたは遷移のアクティブな時間区間の強調表示
slslicer_fuelsys_activity_slicing
モデルにはフォールトトレラント燃料制御システムが含まれています。このチュートリアルでは、アクティビティベースのタイム スライスを使用して、モデルの強調表示を特定のステートと遷移がアクティブである時間区間のみに絞り込みます。モデル スライサーを使用して機能の依存関係の強調表示を行う方法についての知識が必要です。
対象領域に対する動的なスライス強調表示の作成
例のフォルダーを検索パスに追加します。
addpath(fullfile(docroot,'toolbox','simulink','examples'))
slslicer_fuelsys_activity_slicing
モデルを開きます。open_system('slslicer_fuelsys_activity_slicing')
モデル スライサーを開き、Stateflow チャート
control logic
を、モデル スライサーの開始点として fuel rate controller サブシステムに追加します。モデルにおいて Stateflow チャート
control logic
の上流部分を強調表示します。シミュレーションの制限時間枠内 (最大 20 秒) でモデルをシミュレートし、開始点より上流で、対象とする時間枠中にアクティブなモデルの領域のみを強調表示します。
Stateflow ステートのアクティブな時間区間へのモデル強調表示の制限
[モデルの検証とテスト] ギャラリーの下の [アプリ] タブで、[モデル スライサー] をクリックします。
fuel rate controller
サブシステム内のcontrol logic
Stateflow チャートへと移動します。open_system('slslicer_fuelsys_activity_slicing/fuel rate controller/control logic')
モデルの強調表示を [Fueling_Mode] 、 [Running] 、 [Low_Emissions] 、 [Warmup] ステートがアクティブである時間区間のみに制約するには、
Warmup
ステートを右クリックして、[モデル スライサー] 、 ["Warmup" のアクティブな時間間隔に制約] を選択します。モデル スライサーは更新され、
warmup
ステートがアクティブである時間区間においてアクティブであるモデルの部分のみが強調表示されます。モデル スライス マネージャーも更新され、
warmup
ステートがアクティブである時間区間が示されます。実際のシミュレーション時間: 0.01 ~ 3.86 秒 : 1 個の有効区間
Pressure
ステートにおけるnormal
からfail
への遷移が強調表示で示され、Warmup
ステートがアクティブだった時間区間中に圧力低下が発生したことがわかります。
モデルの強調表示を Stateflow ステートおよび遷移のアクティブな時間区間の共通部分に制約
モデル スライス マネージャーで、時間区間の制約をすべてクリアします。
モデルの強調表示を、[O2] 、 [fail] ステートがアクティブである時間区間のみに制約します。
モデル スライサーは更新され、[O2] 、 [fail] ステートがアクティブである時間区間においてアクティブであるモデルの部分のみが強調表示されます。モデル スライス マネージャーも更新され、[O2] 、 [fail] ステートがアクティブである時間区間が示されます。
実際のシミュレーション時間: 4.83 ~ 20 秒 : 1 個の有効区間
[O2] 、 [fail] ステートがアクティブであり
Throttle
チャートにnormal
からfail
への遷移が発生する時間区間に、強調表示を制限するには、normal
からfail
への遷移を右クリックし、それを制約として追加します。モデル スライサーは更新され、[O2] 、 [fail] ステートがアクティブであり、かつThrottle
チャートにnormal
からfail
への遷移が発生する時間区間の共通部分においてアクティブであるモデルの部分のみが強調表示されます。モデル スライス マネージャーも更新され、[O2] 、 [fail] ステートがアクティブであり、かつ
Throttle
チャートにnormal
からfail
への遷移が発生する時間区間が示されます。実際のシミュレーション時間: 13.87 ~ 13.87 秒 : 1 個の有効区間
アクティビティベースのタイム スライスの制限事項と考慮事項
アクティビティベースのタイム スライスの制限事項と考慮事項については、モデル スライサーの考慮事項および制限事項を参照してください。
Stateflow ステートおよび遷移のアクティビティ
Stateflow ステートおよび遷移のアクティビティの詳細については、チャート シミュレーションのセマンティクス (Stateflow)、チャートの実行タイプ (Stateflow)およびステートと遷移の構文 (Stateflow)を参照してください。
関連するトピック
- Stateflow でのモデル スライサーの使用
- ステートを使用した動作モードの表現 (Stateflow)
- 動作モード間の遷移 (Stateflow)