Смотрите Stateflow Data Values

Смотрите Data в диаграмме Stateflow

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

Тип объектаИнформация о подсказке
Состояния и переходыЗначения данных, сообщений и временных логических выражений, которые использует объект
Графический, таблица истинности и функции MATLABЗначения локальных данных, сообщений, входных параметров и выходных параметров в пределах функции

Примечание

Если вы выбираете свойства диаграммы Export Chart Level Functions и Treat Exported Functions as Globally Visible, то подсказка не отображает временные логические данные.

Например, этот график останавливает выполнение прежде, чем ввести состояние second. Указывая на сверхдержаву gear отображает подсказку, показывающую значения:

  • Данные, такие как speed, up_threshold и TWAIT.

  • Временные логические выражения, такие как duration(speed >= up_threshold).

Поскольку значение duration(speed >= up_threshold) больше, чем TWAIT, график берет переход от first до second.

График определяет значение данных и временных логических выражений на различных этапах временного шага. Например, в предыдущем примере, график вычисляет временную информацию в начале каждого временного шага и обновляет speed в конце каждого временного шага. Если вы совершенствуетесь посредством симуляции с помощью опции Step Forward и наблюдаете данные в конце каждого временного шага, временная информация в подсказке, может казаться, отстает от остальной части данных. После наблюдения значения speed пересекают up_threshold, необходимо выйти вперед дважды, прежде чем duration(speed >= up_threshold) становится ненулевым. Чтобы избежать этого поведения, используйте опцию Step Over и наблюдайте данные в более коротких интервалах.

Смотрите Stateflow Data в окне Команды MATLAB

Когда симуляция достигает точки останова, можно просмотреть значения данных Stateflow® в Командном окне MATLAB®. В следующем графике переход по умолчанию вызывает функцию MATLAB:

Точка останова установлена в последней исполняемой строке функции:

function stats(vals)
%#codegen

% calculates a statistical mean and standard deviation
% for the values in vals.

len = length(vals);
mean = avg(vals, len);
stdev = sqrt(sum(((vals-avg(vals,len)).^2))/len);
coder.extrinsic('plot');
plot(vals,'-+');  % Breakpoint set at this line

Когда симуляция достигает точки останова, можно отобразить данные Stateflow в Окне Команды MATLAB.

  1. В посдказке MATLAB нажмите Enter.

    Подсказка debug>> появляется.

  2. Введите whos, чтобы просмотреть данные, которые видимы в текущем осциллографе.

  3. Введите имя массива данных vals в подсказке, чтобы отобразить ее значение.

  4. Введите vals(2:3), чтобы просмотреть определенные значения того массива.

Отладчик Командной строки обеспечивает эти команды во время симуляции:

Команда

Описание

dbstep

Перейдите к следующей исполняемой строке кода.

dbstep [in/out]

При отладке функций MATLAB в графике:

  • dbstep [in] переходит к следующей исполняемой строке кода. Если та строка содержит вызов другой функции, выполнение продолжается к первой исполняемой строке функции.

  • dbstep [out] выполняет остальную часть функции и останавливается сразу после отъезда функции.

dbcont

Продолжите выполнение, чтобы затем установить точки останова.

dbquit (ctrl-c)

Остановите симуляцию модели. Нажмите Enter после этой команды, чтобы возвратиться к командной строке.

help

Отобразите справку для отладки командной строки.

print var

... или...

var

Отобразите значение переменной var.

var (i)Отобразите значение i th элемент векторного или матричного var.
var (i:j)Отобразите значение субматрицы векторного или матричного var.

save

Сохраняет все переменные в заданный файл. Следует за синтаксисом команды save MATLAB. Чтобы получить переменные в базовом рабочем пространстве MATLAB, используйте команду load после того, как симуляция закончится.

whos

Отобразите размер и класс (тип) всех переменных в пределах остановленной функции MATLAB в вашем графике.

Можно выпустить любую другую команду MATLAB в подсказке debug>>, но результаты выполняются в рабочей области Stateflow. Например, можно выпустить команду MATLAB plot (var), чтобы построить значения переменной var.

Чтобы дать команду в базовом рабочем пространстве MATLAB в подсказке debug>>, используйте команду evalin с первым аргументом 'base', сопровождаемым второй командой аргумента, например, evalin('base','whos').

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

Смотрите Data в точках останова Stateflow и см. окно

Во вкладке Watch окна Stateflow Breakpoints и Watch можно просмотреть текущие данные и сообщения, когда симуляция делает паузу. Вкладка Watch отображает список данных о часах и подсвечивает значения, которые изменились с прошлого раза приостановленная симуляция. Во вкладке Watch можно расширить сообщение, чтобы просмотреть очередь сообщений и передать значения данных. Добавить данные Stateflow или сообщения к списку данных о часах:

  1. В графике щелкните правой кнопкой по объекту, который использует данные или сообщение.

  2. Выберите Add to Watch Window.

  3. Выберите данные или сообщение.

Чтобы добавить активные данные состояния и данные о таблице истинности к списку часов, от Model Explorer, открывают диалоговое окно Data Properties. Выберите Add to Watch Window.

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