Main Content

信号と状態の構造の統合

説明

生成コードでグローバル ブロック信号とグローバル状態データを組み合わせて 1 つのデータ構造体にするかどうかを指定します。

カテゴリ: [コード生成]、[インターフェイス]

設定

既定の設定: オフ

オン

生成コードでグローバル ブロック信号データ (ブロック I/O) とグローバル状態データ (DWork ベクトル) を組み合わせて 1 つのデータ構造体にします。

オフ

生成コードでグローバル ブロック信号とグローバル状態を個別のデータ構造体 (ブロック I/O と DWork ベクトル) に格納します。

ヒント

このパラメーターを [オン] に設定する利点は次のとおりです。

  • ビットフィールドを少なくしてメモリ表現を詰めることができるため、RAM の使用量が削減される

  • データ構造体要素の配置を向上できるため、RAM の使用量が削減される

  • 再利用可能なサブシステムおよびモデル ブロック関数の引数の数が減るため、スタック使用量が削減される

  • 要素の並べ替えの一貫性が高まることで読みやすいデータ構造体になる

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

/* 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;

[信号と状態の構造の統合] を選択すると、生成コードは次のようになります。

/* 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;

依存関係

このパラメーターには次の特徴があります。

  • ERT ベースのターゲットの場合にのみ表示されます。

  • コード生成時に Embedded Coder® のライセンスが必要です。

コマンド ライン情報

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

推奨設定

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

関連するトピック