Диаграмма Stateflow, использующая конечные автоматы (слева) и блок-схемы (справа)
Диаграмма Stateflow, использующая конечные автоматы (слева) и блок-схемы (справа)

Stateflow предоставляет графический язык, который включает диаграммы переходов состояний, блок-схемы, таблицы переходов состояний и таблицы истинности. Вы можете использовать Stateflow, чтобы описать, как алгоритмы MATLAB и модели Simulink реагируют на входные сигналы, события и условия на основе времени.

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

С помощью Stateflow создается комбинаторная логика и логика принятия решений, которые можно смоделировать как блок в модели Simulink или выполнить как объект в MATLAB. Графическая анимация позволяет анализировать и отлаживать свою логику во время ее выполнения. Проверки во время редактирования и во время выполнения обеспечивают согласованность и полноту проектирования перед внедрением.

Диаграмма Stateflow, использующая конечные автоматы (слева) и блок-схемы (справа) Диаграмма Stateflow, использующая конечные автоматы (слева) и блок-схемы (справа)

Разработка управляющей логики

Моделирование управляющей логики в Stateflow

Моделируйте системную логику, используя конечные автоматы, блок-схемы и таблицы истинности.

Графическое проектирование конечных автоматов

Конечные автоматы создаются графически, при помощи рисования состояний и соединений, связанных переходами. Также можно создавать функции, используя обозначения блок-схем, подсистемы Simulink, код MATLAB и таблицы истинности.

Разработка блок-схем

Блок-схемы создаются с помощью рисования переходов, которые соединены в узлах. Мастер шаблонов позволяет создавать часто используемые конструкции программирования. Такие блок-схемы можно использовать для разработки логики перехода между состояниями.

Разработка логики с помощью таблиц

Таблицы истинности позволяют моделировать логику в Simulink, когда результат зависит исключительно от текущего входа. Таблицы переходов состояний предоставляют структурированную среду для моделирования конечных автоматов в Simulink.

Моделирование управляющей логики в Stateflow

Выполнение и отладка диаграмм

Параметры визуализации данных моделирования в Stateflow. Слева вверху: Simulink Data Inspector для сравнения определенных сигналов; внизу слева: пользовательский интерфейс MATLAB для анализа данных; справа: Simulink Signal Selector для сравнения определен
Параметры визуализации данных моделирования в Stateflow. Слева вверху: Simulink Data Inspector для сравнения определенных сигналов; внизу слева: пользовательский интерфейс MATLAB для анализа данных; справа: Simulink Signal Selector для сравнения определен
Параметры визуализации данных моделирования в Stateflow. Слева вверху: Simulink Data Inspector для сравнения определенных сигналов; внизу слева: пользовательский интерфейс MATLAB для анализа данных; справа: Simulink Signal Selector для сравнения определен Параметры визуализации данных моделирования в Stateflow. Слева вверху: Simulink Data Inspector для сравнения определенных сигналов; внизу слева: пользовательский интерфейс MATLAB для анализа данных; справа: Simulink Signal Selector для сравнения определен

Визуализация поведения системы для анализа и отладки.

Выполнение диаграмм Stateflow

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

Отладка диаграмм Stateflow

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

Разработка переиспользуемой логики для приложений MATLAB

Приложения MATLAB, которые включают объекты диаграммы Stateflow, передаются пользователям, у которых нет Stateflow
Приложения MATLAB, которые включают объекты диаграммы Stateflow, передаются пользователям, у которых нет Stateflow

Объекты диаграмм Stateflow могут быть использованы для разработки логики для приложений, созданных в MATLAB. Конечные автоматы и темпоральная логика используются для широкого спектра приложений, включая тестирование и измерения, автономные системы, обработку сигналов и связь.

Переиспользуемые объекты диаграмм

Stateflow позволяет создавать автономные диаграммы, которые используют все возможности языка MATLAB в действиях состояний и переходов. Эти диаграммы, в качестве объектов MATLAB, затем используются в пользовательских приложениях, которые требуют применения конечных автоматов и темпоральной логики.

Конечные автоматы и темпоральная логика

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


Приложения MATLAB, которые включают объекты диаграммы Stateflow, передаются пользователям, у которых нет Stateflow Приложения MATLAB, которые включают объекты диаграммы Stateflow, передаются пользователям, у которых нет Stateflow

Валидация проекта и генерация исходного кода

Исходный код генерируется для реализации логики созданной в Stateflow
Исходный код генерируется для реализации логики созданной в Stateflow

Диаграммы Stateflow проверяются на соответствие требованиям. Исходный код генерируется из диаграмм Stateflow для реализации во встраиваемых системах.

Валидация проекта

Stateflow используется с другими продуктами Simulink для проверки соответствия проекта требованиям.

  • Требования связываются напрямую с объектами Stateflow, используя функцию перетаскивания в Simulink Requirements
  • Статический анализ диаграмм на соответствие стандартам, с помощью Simulink Check
  • Сбор покрытия моделей и кода с помощью Simulink Coverage
  • Обнаружение ошибок проектирования и создание тестовых векторов с помощью Simulink Design Verifier
  • Разработка, управление и выполнение тестов с помощью Simulink Test

Генерация исходного кода

Исходный код генерируется из диаграмм Stateflow для реализации логики в встроенных системах.

  • C/C++ код генерируется из моделей Simulink и Stateflow с помощью Embedded Coder
  • VHDL и Verilog генерируются для FPGA и ASIC с помощью HDL Coder
  • Structured Text для ПЛК и ПКК генерируется с помощью Simulink PLC Coder
Исходный код генерируется для реализации логики созданной в Stateflow Исходный код генерируется для реализации логики созданной в Stateflow