主要内容

Simulink.MDLInfo

R2026b

在不加载文件的情况下提取 SLX、SLXP 或 MDL 文件信息

描述

Simulink.MDLInfo 对象从 SLX、SLXP 或 MDL 文件中提取信息,而不将其加载到内存中。

要在不创建 MDLInfo 对象的情况下从文件中提取描述和元数据,请分别使用 Simulink.MDLInfo.getDescription 和 Simulink.MDLInfo.getMetadata 函数。

创建对象

描述

info = Simulink.MDLInfo(file) 创建名为 info 的 MDLInfo 对象,并用指定模型文件中的信息填充属性。

示例

输入参量

全部展开

SLX、SLXP 或 MDL 文件的名称,指定为字符向量或字符串。

文件名可以包含相对路径、绝对路径或无路径。如果不提供路径,文件扩展名是可选的。

为避免共享同一名称的遮蔽文件导致意外结果,请指定完全限定的文件名。

示例: Simulink.MDLInfo("myModel")

示例: Simulink.MDLInfo("myModel.slx")

示例: Simulink.MDLInfo("mydir/myModel.slx")

示例: Simulink.MDLInfo("C:/mydir/myModel.slx")

数据类型: string | char

属性

全部展开

文件名和内容

此 属性 为只读。

模块图的名称,以字符向量形式返回。

模块图的名称与文件名匹配,但没有扩展名。

数据类型: char

此 属性 为只读。

文件类型,以字符向量形式返回。

数据类型: char

自 R2026a 起

此 属性 为只读。

Simulink 子域,以字符向量形式返回。

  • 'Simulink' - 文件是 Simulink 模型

  • 'Architecture' - 文件包含 System Composer™ 图

  • 'AUTOSARArchitecture' - 文件包含 AUTOSAR 图

数据类型: char

此 属性 为只读。

完全限定的文件名,以字符向量形式返回。

数据类型: char

此 属性 为只读。

输入、输出和引用的描述,以结构体形式返回。

该结构体包括顶层端口、模型引用和子系统引用的名称和属性。

数据类型: struct

此 属性 为只读。

模型是否为库,以逻辑值形式返回。

  • 1 (true) - 模型是库。

  • 0 (false) - 模型不是库。

数据类型: logical

自 R2026a 起

此 属性 为只读。

模型是否包含子系统,以逻辑值形式返回。

  • 1 (true) - 文件包含 Subsystem 模块。

  • 0 (false) - 文件不包含 Subsystem 模块。

数据类型: logical

自 R2026a 起

此 属性 为只读。

模型是否包含测试框架,以逻辑值形式返回。

  • 1 (true) - 模型文件包含 Simulink 测试框架。

  • 0 (false) - 模型文件不包含 Simulink 测试框架。

数据类型: logical

用户指定的信息

此 属性 为只读。

用户为文件指定的描述,以字符向量形式返回。

提示

  • 要在不加载模型或创建 MDLInfo 对象的情况下提取描述,请使用 Simulink.MDLInfo.getDescription 函数。

  • 要在不加载模型或创建 MDLInfo 对象的情况下查看描述,请在 MATLAB® 命令行窗口中输入:

    help 'mymodelname'

  • 要查看一个打开模型的描述,请在“模型属性”对话框中打开描述选项卡。

此 属性 为只读。

与文件相关联的任意数据的名称和值,以结构体形式返回。

结构体字段可以是字符向量、double 类型的数值矩阵或结构体。

提示

要在不加载模型或创建 MDLInfo 对象的情况下提取元数据结构体,请使用 Simulink.MDLInfo.getMetadata 函数。

保存信息

此 属性 为只读。

用于保存文件的发行版更新,以正整数形式返回。

  • 0 - 文件保存在正式发行版中,例如,'R2020a',或保存在 R2020a 之前的版本中。

  • 正整数 - 文件保存在更新发行版中,例如,2 表示模型保存在 'R2020a Update 2' 中。

数据类型: int32

此 属性 为只读。

上次保存文件的用户的名称,以字符向量形式返回。

数据类型: char

此 属性 为只读。

用于保存文件的平台,以字符向量形式返回。

示例: 'glnxa64'

数据类型: char

此 属性 为只读。

文件的版本号,以字符向量形式返回。

数据类型: char

此 属性 为只读。

用于保存文件的 MATLAB 版本,以字符向量形式返回。

示例: 'R2020a'

数据类型: char

此 属性 为只读。

保存文件时的字符编码,以字符向量形式返回。

示例: 'UTF-8'

数据类型: char

此 属性 为只读。

用于保存文件的 Simulink 版本号,以字符向量形式返回。

示例: '10.1'

数据类型: char

示例

全部折叠

假设您有名为 myModel.slx 的文件。获取文件类型。

为该文件创建一个 Simulink.MDLInfo 对象。

infoObj = Simulink.MDLInfo("myModel.slx");

获取文件类型。

fileType = infoObj.BlockDiagramType
fileType =
    'Model'

假设您有名为 myModel 的模型。获取 myModel 中所有引用模型的文件路径,而不加载 myModel。

为该模型创建一个 Simulink.MDLInfo 对象。

infoObj = Simulink.MDLInfo("myModel");

获取接口信息。

fileType = infoObj.Interface
fileType = 
  struct with fields:

                       Inports: [0×1 struct]
                      Outports: [1×1 struct]
                     Trigports: [0×1 struct]
                   Enableports: [0×1 struct]
                   Actionports: [0×1 struct]
                    Resetports: [0×1 struct]
                     Connports: [0×1 struct]
                  ModelVersion: '1.1'
           SubsystemReferences: {0×1 cell}
               ModelReferences: {0×1 cell}
        ParameterArgumentNames: ''
            TestPointedSignals: [0×1 struct]
             ProvidedFunctions: [0×1 struct]
         IsExportFunctionModel: 0
         SimulinkSubDomainType: 'Simulink'
                   ResetEvents: [0×1 struct]
            DataStoreReference: [0×1 struct]
            HasInitializeEvent: 0
             HasTerminateEvent: 0
    PreCompExecutionDomainType: 'Unset'
             UseModelRefSolver: 0
                    SolverName: 'VariableStepAuto'
            ParameterArguments: [0×1 struct]
         ExternalFileReference: [0×1 struct]

获取模型引用的文件路径。

modelRefs = infoObj.Interface.ModelReferences;

假设您在 MATLAB 路径中有名为 myModel 的模型。向文件添加元数据,然后检查元数据。

创建一个包含元数据的结构体。

t=datetime('tomorrow','format','MM/dd/yy');
m.ExpectedCompletionDate = t;
m.TestStatus = 'untested';

将元数据分配给模型。

set_param("myModel",Metadata=m);

随元数据一起保存该模型。

save_system("myModel");

在不加载该模型或创建 Simulink.MDLInfo 对象的情况下检查模型的元数据。

Simulink.MDLInfo.getMetadata("myModel")
ans = 
  struct with fields:

    ExpectedCompletionDate: 03/30/26
                TestStatus: 'untested'

版本历史记录

在 R2009b 中推出

全部展开