Main Content

スケジュール エディターを使用したエクスポート関数モデルのシミュレーションのテスト

スケジュール エディターを使用して、シミュレーションの関数呼び出しコンポーネントをスケジュールします。この手法は、関数呼び出しコンポーネントの実行の順序を設定し、コンポーネント間のデータ依存関係を確認する場合に便利です。

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

  2. エクスポート関数モデルを参照する Model ブロックを追加します。

  3. スケジュール エディターを使用して関数呼び出しイベントを指定します。

  4. データ入力を指定します。

  5. シミュレーションを実行します。

シミュレーション用のテスト モデル (ハーネス) の作成

Simulink テスト モデルはシミュレーションに対してのみ使用されます。シミュレーション テストの後に、エクスポート関数モデルからコードを生成し、エクスポートした関数コードを外部でコード化されたスケジューラと手動で統合します。Model ブロックからエクスポート関数モデルを参照すると、モデルそのものを変更しなくても、関数呼び出しイベントを追加したり、テスト用のデータ信号のログ記録が可能になります。

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

  2. [モデル化] タブおよび [設定] セクションで、[モデル設定] を選択します。

  3. [コンフィギュレーション パラメーター] ダイアログ ボックスの左のペインで、[ソルバー] を選択します。右側のペインで、[ソルバーの詳細] の矢印を選択し、追加のパラメーターを表示します。[各離散レートを個別のタスクとして扱う] パラメーターと [データ転送に対するレート変換を自動的に取り扱う] パラメーターを選択します。

  4. Model ブロックをモデルに追加します。

  5. [モデル化] タブの [設計] セクションで、[プロパティ インスペクター] を選択します。

  6. [モデル名] ボックスで、エクスポート関数モデルの名前を入力します。たとえば、エクスポート関数モデルの作成で作成したエクスポート関数モデルを使用します。

  7. [レートのスケジュール] パラメーターを選択します。[レートのスケジュール] のリストから [スケジュール エディター] を選択します。

  8. Outport ブロックを追加し、Model ブロックの output_100ms 端子と output_10ms 端子に接続します。

  9. Sine Wave ブロックを追加してデータ入力を設定します。[振幅]2[サンプル時間]0.01 に設定します。ブロックを Model ブロックの [input_10ms] 入力端子に接続します。

    Model block that references export-function model with inputs and outputs connected

スケジュール エディターを使用した関数呼び出しイベントの作成

スケジュール エディターを使用して、ルートレベルの関数呼び出し Inport ブロックでイベントが発生したことを示す時間ベクトルを定義し、関数呼び出しイベントを提供します。

  1. スケジュール エディターを開きます。[モデル化] タブの [設計] セクションで、[スケジュール エディター] を選択します。スケジュール エディターにより関数呼び出し Inport ブロックが分割され、ブロック名を使用して分割に名前が付けられます。

  2. Model.function_call_2 区画を選択します。[ヒット時間] ボックスに、0 で開始し、周期的に 0.01 ずつ 10 まで増える値をもつ行列を入力します。0.01 の倍数である乱数値をもつ行列を入力し、非同期動作をテストすることもできます。

  3. Model.function_call_1 区画を選択します。[ヒット時間] ボックスに、0 で開始し、0.1 ずつ 10 まで増える値をもつ行列を入力します。

シミュレーションのためのエクスポート関数モデルの準備

エクスポート関数モデルをテストする前に、モデルの設定を構成し、ログを記録する信号を指定します。

  1. [モデル化] タブで、[モデル設定] をクリックします。

  2. [ソルバー] ペインで、次のコンフィギュレーション パラメーターの設定を確認します。

    • [タイプ][固定ステップ] に設定されている。

    • [ソルバー][離散 (連続状態なし)] または [自動 (ソルバーの自動選択)] に設定されている。

    • [固定ステップ サイズ (基本サンプル時間)][自動] に設定されている。

  3. 信号のログ記録をセットアップします。ログを記録する信号を右クリックします。その後、[選択した信号のログ] を選択します。この例では、エクスポート関数モデルの出力信号が Outport ブロックに接続されているため、それらのログが記録されます。

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

コードを生成する前にエクスポート関数モデルの動作をテストおよび確認するには、完成したテスト モデルをシミュレートします。

必要に応じて、完成した ex_export_function_test_model_with_schedule_editor という名前のテスト モデルを開いてシミュレートします。

シミュレーション結果を表示するには、シミュレーション データ インスペクターを開きます。[シミュレーション] タブで、[データ インスペクター] をクリックします。

モデルをテストした後に、関数のコードを生成できます。エクスポート関数モデルのコードの生成を参照してください。

参考

関連するトピック