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

Можно задать точки останова на диаграммах, состояниях, переходах, графических функциях или функциях таблицы истинности и событиях.
Чтобы задать точку останова на диаграмме, щелкните правой кнопкой мыши внутри диаграммы и выберите Задать точку останова в записи диаграммы. Этот тип точки останова приостанавливает моделирование перед входом в диаграмму.
Чтобы удалить точку останова, щелкните правой кнопкой мыши внутри диаграммы и снимите флажок «Задать точку останова на элементе диаграммы».
Можно задать различные типы точек останова для состояний и переходов.
| Объект | Тип точки останова |
|---|---|
| Государство |
|
| |
| |
| Переход |
|
|
Чтобы задать точку останова для состояния или перехода, щелкните правой кнопкой мыши состояние или переход и выберите Задать точку останова. Для состояний по умолчанию используются следующие точки останова: 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 приостанавливается при достижении точки останова. При добавлении условия к точке останова диаграмма приостанавливается в точке останова только в том случае, если условие является истинным.
Чтобы добавить условие в точку останова, выполните следующие действия.
На вкладке Отладка (Debug) щелкните Список точек останова (Breakpoints List), чтобы открыть окно Точки останова и контроль состояния (Stateflow Breakpoints and Watch). Можно также открыть окно Точки останова и Наблюдение, щелкнув ссылку Список точек останова в диалоговом окне Точки останова.
Выберите вкладку Точки останова. На вкладке Точки останова перечислены все точки останова в диаграмме. Дополнительные сведения см. в разделах Управление точками останова через окна точек останова и наблюдения.
В столбце «Условие» введите условие для точки останова. Можно использовать любое допустимое выражение 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. Чтобы сохранить снимок списка точек останова и данных наблюдения, в верхней части окна точек останова и наблюдения щелкните значок Сохранить текущие точки останова и наблюдения. Чтобы восстановить снимок, щелкните значок Загрузить точки останова и наблюдения.