主要内容

sldiagnostics

显示有关的诊断信息金宝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有关查找全部的更多信息模型指定模型中的块和引用模型。

选项

有效的输入

输出

countblock.

根模型、库或子系统

列出系统中的所有唯一块以及每个块的出现次数。这包括嵌套在屏蔽子系统或隐藏块中的块。

countsf.

根模型、库或子系统

列出系统中的所有唯一状态流对象以及每个唯一的状态。

大小

根模型

列出状态,输出,输入和采样时间的数量,以及指示根模型中使用的直接馈通的标志。

填词

根模型、库或子系统

列出根模型中引用的所有唯一库,以及库块的名称和编号。

CompileStats

根模型

列出用于根模型的每个编译阶段的时间和附加内存。此信息可帮助用户对模型编译速度和内存问题进行故障排除。

RTWBuildStats

根模型

列出与CompileStats诊断。与第二个输出参数一起发出时sRpt,它捕获了包含在CompileStats而且也是金宝appSimulink Coder™构建统计数据。

您必须显式地指定此选项,因为它不是默认分析的一部分。

全部

不适用

执行所有诊断。

请注意

运行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秒模型编译启动完成

  • sRptMATLAB是一种®结构,包含每个阶段的时间和内存使用情况,例如:

    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
    cWallClockTime以秒为单位显示阶段经过的时间。ProcessMemUsageProcessMemUsagePeakProcessVMSize在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_boilerementflow软件附带的模型;返回的文本报告被捕获为我的报告

MyReport = SLDIAGNOSTICS('SF_BOILER','CountBlocks','countsf')

下面的命令打开f14模型,并计算在Simulink软件中使用的块金宝app的数量控制器子系统。

SLDIAGNOSTICS('F14 / CONTROLL','CONSICBLOCK')

下面的命令运行大小CompileStats诊断的f14模型,将结果捕获为文本报告和结构数组。

[txtrpt,srpt] = sldiagnostics('f14','大小','compilestats')

另请参阅

|

介绍了R2006a