Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

エクスポート関数モデルの作成

Simulink® モデルから生成されたコード内に、独立した関数を作成する最初のステップは、エクスポート関数モデルのコンテキストで関数を定義することです。エクスポート関数モデルの概要を参照してください。

完成したエクスポート関数モデルを開くには、ex_export_function_model を参照してください。

モデルをエクスポート関数モデルとして指定し、エクスポート関数モデルの要件を満たす

  1. モデルをエクスポート関数モデルとして指定します。キャンバスをクリックしてブロックの選択を解除し、プロパティ インスペクターを開いて [実行] タブに移動します。[実行領域の設定] チェック ボックスをオンにし、[領域] リストから [エクスポート関数] を選択します。

  2. [コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。[モデル化] タブおよび [設定] セクションで、[モデル設定] を選択します。

  3. [ソルバー] ペインで、[ソルバーの選択] の [タイプ][固定ステップ][ソルバー][自動]、および [固定ステップ サイズ][auto] に設定します。

  4. [コード生成] ペインで、[システム ターゲット ファイル]ert.tlc に設定します。この手順を実行するには、Embedded Coder® ライセンスが必要です。

モデル アルゴリズムの作成

エクスポート関数モデルの最上位では、関数は Function-Call Subsystem ブロック、関数呼び出し Model ブロック、Simulink Function ブロックおよび S-Function ブロック内でモデル化されます。この例では、Function-Call Subsystem ブロックを使用して 2 つの関数をモデル化します。

  1. 2 つの Function-Call Subsystem ブロックを追加します。

  2. 最初のサブシステムでは、各タイム ステップで 0.05 ずつインクリメントする単位遅延をモデル化します。

  3. 2 番目のサブシステムでは、入力信号の二乗をモデル化します。

  4. Inport ブロックおよび Outport ブロックを追加します。

関数呼び出し入力の追加

関数呼び出し信号を出力するように設定されている Inport ブロックは、シミュレーション中に Function-Call Subsystem ブロックの実行を制御します。関数呼び出し Inport ブロックは、生成コードにエントリ ポイント関数も作成します。

  1. Inport ブロックを Function-Call Subsystem ブロック上の function() 入力端子に付加します。

  2. サンプル時間を指定します。Inport ブロックのダイアログを開き、[信号属性] タブを選択します。[関数呼び出しの出力] チェック ボックスをオンにします。遅延関数の [サンプル時間]0.1 (100 ms)、および関数 square を 0.01 (10 ms) に設定します。

    サンプル時間の設定は、シミュレーション テストに対してのみ実行します。サンプル時間値は、生成コードに影響しません。ただし、関数呼び出しの頻度を識別するコメントがコードに追加されます。

    サンプル時間を -1 に設定し、シミュレーション中の関数呼び出し頻度 (周期的または非周期的) を許可できます。サンプル時間を設定すると、Simulink で呼び出し頻度と指定した頻度がチェックされ、不一致がある場合はエラーが表示されます。

  3. ブロックの名前を変更します。名前によって、生成コード内の信号を識別できます。

  4. モデルを更新します (Ctrl + D)。点鎖線は、関数呼び出し信号を示します。

モデルをテストする

エクスポート関数モデルの作成後は、そのモデルをシミュレーションでテストできます。入力行列を使用したエクスポート関数モデルのシミュレーションのテスト関数呼び出しジェネレーターを使用したエクスポート関数モデルのシミュレーションのテスト、またはStateflow チャートを使用したエクスポート関数モデルのシミュレーションのテストのいずれかのシミュレーション テスト方法を選択します。

参考

関連するトピック