このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
トランスミッション コントローラーのダウンシフト点のテスト
この例では、テスト シーケンスとテスト評価を使用してトランスミッション シフト ロジック コントローラーをテストする方法を示します。
モデルとコントローラー
この例では、TransmissionDownshiftTestSequence
モデルを使用します。これは、ドライブトレイン システムをコントローラー プラント構成にまとめて簡略化したものです。トランスミッション コントローラーのダウンシフト動作について、ユニット テストを実行することを目的としています。
テスト
スロットル アプリケーションの増加に応じて、コントローラーでギア比をダウンシフトしなければなりません。テスト入力では、車両速度を一定に保ちながらスロットルを上げていきます。Test Assessment ブロックには、コントローラーの性能についての要件に基づく評価が含まれています。
テスト ハーネスを開く
サブシステム shift_controller
のバッジをクリックし、テスト ハーネス controller_harness
を開きます。テスト ハーネスには、コントローラー サブシステムに接続された Test Sequence ブロックと Test Assessment ブロックが含まれています。
テスト シーケンス
Test Sequence ブロックをダブルクリックして Test Sequence エディターを開きます。
テスト シーケンスでは、速度を 75 まで上げて、4 速の状態でコントローラーを初期化します。その後、ギアが変わるまでスロットルを一定の速度で上げていきます。次の初期化とダウンシフトが実行されます。ギアが 1 速に変わった後、テスト シーケンスは停止します。
コントローラーについてのテスト評価
この例では、次の条件についてテストします。
速度の値は 0 以上でなければならない。
ギアの値は 0 より大きくなければならない。
スロットルの値は 0 から 100 までの間でなければならない。
最初の 3 つのギアのそれぞれについて、車両速度が指定の最大値を超えないようにシフト コントローラーで維持しなければならない。
Test Assessment ブロックを開きます。assert
ステートメントは最初の 3 つの条件に対応しています。コントローラーがアサーションに違反すると、シミュレーションは失敗します。
assert(speed >= 0, 'speed must be >= 0'); assert(throttle >= 0, 'throttle must be >= 0 and <= 100'); assert(throttle <= 100, 'throttle must be >= 0 and <= 100'); assert(gear > 0,'gear must be > 0');
最後の条件については、3 速、2 速、1 速での最大速度に対応する 3 つの verify
ステートメントでチェックされます。
3 速での車両速度は 90 を超えてはならない。
2 速での車両速度は 50 を超えてはならない。
1 速での車両速度は 30 を超えてはならない。
verify
ステートメントは When 構造シーケンスに含まれています。When 構造シーケンスでは、信号条件によってアクティブなステップが決まります。when
演算子が前に付いた条件がステップに含まれています。最後のステップの Else
は未定義の条件に対するものであり、when
ステートメントは使用されません。When 構造の詳細については、テスト シーケンスの基礎の「遷移タイプ」を参照してください。
OverSpeed3 when gear==3 verify(speed <= 90,'Engine overspeed in gear 3')
OverSpeed2 when gear==2 verify(speed <= 50,'Engine overspeed in gear 2')
OverSpeed1 when gear==1 verify(speed <= 30,'Engine overspeed in gear 1')
コントローラーのテスト
テスト ハーネスをシミュレートすると、各テスト ステップにおける漸進的なスロットルの上昇と対応するダウンシフトが示されます。コントローラーは Test Assessment ブロックのすべての評価にパスします。
結果の表示
テスト ハーネスのツールストリップで [シミュレーション データ インスペクター] ボタンをクリックして結果を表示します。speed
信号を verify
ステートメントの出力と比較できます。