Stateflow

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

クラッチのモデル化

このモデルは、Simulink Enabled Subsystem と Stateflow チャートの組み合わせを使用した、Simulink クラッチの例Simulink クラッチの例でのモデル化の方法を示しています。図および方程式を含む物理システムの詳細な説明は、Enabled Subsystem をもつ Simulink クラッチ モデルの例内にあります。

推奨ワークフロー

このモデルは、連続ダイナミクスが複雑 (Simulink または物理モデリング ツールの使用が必要) で、ダイナミクスと関連するモード変更が存在する場合に、Simulink と Stateflow を使用してハイブリッド システムをモデル化する際に推奨する方法を示しています。

ハイブリッド システムのモデル化は、次の関心事を含みます。

連続時間のダイナミクス: ハイブリッド システムには複数の動作モードがあります。各操作モードは、いくつかの連続時間のダイナミクスによって定義されます。連続時間のダイナミクスが複雑な場合は、Simulink の Enabled Subsystem を使用してモデル化することをお勧めします。使用する場合は、クラッチの 2 つの操作モードを表す "Locked" と "Slipping" の Enabled Subsystem が用意されています。それぞれの Enabled Subsystem への入力は、ダイナミクスを駆動する入力と微分方程式の初期条件の両方を表すことに注意してください。

モード ロジック: 特定の動作モードから別の動作モードに切り替える条件を参照します。この例では、モード ロジックは Stateflow チャートに記述されています。

このチャートについての次の際立った特徴に注意してください。

  1. Stateflow チャートには、クラッチの動作モードを表す "Locked" と "Slipping" の 2 つのステートがあります。それぞれのステートで、[ステート アクティビティの出力] プロパティが有効です。そのためチャートには、同じ名前の Simulink サブシステムのアクティビティを制御する "Slipping" と "Locked" と呼ばれる別の出力が追加されます。

  2. 一般的に、遷移条件は Enabled Subsystem で算出される連続時間信号によって異なります。たとえば、この例では、"Slipping" ステートから "Locked" ステートへの切り替え条件は、"Slipping" ステートの積分器の現在の値によって変化します。このようなシミュレーションを正確にモデル化するために、Enabled Subsystem の積分器の状態出力端子を、モード ロジックを制御する Stateflow チャートの入力端子に接続する必要があります。Simulink では状態出力端子を条件付きで実行されるサブシステムの出力端子に接続することはできないため、From/Goto ブロックが使用されます。

状態ハンドオフ: 特定の動作モードから別の動作モードに切り替える場合、滑らかな出力を得るために、新たにアクティブ化したサブシステムの積分器を適切に初期化する必要があります。これは、Simulink の Enabled Subsystem の初期条件端子を駆動する Stateflow 出力を使用して行います。たとえば、Stateflow チャートは "Slipping" サブシステムの we_0 と呼ばれる入力を駆動します。これは、それ自体が積分器ブロック「Slipping/Engine Integrator」の IC 端子に接続されます。初期条件は、状態の切り替え時に遷移アクションの一部として Stateflow チャートに設定されます。

シミュレーション結果

システムをシミュレートすると、エンジンと自動車の速度が次のようにグラフに示されます。プレートは約 4 秒でロック状態になり、約 6.25 秒で再度スリップ状態になります。エンジンおよび自動車の速度を使用できるのは、システムが Slipping ステートにある場合のみです。これらの値は、システムが Locked ステートのときは無効です。