Simulink. Класс MDLInfo

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

Свойства

BlockDiagramName

Имя блок-схемы.

Description

Параметр Описания модели. Для получения дополнительной информации смотрите Version Information Properties.

FileFormatMinorVersion

Содержит значение только для релиза Пакета обновления Simulink®. Указывает, что файл был сохранен релизом Пакета обновления, когда Пакет обновления включал изменения в образцовом формате файла.

FileName

Полностью определенное Имя образцового файла.

Interface

Имена и атрибуты корневого импорта блок-схемы, выходных портов, моделей - ссылок, и т.д., описывая графический интерфейс, если вы создали блок Model Reference от этой модели.

Структура.

IsLibrary

Является ли блок-схема библиотекой. Логический.

LastModifiedBy

Имя пользователя, кто продержался сохраненный модель.

LastSavedArchitecture

Архитектура платформы, когда сохраненный, например, 'glnxa64'.

Metadata

Имена и значения произвольных данных сопоставлены с моделью.

Структура. Поля структуры могут быть векторами символов, числовыми матрицами типа "дважды" или большим количеством структур. Используйте метод getMetadata, чтобы извлечь эту структуру метаданных, не загружая модель.

ModelVersion

Образцовый номер версии файла.

ReleaseName

Имя релиза Simulink, который использовался, чтобы сохранить образцовый файл, например, 'R2016a'.

SavedCharacterEncoding

Кодировка символов, когда сохраненный, например, 'UTF-8'.

SimulinkVersion

Номер версии программного обеспечения 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'