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