レートベース モデルを含むエクスポート関数モデルのコードの生成
関数呼び出しサブシステムおよびスケジュールされたサブシステムの両方を含むモデルからコードを生成できます。スケジュールされたサブシステムを含むレートベース モデルを作成します。その後、Model ブロックを使用してエクスポート関数モデルからレートベース モデルを参照します。
スケジュールされたサブシステムとレートベース モデルを含むエクスポート関数モデルの作成
スケジュールされたサブシステムを含むレートベース モデルを作成します。レートベース モデルの作成を参照してください。
この例では、スケジュールされたサブシステムの [サンプル時間] は
0.01
に設定されています。Function-Call Subsystem を含むエクスポート関数モデルを作成します。エクスポート関数モデルの作成を参照してください。
Model ブロックからレートベース モデルを参照して、レートベース モデルをエクスポート関数モデルに含めます。
[レートのスケジュール] ブロック パラメーターを選択して、周期的イベント端子を Model ブロック上に表示します。
Inport ブロックを周期的イベント端子に接続します。
周期的イベント端子に接続された Inport ブロックについて、[関数呼び出しの出力] ブロック パラメーターを選択し、スケジュールされたサブシステムと同じサンプル時間を使用してサンプル時間を指定します。
この例では、
function-call 10ms
という名前の Inport ブロックの [サンプル時間] は0.01
に設定されています。
完成したエクスポート関数モデルには、Function-Call Subsystem とスケジュールされたサブシステムの両方が含まれます。
レートベース モデルを含むエクスポート関数モデルのコードの生成
レートベース モデルを参照するエクスポート関数モデルのコードを生成すると、レートベース モデルの生成コードがエクスポート関数モデルの生成コードに統合されます。
必要に応じて、export_function_model_with_rate_based_model
という名前の完成したエクスポート関数モデルを開きます。
エクスポートされた関数のコードを生成するには、次のようにします。
Simulink® ツールストリップの [モデル化] タブで [モデル設定] をクリックします。[コンフィギュレーション パラメーター] ダイアログ ボックスが開きます。
[ソルバー] ペインで、[タイプ] を
[Fixed-step]
に設定します。[コード生成] ペインで、[システム ターゲット ファイル] を
[ert.tlc]
に設定します。Embedded Coder® ライセンスが必要です。Simulink ツールストリップの [アプリ] タブの [アプリ] ギャラリーで、[Embedded Coder] を選択します。
[C コード] タブが開いたら、[コード生成] をクリックします。
[コード生成レポート] ダイアログ ボックスが開いたら、[Code]、[モデル ファイル] で C ファイルを選択します。
生成コードで、各ルートレベルの関数呼び出し Inport ブロックは void-void 関数を生成します。関数名は、ブロックからの出力信号の名前です。信号名がない場合、関数名はブロックの名前から派生します。この例では、関数名はブロック名から派生しています。