显示有关的诊断信息金宝app系统
sldiagnostics ('
sys
')
[txtRpt, sRpt] = sldiagnostics('系统')
[txtRpt, sRpt] = sldiagnostics('系统信息',选项
)
[txtRpt, sRpt] = sldiagnostics('sys', 'CompileStats')
[txtRpt, sRpt] = sldiagnostics('sys', 'RTWBuildStats')
sldiagnostics ('
显示与指定的模型或子系统关联的以下诊断信息sys
')sys
:
每种类型块的数量
每种类型的状态流的数量®对象
根模型的状态、输出、输入和样本次数。
被引用的库名和被引用的块的实例
根模型的每个编译阶段所使用的时间和额外内存
如果指定的模型sys
没有装载,那么sldiagnostics
在执行分析之前加载模型。
命令sldiagnostics ('
仅显示与具体操作关联的诊断信息sys
',选项
)选项
特征向量。下表总结了可用的选项及其相应的有效输入和输出。
与sldiagnostics
,您可以输入模型的名称或子系统的路径。对于一些分析选项,sldiagnostics
可以仅分析根模型。如果您为其中一个分析提供了一个不兼容的输入,那么sldiagnostics
发出一个警告。最后,如果你输入一个Simulink金宝app®库,然后sldiagnostics
无法执行需要模型编译的选项(更新图).相反,sldiagnostics
发出一个警告。
在分析过程中,sldiagnostics
将遵循图书馆链接,但不会遵循或分析模型引用。看find_mdlrefs
有关查找全部的更多信息模型指定模型中的块和引用模型。
选项 |
有效的输入 |
输出 |
---|---|---|
|
根模型、库或子系统 |
列出系统中的所有唯一块以及每个块的出现次数。这包括嵌套在屏蔽子系统或隐藏块中的块。 |
|
根模型、库或子系统 |
列出系统中的所有唯一状态流对象以及每个唯一的状态。 |
|
根模型 |
列出状态,输出,输入和采样时间的数量,以及指示根模型中使用的直接馈通的标志。 |
|
根模型、库或子系统 |
列出根模型中引用的所有唯一库,以及库块的名称和编号。 |
|
根模型 |
列出用于根模型的每个编译阶段的时间和附加内存。此信息可帮助用户对模型编译速度和内存问题进行故障排除。 |
|
根模型 |
列出与 您必须显式地指定此选项,因为它不是默认分析的一部分。 |
|
不适用 |
执行所有诊断。 |
请注意
运行CompileStats
在第一次模拟模型之前诊断将显示更大的内存使用情况。但是,随后的运行了CompileStats
对模型进行诊断将需要更少的内存使用。
[txtRpt, sRpt] = sldiagnostics('系统')
将诊断信息作为文本报告返回Txtrpt.
和结构数组sRpt
,其中包含与诊断选项对应的以下字段:
块
stateflow
大小
链接
compilestats
[txtRpt, sRpt] = sldiagnostics('系统信息',
仅返回指定的选项。如果您所选择的选项只指定一种类型的分析,那么选项
)sRpt
仅包含该分析的结果。
[txtRpt, sRpt] = sldiagnostics('sys', 'CompileStats')
中返回有关时间和内存使用情况的信息Txtrpt.
和sRpt
.
[txtRpt, sRpt] = sldiagnostics('sys', 'RTWBuildStats')
包括金宝app仿真软件编码器生成统计信息和报告的信息CompileStats
在里面sRpt
输出。
Txtrpt.
包含在Simulink中的每个阶段中花费的格式化文本输出金宝app金宝app仿真软件编码器(如果你指定RTWBuildStats
),例如:
编译统计信息:RTWDEMO_Counter CSTAT1:0.00秒模型编译预启动CSTAT2:0.00秒状态流编译前启动通知CSTAT3:0.10秒POST预启动引擎事件CSTAT4:10.00秒状态流编译开始通知CSTAT5:0.00秒模型编译启动完成
sRpt
MATLAB是一种®结构,包含每个阶段的时间和内存使用情况,例如:
sRpt = Model: 'myModel1'统计数据:[1x134 struct]
sRpt。统计数据
数组表示在操作期间执行的编译数和构建阶段。检查统计数据:sRpt.Statistics(1) = Description: 'Phase1' CPUTime: 7.2490 WallClockTime 4.0092 ProcessMemUsage: 26.2148 ProcessMemUsagePeak: 28.6680 ProcessVMSize: 15.9531
c
和WallClockTime
以秒为单位显示阶段经过的时间。ProcessMemUsage
,ProcessMemUsagePeak
和ProcessVMSize
在MB中执行相位期间显示内存消耗。检查这些关键指标以了解性能:
WallClockTime
-每个阶段的实时时间以秒为单位。求和WallClockTime
在每个阶段,以获得执行操作所需的总时间:
ElapsedTime =总和([statRpt.Statistics (:) .WallClockTime]);
ProcessMemUsage
-在每个阶段消耗的内存数量。求和ProcessMemUsage
在整个阶段都在整个操作期间获得内存消耗:
TotalMemory = Sum([statrpt.statistics(:)。processmemusage]);
ProcessMemUsagePeak
-每个阶段中分配的最大内存量。获取所有阶段中该指标的最大值,以找到操作期间的内存分配峰值:
PeakMemory = max ([statRpt.Statistics (:) .ProcessMemUsagePeak]);
请注意
内存统计数据仅在Microsoft上可用®视窗®平台。
属性中使用的每一种类型的块都进行计数和列出sldemo_bounce
与Simulink软件配套的模型。金宝app
SLDIAGNOSTICS('SLDEMO_BOUNCE','CONSICBLOCKS')
中使用的惟一块和statflow对象的计数和列表sf_boiler
ementflow软件附带的模型;返回的文本报告被捕获为我的报告
.
MyReport = SLDIAGNOSTICS('SF_BOILER','CountBlocks','countsf')
下面的命令打开f14
模型,并计算在Simulink软件中使用的块金宝app的数量控制器
子系统。
SLDIAGNOSTICS('F14 / CONTROLL','CONSICBLOCK')
下面的命令运行大小
和CompileStats
诊断的f14
模型,将结果捕获为文本报告和结构数组。
[txtrpt,srpt] = sldiagnostics('f14','大小','compilestats')