Main Content

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

パラメーターの構造体

生成されたコードで構造体を作成します。構造体は、パラメーター データを格納します。

C コンストラクター

typedef struct {
  double G1;
  double G2;
} myStructType;

myStructType myStruct = {
  2.0,
  -2.0
} ; 

手順

1. モデル例 InlineBlockParameters を開きます。

2. [モデル化] タブで [モデル データ エディター] をクリックします。モデル データ エディターで、[パラメーター] タブを選択します。

3. モデルで、G1 というラベルの付いた Gain ブロックをクリックします。モデル データ エディターで、[値] 列を使用して、[ゲイン] パラメーターの値を myStruct.G1 に設定します。

4. G2 ブロックの [ゲイン] パラメーターの値を myStruct.G2 に設定します。

5. myStruct.G2 の横にあるアクション ボタン (3 つの縦向きのドット) をクリックし、[作成] を選択します。

6. [新規データの作成] ダイアログ ボックスで、[値]Simulink.Parameter(struct) に設定して [作成] をクリックします。myStruct という名前の Simulink.Parameter オブジェクトがベース ワークスペースに表示されます。

7. Simulink.Parameter プロパティのダイアログ ボックスで、[値] プロパティの横にあるアクション ボタンをクリックし、[変数エディターを開く] を選択します。

8. [フィールド] 列の下にある空白を右クリックして [新規作成] を選択します。新しい構造体フィールドに G1 という名前を付けます。[値] 列を使用して、そのフィールドの値を 2 に設定します。

9. フィールド G2 を追加してから (フィールドの値は -2)、変数エディターを閉じます。

10. Simulink.Parameter プロパティのダイアログ ボックスの [コード生成] タブで、[ストレージ クラス]ExportedGlobal に設定します。構造体 myStruct はグローバル変数として生成されたコードに表示されます。

11.モデルからコードを生成します。

結果

生成されたヘッダー ファイル InlineBlockParameters_types.h は、ランダムな名前の構造体型を定義します。

typedef struct {
  real_T G1;
  real_T G2;
} struct_6h72eH5WFuEIyQr5YrdGuB;

ソース ファイル InlineBlockParameters.c は、構造体変数 myStruct を定義および初期化します。

/* Exported block parameters */
struct_6h72eH5WFuEIyQr5YrdGuB myStruct = {
  2.0,
  -2.0
} ;                                    /* Variable: myStruct
                                        * Referenced by:
                                        *   '<Root>/G1'
                                        *   '<Root>/G2'
                                        */

構造体型の名前の指定

1. オプションで、構造体型定義 (struct) を使用するために名前を指定します。コマンド プロンプトで、関数 Simulink.Bus.createObject を使用して構造体型を表す Simulink.Bus オブジェクトを作成します。

2. オブジェクトの既定の名前は slBus1 です。オブジェクトを新しい MATLAB® 変数にコピーして名前を変更します。

3. モデル データ エディターで [追加情報の表示/更新] ボタンをクリックします。

4. データ テーブルで myStruct に対応する行を見つけます。[データ型] 列を使用して、myStruct のデータ型を Bus: myStructType に設定します。

5. モデルからコードを生成します。

コードは構造体型 myStructType の定義を生成し、この型を使用してグローバル変数 myStruct を定義します。

myStructType myStruct = {
  2.0,
  -2.0
} ;                                    /* Variable: myStruct

関連するトピック