Создайте пользовательские системы массового обслуживания Используя диаграммы Stateflow Дискретного События

Блок Discrete-Event Chart похож на график Stateflow®, но используется для дискретных событий. Можно использовать блок, чтобы получить, обработать, и отправить сущности SimEvents®. Блок Discrete-Event Chart обеспечивает графические изменения состояния и язык действия MATLAB®, чтобы создать пользовательские модели SimEvents.

Различающая характеристика блока Discrete-Event Chart - то, что он выполняется основанным на событии, а не основанным на времени способом. Чтобы смоделировать пользовательские дискретные системы событий, используйте эти поведения блока Discrete-Event Chart:

Примечание

С программным обеспечением SimEvents можно просмотреть, отредактировать и симулировать пользовательский блок Discrete Event Chart в модели SimEvents в качестве примера. Однако, чтобы сохранить модель у вас должна быть лицензия Stateflow.

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

Сущности, которые вы используете с дискретными схемами событий, могут быть объектами шины или анонимными сущностями.

Свойства Дискретной Схемы событий

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

Задавать свойства для сингл чарта:

  1. Дважды кликните график.

  2. Щелкните правой кнопкой по открытой области графика и выберите Properties.

    Все графики обеспечивают общий и свойства документации.

  3. Заметьте, что график позволяет настройку только этих свойств на вкладке General. Это также поддерживает вкладки Documentation и Fixed-point properties.

    Для получения дополнительной информации о свойствах диаграммы, смотрите Specify Properties для диаграмм Stateflow (Stateflow).

Примечание

SimEvents поддерживает только язык действия MATLAB и всегда поддерживает массивы переменного размера.

Задайте локальные сообщения

Подобно диаграмме Stateflow можно задать локальные сообщения для дискретной схемы событий с помощью редактора Stateflow или Model Explorer.

Добавить локальное сообщение для дискретной схемы событий:

  1. Выберите Symbols Pane и Create Message.

  2. Выберите Local Message и переименуйте его в EntityOut.

  3. Чтобы задать локальные свойства очереди сообщений, такие как способность, сортируя политику и поведение переполнения щелкают правой кнопкой по EntityLocal и выбирают Inspect открыть Property Inspector.

Задайте свойства сообщения

Дискретные схемы событий имеют дополнительные свойства для выходных сигналов и локальных сообщений.

Передайте свойства Input portОписание
PriorityЕсли два события сообщения имеют место одновременно, чтобы решить, чтобы обработать сначала, дискретная схема событий использует этот приоритет. Меньшее числовое значение указывает на более высокий приоритет.

Инициирование события

Событие в Stateflow является объектом тот триггер действия. Для получения дополнительной информации смотрите, Синхронизируют Компоненты модели Широковещательными Событиями (Stateflow).

SimEvents поддержка Discrete-Event Chart подмножество этих событий:

  • Сообщение

  • Временный

  • Локальный

  • Неявные События, enterвыходon, change

SimEvents Discrete-Event Chart делает, ни поддерживает эти события:

  • Условия без события

  • during, tick

  • Ввод событий от Simulink

  • Event выход к Simulink

Примечание

Календарь событий SimEvents отображает и приоритизирует сообщение и временные события. События этих типов выполняются согласно расписанию календаря событий.

Календарь событий не отображает или приоритизирует локальные и неявные события. В среде SimEvents эти события выполняются как зависимые события сообщения или временные события. Для параллельных состояний локальные и неявные события выполняются в порядке выполнения состояния.

Передайте инициирование

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

  • Если дискретная схема событий в состоянии ожидания сообщения, дискретная схема событий просыпается и делает возможные переходы. График сразу просыпается в порядке приоритета сообщения, обрабатывая сообщение с самым высоким приоритетом сначала. Для примера смотрите Триггер Блок Дискретной Схемы событий по Прибытию сообщения.

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

Временное инициирование

В дискретной схеме событий можно использовать и основанные на событии и абсолютные основанные на времени временные логические операторы. При использовании абсолютных основанных на времени временных логических операторов программное обеспечение SimEvents использует значение задержки требуемого времени точно. Для примера см. Дискретную Схему событий Точная Синхронизация.

Например, активация временного логического 'after(3,sec)' заставляет график просыпаться после того, как три секунды симуляции покажут время.

При использовании абсолютно-разовых временных логических операторов наблюдайте эти различия от среды Stateflow.

ОператорОписание

after

Можно использовать в качестве обозначения события и в состояниях активности и в переходах.

before

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

В условном обозначении Discrete-Event Chart поддерживает оба after и before.

Смотрите также

Похожие темы