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

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

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

Блоки

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

ChartРеализуйте управляющую логику с конечным автоматом
State Transition TableПредставляйте модальную логику в табличном формате
Truth TableПредставляйте логическое поведение принятия решений условиями, решениями и действиями

Синтаксис Stateflow

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

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

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

Обнаружение ребра

crossingОбнаружьте возрастающее или падающее ребро в данных начиная с последнего временного шага
fallingОбнаружьте падающее ребро в данных начиная с последнего временного шага
risingОбнаружьте возрастающее ребро в данных начиная с последнего временного шага

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

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

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

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

Создайте, конкатенация, и преобразуйте данные о строке

ascii2strПреобразуйте массив типа uint8 представлять в виде строки
blanksСоздайте символьный массив пробелов
doubleПреобразуйте строку в значение двойной точности
isletterОпределите, какие символы являются буквами
isspaceОпределите, какие символы являются пробелами
str2asciiПреобразуйте строку в массив типа uint8
str2doubleПреобразуйте строку в значение с двойной точностью
strcatКонкатенация строк
strcmpСравните строки
stringСоздайте строку
tostringПреобразуйте числовое значение, чтобы представить в виде строки

Определите типы и данные о строке свойств

isletterОпределите, какие символы являются буквами
isspaceОпределите, какие символы являются пробелами
isstringОпределяет, является ли вход строка
strlenОпределите длину строки
strlengthДлина строки

Найдите и замените данные о строке

containsОпределите, находится ли шаблон в строке
endsWithОпределите, заканчиваются ли строки шаблоном
matchesОпределите, совпадает ли шаблон со строкой
replaceНайдите и замените один или несколько подстрока
replaceBetweenЗамените подстроки между начальными и конечными точками
startsWithОпределите, начинаются ли строки с шаблона
strfindСтроки поиска в других строках
strrepНайдите и замените подстроки

Отредактируйте данные о строке

eraseУдалите подстроки в строках
eraseBetweenУдалите подстроку между начальными и конечными точками
extractAfterИзвлеките подстроку после заданных положений
extractBeforeИзвлеките подстроку перед заданными положениями
insertAfterВставьте строку после заданной подстроки
insertBeforeВставьте строку перед заданной подстрокой
lowerПреобразуйте строку в нижний регистр
plusДобавьте строки
reverseОбратный порядок символов в строках
strcpyПрисвойте значение строки
stripУдалите начальные и конечные символы из строки
strtrimУдалите начальный и конечный пробел из строки
substrИзвлеките подстроку из строки
upperПреобразуйте строку в верхний регистр

Сравните данные о строке

matchesОпределите, совпадает ли шаблон со строкой
strcmpСравните строки
strcmpiСравните (нечувствительные к регистру) строки
strncmpСравните первый n символы (чувствительных к регистру) строк
strncmpiСравните первый n символы (нечувствительных к регистру) строк

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

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

Темы

Инструкции для именования объектов Stateflow

Зарезервированные слова, ограничения длины имени и ограничения именования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modeling an Automatic Transmission Controller

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

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