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