В конечном автомате состояние является комбинацией локальных данных и действия графика. "Вычисление состояния" означает обновлять локальные данные и делать переходы от в настоящее время активного состояния до нового состояния. В моделях конечного автомата следующее состояние является функцией текущего состояния и его входных параметров:
В этом уравнении:
X(n) представляет состояние на временном шаге n.
X(n+1) представляет состояние на следующем временном шаге n+1.
u представляет входные параметры.
Состояние сохраняется от одного временного шага до следующего временного шага.
Мучнистый и машины Мура часто рассматриваются основными парадигмами промышленного стандарта для моделирования конечных автоматов. Можно создать графики, которые реализуют чистый Мучнистый или семантика Мура как подмножество семантики графика Stateflow®. Можно использовать Мучнистый и графики Мура в симуляции и генерации кода с Embedded Coder®, Simulink® Coder™ и программным обеспечением HDL Coder™. Мучнистый и семантика Мура поддерживаются только в диаграммах Stateflow в моделях Simulink.
Мучнистые машины являются конечными автоматами, в которых переходы происходят на фронтах синхроимпульса. Вывод Мучнистого графика является функцией входных параметров и состояния:
На каждом временном шаге, Мучнистый график просыпается, оценивает его вход, и затем переходы к новой настройке активных состояний, также названных ее следующим состоянием. График вычисляет свой вывод, когда он переходит к следующему состоянию.
Гарантировать, которые выводят, - функция входа и состояния, Мучнистая машина состояний осуществляет их семантика:
Выходные параметры не зависят от следующего состояния.
График вычисляет выходные параметры только в переходах, не в состояниях.
График периодически просыпается на основе системных часов.
Мучнистые машины вычисляют свой вывод на переходах. Поэтому Мучнистые графики могут вычислить свой первый вывод в то время, когда путь по умолчанию для графика выполняется. Если вы включаете свойству диаграммы Execute (enter) Chart At Initialization для Мучнистого графика, это вычисление происходит в t = 0 (первый временной шаг). В противном случае это происходит в t = 1 (следующий временной шаг). Для получения дополнительной информации смотрите, Выполняются (Вводят) График при Инициализации.
Машины Мура являются конечными автоматами, в которых вывод изменяется во фронтах синхроимпульса. Вывод графика Мура является функцией только состояния:
На каждом временном шаге график Мура просыпается, вычисляет свой вывод, и затем оценивает свой вход, чтобы реконфигурировать себя для следующего временного шага. Например, после оценки его входа, график может перейти к новой настройке активных состояний. График вычисляет свой вывод прежде, чем оценить его вход и обновить его состояние.
Гарантировать, которые выводят, - функция только текущего состояния, машина состояний Мура осуществляет их семантика:
Выходные параметры не зависят от входных параметров.
Выходные параметры не зависят от предыдущих выходных параметров.
Выходные параметры не зависят от временной логики.
Машины Мура вычисляют свой вывод в состояниях. Поэтому машины Мура могут вычислить выходные параметры только после того, как путь по умолчанию выполнится. До тех пор выходные параметры берут значения по умолчанию.
То, когда вы создаете диаграмму Stateflow, тип по умолчанию является гибридной моделью конечного автомата, вызвало Классический график. Классические графики комбинируют семантику Мучнистых и графиков Мура с расширенной семантикой диаграммы Stateflow.
Создавать Мучнистый график, в командной строке MATLAB®, введите:
sfnew -mealy
Чтобы создать график Мура, в команде MATLAB запрашивают, введите:
sfnew -moore
Также после добавления диаграммы Stateflow блокируются к модели Simulink, можно выбрать тип семантики для графика путем установки свойства диаграммы State Machine Type. Для получения дополнительной информации смотрите Тип Конечного автомата.
Мучнистый и графики Мура предлагают эти преимущества перед Классическими диаграммами Stateflow:
Можно проверить, что Мучнистые графики и графики Мура, которые вы создаете, соответствуют своим формальным определениям и семантическим правилам. Сообщения об ошибке появляются во время компиляции (не во время проектирования).
Графики Мура обеспечивают более эффективное внедрение, чем Классические графики для целей HDL и C/C++.
Можно использовать график Мура, чтобы смоделировать обратную связь. В графиках Мура входные параметры не имеют прямого сквозного соединения. Можно разработать цикл с обратной связью от выходного порта до входного порта, не вводя алгебраический цикл. Мучнистые и Классические графики имеют прямое сквозное соединение и производят ошибку в присутствии алгебраического цикла.