После полного указания таблиц истинности начинается процесс их отладки. Первым шагом является выполнение диагностики для проверки таблиц истинности на наличие синтаксических ошибок, включая избыточную конкретизацию и недостаточную конкретизацию, как описано в разделе Корректные таблицы избыточной конкретизации и неполной конкретизации. Кроме того, можно добавить точки останова непосредственно в таблицу истинности для отладки во время моделирования.
Таблицы истинности поддерживаются только в Simulink ®. Дополнительные сведения см. в разделе Использование таблиц истинности для моделирования комбинаторной логики.
Чтобы проверить наличие синтаксических ошибок:
Дважды щелкните таблицу истинности.
В таблице истинности щелкните Выполнить диагностику (Run Diagnostics).
![]()
Например, если изменить действие для столбца принятия решения D4 на действие, которое не существует, в средстве просмотра диагностики появится сообщение об ошибке.
Диагностика таблицы истинности выполняется автоматически при моделировании модели с помощью новой или измененной таблицы истинности. Если ошибок нет, диагностическое окно не появляется, и моделирование запускается немедленно.
Точки останова в таблице истинности Stateflow ® можно использовать для приостановки моделирования и отладки логики. Как только точка останова вызывает приостановку моделирования, можно выполнить пошаговые действия и проверить значения данных в этой конкретной точке моделирования.
С помощью таблиц истинности можно задать следующие типы точек останова:
Проверка состояния
Решение протестировано
Решение действительно
Действие выполнено
После остановки моделирования в точке останова можно продолжить выполнение диаграммы на панели инструментов Stateflow Editor, в командной строке MATLAB ® или выбрав сочетание клавиш.
| Значок панели инструментов | Выбор | Команда | Описание | Сочетание клавиш |
|---|---|---|---|---|
| Продолжить | dbcont | Продолжите моделирование до следующей точки останова. | Ctrl + T |
| Шаг за шагом | dbstep | Перейдите к следующему шагу выполнения таблицы истинности. | F10 |
| Шаг в | dbstep in | Из состояния или действия перехода, которое вызывает функцию, перейти к первой исполняемой инструкции в функции. Из оператора в функции, содержащей другой вызов функции, перейти к первому исполняемому оператору во второй функции. В противном случае перейдите к следующему шагу выполнения таблицы истинности. (См. раздел Переход.) | F11 |
| Выйти | dbstep out | Из вызова функции вернитесь к оператору, вызывающему функцию. В противном случае продолжите моделирование до следующей точки останова. (См. раздел Продолжение.) | Shift + F11 |
| Шаг вперед | Выйдите из режима отладки и приостановите моделирование перед следующим временным шагом. | ||
| Стоп | dbquit | Выход из режима отладки и остановка моделирования. | Ctrl + Shift + T |
Чтобы установить контрольную точку, когда условие будет проверено, щелкните правой кнопкой мыши по клетке условия и выберите Контрольную точку Набора (Проверенное Условие). Красный значок появляется в крайней левой части таблицы рядом с номером условия. При запуске модели моделирование приостанавливается при проверке условия. Stateflow выделяет тестируемую строку условия. Наведите курсор на данные в таблице истинности, чтобы увидеть их текущее значение.

Чтобы задать точку останова при тестировании решения, щелкните правой кнопкой мыши в верхней части столбца решения и выберите Задать точку останова (тестирование решения). В верхней части столбца принятия решения рядом с номером решения появляется красный значок. При запуске модели моделирование приостанавливается при проверке решения. Stateflow выделяет тестируемый столбец принятия решений. Наведите курсор на данные в таблице истинности, чтобы увидеть их текущее значение.

Чтобы задать точку останова, когда решение действительно, щелкните правой кнопкой мыши ячейку действия в нижней части столбца решения и выберите Задать точку останова (решение действительно). Красный значок отображается в верхней части ячейки рядом с номером действия. При запуске модели моделирование приостанавливается, когда действие является действительным. Stateflow выделяет действительное решение. Наведите курсор на данные в таблице истинности, чтобы увидеть их текущее значение.
Если при принятии решения необходимо выполнить несколько действий, точка останова устанавливается для первого исполняемого файла. В таблицах истинности, использующих MATLAB в качестве языка действий, можно задать точку останова в любой строке исполняемого кода, задав точки останова в сгенерированном содержимом. См. раздел Отладка содержимого сгенерированной таблицы истинности.

Чтобы задать точку останова при выполнении действия, щелкните правой кнопкой мыши ячейку действия и выберите Задать точку останова (действие выполнено). Красный значок появляется в левой части таблицы рядом с номером действия. При запуске модели моделирование приостанавливается при выполнении действия. Stateflow выделяет тестируемую строку действия. Наведите курсор на данные в таблице истинности, чтобы увидеть их текущее значение.
Если в ячейке действия имеется более одного действия, точка останова устанавливается для первого действия. В таблицах истинности, использующих MATLAB в качестве языка действий, можно задать точку останова в любой строке исполняемого кода, задав точки останова в сгенерированном содержимом. См. раздел Отладка содержимого сгенерированной таблицы истинности.

Щелкните точку останова, чтобы открыть диалоговое окно «Редактировать точку останова». В этом окне можно отключить точку останова, сняв флажок Включить точку останова.
При добавлении условия к точке останова точка останова приостанавливает моделирование только в том случае, если связанное с ней условие true.
Можно использовать точки останова в созданном содержимом для таблиц истинности, которые используют MATLAB или C в качестве языка действий.
Для таблиц истинности, использующих MATLAB в качестве языка действий, содержимое создается в виде кода MATLAB. Чтобы задать точку останова в коде, щелкните по аллее точки останова рядом с исполняемой строкой, в которой необходимо приостановить моделирование. См. раздел Отладка программы MATLAB. При добавлении элемента в таблицу истинности, который изменяет созданное содержимое, все точки останова регенерируются.
Для таблиц истинности, использующих C в качестве языка действий, содержимое создается как графическая функция. Чтобы задать точку останова в графической функции, щелкните правой кнопкой мыши переход, в котором требуется задать точку останова, и выберите Задать точку останова. При добавлении элемента в таблицу истинности, который изменяет созданное содержимое, все точки останова регенерируются при повторной компиляции таблицы истинности.