ドキュメンテーション

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

パワー ウィンドウ コントローラーのモデル化

この例では、Simulink®、Stateflow®、Fixed-Point Designer™ および DSP System Toolbox™ でモデルベース デザインを使用して、自動車の助手席のパワー ウィンドウ システムをモデル化する方法を説明します。Control System の設計は一連の要件を満たしています。

パワー ウィンドウ システムは運転席ウィンドウの制御または助手席ウィンドウの制御への助手席ウィンドウの反応をモデル化します。システムのコストを抑えるために、センサー入力の生成に電流センサーが使用されています。位置センサーは使用されていません。

システム要件

システムのパフォーマンス要件を以下に示します。Control System は故障検出アルゴリズムを使用して、ウィンドウのハードウェアの保護およびウィンドウの道筋にある障害物の検出を行います。また、モード ロジックを使用してウィンドウを動かすタイミングおよび方向を判断します。

  1. ウィンドウが完全に開くまたは閉じるまでの時間は 5 秒以内であること。

  2. ウィンドウ メカニズム、モーターおよびドライブに対するフェイルセーフの保護として、方向を問わず 5 秒間連続して動作した後はモーターが切れること。

  3. ウィンドウはコマンドが発行された後 0.2 秒以内に動作を開始すること。

  4. ウィンドウは完全に開いた位置または閉じた位置に到達したら停止すること。

  5. up コマンドまたは down コマンドが 0.2 秒~ 1 秒間に渡り発行された場合、新しいウィンドウ コマンドまたは障害物によって遮られない限り、ウィンドウは完全に開くか閉じるかすること。この要件はパワー ウィンドウの自動開閉機能を表します。

  6. ウィンドウは力が 100 N 未満の障害物を検知できること。

  7. 障害物が検知されると、ウィンドウは約 10 cm 下降すること。

  8. 障害物の検知は運転席側および助手席側のどちらの制御よりも優先されること。

  9. 運転席側の制御は助手席側の制御よりも優先されること。

Control System の設計

以下の節では、Stateflow で実装されているイベントドリブン コントローラーについて説明します。次の図は概要の Stateflow チャート全体を示したものです。

コントローラー入力

チャート Control System は、以下の入力値および指定されたシステム要件に基づき、ウィンドウの適切な動作を判断します。パワー ウィンドウ スイッチの上下動作はコントローラーへの個別の入力として扱われます。

入力 1: 運転席側のウィンドウ スイッチを上に引く

入力 2: 運転席側のウィンドウ スイッチを下に押す

入力 3: 助手席側のウィンドウ スイッチを上に引く

入力 4: 助手席側のウィンドウ スイッチを下に押す

入力 5: モーターの電機子電流 (センサー入力)

4 つのウィンドウ コントロール ボタンは、オンとオフを示すブール値 true および false で表現されます。モーターの電機子電流は固定小数点データ値で表現されます。これらの入力値を使用してコントローラーはウィンドウを上昇させるか、下降させるか、あるいは何もしないかを判断します。

障害物検知

システムは障害物を検知するためにモーターの荷重を監視します。ウィンドウが障害物に接すると、ウィンドウにかかる力によってモーターに荷重が加わり、これにより電機子電流が増加します。電機子電流の急激な増加を監視することで、システムはウィンドウの道筋にある障害物を検知します。

コントローラーのステートおよびイベント

チャートには 2 つの親、すなわち SwitchLogic という名前のパラレル ステートがあります。パラレル ステートは同時にアクティブになります。Logic には、StopMoveEmergencyDownEndStop という 4 つの排他的ステートが含まれます。名前が示すように、これらのステートは停止、作動、緊急時の下降あるいは端部の検知を行うためのウィンドウの制御ロジックを扱います。ステートは、時間またはユーザー入力に基づくイベントによって変化します。時間ベースのイベントは時相論理イベントと呼ばれ、障害物検知およびハードウェア保護のためのセーフティ クリティカルな機能を起動します。ユーザー主導型のイベントは次のとおりです。

  1. UP: ウィンドウの上昇イベント

  2. DOWN: ウィンドウの下降イベント

  3. NEUTRAL: ウィンドウの停止イベント

  4. ENDSTOP: ウィンドウが完全に開閉する際の端部の検知イベント

  5. OBSTACLE: ウィンドウの障害物イベント

