Main Content

Simulink.data.dictionary.EnumTypeDefinition

データ ディクショナリに列挙型定義を格納

説明

Simulink.data.dictionary.EnumTypeDefinition オブジェクトは、データ ディクショナリの列挙データ型を定義します。このオブジェクトをデータ ディクショナリ エントリに格納することで、ディクショナリにリンクされたモデルで列挙型定義を使用できます。

MATLAB® ベース ワークスペースでは、Simulink.data.dictionary.EnumTypeDefinition オブジェクトに列挙型に関する情報が格納されます。ただし、これらのオブジェクトでは他の変数またはモデルで使用される型は定義されません。

作成

Simulink.data.dictionary.EnumTypeDefinition オブジェクトはいくつかの方法で作成できます。

  • 型エディターまたはモデル エクスプローラーを使用して、Simulink.data.dictionary.EnumTypeDefinition オブジェクトを対話的に作成します。

  • 関数 importEnumTypes を使用して、列挙型の定義をデータ ディクショナリにインポートします。Simulink® により、インポートされたそれぞれの定義に対応する Simulink.data.dictionary.EnumTypeDefinition オブジェクトがディクショナリに作成されます。各オブジェクトはディクショナリの個々のエントリに格納されます。

  • ここで説明する関数 Simulink.data.dictionary.EnumTypeDefinition を使用して、Simulink.data.dictionary.EnumTypeDefinition オブジェクトをプログラムによって作成します。

説明

関数 Simulink.data.dictionary.EnumTypeDefinition は、既定のプロパティ値と基となる整数値が 0 である単一の列挙型メンバーを使用して Simulink.data.dictionary.EnumTypeDefinition オブジェクトを作成します。

プロパティ

すべて展開する

生成コード内の列挙型に接頭辞としてクラス名を付けるフラグ。true または false として指定します。

true を指定すると、コードの生成時に各列挙型メンバーの識別子の先頭に列挙型クラスの名前が付けられます。たとえば、列挙型クラス LEDcolorGREEN および RED という列挙型メンバーを定義した場合、それらの列挙型メンバーは生成コードでは LEDcolor_GREEN および LEDcolor_RED と定義されます。

データ型: logical

生成コード内のデータ型の定義を制御するフラグ。'Auto''Imported''Exported' のいずれかとして指定します。次の表に、それぞれの値を指定した場合の生成コードの動作を示します。

アクション
Auto (既定の設定)

Headerfile プロパティが指定されていない場合は、データ型定義を model_types.h にエクスポートします (model はモデル名)。

Headerfile が指定されている場合は、指定されたヘッダー ファイルからデータ型定義をインポートします。

Exported

独立したヘッダー ファイルにデータ型定義をエクスポートします。

Headerfile プロパティが指定されていない場合、ヘッダー ファイルの名前は既定の type.h になります (type はデータ型名)。

Imported

独立したヘッダー ファイルからデータ型定義をインポートします。

Headerfile プロパティが指定されていない場合、ヘッダー ファイルの名前は既定の type.h になります (type はデータ型名)。

既定の列挙型メンバー。文字ベクトルとして指定します。DefaultValue には定義済みの列挙型メンバーの名前を指定します。

Simulink.data.dictionary.EnumTypeDefinition オブジェクトの作成時点では DefaultValue は空の文字ベクトル '' となり、Simulink では最初の列挙型メンバーが既定のメンバーとして使用されます。

例: 'enumMember1'

列挙データ型の説明。文字ベクトルとして指定します。このプロパティは、生成コードでの型の用途を記述する場合に使用します。

例: 'Two possible colors of LED indicator: GREEN and RED.'

データ型: char

生成コード内の列挙データ型を定義するヘッダー ファイルの名前。文字ベクトルとして指定します。拡張子 .h を使用してファイル名を指定します。

HeaderFile を指定しない場合、生成コードでは DataScope プロパティの値に応じて既定のヘッダー ファイル名が使用されます。

例: 'myTypeIncludeFile.h'

データ型: char

列挙型メンバーの基となる整数値のデータ型。文字ベクトルとして指定します。指定したデータ型を使用して基となる整数値が生成コードに格納されます。

サポートされる次のいずれかの整数型を指定できます。

  • 'int8'

  • 'int16'

  • 'int32'

  • 'uint8'

  • 'uint16'

  • 'uint32'

ターゲット ハードウェアのネイティブの整数型を使用して生成コードに基となる整数値を格納するには、StorageType を空の文字ベクトル '' (既定値) として指定します。

例: 'int16'

''

オブジェクト関数

appendEnumeralデータ ディクショナリの列挙データ型定義に列挙型メンバーを追加
removeEnumeralデータ ディクショナリの列挙データ型定義から列挙型メンバーを削除

すべて折りたたむ

列挙型の定義を格納できるオブジェクトを作成します。既定では、新しい型には基となる整数値が 0 である列挙型メンバー enum1 が 1 つ定義されます。

myColors = Simulink.data.dictionary.EnumTypeDefinition
myColors = 

   Simulink.data.dictionary.EnumTypeDefinition
      enum1

型の定義に列挙型メンバーをいくつか追加します。

appendEnumeral(myColors,'Orange',1,'')
appendEnumeral(myColors,'Black',2,'')
appendEnumeral(myColors,'Cyan',3,'')
myColors
myColors = 

   Simulink.data.dictionary.EnumTypeDefinition
      enum1
      Orange
      Black
      Cyan

既定の列挙型メンバー enum1 を削除します。enum1 はリストの最初の列挙型メンバーであるため、インデックス 1 を指定します。

removeEnumeral(myColors,1)
myColors
myColors = 

   Simulink.data.dictionary.EnumTypeDefinition
      Orange
      Black
      Cyan

対応するオブジェクトのプロパティを設定して列挙型をカスタマイズします。

myColors.Description = 'These are my favorite colors.';
myColors.DefaultValue = 'Cyan';
myColors.HeaderFile = 'colorsType.h';

データ ディクショナリ myDictionary_ex_API.sldd を開き、myDictionaryObj という名前の Simulink.data.Dictionary オブジェクトで表します。

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

列挙型 myColors を定義するオブジェクトをディクショナリにインポートします。

importFromBaseWorkspace(myDictionaryObj,'varList',{'myColors'});

代替方法

モデル エクスプローラーを使用して、データ ディクショナリに格納される列挙データ型を追加および変更することができます。

バージョン履歴

R2015a で導入