Отобразите диагностическую информацию о системе 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
векторы символов. Приведенная ниже таблица обобщает доступные опции и их соответствующий допустимый ввод и вывод.
С 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')