Синтаксис для состояний и переходов

Выражение поведения диаграммы при помощи действий и условий

Управляйте выполнением своего графика Stateflow® путем определения, когда переходы между состояниями происходят и когда действия выполняются. Синхронизируйте выполнение состояния широковещательными событиями. Обнаружьте изменения в значениях данных и проверке, какие состояния активны во время выполнения графика.

Блоки

ChartРеализуйте управляющую логику с конечным автоматом

Синтаксис Stateflow

развернуть все

Обнаружение изменений

changeСгенерируйте неявное событие, когда данные изменят значение
hasChangedОбнаружьте изменение в данных начиная с последнего временного шага
hasChangedFromОбнаружьте изменение в данных из заданного значения
hasChangedToОбнаружьте изменение в данных к заданному значению

Действие сообщений

discardОтбросьте сообщение
forwardПередайте сообщение
isvalidОпределите, допустимо ли сообщение
lengthОпределите длину очереди сообщений
receiveИзвлеките сообщение из очереди
sendШироковещательное сообщение или событие

Действие состояния

enterСгенерируйте неявное событие, когда состояние станет активным
exitСгенерируйте неявное событие, когда состояние станет неактивным
inПроверяйте действие состояния в Stateflow

Обработка строк

ascii2strПреобразуйте массив типа uint8 представлять в виде строки
str2asciiПреобразуйте строку в массив типа uint8
str2doubleПреобразуйте строку в значение двойной точности
strcatКонкатенация строк
strcmpСравните строки
strcpyПрисвойте значение строки
strlenОпределите длину строки
substrИзвлеките подстроку из строки
tostringПреобразуйте числовое значение, чтобы представить в виде строки

Временная логика

afterВыполните график после того, как событие широковещательно передаст или требуемое время
atВыполните график в широковещательной передаче события или требуемое время
beforeВыполните график, прежде чем событие широковещательно передало или требуемое время
countСтройте диаграмму выполнения, во время которого условие допустимо
durationВремя, в течение которого условие допустимо
elapsedВремя начиная с состояния стало активным
everyВыполните график равномерно
temporalCountКоличество событий, выполнения графика, или время начиная с состояния стало активным

Темы

Устраните избыточный код путем объединения состояний активности

Объедините entry, during, и exit действия в состоянии.

Управляйте Подсистемами вызова функций при помощи, связывают Действия

Свяжите вызов функции выходное событие с действием состояния.

Объедините переходы и соединения, чтобы создать переходящие пути

Создайте моменты принятия решения в путях к переходу.

Поддерживаемые операции для данных о графике

Выполните математические вычисления в диаграммах Stateflow.

Поддерживаемые символы в действиях

Специальные символы, доступные для состояния и действий перехода.

Вызовите внешние функции MATLAB в диаграммах Stateflow

Функции Access MATLAB®, которые не поддерживаются для генерации кода.

Доступ к функциям MATLAB и данным о рабочей области в графиках C

Вызовите встроенные функции MATLAB при помощи ml оператор.

Вызовите библиотечные функции C в графиках C

Доступ C функционирует в метках перехода и состоянии.

Проверяйте действие состояния при помощи в операторе

Определите, активно ли состояние во время выполнения графика.

Обнаружьте изменения в значениях данных

Задайте поведение графика, когда данные изменят значение между временными шагами.

Выполнение диаграммы управления при помощи временной логики

Используйте основанные на событии и абсолютно-разовые временные логические операторы.

Поведение диаграммы управления при помощи неявных Событий

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

Управляйте Колебаниями при помощи Оператора длительности

Упростите debouncing логику в графиках, которые имеют переходные сигналы.

Сопутствующая информация

Рекомендуемые примеры

Modeling an Automatic Transmission Controller

Моделирование контроллера автоматической коробки передач

Смоделируйте автомобильную ходовую часть с Simulink®. Stateflow® улучшает модель Simulink со своим представлением управляющей логики передачи. Simulink обеспечивает мощную среду для моделирования и симуляции динамических систем и процессов. Во многих системах, тем не менее, контрольные функции как изменяющиеся режимы или вызов новых расписаний усиления должны ответить на события, которые могут произойти и условия, которые разрабатывают в зависимости от времени. В результате среда требует языка, способного к управлению эти несколько режимов и условий разработки. В следующем примере Stateflow проявляет свою силу в этой способности путем выполнения функции выбора механизма в автоматической коробке передач. Эта функция объединена с динамикой ходовой части естественным и интуитивным способом путем слияния блока Stateflow в Диаграмме Simulink.