В то время как ваш график Stateflow® находится в режиме отладки, можно исследовать состояние графика путем осмотра значений данных, сообщений и временных логических выражений. Можно также протестировать проект графика путем изменения значений данных и отправки локальной переменной и выходных сигналов. Эта таблица суммирует интерфейсы, которые можно использовать, чтобы выполнить эти задачи отладки. Для получения дополнительной информации смотрите Отладку диаграмм Stateflow.
Отладка задачи | Редактор Stateflow | Панель символов | Точки останова и смотрят окно | Командное окно MATLAB® |
---|---|---|---|---|
Смотрите значения данных и сообщений | Да | Да | Да | Да |
Смотрите временные логические выражения | Да | Нет | Нет | Нет |
Измените значения данных и сообщений | Нет | Да | Нет | Да |
Отправьте сообщения | Нет | Нет | Нет | Да |
В то время как симуляция приостановлена в точке останова, можно исследовать значения данных, указав на состояние, переход, или функционировать в графике. Подсказка отображает значение данных и сообщений, что выбранный объект использует.
Тип объекта | Информация о подсказке |
---|---|
Состояния и переходы | Значения данных, сообщений и временных логических выражений, которые использует объект |
Графический, таблица истинности и функции MATLAB | Значения локальных данных, сообщений, входных параметров и выходных параметров в пределах функции |
Например, точка останова в этом графике приостанавливает симуляцию когда second
состояние оценивает свой during
действия. Указывая на сверхсостояние gear
отображает подсказку, которая показывает значения:
Временные логические выражения duration(speed >= up_threshold)
и duration(speed <= down_threshold)
.
Данные, включая speed
, up_threshold
, и up
.
Примечание
Если вы выбираете свойства диаграммы Export chart level functions и Treat exported functions as globally visible, подсказка не отображает временные логические данные.
В то время как график находится в режиме отладки, панель Символов отображает значение каждого объекта данных и объекта сообщения в графике. Например, когда этот график делает паузу в точке останова, вы видите значения всех данных о графике, перечисленных в столбце Value. Подсвеченные значения изменяются во время последнего временного шага.
В панели Символов можно изменить значение:
Память хранилища данных, локальные, и выходные данные.
Локальный и выходные сигналы.
Кликните по полю Value для объекта данных или объекта сообщения, чтобы ввести новое значение.
Вы не можете изменить значения констант, параметров, или входных данных и сообщений в процессе моделирования.
Для получения дополнительной информации смотрите, Управляют Данными, Событиями и сообщениями в Панели Символов.
В окне Stateflow Breakpoints и Watch можно просмотреть текущие данные и передать значения, в то время как симуляция приостановлена в точке останова. Чтобы открыть окно Breakpoints и Watch, на вкладке Debug, нажимают Breakpoints List. В качестве альтернативы откройте диалоговое окно Breakpoints и щелкните по ссылке Breakpoints List.
Чтобы видеть список всех точек останова и их связанных условий, выберите вкладку Breakpoints. Для получения дополнительной информации смотрите, Управляют Точками останова Через Точки останова и Смотрят Window.
Чтобы смотреть данные и значения сообщения, выберите вкладку Watch.
Можно использовать окно Breakpoints и Watch для:
Добавьте объекты данных и объекты сообщения к списку часов.
Отследите значения, которые изменились начиная с последнего временного шага.
Расширьте сообщение, чтобы просмотреть очередь сообщений и передать значения данных.
Например, можно добавить speed
, up_threshold
, и up
к часам перечисляют и отслеживают их значения, когда вы продвигаетесь посредством симуляции. Выделение указывает что значения speed
и up_threshold
измененный во время последнего временного шага.
Чтобы добавить объект данных или объект сообщения к списку часов, откройте Property Inspector или Model Explorer. Выберите объект данных или объект сообщения, вы хотите смотреть и щелкнуть по ссылке Add to Watch Window.
В качестве альтернативы в редакторе Stateflow, щелкните правой кнопкой по состоянию или переходу, который использует данные или сообщение. Выберите Add to Watch Window и выберите имя переменной из выпадающего списка.
Изменить формат раньше отображалось, смотрят данные, выбирают значок механизма наверху окна. Используйте выпадающие списки, чтобы выбрать формат MATLAB для каждого типа данных.
Чтобы удалить объект данных или объект сообщения из списка часов, укажите на путь для данных о часах и кликните по значку Remove this watch, который появляется слева от имени переменной.
См. данные, сохраняется во время сеанса работы с MATLAB. Когда вы закрываете модель, ее список данных о часах остается в Точках останова, и Смотрите Window. Если вы вновь открыли модель во время того же сеанса работы с MATLAB, список данных о часах для той модели восстанавливается.
Можно сохранить точку останова и смотреть списки данных и перезагрузить их в более позднем сеансе работы с MATLAB. Чтобы сохранить снимок состояния точки останова и смотреть списки данных, во главе Точек останова и Смотреть Window, кликают по значку Save current breakpoints and watches. Чтобы восстановить снимок состояния, кликните по значку Load breakpoints and watches.
В то время как симуляция приостановлена в точке останова, изменениях командной строки MATLAB в debug>>
. В этой подсказке можно смотреть и изменить значения данных Stateflow, отправить локальную переменную и выходные сигналы, и взаимодействовать с рабочим пространством MATLAB.
Например, предположите, что предыдущий график достиг точки останова. Чтобы просмотреть данные, которые отображаются в текущем осциллографе, используйте whos
команда.
whos
Name Size Bytes Class Attributes TWAIT 1x1 1 uint8 down 1x1 1 logical down_th 1x1 8 double down_threshold 1x1 8 double gear 1x1 4 gearType speed 1x1 8 double throttle 1x1 8 double up 1x1 1 logical up_th 1x1 8 double up_threshold 1x1 8 double
Смотреть значения speed
и up_threshold
, Введите:
speed
speed = 26.3383
up_threshold
up_threshold = 41.3601
В подсказке отладки можно изменить значение памяти хранилища данных, локальных, и выходных данных. Например, в предыдущем графике, можно изменить значение up_threshold
, up
, и gear
:
up_threshold = 25;
up = true;
gear = gearType.third;
Чтобы изменить векторы и матрицы, используйте синтаксис MATLAB для индексации, независимо от свойства языка действия вашего графика. Смотрите Обозначение Индексации.
Например, чтобы изменить элемент в диагонали матричного u
2 на 2, Введите:
u(1,1) = 6.022e23; u(2,2) = 6.626e-34
Можно изменить размерности данных переменного размера, пока новый размер в границах размерности, заданных для данных. Например, предположите тот v
массив переменного размера размер имеющий [16 16]
. Изменить значение v
к 5 7 массиву из единиц, введите:
v = ones(5,7);
Чтобы изменить перечисленные данные, явным образом задайте перечислимый тип при помощи снабженных префиксом идентификаторов. Смотрите Обозначение для Перечисляемых значений.
Например, предположите тот w
имеет перечислимый тип данных Colors
. Изменить значение w
к перечисляемому значению Red
, Введите:
w = Colors.Red
Чтобы изменить числовые данные, бросьте к явному типу данных при помощи функции преобразования типов MATLAB. Явный кастинг не требуется для данных типа double
. Смотрите операции броска типа.
Например, предположите тот x
имеет вводят single
Y
имеет вводят int32
, и z
имеет вводят fixdt(1,16,12)
. Изменить значение этих объектов данных, введите:
x = single(98.6); y = int32(100); z = fi(0.5413,1,16,12);
Вы не можете изменить значения констант, параметров или входных данных в подсказке отладки.
Примечание
Изменить данные типа int64
или uint64
, используйте функцию fi
(Fixed-Point Designer), чтобы бросить новое значение к фиксированной точке. int64
тип псевдонима для fixdt(1,64,0)
и uint64
тип псевдонима для fixdt(0,64,0)
.
В подсказке отладки можно отправить локальную переменную и выходные сигналы. Например, в этом графике, локальном сообщении M
определяет, какое состояние становится активным после DecisionPoint
состояния. Если график получает сообщение
M
с положительным значением, Received
состояния становится активным, и график выводит значение
true
. В противном случае, Missed
состояния становится активным, и график выводит значение
false
.
Начальное значение сообщения является нулем. Изменить значение поля данных к положительному числу и отправить сообщение его локальной очереди, введите:
M = 5; send(M);
Received
состояния
. Для получения дополнительной информации смотрите Выполнение Диаграммы управления После Точки останова.Следуйте этим правилам при отправке сообщений от подсказки отладки:
Чтобы читать или записать в поле данных сообщения допустимого сообщения, используйте имя объекта сообщения. Не используйте синтаксис записи через точку.
Можно отправить сообщение от подсказки отладки только, когда график явным образом отправляет сообщение путем вызова send
оператор.
Вы не можете отправить входные сигналы от подсказки отладки.
Для получения дополнительной информации смотрите Действие Управляющего сообщения в диаграммах Stateflow.
Можно ввести другие команды MATLAB в подсказке отладки, но результаты выполняются в рабочей области Stateflow. Например, можно сохранить все переменные графика в MAT-файле при помощи save
функция:
save(chartVars)
Чтобы ввести команду в базовое рабочее пространство MATLAB, используйте evalin
команда с первым аргументом 'base'
. Например, чтобы перечислить переменные в рабочем пространстве MATLAB, используйте команду:
evalin('base','whos')