Display diagnostic information about金宝appsystem
sldiagnostics('
sys
')
[txtRpt, sRpt] = sldiagnostics('sys')
[txtRpt, sRpt] = sldiagnostics('sys',options
)
[txtRpt, sRpt] = sldiagnostics('sys', 'CompileStats')
[txtRpt, sRpt] = sldiagnostics('sys', 'RTWBuildStats')
sldiagnostics('
displays the following diagnostic information associated with the model or subsystem specified bysys
')sys
:
Number of each type of block
Number of each type of Stateflow®object
Number of states, outputs, inputs, and sample times of the root model.
Names of libraries referenced and instances of the referenced blocks
Time and additional memory used for each compilation phase of the root model
If the model specified bysys
is not loaded, thensldiagnostics
loads the model before performing the analysis.
The commandsldiagnostics('
displays only the diagnostic information associated with the specific operations listed assys
',options
)options
character vectors. The table below summarizes the options available and their corresponding valid input and output.
Withsldiagnostics
, you can input the name of a model or the path to a subsystem. For some analysis options,sldiagnostics
can analyze only a root model. If you provide an incompatible input for one of these analyses, thensldiagnostics
issues a warning. Finally, if you input a Simulink®Library, thensldiagnostics
cannot perform options that require a model compilation (Update Diagram). Instead,sldiagnostics
issues a warning.
During the analysis,sldiagnostics
will follow library links but will not follow or analyze Model References. Seefind_mdlrefs
for more information on finding allModelblocks and referenced models in a specified model.
Option |
Valid Inputs |
Output |
---|---|---|
|
root model, library, or subsystem |
Lists all unique blocks in the system and the number of occurrences of each. This includes blocks that are nested in masked subsystems or hidden blocks. |
|
root model, library, or subsystem |
Lists all unique Stateflow objects in the system and the number of occurrences of each. |
|
root model |
Lists the number of states, outputs, inputs, and sample times, as well as a flag indicating direct feedthrough, used in the root model. |
|
root model, library, or subsystem |
Lists all unique libraries referenced in the root model, as well as the names and numbers of the library blocks. |
|
root model |
Lists the time and additional memory used for each compilation phase of the root model. This information helps users troubleshoot model compilation speed and memory issues. |
|
root model |
Lists the same information as the You must explicitly specify this option, because it is not part of the default analysis. |
|
not applicable |
Performs all diagnostics. |
Note
Running theCompileStats
diagnostic before simulating a model for the first time will show greater memory usage. However, subsequent runs of theCompileStats
diagnostic on the model will require less memory usage.
[txtRpt, sRpt] = sldiagnostics('sys')
returns the diagnostic information as a textual reporttxtRpt
and a structure arraysRpt
, which contains the following fields that correspond to the diagnostic options:
blocks
stateflow
sizes
links
compilestats
[txtRpt, sRpt] = sldiagnostics('sys',
returns only the specified options. If your chosen options specify just one type of analysis, thenoptions
)sRpt
contains the results of only that analysis.
[txtRpt, sRpt] = sldiagnostics('sys', 'CompileStats')
returns information on time and memory usage intxtRpt
andsRpt
.
[txtRpt, sRpt] = sldiagnostics('sys', 'RTWBuildStats')
includesSimulink Coderbuild statistics in addition to the information reported forCompileStats
in thesRpt
output.
txtRpt
contains the formatted textual output of time spent in each of the phases in Simulink andSimulink Coder(if you specifiedRTWBuildStats
), for example:
Compile Statistics For: rtwdemo_counter Cstat1: 0.00 seconds Model compilation pre-start Cstat2: 0.00 seconds Stateflow compile pre-start notification Cstat3: 0.10 seconds Post pre-comp-start engine event Cstat4: 10.00 seconds Stateflow compile start notification Cstat5: 0.00 seconds Model compilation startup completed
sRpt
is a MATLAB®structure containing time and memory usage for each of the phases, for example:
sRpt = Model: 'myModel1' Statistics: [1x134 struct]
sRpt.Statistics
array indicates the number of compile and build phases executed during the operation. Examine the Statistics fields:sRpt.Statistics(1) = Description: 'Phase1' CPUTime: 7.2490 WallClockTime 4.0092 ProcessMemUsage: 26.2148 ProcessMemUsagePeak: 28.6680 ProcessVMSize: 15.9531
CPUTime
andWallClockTime
show the elapsed time for the phase in seconds.ProcessMemUsage
,ProcessMemUsagePeak
andProcessVMSize
show the memory consumption during execution of the phase in MB.Examine these key metrics to understand the performance:
WallClockTime
—The real-time elapsed in each phase in seconds. Sum theWallClockTime
in each phase to get the total time taken to perform the operation:
ElapsedTime = sum([statRpt.Statistics(:).WallClockTime]);
ProcessMemUsage
—The amount of memory consumed in each phase. Sum theProcessMemUsage
across all the phases to get the memory consumption during the entire operation:
TotalMemory = sum([statRpt.Statistics(:).ProcessMemUsage]);
ProcessMemUsagePeak
—The maximum amount of allocated memory in each phase. Get the maximum of this metric across all the phases to find the peak memory allocation during the operation:
PeakMemory = max([statRpt.Statistics(:).ProcessMemUsagePeak]);
Note
可用内存统计信息只在微指令oft®Windows®platform.
The following command counts and lists each type of block used in thesldemo_bounce
model that comes with Simulink software.
sldiagnostics('sldemo_bounce', 'CountBlocks')
The following command counts and lists both the unique blocks and Stateflow objects used in thesf_boiler
model that comes with Stateflow software; the textual report returned is captured asmyReport
.
myReport = sldiagnostics('sf_boiler', 'CountBlocks', 'CountSF')
The following commands open thef14
model that comes with Simulink software, and counts the number of blocks used in theController
subsystem.
sldiagnostics('f14/Controller', 'CountBlocks')
The following command runs theSizes
andCompileStats
diagnostics on thef14
model, capturing the results as both a textual report and structure array.
[txtRpt, sRpt] = sldiagnostics('f14', 'Sizes', 'CompileStats')