Main Content

スケジュール エディターを使用したエクスポート関数モデルのスケジュール

この例では、エクスポート関数モデルにおける関数呼び出しの順序をスケジュール エディターを使用して表示および編集する方法を示します。エクスポート関数モデルでは、いずれのモデルでも同様に、目的の機能が Function-Call Subsystem としてモデル化されます。これらの Function-Call Subsystem で、スケジュール エディターによってスケジュールされる分割を定義します。

スケジュール エディターを使用すると、関数呼び出しのスケジュールを簡単に表示および編集できます。システムの動作はそれらの分割の順序に応じて変わります。この例では、順序を変更してモデルをシミュレートし、システムの動作に対する影響を観察します。シミュレーションでスケジュールの編集による影響を確認するために、スケジューリングの前と後でモデルのシミュレーションを比較します。

参照エクスポート関数モデルからの分割の作成

エクスポート関数モデルのスケジュールを表示および編集するには、そのモデルを参照します。

open_system('ThrottlePositionControlTop.slx');

ThrottlePositionControl が参照エクスポート関数モデルです。既定では、それぞれの関数にそれらの関数のトリガーに使用できる入力端子があります。それらの端子はスケジュール エディターで自動的に処理されます。スケジュール エディターを使用するには、[次を使用してレートをスケジュール] パラメーターを [スケジュール エディター] に設定します。

set_param('ThrottlePositionControlTop/ThrottleControl','ScheduleRatesWith','Schedule Editor');

シミュレーションのベースラインの確立

スケジューリングによるモデルの動作への影響を観察するには、スケジュールを編集する前にモデルをシミュレートしてベースラインを確立します。モデルのシミュレーションを実行します。

sim('ThrottlePositionControlTop');

スケジュール エディターを開く

スケジュール エディターを開くには、[モデル化] タブの [設計] セクションで [スケジュール エディター] をクリックします。スケジュール エディターでは、モデルの各コンポーネントが分割として表されます。ブロック線図を更新すると分割が表示されます。分割はモデルにおけるエントリポイントです。スケジュール エディターには、それらの分割の順序とデータ通信が示されます。矢印は分割間のデータ接続であり、データ フローを示します。破線は、接続元の実行順序が接続先よりも後であるため遅延があることを示します。実線は、接続元の実行順序が接続先よりも前であるため遅延がないことを示します。

分割のスケジュールの編集

[順序] ペインには、特定のタイム ステップで実行される分割の順序が示されます。分割の順序が不完全な状態であると仮定します。この場合、遅延を解消するためには、分割 ThrottleControl.ActuatorRun5ms を分割 ThrottleControl.ControllerRun5ms よりも後に実行します。

[順序] ペインで、ThrottleControl.ActuatorRun5msThrottleControl.ControllerRun5ms の後ろへドラッグします。分割 ThrottleControl.ControllerRun5ms と分割 ThrottleControl.ActuatorRun5ms の間の遅延が依存関係に変わることを確認します。これにより、ThrottleControl.ControllerRun5msThrottleControl.ActuatorRun5ms の実行間の遅延がなくなります。

非周期的分割の実行のスケジュール

このエクスポート関数モデルには、制約なしの分割 AccelerationPedalPositionSensor が含まれています。制約なしの分割を離散分割としてシミュレートするようにスケジュールするとします。分割 ThrottleControl.AppSnsrRun を [0:0.02:100] に実行するようにスケジュールして、それぞれの時間の動作を観察します。制約なしの分割をクリックし、プロパティ インスペクターで [トリガー] に「[(1:5000)*.02]」と入力します。

シミュレーション データ インスペクターでの実行の比較

次に、変更したスケジュールでモデルをシミュレートします。

シミュレーション データ インスペクターを開きます。2 つの実行を選択して比較します。スケジュールの変更によるモデルの動作への影響を確認できます。

Copyright 2018-2022 The MathWorks, Inc.