Руководства по моделированию для диаграмм Stateflow

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

Используйте сигналы того совпадающего типа данных для входных событий

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

Используйте переход по умолчанию, чтобы отметить первое состояние, которое станет активным среди исключительных (OR) состояний

Это руководство предотвращает ошибки несогласованности состояний во время выполнения графика.

Используйте действия условия вместо действий перехода, когда это возможно

Действия условия выполняются, как только условие вычисляется как true. Переходные действия выполняются только после завершения переходного пути в оконечное соединение или состояние.

Если задержка выполнения не требуется, используйте действия условия вместо действий перехода.

Используйте явное упорядоченное расположение для управления порядком проверки группы исходящих переходов

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

Проверьте предполагаемое поведение обратного отслеживания в графики потока

Если ваш график содержит непреднамеренное поведение обратного отслеживания, появляется предупреждение с инструкциями о том, как избежать этой проблемы. Для получения дополнительной информации смотрите Лучшие практики для создания Графиков потока.

Используйте сверхсостояние, чтобы окружить подсостояния, которые имеют одинаковые состояния активности

Когда у вас есть несколько исключительных (ИЛИ) состояний, которые выполняют одни и те же состояния активности, сгруппируйте эти состояния в сверхсостояние и задайте состояния активности на этом уровне.

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

Примечание

Вы не можете использовать поля для этой цели, так как поля не поддерживают состояний активности.

Используйте функции MATLAB для выполнения численных расчетов на графике

MATLAB® функции лучше при обработке численных расчетов, чем графические функции, таблицы истинности или Simulink® функций.

Используйте описательные имена в сигнатурах функции

Описательные имена функции улучшают читаемость объектов графика.

Используйте исторические соединения для записи истории состояний

Если возврат в состояние с исключительным (OR) разложением зависит от ранее активного подсостояния, используйте историческое соединение. Этот тип соединения регистрирует активное подсостояние, когда график выходит из состояния. Если вы не записываете ранее активное подсостояние, происходит переход по умолчанию, и неправильное подсостояние может стать активным при повторном вводе состояния.

Не используйте исторические соединения в состояниях с параллельным (И) разложением

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

Используйте явное упорядоченное расположение для управления порядком выполнения параллельных (И) состояний

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