Отобразите диагностическую информацию о системе Simulink
sldiagnostics('
sys
')
[txtRpt, sRpt] = sldiagnostics('sys')
[txtRpt, sRpt] = sldiagnostics('sys', options
)
[txtRpt, sRpt] = sldiagnostics('sys', 'CompileStats')
[txtRpt, sRpt] = sldiagnostics('sys', 'RTWBuildStats')
sldiagnostics('
отображает следующую диагностическую информацию, сопоставленную с моделью или подсистемой, заданной sys
')sys
:
Количество каждого типа блока
Количество каждого типа объекта Stateflow®
Количество состояний, выходных параметров, входных параметров и шагов расчета корневой модели.
Имена библиотек сослались и экземпляры блоков, на которые ссылаются,
Время и дополнительная память используются для каждой фазы компиляции корневой модели
Если модель, заданная sys
, не загружается, то sldiagnostics
загружает модель прежде, чем выполнить анализ.
Команда
отображает только диагностическую информацию, сопоставленную с определенными операциями, перечисленными как векторы символов sldiagnostics('sys', options)
options
. Приведенная ниже таблица обобщает доступные опции и их соответствующий допустимый ввод и вывод.
С sldiagnostics
можно ввести имя модели или пути к подсистеме. Для некоторых аналитических опций sldiagnostics
может анализировать только корневую модель. Если вы обеспечиваете несовместимый вход для одного из этих исследований, то sldiagnostics
выдает предупреждение. Наконец, если вы вводите Библиотеку Simulink®, затем sldiagnostics
не может выполнить опции, которые требуют образцовой компиляции (Update Diagram). Вместо этого sldiagnostics
выдает предупреждение.
Во время анализа sldiagnostics
перейдет по ссылкам библиотеки, но не будет следовать или анализировать Модели - ссылки. Смотрите find_mdlrefs
для получения дополнительной информации о нахождении всех блоков Model и моделей, на которые ссылаются, в заданной модели.
Опция | Допустимые входные параметры | Вывод |
---|---|---|
| базируйтесь модель, библиотека или подсистема | Списки все уникальные блоки в системе и количестве случаев каждого. Это включает блоки, которые вкладываются в подсистемах маскированных или скрытых блоках. |
| базируйтесь модель, библиотека или подсистема | Списки весь уникальный Stateflow возражают в системе и количестве случаев каждого. |
| корневая модель | Перечисляет количество состояний, выходных параметров, входных параметров, и шагов расчета, а также флага, указывающего на прямое сквозное соединение, используемое в корневой модели. |
| базируйтесь модель, библиотека или подсистема | Списки все уникальные библиотеки, на которые ссылаются в корневой модели, а также именах и номерах блоков библиотеки. |
| корневая модель | Перечисляет время и дополнительную память, используемую для каждой фазы компиляции корневой модели. Эта информация помогает пользователям диагностировать скорость компиляции модели и проблемы памяти. |
| корневая модель | Перечисляет ту же информацию как диагностику Необходимо явным образом задать эту опцию, потому что это не часть анализа по умолчанию. |
| не применяется | Выполняет всю диагностику. |
Выполнение диагностики CompileStats
прежде, чем моделировать модель впервые покажет большее использование памяти. Однако последующие выполнения диагностики CompileStats
на модели потребуют меньшего количества использования памяти.
[txtRpt, sRpt] = sldiagnostics('sys')
возвращает диагностическую информацию как текстовый отчет txtRpt
и массив структур sRpt
, который содержит следующие поля, которые соответствуют диагностическим опциям:
blocks
stateflow
sizes
links
compilestats
[txtRpt, sRpt] = sldiagnostics('sys',
возвращает только заданные опции. Если ваши выбранные опции задают всего один тип анализа, то options
)sRpt
содержит результаты только того анализа.
[txtRpt, sRpt] = sldiagnostics('sys', 'CompileStats')
возвращает информацию вовремя и использование памяти в txtRpt
и sRpt
.
[txtRpt, sRpt] = sldiagnostics('sys', 'RTWBuildStats')
включает статистику сборки Simulink Coder в дополнение к информации, сообщенной для CompileStats
в sRpt
вывод.
txtRpt
содержит отформатированный текстовый вывод времени, проведенного в каждой из фаз в Simulink и Simulink Coder (если вы задали RTWBuildStats
), например:
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
является структурой MATLAB®, содержащей время и использование памяти для каждой из фаз, например:
sRpt = Model: 'myModel1' Statistics: [1x134 struct]
sRpt.Statistics
указывает на количество компиляции и фаз разработки, выполняемых во время операции. Исследуйте поля Statistics:sRpt.Statistics(1) = Description: 'Phase1' CPUTime: 7.2490 WallClockTime 4.0092 ProcessMemUsage: 26.2148 ProcessMemUsagePeak: 28.6680 ProcessVMSize: 15.9531
CPUTime
и WallClockTime
показывают прошедшее время для фазы в секундах. ProcessMemUsage
, ProcessMemUsagePeak
и ProcessVMSize
показывают потребление памяти во время выполнения фазы в Мбайте.
Исследуйте эти ключевые метрики, чтобы понять производительность:
WallClockTime
— В реальном времени протекло в каждой фазе в секундах. Суммируйте WallClockTime
в каждой фазе, чтобы занять общее время, чтобы выполнить операцию:
ElapsedTime = sum([statRpt.Statistics(:).WallClockTime]);
ProcessMemUsage
— Объем памяти используется в каждой фазе. Суммируйте ProcessMemUsage
через все фазы, чтобы получить потребление памяти во время целой операции:
TotalMemory = sum([statRpt.Statistics(:).ProcessMemUsage]);
ProcessMemUsagePeak
— Максимальная сумма выделенной памяти в каждой фазе. Заставьте максимум этой метрики через все фазы находить пиковое выделение памяти во время операции:
PeakMemory = max([statRpt.Statistics(:).ProcessMemUsagePeak]);
Статистические данные памяти доступны только на платформе Microsoft® Windows®.
Следующая команда считает и перечисляет каждый тип блока, используемого в модели sldemo_bounce
, которая идет с программным обеспечением Simulink.
sldiagnostics('sldemo_bounce', 'CountBlocks')
Следующие количества команды и списки и уникальные блоки и объекты Stateflow использовали в модели sf_boiler
, которая идет с программным обеспечением Stateflow; текстовый возвращенный отчет получен как myReport
.
myReport = sldiagnostics('sf_boiler', 'CountBlocks', 'CountSF')
Следующие команды открывают модель f14
, которая идет с программным обеспечением Simulink и считает количество блоков используемым в подсистеме Controller
.
sldiagnostics('f14/Controller', 'CountBlocks')
Следующая команда запускает Sizes
и диагностику CompileStats
на модели f14
, получая результаты и как текстовый отчет и как массив структур.
[txtRpt, sRpt] = sldiagnostics('f14', 'Sizes', 'CompileStats')