importEnumTypes

Класс: Simulink. данные. Словарь
Пакет: Simulink. данные

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

Синтаксис

importedTypes = importEnumTypes (dictionaryObj, targetTypes)
[importedTypes, importFailures] = importEnumTypes (dictionaryObj, targetTypes)

Описание

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

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

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

развернуть все

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

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

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

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

Типы данных: ячейка

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

развернуть все

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

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

Примеры

развернуть все

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

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

Запустите скрипт в файле MATLAB myDataEnum_ex_API.m 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: {}

Советы

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

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

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

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

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

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

Была ли эта тема полезной?