importEnumTypes

Импортируйте определения перечислимого типа словарю данных

Описание

пример

importedTypes = importEnumTypes(dictionaryObj,targetTypes) импорт в словарь данных dictionaryObj определения одного или нескольких перечислимых типов targetTypes. importEnumTypes не импортирует переменные MATLAB, созданные с помощью перечислимых типов, но вместо этого, в поддержку тех переменных, импортирует определения типов. Целевой словарь данных хранит определение успешно импортированного типа как запись. Этот синтаксис возвращает список имен успешно импортированных типов. importEnumTypes сохраняет изменения, внесенные в целевой словарь, поэтому прежде чем вы будете использовать importEnumTypes, подтвердите, что несохраненные изменения приемлемы.

[importedTypes,importFailures] = importEnumTypes(dictionaryObj,targetTypes) дополнительно возвращает список любых целевых типов, которые не были успешно импортированы. Можно смотреть список, чтобы определить причину каждого отказа.

Примеры

свернуть все

Создайте словарь данных myNewDictionary.sldd в вашей текущей рабочей папке и Simulink.data.Dictionary объект, представляющий новый словарь данных. Присвойте объект переменной myDictionaryObj.

myDictionaryObj = Simulink.data.dictionary.create('myNewDictionary.sldd');

Запустите скрипт в файле MATLAB myDataEnum_ex_API.m. Файл задает перечислимый тип под названием InstrumentTypes использование Simulink.defineIntEnumType функционируйте и создает три переменные на основе нового типа. Затем импортируйте новые переменные от базового рабочего пространства до myDictionary_ex_API.sldd.

myDataEnum_ex_API
importFromBaseWorkspace(myDictionaryObj,'varList',...
{'firstEnumVariable','secondEnumVariable','thirdEnumVariable'});

Очистите импортированные переменные из базового рабочего пространства. Прежде чем можно будет импортировать перечислимое определение типов к целевому словарю данных, необходимо очистить базовое рабочее пространство любых переменных, созданных с помощью целевого типа.

clear firstEnumVariable
clear secondEnumVariable
clear thirdEnumVariable

Импортируйте определение типов к myDictionary_ex_API.sldd.

importEnumTypes(myDictionaryObj,{'InstrumentTypes'})
ans = 

       className: 'InstrumentTypes'
    renamedFiles: {}

Входные параметры

свернуть все

Целевой словарь данных в виде Simulink.data.Dictionary объект. Прежде чем вы будете использовать эту функцию, будете представлять целевой словарь Simulink.data.Dictionary объект при помощи, например, Simulink.data.dictionary.create или Simulink.data.dictionary.open функция.

Определения перечислимого типа, чтобы импортировать в виде массива ячеек из символьных векторов или массива строк. Если какие-либо целевые типы заданы с помощью classdef блоки в файлах MATLAB или P-файлах, файлы должны быть доступными на вашем пути MATLAB так, чтобы importEnumTypes может отключить их.

Пример: {'myEnumType'}

Пример: {'myFirstEnumType','mySecondEnumType','myThirdEnumType'}

Типы данных: cell

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

свернуть все

Целевые определения перечислимого типа, успешно импортированные, возвратились как массив структур. Каждая структура в массиве представляет импортированный тип того. className поле каждой структуры идентифицирует тип по наименованию и renamedFiles поле идентифицирует любые переименованные файлы MATLAB или P-файлы.

Предназначенные определения перечислимого типа, но не импортированные, возвратились как массив структур. Каждая структура в массиве представляет один тип, не импортированный. className поле каждой структуры идентифицирует тип по наименованию и reason поле объясняет отказ.

Советы

  • Прежде чем можно будет импортировать перечислимое определение типов к словарю данных, необходимо очистить базовое рабочее пространство любых переменных, созданных с помощью целевого типа.

  • Можно задать перечислимый тип с помощью classdef блокируйтесь в файле MATLAB или P-файле. importEnumTypes импорт вводит определения непосредственно из этих файлов, если вы задаете имена типов, чтобы импортировать использование входного параметра targetTypes и если файлы, задающие типы, находятся на вашем пути MATLAB.

  • Избегать конфликтных определений для импортированных типов, importEnumTypes файлы MATLAB рендеринга или P-файлы, неэффективные путем добавления .save к их именам. .save расширения заставляют переменные использовать определения в целевом словаре данных а не на определениях в файлах. Можно удалить .save расширения, чтобы восстановить файлы к их исходному состоянию.

  • Можно использовать importEnumTypes импортировать перечислимые типы задало использование Simulink.defineIntEnumType функция. Поскольку такие типы не заданы с помощью файлов MATLAB или P-файлов, importEnumTypes не переименовывает файлов.

  • Используйте функциональный Simulink.findVars сгенерировать список перечислимых типов, которые используются моделью. Затем используйте список с importEnumTypes импортировать определения типов к словарю данных. Смотрите Перечисления в Словаре Данных для получения дополнительной информации.

Представленный в R2015a