このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
duration 演算子を使用したオートマチック トランスミッション ギア システムの実装
この例では、Stateflow® の時相論理演算子 duration を使用して、車両のスロットル要件と速度に基づいて自動的にギア シフトすることにより、自動車のトランスミッション システムをモデル化します。詳細については、時相論理を使用したチャート実行の制御を参照してください。
モデルの説明
このモデルには主要なブロックが 5 つあります。
User Inputs: モデルにブレーキとスロットルの 2 つの入力を提供。
Engine: インペラーのトルク値とスロットルに基づいてエンジン速度を計算。
Gear_logic: 現在のギア、スロットルおよび現在の車速に基づいて次のギアを計算。
Transmission: RPM、ギアおよびトランスミッション速度に基づいて、インペラーのトルクと出力のトルクを計算。
Vehicle: 出力トルクとブレーキに基づいて、車速とトランスミッション速度を計算。

チャートの説明
Stateflow チャートは車両のスロットルと速度に基づいてギアのシフトをモデル化します。出力 down_threshold と up_threshold は、スロットルと現在のギアが処理できる最低速度と最高速度を表します。Simulink 関数 calculate_thresholds は、throttle と gear を入力として使用して、これら 2 つの値を計算します。実際の速度が、TWAIT よりも長い時間にわたり up_threshold よりも速ければ、チャートはより高速のギアに遷移します。逆に、実際の速度が、TWAIT よりも長い時間にわたり down_threshold よりも遅ければ、チャートはより低速のギアに遷移します。各タイム ステップで、チャートは duration 演算子を呼び出して、speed が up_threshold より速くなっている時間を検出します。この時間が TWAIT を超える場合、boolean 変数 up が設定され、チャートが現在のギアからより高速のギアに遷移します。一方で、チャートは down_threshold の値に基づいて、より低速のギアに遷移します。

アクティブ ステート データ
アクティブ ステート データは、シミュレーション中に現在のアクティブ ステートを表す列挙データです。このチャートでは、出力データ gear は現在のアクティブ ステートを保持し、後者は現在のギアを表します。遷移が実行されると、このデータは自動的に更新されます。このデータは下流ブロックおよび Simulink® 関数 calculate_thresholds で使用されます。詳細については、アクティブ ステート データによるステート アクティビティの監視を参照してください。
シミュレーション
これらの変化を可視化するには、モデルをシミュレートしてスコープを開きます。
