При программировании таблицы истинности можно запрограммировать переопределенную или недоопределенную таблицу истинности. Переопределенная таблица истинности содержит, по крайней мере, одну истинную или ложную комбинацию, заданную в другом столбце решения. Когда это происходит, действие, связанное с этим столбцом решения, никогда не выполняется. Недоопределенная таблица истинности возникает, когда ваша таблица истинности не имеет достаточного количества столбцов принятия решений, чтобы принять во внимание все возможные истинные или ложные комбинации.
По умолчанию Stateflow® сообщает об ошибке для переопределенных и недоопределенных таблиц истинности. Чтобы настроить настройки ошибок для таблиц истинности, откройте таблицу истинности. После открытия таблицы истинности, на вкладке Modeling, нажмите Table Properties и измените настройки для Underspecification или Overspecification.
Таблицы истинности поддерживаются только в Simulink® модель. Для получения дополнительной информации смотрите Использование Таблиц Истинности для Моделирования Комбинаторной Логики.
Переопределенная таблица истинности содержит, по крайней мере, одно решение, которое никогда не выполняется, потому что предыдущее решение задает его в Condition Table. В следующем примере показана Condition Table переопределенной таблицы истинности.
Решение в столбце D3 (-TT
) определяет решения FTT
и TTT
. Эти решения являются дубликатами решений D1 (FTT
) и D2 (TTT
и TFT
). Поэтому D3 столбца является сверхспецификацией.
В следующем примере показана Condition Table таблицы истинности, которая, по-видимому, переопределена, но не является.
В этом случае D4 решения задает два решения (TTT
и FTT
). FTT
также появляется в решении D1, но TTT
не является повторяющимся. Поэтому эта Condition Table не переопределена.
Недоопределенная таблица истинности включает неопределенное поведение, потому что в ней отсутствуют решения, которые охватывают каждую комбинацию заданных условий. В следующем примере показана Condition Table недоопределенной таблицы истинности.
Полное освещение условий в предыдущей таблице истинности требует Condition Table со всеми возможными решениями:
Чтобы избежать недоопределения, задайте действие для всех других возможных решений с помощью решения по умолчанию с именем DA
:
Последний столбец D4 является решением по умолчанию для таблицы истинности. Решение по умолчанию охватывает все оставшиеся решения, не проверенные в предыдущих столбцах решений. См. пример столбца решения по умолчанию и более полное описание столбца решения по умолчанию для Condition Table.