Смотрите и измените данные и сообщения во время отладки

В то время как ваш график Stateflow® находится в режиме отладки, можно исследовать состояние графика путем осмотра значений данных, сообщений и временных логических выражений. Можно также протестировать проект графика путем изменения значений данных и отправки локальной переменной и выходных сигналов. Эта таблица суммирует интерфейсы, которые можно использовать, чтобы выполнить эти задачи отладки. Для получения дополнительной информации смотрите Отладку диаграмм Stateflow.

Отладка задачиРедактор StateflowПанель символовТочки останова и смотрят окноКомандное окно MATLAB®
Смотрите значения данных и сообщенийДаДаДаДа
Смотрите временные логические выраженияДаНетНетНет
Измените значения данных и сообщенийНетДаНетДа
Отправьте сообщенияНетНетНетДа

Просмотрите данные в редакторе Stateflow

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

Тип объектаИнформация о подсказке
Состояния и переходыЗначения данных, сообщений и временных логических выражений, которые использует объект
Графический, таблица истинности и функции 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 и 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

В то время как симуляция приостановлена в точке останова, изменениях командной строки 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 имеет вводят singleY имеет вводят 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), чтобы бросить новое значение к фиксированной точке.

Отправьте сообщения при помощи отладки подсказки

В подсказке отладки можно отправить локальную переменную и выходные сигналы. Например, в этом графике, локальном сообщении M определяет, какое состояние становится активным после DecisionPoint состояния. Если график получает сообщение M с положительным значением, Received состояния становится активным, и график выводит значение true. В противном случае, Missed состояния становится активным, и график выводит значение false .

Начальное значение сообщения является нулем. Изменить значение поля данных к положительному числу и отправить сообщение его локальной очереди, введите:

M = 5;
send(M);
Когда вы переходите к следующему шагу симуляции, сообщение инициировало переход к Received состояния. Для получения дополнительной информации смотрите Управление выполнением диаграммы После Точки останова.

Следуйте этим правилам при отправке сообщений от подсказки отладки:

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

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

  • Вы не можете отправить входные сигналы от подсказки отладки.

Для получения дополнительной информации смотрите Действие Управляющего сообщения в диаграммах Stateflow.

Доступ к рабочему пространству MATLAB, в то время как отладка

Можно ввести другие команды MATLAB в подсказке отладки, но результаты выполняются в рабочей области Stateflow. Например, можно сохранить все переменные графика в MAT-файле при помощи save функция:

save(chartVars)

Чтобы ввести команду в базовое рабочее пространство MATLAB, используйте evalin команда с первым аргументом 'base'. Например, чтобы перечислить переменные в рабочем пространстве MATLAB, используйте команду:

evalin('base','whos')

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

| | |

Похожие темы