Отобразите диагностическую информацию о системе 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')