sldiagnostics

Отобразите диагностическую информацию о системе 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 блокируется и модели, на которые ссылаются, в заданной модели.

Опция

Допустимые входные параметры

Вывод

CountBlocks

базируйтесь модель, библиотека или подсистема

Списки все уникальные блоки в системе и количестве случаев каждого. Это включает блоки, которые вкладываются в подсистемах маскированных или скрытых блоках.

CountSF

базируйтесь модель, библиотека или подсистема

Списки весь уникальный Stateflow возражают в системе и количестве случаев каждого.

Sizes

корневая модель

Перечисляет количество состояний, выходных параметров, входных параметров, и шагов расчета, а также флага, указывающего на прямое сквозное соединение, используемое в корневой модели.

Libs

базируйтесь модель, библиотека или подсистема

Списки все уникальные библиотеки, на которые ссылаются в корневой модели, а также именах и номерах библиотечных блоков.

CompileStats

корневая модель

Перечисляет время и дополнительную память, используемую в каждой фазе компиляции корневой модели. Эта информация помогает пользователям диагностировать скорость компиляции модели и проблемы памяти.

RTWBuildStats

корневая модель

Перечисляет ту же информацию как CompileStats диагностика. Когда выпущено со вторым выходным аргументом sRpt, это получает ту же статистику, включенную в CompileStats и также Simulink Coder™ создает статистику.

Необходимо явным образом задать эту опцию, потому что это не часть анализа по умолчанию.

All

не применяется

Выполняет всю диагностику.

Примечание

Выполнение 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')

Смотрите также

|

Введен в R2006a