Main Content

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

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

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

モデルをエクスポート関数モデルとして指定するには、次を行います。

  1. キャンバスをクリックしてブロックの選択を解除します。

  2. プロパティ インスペクターを開いて [実行] タブに移動します。

  3. [実行領域の設定] パラメーターを選択します。

  4. [領域] リストから [エクスポート関数] を選択します。

エクスポート関数モデルの要件を満たすには、次を行います。

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

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

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

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

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

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

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

    Function-call subsystem contents with Unit Delay, Bias, and Outport blocks

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

    Function-call subsystem contents with Inport, Square, and Outport blocks

  4. モデルの最上位レベルで、Inport ブロックおよび Outport ブロックを追加します。

    Model with two function-call subsystems with input and output ports connected

関数呼び出し入力の追加

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

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

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

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

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

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

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

    Model with function-call signals connected to function ports of function-call subsystems

関数 Unit Delay と関数 Square をもつエクスポート関数モデル

完成したエクスポート関数モデルを開くには、export_function_model という名前のモデルを開きます。

このモデルには 2 つの Function-Call Subsystem が含まれています。一方のサブシステムには Unit Delay ブロックが含まれ、もう一方のサブシステムには Square ブロックが含まれます。

モデルをテストする

エクスポート関数モデルの作成後は、そのモデルをシミュレーションでテストします。次のいずれかのシミュレーション テスト方法を選択します。

参考

関連するトピック