このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
パラメーターの構造体
生成されたコードで構造体を作成します。構造体は、パラメーター データを格納します。
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