このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では,エクスポート関数モデルにおける関数呼び出しの順序をスケジュールエディターを使用して表示および編集する方法を示します。エクスポート関数モデルでは,いずれのモデルでも同様に,目的の機能が函数调用子系统としてモデル化されます。でこれらの函数调用子系统,スケジュールエディターによってスケジュールされる分割を定義します。
スケジュールエディターを使用すると,関数呼び出しのスケジュールを簡単に表示および編集できます。システムの動作はそれらの分割の順序に応じて変わります。この例では,順序を変更してモデルをシミュレートし,システムの動作に対する影響を観察します。シミュレーションでスケジュールの編集による影響を確認するために,スケジューリングの前と後でモデルのシミュレーションを比較します。
エクスポート関数モデルのスケジュールを表示および編集するには,そのモデルを参照します。
open_system (“ThrottlePositionControlTop.slx”);
ThrottlePositionControl
が参照エクスポート関数モデルです。既定では,それぞれの関数にそれらの関数のトリガーに使用できる入力端子があります。それらの端子はスケジュールエディターで自動的に処理されます。スケジュールエディターを使用するには,[次を使用してレートをスケジュール]パラメーターを[スケジュールエディター]に設定します。
set_param (“ThrottlePositionControlTop / ThrottleControl”,“ScheduleRatesWith”,“时间表编辑器”);
スケジューリングによるモデルの動作への影響を観察するには,スケジュールを編集する前にモデルをシミュレートしてベースラインを確立します。モデルのシミュレーションを実行します。
sim卡(“ThrottlePositionControlTop”);
スケジュールエディターを開くには,[モデル化)タブの[設計]セクションで[スケジュールエディター]をクリックします。スケジュールエディターでは,モデルの各コンポーネントが分割として表されます。ブロック線図を更新すると分割が表示されます。分割はモデルにおけるエントリポイントです。スケジュールエディターには,それらの分割の順序とデータ通信が示されます。矢印は分割間のデータ接続であり,データフローを示します。破線は,接続元の実行順序が接続先よりも後であるため遅延があることを示します。実線は,接続元の実行順序が接続先よりも前であるため遅延がないことを示します。
[順序]ペインには,特定のタイムステップで実行される分割の順序が示されます。分割の順序が不完全な状態であると仮定します。この場合,遅延を解消するためには,分割ThrottleControl。ActuatorRun5ms
を分割ThrottleControl。ControllerRun5ms
よりも後に実行します。
[順序]ペインで,ThrottleControl。ActuatorRun5ms
をThrottleControl。ControllerRun5ms
の後ろへドラッグします。分割ThrottleControl。ControllerRun5ms
と分割ThrottleControl。ActuatorRun5ms
の間の遅延が依存関係に変わることを確認します。これにより,ThrottleControl。ControllerRun5ms
とThrottleControl。ActuatorRun5ms
の実行間の遅延がなくなります。
このエクスポート関数モデルには,制約なしの分割AccelerationPedalPositionSensor
が含まれています。制約なしの分割を離散分割としてシミュレートするようにスケジュールするとします。分割ThrottleControl。AppSnsrRun
を[0:0.02:100]に実行するようにスケジュールして,それぞれの時間の動作を観察します。制約なしの分割をクリックし,プロパティインスペクターで[ヒット時間]に[(1:5000)*。02]と入力します。
次に,変更したスケジュールでモデルをシミュレートします。
シミュレーションデータインスペクターを開きます。2つの実行を選択して比較します。スケジュールの変更によるモデルの動作への影響を確認できます。
版权所有The MathWorks, Inc.