exponenta event banner

Установка точек останова для диаграмм отладки

Отладка диаграммы Stateflow ® включается при установке точки останова. Точка останова - это точка на диаграмме Stateflow, которая приостанавливает моделирование, чтобы можно было проверить состояние диаграммы. Во время приостановки моделирования можно просматривать данные потока состояний, взаимодействовать с рабочим пространством MATLAB ® и переходить к моделированию. Дополнительные сведения см. в разделе Отладка диаграмм статусов.

Точки останова отображаются как круглые красные значки. Например, эта диаграмма содержит точки останова на upshifting состояние и переход от steady_state кому upshifting.

Установка точки останова для объекта Stateflow

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

Точки останова на диаграммах

Чтобы задать точку останова на диаграмме, щелкните правой кнопкой мыши внутри диаграммы и выберите Задать точку останова в записи диаграммы. Этот тип точки останова приостанавливает моделирование перед входом в диаграмму.

Чтобы удалить точку останова, щелкните правой кнопкой мыши внутри диаграммы и снимите флажок «Задать точку останова на элементе диаграммы».

Точки останова в состояниях и переходах

Можно задать различные типы точек останова для состояний и переходов.

ОбъектТип точки останова
Государство

On State Entry - Приостановка моделирования перед выполнением состояния entry действия.

During State - Приостановка моделирования перед выполнением состояния during действия.

On State Exit - Приостановка моделирования после выполнения состояния exit действия.

Переход

When Transition is Tested - Приостановка моделирования перед проверкой того, что переход является допустимым путем. Если для перехода не существует условия, этот тип точки останова недоступен.

When Transition is Valid - Приостановка моделирования после того, как переход допустим, но перед переходом.

Чтобы задать точку останова для состояния или перехода, щелкните правой кнопкой мыши состояние или переход и выберите Задать точку останова. Для состояний по умолчанию используются следующие точки останова: On State Entry и During State. Для переходов точкой останова по умолчанию является When Transition is Valid. Чтобы изменить тип точки останова, щелкните значок точки останова и выберите другую конфигурацию точек останова. Дополнительные сведения см. в разделе Изменение типов точек останова.

Чтобы удалить точку останова, щелкните правой кнопкой мыши состояние или переход и выберите Очистить точку останова.

Точки останова в функциях потока состояний

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

Для удаления точки останова щелкните правой кнопкой мыши по функции и снимите флажок Set Breakpoint Aguring Function Call.

Точки останова в событиях

Можно выбрать два типа точек останова для событий:

  • Start of Broadcast - Приостановка моделирования перед трансляцией события.

  • End of Broadcast - приостановка моделирования после считывания события объектом Stateflow.

Доступные точки останова зависят от области действия события.

Объем мероприятияНачало трансляцииОкончание вещания
LocalДоступныйДоступный
InputДоступныйНедоступно
OutputНедоступноНедоступно

Чтобы задать или очистить точки останова для события, используйте инспектор свойств или обозреватель моделей для изменения свойств точек останова отладчика. Дополнительные сведения см. в разделе Точки останова отладчика.

Изменение типов точек останова

Значок точки останова может представлять несколько типов точек останова. Чтобы просмотреть всплывающую подсказку со списком типов точек останова, заданных для объекта Stateflow, укажите на его значок. В этом примере значок на государстве upshifting представляет два типа точек останова: On State Entry и During State.

Чтобы изменить тип точки останова объекта, щелкните значок точки останова. В диалоговом окне «Точки останова» можно выбрать другую конфигурацию точек останова в зависимости от типа объекта.

Если снять все флажки в диалоговом окне «Точки останова», точка останова будет удалена.

Добавить условия точки останова

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

Чтобы добавить условие в точку останова, выполните следующие действия.

  1. На вкладке Отладка (Debug) щелкните Список точек останова (Breakpoints List), чтобы открыть окно Точки останова и контроль состояния (Stateflow Breakpoints and Watch). Можно также открыть окно Точки останова и Наблюдение, щелкнув ссылку Список точек останова в диалоговом окне Точки останова.

  2. Выберите вкладку Точки останова. На вкладке Точки останова перечислены все точки останова в диаграмме. Дополнительные сведения см. в разделах Управление точками останова через окна точек останова и наблюдения.

  3. В столбце «Условие» введите условие для точки останова. Можно использовать любое допустимое выражение MATLAB, объединяющее числовые значения и объекты данных Stateflow, находящиеся в области в точке останова.

Примечание

Нельзя использовать данные сообщения в выражении условия точки останова.

Например, эта диаграмма имеет точку останова в переходе от steady_state кому upshifting. Эта точка останова останавливает моделирование каждый раз при тестировании перехода, даже если значение speed намного ниже up_th.

Чтобы проверить диаграмму перед переходом, необходимо, чтобы точка останова приостанавливала моделирование только тогда, когда значение speed приближается к значению up_th. При установке условия speed > up_th-2 в точке останова моделирование приостанавливается только тогда, когда значение speed находится в пределах 2 от значения up_th.

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

Управление точками останова через окно точек останова и наблюдения

Управлять всеми точками останова на диаграмме можно в окне «Точки останова и контроль состояния». Чтобы открыть окно Breakpoints and Watch, на вкладке Debug щелкните Breakpoints List. Либо откройте диалоговое окно Точки останова (Breakpoints) и щелкните ссылку Список точек останова (Breakpoints List).

  • Для просмотра списка всех точек останова и связанных с ними условий выберите вкладку Точки останова.

  • Для проверки данных и значений сообщений выберите закладку Контроль. Дополнительные сведения см. в разделе Просмотр данных в окне точек останова и наблюдения.

Отключить и снова включить точки останова

Чтобы отключить точку останова без удаления связанного с ней состояния, снимите флажок рядом с именем точки останова. Например, на этой диаграмме точка останова на During State точка останова для upshifting состояние отключено.

Если отключить все точки останова для графического объекта, значок точки останова изменяет цвет с красного на серый. Если для объекта включена хотя бы одна точка останова, значок точки останова остается красным.

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

Удалить точки останова

Чтобы удалить точку останова из диаграммы, укажите имя точки останова и щелкните значок Удалить эту точку останова, который отображается справа от имени. При удалении точки останова также удаляется связанное с ней условие.

Просмотр совпадений точек останова

В столбце «Совпадения» отображается количество приостановок моделирования в каждой точке останова. При изменении условия точки останова диаграмма сбрасывает количество попаданий.

Сохранить и восстановить точки останова

Точки останова сохраняются во время сеанса MATLAB. При закрытии модели ее точки останова остаются в окне Точки останова (Breakpoints) и Наблюдение (Watch). При повторном открытии модели во время той же сессии MATLAB восстанавливаются все точки останова и связанные с ними условия.

Можно сохранить точки останова и просмотреть списки данных и перезагрузить их в более позднем сеансе MATLAB. Чтобы сохранить снимок списка точек останова и данных наблюдения, в верхней части окна точек останова и наблюдения щелкните значок Сохранить текущие точки останова и наблюдения. Чтобы восстановить снимок, щелкните значок Загрузить точки останова и наблюдения.

Связанные темы