Simulink.MDLInfo
在不加载文件的情况下提取 SLX、SLXP 或 MDL 文件信息
说明
Simulink.MDLInfo
对象从 SLX、SLXP 或 MDL 文件中提取信息,而不将其加载到内存中。
要在不创建 MDLInfo
对象的情况下从文件中提取描述和元数据,请分别使用 Simulink.MDLInfo.getDescription
和 Simulink.MDLInfo.getMetadata
函数。
创建对象
输入参量
file
— SLX、SLXP 或 MDL 文件的名称
字符向量 | 字符串标量
SLX、SLXP 或 MDL 文件的名称,指定为字符向量或字符串标量。
文件名可以包括部分路径、完整路径、相对路径或无路径。如果不提供路径,文件扩展名是可选的。
为避免共享同一名称的遮蔽文件导致意外结果,请指定完全限定的文件名。
示例: Simulink.MDLInfo('vdp')
示例: Simulink.MDLInfo('mymodel.slx')
示例: Simulink.MDLInfo('mydir/mymodel.slx')
示例: Simulink.MDLInfo('C:/mydir/mymodel.slx')
数据类型: char
| string
属性
文件名和内容
BlockDiagramName
— 模块图的名称。
字符向量
此 属性 为只读。
模块图的名称,以字符向量形式返回。
模块图的名称与文件名匹配,但没有扩展名。
数据类型: char
BlockDiagramType
— 文件类型
字符向量
此 属性 为只读。
文件类型,以字符向量形式返回。
数据类型: char
FileName
— 完全限定的文件名
字符向量
此 属性 为只读。
完全限定的文件名,以字符向量形式返回。
数据类型: char
Interface
— 输入、输出和引用的描述
结构体
此 属性 为只读。
输入、输出和引用的描述,以结构体形式返回。
该结构体包括顶层端口、模型引用和子系统引用的名称和属性。
数据类型: struct
IsLibrary
— true 或 false 结果
1
| 0
此 属性 为只读。
true 或 false 结果,以数据类型 logical
的 1
或 0
形式返回。
1
(true
) - 文件是库。0
(false
) - 文件不是库。
数据类型: logical
用户指定的信息
Description
— 用户指定的描述
字符向量
此 属性 为只读。
用户为文件指定的描述,以字符向量形式返回。
提示
要在不加载模型或创建
MDLInfo
对象的情况下提取描述,请使用Simulink.MDLInfo.getDescription
函数。要在不加载模型或创建
MDLInfo
对象的情况下查看描述,请在 MATLAB® 命令行窗口中输入:help 'mymodelname'
要查看一个打开模型的描述,请在“模型属性”对话框中打开描述选项卡。
数据类型: char
Metadata
— 任意数据的名称和值
结构体
此 属性 为只读。
与文件相关联的任意数据的名称和值,以结构体形式返回。
结构体字段可以是字符向量、double
类型的数值矩阵或结构体。
提示
要在不加载模型或创建 MDLInfo
对象的情况下提取元数据结构体,请使用 Simulink.MDLInfo.getMetadata
函数。
数据类型: struct
保存信息
ReleaseUpdateLevel
— 用于保存文件的发行版更新
正整数
此 属性 为只读。
用于保存文件的发行版更新,以正整数形式返回。
0
- 文件保存在正式发行版中,例如,'R2020a'
,或保存在 R2020a 之前的版本中。正整数 - 文件保存在更新发行版中,例如,
2
表示模型保存在'R2020a Update 2'
中。
数据类型: int32
LastModifiedBy
— 上次保存文件的用户的名称
字符向量
此 属性 为只读。
上次保存文件的用户的名称,以字符向量形式返回。
数据类型: char
LastSavedArchitecture
— 用于保存文件的平台
字符向量
此 属性 为只读。
用于保存文件的平台,以字符向量形式返回。
示例: 'glnxa64'
数据类型: char
ModelVersion
— 版本号
字符向量
此 属性 为只读。
文件的版本号,以字符向量形式返回。
数据类型: char
ReleaseName
— 用于保存文件的 MATLAB 版本
字符向量
此 属性 为只读。
用于保存文件的 MATLAB 版本,以字符向量形式返回。
示例: 'R2020a'
数据类型: char
SavedCharacterEncoding
— 字符编码
字符向量
此 属性 为只读。
保存文件时的字符编码,以字符向量形式返回。
示例: 'UTF-8'
数据类型: char
SimulinkVersion
— 用于保存文件的 Simulink® 版本号
字符向量
此 属性 为只读。
用于保存文件的 Simulink 版本号,以字符向量形式返回。
示例: '10.1'
数据类型: char
示例
获取模型信息
打开示例。然后,打开 vdp
模型。
open_system('vdp')
创建一个对应于 vdp.slx
文件的 Simulink.MDLInfo
对象。
info = Simulink.MDLInfo("vdp.slx");
通过使用圆点表示法来访问属性值,获取有关文件的信息,如文件类型。
type = info.BlockDiagramType
type = 'Model'
在不加载顶层模型的情况下查找引用模型
打开 sldemo_mdlref_depgraph
模型。
openProject("ModelReferenceHierarchy");
获取有关 sldemo_mdlref_depgraph
模型的信息。
info = Simulink.MDLInfo('sldemo_mdlref_depgraph');
获取接口信息。
info.Interface
ans = struct with fields:
Inports: [0x1 struct]
Outports: [0x1 struct]
Trigports: [0x1 struct]
Enableports: [0x1 struct]
Actionports: [0x1 struct]
Resetports: [0x1 struct]
Connports: [0x1 struct]
ModelVersion: '10.0'
SubsystemReferences: {0x1 cell}
ModelReferences: {4x1 cell}
ParameterArgumentNames: ''
TestPointedSignals: [0x1 struct]
ProvidedFunctions: [0x1 struct]
IsExportFunctionModel: 0
SimulinkSubDomainType: 'Simulink'
ResetEvents: [0x1 struct]
DataStoreReference: [0x1 struct]
HasInitializeEvent: 0
HasTerminateEvent: 0
PreCompExecutionDomainType: 'Unset'
UseModelRefSolver: 0
SolverName: 'ode3'
ParameterArguments: [0x1 struct]
ExternalFileReference: [5x1 struct]
获取引用模型。
info.Interface.ModelReferences
ans = 4x1 cell
{'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' }
添加和检查文件元数据
创建一个包含元数据的结构体。
t=datetime('tomorrow','format','MM/dd/yy'); m.ExpectedCompletionDate = t; m.TestStatus = 'untested';
创建一个新模型。
new_system('MetadataModel')
更新 'Metadata'
参数。
set_param('MetadataModel','Metadata',m)
随元数据一起保存该模型。
save_system('MetadataModel')
在不加载该模型或创建 Simulink.MDLInfo
对象的情况下检查模型的元数据。
Simulink.MDLInfo.getMetadata('MetadataModel')
ans = struct with fields:
ExpectedCompletionDate: 07/21/24
TestStatus: 'untested'
版本历史记录
在 R2009b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)