Real-Time Workshop User's Guide | ![]() ![]() |
ラピッドプロトタイピングと組み込みモデルの実行の違い
ラピッドプロトタイピングプログラムの枠組みは、モデルの定義間で変わらない共通のアプリケーションプログラミングインタフェース(API)を提供します。対照的に、組み込みプログラムの枠組みは、モデルに対して用意された最適化されたAPIを提供します。生成コードの組み込みスタイルを使うときに、組み込みシステム内でコードをどのように実行したいかをモデリングすることを意図しています。そのため、モデル内で定義された定義は、組み込みターゲットに固有です、モデル名、パラメータ、信号のストレージクラスのような項目は、組み込みスタイルのコードに対してはAPIの部分として含まれます。
生成コードのラピッドプロトタイピングと組み込みシステムの1つの大きな違いは、組み込みコードがSimStruct
データ構造体を含まないことです。SimStruct
は、生成コードのラピッドプロトタイピングスタイルが強く依存する共通のAPIを定義します。しかし、SimStruct
データ構造体は、多くのオプションをサポートするため、組み込みアプリケーションにおいては必要でないメモリを消費します。
生成コードのラピッドプロトタイピングと組み込みスタイルとのその他の大きな違いは、後者は前者よりも含まれるエントリポイント関数が少ないことです。コードの組み込みスタイルは、1つのランタイム関数model
_step
のみを含むように設定することができます。組み込みターゲットシステムでは、以下の理由により、1つのランタイム関数を定義できます。
SimStruct
データ構造体にアクセスしないことを意味します。そのため、この章の前半で示したモデル実行コードを見ると、Loop...EndLoop
ステートメントを削除し、ModelOutputs
, LogTXY
, ModelUpdate
を1つのステートメントmodel
_step
にグループ化することができます。
生成された組み込みコードがどのように実行されるかについては、「ERTプログラムの実行」を参照してください。
![]() | シングルタスクおよびマルチタスクモデル実行でのデータロギング | ラピッドプロトタイピングモデル関数 | ![]() |