Simulink.MDLInfo
在不加载文件的情况下提取 SLX、SLXP 或 MDL 文件信息
说明
Simulink.MDLInfo
对象从 SLX、SLXP 或 MDL 文件中提取信息,而不将其加载到内存中。
要在不创建 MDLInfo
对象的情况下从文件中提取描述和元数据,请分别使用 Simulink.MDLInfo.getDescription
和 Simulink.MDLInfo.getMetadata
函数。
创建对象
输入参量
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
此 属性 为只读。
true 或 false 结果,以数据类型 logical
的 1
或 0
形式返回。
1
(true
) - 文件是库。0
(false
) - 文件不是库。
数据类型: logical
用户指定的信息
此 属性 为只读。
用户为文件指定的描述,以字符向量形式返回。
提示
要在不加载模型或创建
MDLInfo
对象的情况下提取描述,请使用Simulink.MDLInfo.getDescription
函数。要在不加载模型或创建
MDLInfo
对象的情况下查看描述,请在 MATLAB® 命令行窗口中输入:help 'mymodelname'
要查看一个打开模型的描述,请在“模型属性”对话框中打开描述选项卡。
数据类型: char
此 属性 为只读。
与文件相关联的任意数据的名称和值,以结构体形式返回。
结构体字段可以是字符向量、double
类型的数值矩阵或结构体。
提示
要在不加载模型或创建 MDLInfo
对象的情况下提取元数据结构体,请使用 Simulink.MDLInfo.getMetadata
函数。
数据类型: struct
保存信息
此 属性 为只读。
用于保存文件的发行版更新,以正整数形式返回。
0
- 文件保存在正式发行版中,例如,'R2020a'
,或保存在 R2020a 之前的版本中。正整数 - 文件保存在更新发行版中,例如,
2
表示模型保存在'R2020a Update 2'
中。
数据类型: int32
此 属性 为只读。
上次保存文件的用户的名称,以字符向量形式返回。
数据类型: char
此 属性 为只读。
用于保存文件的平台,以字符向量形式返回。
示例: 'glnxa64'
数据类型: char
此 属性 为只读。
文件的版本号,以字符向量形式返回。
数据类型: char
此 属性 为只读。
用于保存文件的 MATLAB 版本,以字符向量形式返回。
示例: 'R2020a'
数据类型: char
此 属性 为只读。
保存文件时的字符编码,以字符向量形式返回。
示例: 'UTF-8'
数据类型: char
此 属性 为只读。
用于保存文件的 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: [0×1 struct]
Outports: [0×1 struct]
Trigports: [0×1 struct]
Enableports: [0×1 struct]
Actionports: [0×1 struct]
Resetports: [0×1 struct]
Connports: [0×1 struct]
ModelVersion: '11.1'
SubsystemReferences: {0×1 cell}
ModelReferences: {4×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: 'ode3'
ParameterArguments: [0×1 struct]
ExternalFileReference: [5×1 struct]
获取引用模型。
info.Interface.ModelReferences
ans = 4×1 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: 02/03/25
TestStatus: 'untested'
版本历史记录
在 R2009b 中推出
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)