メインコンテンツ

信号と状態の構造の統合

グローバル ブロック信号と状態データを 1 つの構造に統合するかどうか

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

説明

[信号と状態の構造の統合] パラメーターは、コード ジェネレーターがグローバル ブロック信号と状態データを 1 つのデータ構造体に統合するかどうかを指定します。

設定

Off (既定値) | On
オン

グローバル ブロック信号データ (ブロック I/O) とグローバル状態データ (DWork ベクトル) を 1 つのデータ構造体を生成する機能を有効にします。

オフ

グローバル ブロック信号と状態データを 1 つのデータ構造体を生成する機能を無効にします。コード ジェネレーターは、グローバル ブロック信号とグローバル状態に対して個別のデータ構造体を生成します。

すべて展開する

  1. 次のコードを生成するモデルの場合:

    /* Block signals (auto storage) */
    typedef struct {
      struct {
        uint_T LogicalOperator:1;
        uint_T UnitDelay1:1;
      } bitsForTID0;
    } BlockIO;
    /* Block states (auto storage) */
    typedef struct {
      struct {
        uint_T UnitDelay_DSTATE:1
        uint_T UnitDelay1_DSTATE:1
      } bitsForTID0;
    } D_Work;
  2. [信号と状態の構造の統合] を選択した場合、生成されたコードは次のようになります。

    /* Block signals and states (auto storage)
       for system */
    typedef struct {
      struct {
        uint_T LogicalOperator:1;
        uint_T UnitDelay1:1;
        uint_T UnitDelay_DSTATE:1;
        uint_T UnitDelay1_DSTATE:1;
      } bitsForTID0;
    } D_Work;

ヒント

このパラメーターを選択する利点は次のとおりです。

  • ビットフィールドを少なくすることで、より厳密なメモリ表現が可能になり、RAM 使用量を削減できる。

  • データ構造体要素のアライメントを改善し、RAM 使用量を削減できる。

  • 再利用可能なサブシステムおよびモデル ブロック関数への引数の数を減らし、スタック使用量を削減する。

  • より一貫性のある要素の並べ替えにより、データ構造体の可読性を向上させる。

推奨設定

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

プログラムでの使用

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

バージョン履歴

R2011a で導入