Пакет: Simulink
Суперклассы:
Извлеките информацию о файле модели, не загружая блок-схему в память
Класс Simulink. MDLInfo извлекает информацию из файла модели, не загружая блок-схему в память.
Можно создать MdlInfo
объект, содержащий все информационные свойства модели, или можно использовать статические методы в удобном доступе к отдельным свойствам, не создавая класс сначала. Например, чтобы получить описание только:
description = Simulink.MDLInfo.getDescription('mymodel')
Получить метаданные только:
metadata = Simulink.MDLInfo.getMetadata('mymodel')
Все информационные свойства модели только для чтения.
info = Simulink.MDLInfo(
создает экземпляр 'mymodel'
)MdlInfo
класс info
и заполняет свойства с информацией из файла модели 'mymodel'
.
может быть:mymodel
Имя блок-схемы (например, vdp
)
Имя файла для файла на пути MATLAB® (например, mymodel.slx
)
Имя файла относительно текущей папки (например, mydir/mymodel.slx
)
Полностью определенное имя файла (например, C:\mydir\mymodel.slx
)
Simulink.MDLInfo
разрешает предоставленное имя путем рассмотрения файлов на пути MATLAB и игнорирует любые блок-схемы в памяти. Это может вызвать неожиданные результаты, если вы предоставляете имя загруженной модели, но ее файл затенен другим файлом на пути MATLAB. Если файл затенен, вы видите предупреждение в командном окне. Чтобы избежать любого беспорядка, предоставьте полностью определенное имя файла к Simulink.MDLInfo
.
|
Имя блок-схемы. |
|
Тип блок-схемы. Например, 'Модель', Подсистема', 'Библиотека'. |
|
Параметр Описания модели. Для получения дополнительной информации смотрите доступ к информации Модели Программно. |
|
Содержит номер выпуска обновления, который использовался, чтобы сохранить модель SLX. Это - нуль, если модель SLX была сохранена в широком прокате, например, Это - нуль для файлов MDL и для файлов SLX, сохраненных в релизах перед R2020a. |
|
Полностью определенное Имя файла модели. |
|
Имена и атрибуты корневого импорта блок-схемы, выходных портов, моделей - ссылок, и т.д., описывая графический интерфейс, если вы создали блок Model Reference из этой модели. Структура. |
|
Является ли блок-схема библиотекой. Логический. |
|
Имя пользователя, кто продержался сохраненный модель. |
|
Архитектура платформы, когда сохраненный, например, |
|
Имена и значения произвольных данных сопоставлены с моделью. Структура. Поля структуры могут быть векторами символов, числовыми матрицами типа "дважды" или большим количеством структур. Используйте метод |
|
Номер версии файла модели. |
|
Выпустите имя, которое использовалось, чтобы сохранить файл модели, например, |
|
Кодировка символов, когда сохраненный, например, |
|
Номер версии программного обеспечения Simulink®, которое использовалось, чтобы сохранить файл модели. |
getDescription | Извлеките описание файла модели, не загружая блок-схему в память |
getMetadata | Извлеките метаданные файла модели, не загружая блок-схему в память |
Указатель. Чтобы изучить, как это влияет на ваше использование класса, смотрите Копирование Объектов (MATLAB) в документации Основ программирования MATLAB.
Создайте и просмотрите информационный объект модели:
info = Simulink.MDLInfo('mymodel') % Get the Version when the model was saved simulink_version = info.SimulinkVersion; % Get model metadata metadata = info.metadata
Чтобы добавить метаданные в модель, создайте структуру метаданных, содержащую информацию, вы требуете и используете set_param
присоединить его к модели. Например:
metadata.TestStatus = 'untested'; metadata.ExpectedCompletionDate = '01/01/2011'; load_system(mymodelname); set_param(mymodelname,'Metadata',... metadata) % must be a struct save_system(mymodelname); close_system(mymodelname);
Создайте информационный объект модели для модели под названием mpowertrain
, для того, чтобы найти имена моделей, на которые ссылаются, не загружая модель в память:
info = Simulink.MDLInfo('mpowertrain') % Get the Interface property info.Interface
Вывод :
ans = Inports: [0x1 struct] Outports: [0x1 struct] Trigports: [0x1 struct] Connports: [0x1 struct] ModelVersion: '1.122' ModelReferences: {2x1 cell} ParameterArgumentNames: '' TestPointedSignals: [0x1 struct]
Получите модели, на которые ссылаются:
info.Interface.ModelReferences
Выход находится в форме model name / block path | referenced model name
:
ans = 'mpowertrain/Model Variants|manual_transmission' 'mpowertrain/engine model|menginemodel'
Simulink.MDLInfo.getDescription
; Simulink.MDLInfo.getMetadata