このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
エクスポート関数モデルの作成
Simulink® モデルから生成されたコード内に、独立した関数を作成する最初のステップは、エクスポート関数モデルのコンテキストで関数を定義することです。エクスポート関数モデルの概要を参照してください。
完成したエクスポート関数モデルを開くには、ex_export_function_model
を参照してください。
モデルをエクスポート関数モデルとして指定し、エクスポート関数モデルの要件を満たす
モデルをエクスポート関数モデルとして指定します。キャンバスをクリックしてブロックの選択を解除し、プロパティ インスペクターを開いて [実行] タブに移動します。[実行領域の設定] チェック ボックスをオンにし、[領域] リストから
[エクスポート関数]
を選択します。[コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。[モデル化] タブおよび [設定] セクションで、[モデル設定]
を選択します。
[ソルバー] ペインで、[ソルバーの選択] の [タイプ] を
[固定ステップ]
、[ソルバー] を[自動]
、および [固定ステップ サイズ] を[auto]
に設定します。[コード生成] ペインで、[システム ターゲット ファイル] を
ert.tlc
に設定します。この手順を実行するには、Embedded Coder® ライセンスが必要です。
モデル アルゴリズムの作成
エクスポート関数モデルの最上位では、関数は Function-Call Subsystem ブロック、関数呼び出し Model ブロック、Simulink Function ブロックおよび S-Function ブロック内でモデル化されます。この例では、Function-Call Subsystem ブロックを使用して 2 つの関数をモデル化します。
2 つの Function-Call Subsystem ブロックを追加します。
最初のサブシステムでは、各タイム ステップで 0.05 ずつインクリメントする単位遅延をモデル化します。
2 番目のサブシステムでは、入力信号の二乗をモデル化します。
Inport ブロックおよび Outport ブロックを追加します。
関数呼び出し入力の追加
関数呼び出し信号を出力するように設定されている Inport ブロックは、シミュレーション中に Function-Call Subsystem ブロックの実行を制御します。関数呼び出し Inport ブロックは、生成コードにエントリ ポイント関数も作成します。
Inport ブロックを Function-Call Subsystem ブロック上の
function()
入力端子に付加します。サンプル時間を指定します。Inport ブロックのダイアログを開き、[信号属性] タブを選択します。[関数呼び出しの出力] チェック ボックスをオンにします。遅延関数の [サンプル時間] を
0.1
(100 ms)、および関数 square を0.01
(10 ms) に設定します。サンプル時間の設定は、シミュレーション テストに対してのみ実行します。サンプル時間値は、生成コードに影響しません。ただし、関数呼び出しの頻度を識別するコメントがコードに追加されます。
サンプル時間を
-1
に設定し、シミュレーション中の関数呼び出し頻度 (周期的または非周期的) を許可できます。サンプル時間を設定すると、Simulink で呼び出し頻度と指定した頻度がチェックされ、不一致がある場合はエラーが表示されます。ブロックの名前を変更します。名前によって、生成コード内の信号を識別できます。
モデルを更新します (Ctrl + D)。点鎖線は、関数呼び出し信号を示します。
モデルをテストする
エクスポート関数モデルの作成後は、そのモデルをシミュレーションでテストできます。入力行列を使用したエクスポート関数モデルのシミュレーションのテスト、関数呼び出しジェネレーターを使用したエクスポート関数モデルのシミュレーションのテスト、またはStateflow チャートを使用したエクスポート関数モデルのシミュレーションのテストのいずれかのシミュレーション テスト方法を選択します。