Пакет: 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