このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
マルチインスタンス コード生成の構成
既定では、コード ジェネレーターは、最上位モデルに対して再呼び出し可能でないコードを生成します。エントリポイント関数には void-void インターフェイスがあります。コードは、共有メモリ内にあるグローバル データ構造体へのアクセスを共有して他のコードとやりとりします。
コードの再利用によってメリットがあり、コードの使用またはインスタンスごとに独自で固有なデータを維持する必要のあるアプリケーションの場合は、コード ジェネレーターで再呼び出し可能でマルチインスタンス化可能なコードが生成されるようにモデルを設定します。複数のプログラムで再呼び出し可能なコードを同時に使用できます。再入用のモデルを設定すると、実行 (step) エントリポイント関数では、グローバル データ構造体ではなく、ルートレベルの入力引数と出力引数が使用されます。
マルチインスタンス コード生成用の最上位モデルの構成
モデル コンフィギュレーション パラメーター [コード インターフェイスのパッケージ化] を [再利用可能な関数] に設定します。
以下のモデル コンフィギュレーション パラメーターを設定して、追加の診断およびコード生成制御を適用します。
モデルがマルチインスタンス コードの要件を満たしていない場合にコード ジェネレーターに表示される診断メッセージの重大度のレベルを選択するには、パラメーター [マルチインスタンス コードのエラーの診断] を
[なし]、[警告]、または[エラー]に設定する。生成されたコードでルートレベルのモデルの入力および出力を再利用可能な実行 (ステップ) 関数に渡す方法を制御するには (Embedded Coder が必要)、パラメーター [ルートレベル I/O を以下として渡す] を
[個々の引数]、[構造体参照]、または[モデル データ構造体の一部]に設定する。mallocを使用してモデル データ構造体にメモリを動的に割り当てる関数を生成ファイルに含めるには (Embedded Coder が必要)、パラメーター [モデルの初期化に動的メモリ割り当てを使用] をmodel.c[オン]に設定する。
詳細については、最上位モデルからの再呼び出し可能なコードの生成 (Embedded Coder)を参照してください。
マルチインスタンス コード生成用の参照モデルの構成
モデル コンフィギュレーション パラメーター [最上位モデルごとに可能なインスタンスの総数] を [複数] に設定します。このパラメーター設定にすると、複数回の参照を妨げる構成要素が含まれていない場合、モデルの階層構造内でモデルを複数回参照できます。参照が複数回できないようになっている場合、1 回しか参照されていなくてもエラーが発生します。
詳細については、Simulink Function ブロックからの再呼び出し可能なコードの生成 (Embedded Coder)を参照してください。