Simulink.MDLInfo

Извлечение информации о файлах SLX, SLXP или MDL без загрузки файла

Описание

Simulink.MDLInfo объекты извлекают информацию из файла SLX, SLXP или MDL, не загружая ее в память.

Чтобы извлечь описание и метаданные из файла, не создавая MDLInfo объект, использовать Simulink.MDLInfo.getDescription и Simulink.MDLInfo.getMetadata функций, соответственно.

Создание

Описание

пример

info = Simulink.MDLInfo(file) создает MDLInfo объект называется info и заполняет свойства информацией из заданного файла модели.

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

расширить все

Имя файла SLX, SLXP или MDL в виде вектора символов или строкового скаляра.

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

Чтобы избежать непредвиденных результатов, вызванных затененными файлами с общим именем, задайте полное имя файла.

Пример: Simulink.MDLInfo('vdp')

Пример: Simulink.MDLInfo('mymodel.slx')

Пример: Simulink.MDLInfo('mydir/mymodel.slx')

Пример: Simulink.MDLInfo('C:/mydir/mymodel.slx')

Типы данных: char | string

Свойства

расширить все

Имя и содержимое файла

Это свойство доступно только для чтения.

Имя блока, возвращаемое как вектор символов.

Имя блока совпадает с именем файла, но без расширения.

Типы данных: char

Это свойство доступно только для чтения.

Тип файла, возвращенный как вектор символов.

Типы данных: char

Это свойство доступно только для чтения.

Полное имя файла, возвращенное как вектор символов.

Типы данных: char

Это свойство доступно только для чтения.

Описание входов, выходов и ссылок, возвращаемых как структура.

Структура включает имена и атрибуты портов верхнего уровня, моделей-ссылок и ссылок на подсистемы.

Типы данных: struct

Это свойство доступно только для чтения.

Истинный или ложный результат, возвращенный как 1 или 0 типа данных logical.

  • 1 (true) - Файл является библиотекой.

  • 0 (false) - Файл не является библиотекой.

Типы данных: logical

Пользовательская информация

Это свойство доступно только для чтения.

Пользовательское описание файла, возвращаемое как вектор символов.

Совет

  • Чтобы извлечь описание без загрузки модели или создания MDLInfo объект, использовать Simulink.MDLInfo.getDescription функция.

  • Чтобы просмотреть описание без загрузки модели или создания MDLInfo объект, в MATLAB® Командное окно, введите:

    help 'mymodelname'

  • Чтобы просмотреть описание открытой модели, откройте вкладку Description в диалоговом окне Свойства модели (Model Properties).

Типы данных: char

Это свойство доступно только для чтения.

Имена и значения произвольных данных, сопоставленных с файлом, возвращаются как структура.

Полями структуры могут быть векторы символов, числовые матрицы типа double, или больше структур.

Совет

Чтобы извлечь структуру метаданных, не загружая модель или не создавая MDLInfo объект, использовать Simulink.MDLInfo.getMetadata функция.

Типы данных: struct

Сохранение информации

Это свойство доступно только для чтения.

Релиз, используемое для сохранения файла, возвращается как положительное целое число.

  • 0 - Файл был сохранен в общем релизе, например 'R2020a', или был сохранен в релизе перед R2020a.

  • Положительное целое число - файл был сохранен в релизе, например 2, если модель сохранена в 'R2020a Update 2'.

Типы данных: int32

Это свойство доступно только для чтения.

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

Типы данных: char

Это свойство доступно только для чтения.

Платформа, используемая для сохранения файла, возвращается как вектор символов.

Пример: 'glnxa64'

Типы данных: char

Это свойство доступно только для чтения.

Номер версии файла, возвращенный как вектор символов.

Типы данных: char

Это свойство доступно только для чтения.

MATLAB release, используемая для сохранения файла, возвращается как вектор символов.

Пример: 'R2020a'

Типы данных: char

Это свойство доступно только для чтения.

Кодировка символов при сохранении файла возвращается как вектор символов.

Пример: 'UTF-8'

Типы данных: char

Это свойство доступно только для чтения.

Номер версии Simulink, используемый для сохранения файла, возвращается как вектор символов.

Пример: '10.1'

Типы данных: char

Примеры

свернуть все

Создайте Simulink.MDLInfo объект, который соответствует vdp.slx файл.

info = Simulink.MDLInfo('vdp.slx');

Получите информацию о файле, например тип файла, используя запись через точку для доступа к значениям свойств.

type = info.BlockDiagramType
type =

    'Model'

vdp является файлом модели.

Получите информацию о sldemo_mdlref_depgraph модель.

info = Simulink.MDLInfo('sldemo_mdlref_depgraph');

Получите информацию об интерфейсе.

info.Interface
ans = 

  struct with fields:

                       Inports: [0×1 struct]
                      Outports: [0×1 struct]
                     Trigports: [0×1 struct]
                   Enableports: [0×1 struct]
                  ModelVersion: '1.84'
           SubsystemReferences: {0×1 cell}
               ModelReferences: {4×1 cell}
        ParameterArgumentNames: ''
            TestPointedSignals: [0×1 struct]
             ProvidedFunctions: [0×1 struct]
         IsExportFunctionModel: 0
           IsArchitectureModel: 0
    IsAUTOSARArchitectureModel: 0
                   ResetEvents: [0×1 struct]
            HasInitializeEvent: 0
             HasTerminateEvent: 0
    PreCompExecutionDomainType: 'Unset'
            ParameterArguments: [0×1 struct]
         ExternalFileReference: [4×1 struct]

Получите ссылку на модели.

info.Interface.ModelReferences
ans =

  4×1 cell array

    {'sldemo_mdlref_depgraph/heat2cost|sldemo_mdlref_heat2cost'      }
    {'sldemo_mdlref_depgraph/house|sldemo_mdlref_house'              }
    {'sldemo_mdlref_depgraph/outdoor temp|sldemo_mdlref_outdoor_temp'}
    {'sldemo_mdlref_depgraph/thermostat|sldemo_mdlref_heater'        }

Создайте структуру, которая содержит информацию о метаданных.

m.TestStatus = 'untested';
m.ExpectedCompletionDate = '01/01/2011';

Создайте модель, обновите 'Metadata' Параметр и сохраните метаданные в модели.

new_system('MDLInfoMetadataModel')
set_param('MDLInfoMetadataModel','Metadata',m)
save_system('MDLInfoMetadataModel')

Проверьте модель на метаданные при помощи MDLInfo объект.

info = Simulink.MDLInfo('MDLInfoMetadataModel');
info.Metadata
ans = 

  struct with fields:

                TestStatus: 'untested'
    ExpectedCompletionDate: '01/01/2011'
Введенный в R2009b