Simulink.MDLInfo
R2026b在不加载文件的情况下提取 SLX、SLXP 或 MDL 文件信息
描述
Simulink.MDLInfo 对象从 SLX、SLXP 或 MDL 文件中提取信息,而不将其加载到内存中。
要在不创建 MDLInfo 对象的情况下从文件中提取描述和元数据,请分别使用 Simulink.MDLInfo.getDescription 和 Simulink.MDLInfo.getMetadata 函数。
创建对象
输入参量
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 中推出您可以使用 SimulinkSubdomain 属性在不加载文件的情况下确定文件是否包含 Simulink 模型或 System Composer 模块图。
您可以使用 IsTestHarness 属性来确定模型文件是否包含 Simulink 测试框架。
您可以使用 IsSubsystem 属性来确定模型文件是否包含 Subsystem 模块。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)