Main Content

Function-Call Generator を使用したレートベース モデルのシミュレーションのテスト

このトピックでは、テスト モデルでレートベース モデルを参照し、シミュレーション用にテスト モデルに周期関数呼び出しイベント端子を追加する方法について説明します。完成したテスト ハーネス モデルを開くには、ex_model_test_harness_with_subsystems を参照してください。

レートベース モデルを参照するテスト モデルの作成

レートベース モデルのテストでは、モデルをテスト モデルの Model ブロックから参照し、Model ブロックに周期関数呼び出しイベント端子を追加して、端子に関数呼び出しを接続します。

  1. Simulink® モデルを作成します。

  2. Model ブロックを追加し、その [ブロック パラメーター] ダイアログ ボックスを開きます。

  3. [モデル名] ボックスにレートベース モデルのファイル名を入力します。

  4. [レートのスケジュール] チェック ボックスをオンにします。

    Model ブロックに周期的関数呼び出しイベント端子が追加され、そのサンプル時間は、Subsystem ブロックに接続された Inport ブロックに対し指定した値になります。

  5. 関数呼び出しイニシエーター (Function-Call Generator ブロックまたは Stateflow® チャート) を使用して実行レートを指定します。関数呼び出しイベントとそれらのイベントのスケジュールは、レートベース モデルを参照する Model ブロックの外部に配置されます。

    この例では、Function-Call Generator ブロックを追加します。ブロックの [ブロック パラメーター] ダイアログ ボックスを開き、[サンプル時間] を指定します。

    レートベース モデルに含まれる同じサンプル時間のサブシステムや参照モデルでは、イニシエーターのレートが同じでなければなりません。この要件の対象には、同じレートの周期的にスケジュールされたサブシステムやイベントドリブン Function-Call Subsystem ブロックが含まれます。

  6. シミュレーションには固定ステップ ソルバーを使用します。コンフィギュレーション パラメーター [タイプ][固定ステップ][ソルバー][自動][固定ステップ サイズ][自動] に設定します。

レートベース モデルのシミュレーション

レートベース モデルの動作をテスト モデルからシミュレートします。

  1. シミュレーションを実行します。一般的なコンパイル エラーや実行時エラーの原因は次のとおりです。

    • 周期的イベント端子が同じサンプル時間が指定された関数呼び出しイニシエーターに接続されていない。

    • 参照コンポーネント モデルのスケジュールされた Inport ブロック ([サンプル時間] パラメーターを値に設定) でいずれかの周期的関数呼び出しイベント端子のレート ([Port discrete rates] テーブルで指定されたサンプル時間) が指定されていない。

  2. コンポーネント モデルの動作を確認します。Scope ブロックを開きます。