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