1 つの出力/更新関数
出力および更新関数用のコードを含む実行エントリポイント関数
モデル コンフィギュレーション ペイン: [コード生成] / [インターフェイス]
説明
[1 つの出力/更新関数] パラメーターは、コード ジェネレーターが出力および更新関数用のコードを含む 1 つの実行エントリポイント関数 (
) を生成するのか、出力と更新の別個のエントリポイント関数 (model
_step
と model
_output
) を生成するのかを指定します。model
_update
このパラメーターは、ERT ベースのシステム ターゲット ファイルとサービス コード インターフェイスで構成されたモデルではサポートされません。
ert_main.c
または .cpp
をカスタマイズして、各基本レートのモデル ステップ後にモデル出力を読み取った場合、[サポート: 連続時間] パラメーターおよび [1 つの出力/更新関数] パラメーターを選択すると、モデルのログ データの対応する出力値とは異なる出力値が、連続出力端子の ert_main
から読み取られる可能性があることに注意してください。これは、ログ データはメジャー タイム ステップでの出力のスナップショットであるにもかかわらず、基本レートのモデル ステップ後に ert_main
から読み取られた出力は、間にあるマイナー タイム ステップを反映する可能性があるためです。次の表に、不一致をなくす回避方法を示します。
回避方法 | カスタマイズされた ert_main.c | カスタマイズされた ert_main.cpp |
---|---|---|
生成された出力と更新関数を分け ([1 つの出力/更新関数] パラメーターをオフにする)、メジャー タイム ステップのみを反映するモデル出力値を読み取るためのコードを ert_main に挿入します。たとえば、ert_main の 呼び出しと 呼び出しの間で、モデル External outputs のグローバル データ構造体 ( で定義) を読み取ります。 | X | |
[1 つの出力/更新関数] パラメーターを選択し、生成された または .cpp ファイルにコードを挿入してメジャー タイム ステップのみを反映するモデル出力値を返します。たとえば、モデル ステップ関数の出力コードと更新コードの間にモデル External outputs のグローバル データ構造体 ( で定義) の値を保存します。その後、更新コードの完了後に値を復元します。 | X | X |
Zero-Order Hold ブロックを連続出力端子の前に配置します。 | X | X |
依存関係
このパラメーターを有効にするには、次のようにします。
[コード インターフェイスのパッケージ化] パラメーターを
[再利用できない関数]
または[再利用可能な関数]
に設定します。[代数ループの発生の最小化] パラメーターの選択を解除します。
設定
On
(既定値) | Off
- オン
モデル用の単一の実行エントリポイント関数 (
) の生成を有効にします。この関数は、モデル内のブロックの出力および更新関数コードを含み、model
_steprt_OneStep
によって呼び出されて割り込みレベルでモデルの 1 クロック期間の処理を実行します。- オフ
単一の実行エントリポイント関数の生成を無効にします。コード ジェネレーターは、
とmodel
_output
の別個のエントリポイント関数を生成します。model
_update
ヒント
Model ブロックがサイクルの一部で、その Model ブロックが直達で代数ループになる場合、エラーまたは予期しない動作をする場合があります。直達の詳細については、代数ループの概念を参照してください。
以下の条件の 1 つ以上がモデルに当てはまる場合、コード ジェネレーターは参照モデルでこのパラメーターを無視します。
マルチレートである
連続サンプル時間がある
[状態] または [最終状態] データ インポートおよびエクスポート パラメーターを使用して、ログ状態である。
推奨設定
アプリケーション | 設定 |
---|---|
デバッグ | オン |
トレーサビリティ | オン |
効率性 | オン |
安全対策 | 推奨なし |
プログラムでの使用
パラメーター: CombineOutputUpdateFcns |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'on' |
バージョン履歴
R2006a より前に導入