Отладьте автономную диаграмму Stateflow

Автономный график Stateflow® является классом MATLAB®, который задает поведение конечного автомата. Автономные графики реализуют классическую семантику графика с MATLAB как язык действия. Можно программировать график при помощи полной функциональности MATLAB, включая те функции, которые ограничиваются для генерации кода в Simulink®. Для получения дополнительной информации смотрите, Создают диаграммы Stateflow для Выполнения как Объекты MATLAB.

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

Примечание

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

Для получения информации об отладке диаграмм Stateflow в моделях Simulink смотрите Отладку Графиков.

Установка точек останова и ясные точки останова

Можно установить точки останова на графиках, состояниях и переходах.

  • Чтобы добавить точку останова на графике, щелкните правой кнопкой в графике и выберите Set Breakpoint on Chart Entry. Этот тип точки останова прерывает выполнение, прежде чем график будет введен. Чтобы удалить точку останова, щелкните правой кнопкой в графике и очистите опцию Set Breakpoint on Chart Entry.

  • Чтобы добавить точку останова на состоянии, щелкните правой кнопкой по состоянию и выберите Set Breakpoint. Этот тип точки останова прерывает выполнение, прежде чем график выполнит entry и действия during для состояния. Чтобы удалить точку останова, щелкните правой кнопкой по состоянию и выберите Clear Breakpoint.

  • Чтобы добавить точку останова на переходе, щелкните правой кнопкой по переходу и выберите Set Breakpoint. Этот тип точки останова прерывает выполнение, когда переход становится допустимым. Чтобы удалить точку останова, щелкните правой кнопкой по переходу и выберите Clear Breakpoint.

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

Чтобы удалить все точки останова в графике, щелкните правой кнопкой в графике и выберите Clear All Breakpoints In Chart.

Выполнение диаграммы управления после точки останова

Когда остановки выполнения в точке останова, Stateflow вводит режим отладки.

  • Подсказка команды MATLAB изменяется на K>>.

  • Окно Symbols отображает значение каждого объекта данных в графике.

  • График подсвечивает активные элементы синего цвета и объект выполняющегося в данного момента зеленого цвета.

Например, когда остановки выполнения в точке останова в A состояния, границе состояния и первого оператора в действии entry состояния кажутся подсвеченными в зеленом.

Значок состояния выполнения появляется в графическом объекте, где выполнение делает паузу.

ЗначокОписание

Выполнение, остановленное прежде, чем ввести график или состояние.

Выполнение останавливается в действии during состояния.

Выполнение, остановленное после выхода из состояния.

Выполнение, остановленное прежде, чем взять допустимый переход.

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

Значок панели инструментовОпцияКомандаОписаниеГорячая клавиша

Продолжениеdbcont

Продолжите выполнение к следующей точке останова.

Ctrl+T

Переступитьdbstep

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

  • Введите график

  • Выполните действие перехода

  • Активируйте состояние

  • Выполните акт государственной власти

Для получения дополнительной информации смотрите Выполнение диаграммы Stateflow.

F10

Вступитьdbstep in

От состояния или действия перехода, которое вызывает функцию, усовершенствование к первому исполняемому оператору в функции.

От оператора в функции, содержащей другой вызов функции, перейдите к первому исполняемому оператору во второй функции.

В противном случае перейдите к следующему шагу в выполнении графика. (См. Шаг По опции.)

F11

Выйтиdbstep out

От вызова функции возвратитесь к оператору, вызывающему функцию.

В противном случае продолжите выполнение к следующей точке останова. (См. Продолжать опцию.)

Shift+F11

Остановка dbquit

Выйдите из режима отладки и прервите выполнение.

Когда вы выполняете автономный график от редактора Stateflow, это действие удаляет объект диаграммы из рабочего пространства MATLAB.

Ctrl+Shift+T

В состоянии или действиях перехода, содержащих больше чем один оператор, можно продвинуться через отдельные операторы по одному путем выбора Step Over. Редактор Stateflow подсвечивает каждый оператор прежде, чем выполнить его.

Исследуйте и измените значения данных о графике

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

Чтобы протестировать поведение вашего графика, в окне Symbols, можно изменить значение объекта данных во время выполнения. Также в подсказке отладки, введите новое значение при помощи имени this вместо имени объекта диаграммы. Например, чтобы изменить значение локальных данных x, введите:

this.x = 7
Новое значение появляется в окне Symbols.

Похожие темы