イベント ブロードキャスト - 真理値表およびグラフィカル関数

このコントローラーのイベントは真理値表 switches およびグラフィカル関数 obstacles (それぞれ Switch ステートおよび Move ステート内にある) からブロードキャストされます。switches の目的は、押された 1 つのボタンまたは複数のボタンの組み合わせに基づき UPDOWN および NEUTRAL イベントをブロードキャストすることです。関数 obstacles の目的は、障害物の有無あるいはウィンドウが完全に開閉されているかを判断することです。これは電機子電流の変化量および変化率に基づいて判断されます。障害物が存在するときは OBSTACLE イベントがブロードキャストされ、ウィンドウが完全に開いたまたは閉じた位置に到達したとき ENDSTOP イベントがブロードキャストされます。次の図は、真理値表を示したものです。ここでわかるように、運転席側からの入力は助手席側からの入力よりも優先されます。運転席側と助手席側の両方がウィンドウ ボタンを押した場合、助手席側の入力は無視されます。

最後のグラフィカル関数 go は、Stateflow チャートにいかなるイベントもブロードキャストしません。go の目的はウィンドウの動作の方向に対応するチャートの出力値を設定することです。たとえば、ウィンドウを上昇させるようコントローラーが判断した場合、1 番目の出力端子に値 true が渡されます。同じように、ウィンドウを下降させるようコントローラーが判断した場合、2 番目の出力端子に値 true が渡されます。

Stop ステート

Stop ステートは、ウィンドウが動作していないときは常にアクティブとなります。既定では、ウィンドウはシミュレーションの開始時は動作していないため、Stop は、シミュレーションが開始されると最初にアクティブになるステートです。Stop から Move への遷移は、検証済みの UP または DOWN イベントがブロードキャストされた場合に発生します。UP イベントは、ウィンドウが完全に閉じているときに発生した場合、無効となります。同様に、DOWN イベントは、ウィンドウが完全に開いているときに発生した場合、無効となります。

Move ステート

Move ステートは、ウィンドウが動いているときは常にアクティブとなります。このステートには障害物の検知およびウィンドウの自動的な作動に関連するパワー ウィンドウのいくつかの要件が実装されています。Move は、各タイム ステップで、ウィンドウが障害物に遮られていないかまたは、完全に開いたまたは閉じた位置に到達しているかどうかをチェックします。障害物が検知されると、OBSTACLE イベントがブロードキャストされ、Move から EmergencyDown へのステート遷移が発生します。端部が検知されると、ENDSTOP イベントがブロードキャストされ、Move から EndStop へのステート遷移が発生します。

Move には、Direction および Mode という名前の 2 つのパラレル ステートがあります。Direction ステートは、ウィンドウが開閉中であるか、また、上昇か下降かをチェックします。Mode ステートは、ウィンドウの自動開閉機能を実装しています。ウィンドウ ボタンがいずれかの方向に 0.2 ~ 1 秒間長押しされると、新しいウィンドウ コマンドまたは障害物によって遮られない限り、ウィンドウは自動的に完全に開くか閉じるかします。上記の時間ウィンドウ ボタンが長押しされると、Auto ステートに入ります。ボタンが押された時間がこの時間に満たない場合、Manual ステートに入ります。Manual ステートがアクティブの場合、ボタンが離されると Move から Stop への遷移が実行されます。

EmergencyDown ステート

EmergencyDown ステートでは、障害物が検知されるとウィンドウが約 10 cm 下降します。このステートがアクティブの場合、ウィンドウを下降させるために関数 go が呼び出されます。

EndStop ステート

EndStop は、まずウィンドウが完全に開閉されているかを判断し、次に、ウィンドウへかけられた力を緩和させるため、一瞬反対方向に動作するようウィンドウに命令します。ウィンドウが必要な分だけ動作すると、EndStop から Stop へのステート遷移が発生します。

関連するトピック