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

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

свернуть все

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

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

Совет

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

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

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

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

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

Введенный в R2015a