マルチタスク モードのマルチレート モデル化 (VxWorks® OS)
この例では、マルチタスク オペレーティング システム ターゲット (VxWorks®) 用に設定されたマルチレート離散モデルのコードを生成します。このモデルには 2 つのサンプル時間が含まれています。Inport ブロック 1 と Inport ブロック 2 は、それぞれ 1 秒と 2 秒のサンプル時間を指定します。これには、モデル コンフィギュレーション パラメーター [周期的なサンプル時間の制約] の設定が適用されています。ソルバーにはマルチタスク動作が設定されています。つまり、1 秒のタスクが 2 秒のタスクをプリエンプトする場合に、Rate Transition ブロックではデータの整合性が確実に維持される必要があります。Simulink® とコード ジェネレーターは、適切なレート変換を適用します。このモデルでは明示的に Rate Transition ブロックを指定します。または、モデル コンフィギュレーション パラメーター [データ転送に対するレート変換を自動的に取り扱う] を設定して、このブロックを挿入するよう Simulink® に指示することができます。
このモデルは注釈付きの色分けされたサンプル時間を表示するように設定されています。モデルを開いた後に表示するには、Ctrl+D を押してブロック線図を更新します。凡例を表示するには、Ctrl+J を押します。赤色はモデル内の最速の離散サンプル時間を表し、緑色は 2 番目に速いサンプル時間を、黄色は混在しているサンプル時間を表します。
モデル例
model = 'MultirateMultitaskingOS';
open_system(model);