Simulink の信号オブジェクトからのデータ プロパティの解決
この例では、Stateflow® チャートのローカル データと出力データにモデル ワークスペースまたはベース ワークスペースの Simulink.Signal オブジェクトからプロパティを明示的に継承する方法を示します。この処理は、信号解決と呼ばれます。解決される信号には、チャートの出力データまたはローカル データと同じ名前を設定する必要があります。
Simulink® の信号の関連付けの詳細については、記号の解釈 (Simulink)および記号関連付けプロセス (Simulink)を参照してください。
継承されるプロパティ
Stateflow のローカル データまたは出力データから Simulink 信号オブジェクトに解決されると、以下のプロパティが継承されます。
サイズ
実数/複素数
型
最小値
最大値
初期値
ストレージ クラス
ストレージ クラスは、生成コードに含まれるチャート データの外観を制御します。Struct ストレージ クラスを使用してパラメーター データを構造体に整理する (Embedded Coder)を参照してください。
信号の関連付けの有効化
明示的な信号の関連付けを有効にするには、次を行います。
[コンフィギュレーション パラメーター] ダイアログ ボックスを開き、[診断]、[データ有効性] ペインで [信号の関連付け] を
None以外の値に設定します。他のオプションの詳細については、Signal resolution (Simulink)を参照してください。モデル ワークスペース、ベース ワークスペースまたはデータ ディクショナリで、Stateflow データに継承させるプロパティをもつ
Simulink.Signalオブジェクトを定義します。Simulink 信号の作成の詳細については、Simulink.Signal(Simulink) を参照してください。チャートの出力データまたはローカル データを追加します。データには
Simulink.Signalオブジェクトと同じ名前を使用します。データ プロパティの設定の説明に従って、[データを信号オブジェクトに関連付ける] プロパティを有効にします。このプロパティを選択すると、信号からデータに継承されるプロパティは、ダイアログ ボックスで非表示またはグレー表示になります。
簡単な例
次のモデルは、チャートがローカル データと出力データをどのように Simulink.Signal オブジェクトに解決するかを示しています。

ベース ワークスペースには、3 つの Simulink.Signal オブジェクトがあり、それぞれが別々のプロパティ セットをもっています。
y1は次のプロパティをもっています。[型] =double、[次元] =1、[ストレージ クラス] =Model default。y2は次のプロパティをもっています。[型] =uint32、[次元] =[2 2]、[ストレージ クラス] =Auto。localは次のプロパティをもっています。[型] =single、[次元] =1、[ストレージ クラス] =ExportedGlobal。
チャートに存在する 3 つのデータ オブジェクト (2 つは出力、1 つはローカル変数) は、同じ名前の信号に解決されます。

モデルを作成すると、各データ オブジェクトは、同じ名前が設定された信号のプロパティを継承します。

生成コードでは、関連付けられた Simulink 信号からデータに継承されたストレージ クラスに基づいて、データが宣言されます。たとえば、以下のヘッダー ファイルでは、エクスポート対象のグローバル変数として local が宣言されています。
/* * Exported States * * Note: Exported states are block states with an exported global * storage class designation. Code generation will declare the memory for these * states and exports their symbols. * */ extern real32_T local; /* '<Root>/Signal Object Chart' */
参考
Simulink.Signal (Simulink)
トピック
- 記号の解釈 (Simulink)
- Struct ストレージ クラスを使用してパラメーター データを構造体に整理する (Embedded Coder)