exponenta event banner

Simulink.defineIntEnumType

Определение перечисляемого типа данных

Синтаксис

Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues)
Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'Description', ClassDesc)
Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'DefaultValue', DefValue)
Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'DataScope', ScopeSelection)
Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'HeaderFile', FileName)
Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'AddClassNameToEnumNames', Flag)
Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'StorageType', DataType)

Описание

Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues) определяет перечисление с именем ClassName со значениями перечисления, указанными в CellOfEnums и нижележащие числовые значения, указанные IntValues.

Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'Description', ClassDesc) определяет перечисление с описанием (символьный вектор).

Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'DefaultValue', DefValue) определяет значение по умолчанию для перечисления, которое является одним из векторов символов, указанных для CellOfEnums.

Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'DataScope', ScopeSelection) указывает, следует ли импортировать или экспортировать определение типа данных из файла заголовка во время создания кода.

Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'HeaderFile', FileName) задает имя файла заголовка, содержащего определение класса перечисления, для использования в коде, созданном из модели.

Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'AddClassNameToEnumNames', Flag) указывает, применяет ли генератор кода имя класса в качестве префикса к значениям перечисления, указанным для CellOfEnums. Для Flag, указать true или false. Например, при указании true, генератор кода будет использовать BasicColors.Red вместо Red для представления перечисляемого значения.

Simulink.defineIntEnumType(ClassName, CellOfEnums, IntValues, 'StorageType', DataType) указывает тип данных, используемый для хранения базовых целых значений перечислений в коде, созданном из модели.

Входные аргументы

ClassName

Имя перечисляемого типа данных.

CellOfEnums

Массив ячеек символьных векторов, который определяет перечисления для типа данных.

IntValues

Массив числовых значений, соответствующих перечислениям типа данных.

'Description', ClassDesc

Задает символьный вектор, описывающий тип данных перечисления.

'DefaultValue', DefValue

Задает значение перечисления по умолчанию.

'HeaderFile', FileName

Задает символьный вектор с именем файла заголовка, который должен содержать определение типа данных.

По умолчанию генерируется #include директива использует разделитель препроцессора " вместо < и >. Создание директивы #include <myTypes.h>, указать FileName как '<myTypes.h>'.

'DataScope', 'Auto' | 'Exported' | 'Imported'

Указывает, следует ли импортировать или экспортировать определение типа данных из файла заголовка во время создания кода.

СтоимостьДействие
Auto (по умолчанию)

Если значение не указано для Headerfile, экспортировать определение типа в model_types.h, где model - имя модели.

Если указано значение для Headerfileимпортируйте определение типа данных из указанного файла заголовка.

Exported

Экспорт определения типа данных в файл заголовка.

Если значение не указано для Headerfile, имя файла заголовка по умолчанию type.h, где type - имя типа данных.

Imported

Импортируйте определение типа данных из файла заголовка.

Если значение не указано для Headerfile, имя файла заголовка по умолчанию type.h, где type - имя типа данных.

'AddClassNameToEnumNames', Flag

Логический флаг, указывающий, применяет ли генератор кода имя класса в качестве префикса к перечислениям.

'StorageType', DataType

Задает символьный вектор, определяющий тип данных, используемый для хранения в создаваемом коде целочисленных значений, лежащих в основе перечислений. Поддерживаются следующие типы данных: 'int8', 'int16', 'int32', 'uint8', или 'uint16'.

Примеры

Предположим, что словарь внешних данных включает следующее перечисление:

BasicColors.Red(0), BasicColors.Yellow(1), BasicColors.Blue(2)

Импорт определения класса перечисления в рабочую область MATLAB ® при указанииint16 в качестве базового целого типа данных для сгенерированного кода:

Simulink.defineIntEnumType('BasicColors', ... 
	{'Red', 'Yellow', 'Blue'}, ...
	[0;1;2], ... 
	'Description', 'Basic colors', ...
	'DefaultValue', 'Blue', ...
	'HeaderFile', 'mybasiccolors.h', ...
	'DataScope', 'Exported', ...
	'AddClassNameToEnumNames', true, ...
	'StorageType', 'int16');
Представлен в R2010b