В конечном автомате состояние является комбинацией локальных данных и действия графика. "Вычисление состояния" означает обновлять локальные данные и делать переходы от в настоящее время активного состояния до нового состояния. В моделях конечного автомата следующее состояние является функцией текущего состояния и его входных параметров:
В этом уравнении:
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++.
Можно использовать график Мура, чтобы смоделировать обратную связь. В графиках Мура входные параметры не имеют прямого сквозного соединения. Можно спроектировать цикл с обратной связью от выходного порта до входного порта, не вводя алгебраический цикл. Мучнистые и Классические графики имеют прямое сквозное соединение и производят ошибку в присутствии алгебраического цикла.