Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

1 つの出力/更新関数

出力および更新関数用のコードを含む実行エントリポイント関数

モデル コンフィギュレーション ペイン: [コード生成] / [インターフェイス]

説明

[1 つの出力/更新関数] パラメーターは、コード ジェネレーターが出力および更新関数用のコードを含む 1 つの実行エントリポイント関数 (model_step) を生成するのか、出力と更新の別個のエントリポイント関数 (model_outputmodel_update) を生成するのかを指定します。

このパラメーターは、ERT ベースのシステム ターゲット ファイルとサービス コード インターフェイスで構成されたモデルではサポートされません。

ert_main.c または .cpp をカスタマイズして、各基本レートのモデル ステップ後にモデル出力を読み取った場合、[サポート: 連続時間] パラメーターおよび [1 つの出力/更新関数] パラメーターを選択すると、モデルのログ データの対応する出力値とは異なる出力値が、連続出力端子の ert_main から読み取られる可能性があることに注意してください。これは、ログ データはメジャー タイム ステップでの出力のスナップショットであるにもかかわらず、基本レートのモデル ステップ後に ert_main から読み取られた出力は、間にあるマイナー タイム ステップを反映する可能性があるためです。次の表に、不一致をなくす回避方法を示します。

回避方法カスタマイズされた ert_main.cカスタマイズされた ert_main.cpp
生成された出力と更新関数を分け ([1 つの出力/更新関数] パラメーターをオフにする)、メジャー タイム ステップのみを反映するモデル出力値を読み取るためのコードを ert_main に挿入します。たとえば、ert_mainmodel_output 呼び出しと model_update 呼び出しの間で、モデル External outputs のグローバル データ構造体 (model.h で定義) を読み取ります。 X 
[1 つの出力/更新関数] パラメーターを選択し、生成された model.c または .cpp ファイルにコードを挿入してメジャー タイム ステップのみを反映するモデル出力値を返します。たとえば、モデル ステップ関数の出力コードと更新コードの間にモデル External outputs のグローバル データ構造体 (model.h で定義) の値を保存します。その後、更新コードの完了後に値を復元します。XX
Zero-Order Hold ブロックを連続出力端子の前に配置します。XX

依存関係

このパラメーターを有効にするには、次のようにします。

  • [コード インターフェイスのパッケージ化] パラメーターを [再利用できない関数] または [再利用可能な関数] に設定します。

  • [代数ループの発生の最小化] パラメーターの選択を解除します。

  • [クラシック コール インターフェイス] パラメーターの選択を解除します。

設定

On (既定値) | Off
オン

モデル用の単一の実行エントリポイント関数 (model_step) の生成を有効にします。この関数は、モデル内のブロックの出力および更新関数コードを含み、rt_OneStep によって呼び出されて割り込みレベルでモデルの 1 クロック期間の処理を実行します。

オフ

単一の実行エントリポイント関数の生成を無効にします。コード ジェネレーターは、model_outputmodel_update の別個のエントリポイント関数を生成します。

ヒント

Model ブロックがサイクルの一部で、その Model ブロックが直達で代数ループになる場合、エラーまたは予期しない動作をする場合があります。直達の詳細については、代数ループの概念を参照してください。

以下の条件の 1 つ以上がモデルに当てはまる場合、コード ジェネレーターは参照モデルでこのパラメーターを無視します。

  • マルチレートである

  • 連続サンプル時間がある

  • [状態] または [最終状態] データ インポートおよびエクスポート パラメーターを使用して、ログ状態である。

推奨設定

アプリケーション設定
デバッグオン
トレーサビリティオン
効率性オン
安全対策

推奨なし

プログラムでの使用

パラメーター: CombineOutputUpdateFcns
型: 文字ベクトル
値: 'on' | 'off'
既定の設定: 'on'

バージョン履歴

R2006a より前に導入