Отладьте ошибки времени выполнения в графике

Создайте модель и диаграмму Stateflow

В этой теме вы создаете модель Simulink® с графиком Stateflow®, чтобы отладить. Выполните эти шаги:

  1. Создайте следующую модель Simulink:

  2. Добавьте следующие состояния и переходы к вашему графику:

  3. В вашем графике добавьте событие Switch с осциллографом Входа от Simulink и Возрастающего триггера ребра.

  4. Добавьте данные Shift с осциллографом Входа от Simulink.

График имеет два состояния на высшем уровне в иерархии, Power_off и Power_on. По умолчанию Power_off активен. Событие Switch переключает систему между состояниями Power_on и Power_off. Power_on имеет три подсостояния: First, Second и Third. По умолчанию, когда Power_on становится активным, First также становится активным. Когда Shift равняется 1, системные переходы от First до Second, Second к Third, Third к First, для каждого вхождения события Switch, и затем повторений шаблона.

В модели существует ввод событий и ввод данных. Блок Sine Wave генерирует входное событие повторения, которое соответствует событию Stateflow Switch. Блок Step генерирует повторяющийся шаблон 1 и 0, который соответствует объекту данных Stateflow Shift. Идеально, событие Switch имеет место на частоте, которая позволяет по крайней мере один цикл через First, Second и Third.

Отладьте диаграмму Stateflow

Чтобы отладить график в Создают Модель и диаграмму Stateflow, выполняют эти шаги:

  1. Щелкните правой кнопкой по графику и выберите Set Breakpoint on Chart Entry.

  2. Запустите симуляцию.

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

  3. Нажмите кнопку Step In.

    Кнопка Step In выполняет следующий шаг и остановки.

  4. Продолжите нажимать кнопку Step In и смотреть график анимации.

    После каждого шага см. анимацию графика, чтобы видеть последовательность выполнения.

Одно продвижение показывает, что график не показывает желаемое поведение. Переходы от First до Second к Third в Power_on состояния не происходят, потому что переход от Power_on до Power_off берет приоритет. Выходное отображение покрытия кода также подтверждает это наблюдение.

Исправьте ошибку времени выполнения

В Отладке диаграмма Stateflow вы продвигаетесь посредством симуляции графика и находите ошибку: событие Switch управляет симуляцией, но передачами времени симуляции слишком быстро для объекта Shift входных данных иметь эффект.

Исправьте эту ошибку можно следующим образом:

  1. Остановите симуляцию так, чтобы можно было отредактировать график.

  2. Добавьте условие [t > 20.0] в переход от Power_on до Power_off.

    Теперь переход от Power_on до Power_off не происходит, пока время симуляции не больше, чем 20,0.

  3. Начните симуляцию снова.

  4. Нажмите кнопку Step In неоднократно, чтобы наблюдать новое поведение.

Для просмотра документации необходимо авторизоваться на сайте