Блок 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.
Задавать свойства для сингл чарта:
Дважды кликните график.
Щелкните правой кнопкой по открытой области графика и выберите Properties.
Все графики обеспечивают общий и свойства документации.
Заметьте, что график позволяет настройку только этих свойств на вкладке General. Это также поддерживает вкладки Documentation и Fixed-point properties.
Для получения дополнительной информации о свойствах диаграммы, смотрите Specify Properties для диаграмм Stateflow (Stateflow).
Примечание
SimEvents поддерживает только язык действия MATLAB и всегда поддерживает массивы переменного размера.
Подобно диаграмме Stateflow можно задать локальные сообщения для дискретной схемы событий с помощью редактора Stateflow или Model Explorer.
Добавить локальное сообщение для дискретной схемы событий:
Выберите Symbols Pane и Create Message.
Выберите Local Message
и переименуйте его в EntityOut.
Чтобы задать локальные свойства очереди сообщений, такие как способность, сортируя политику и поведение переполнения щелкают правой кнопкой по 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.
Оператор | Описание |
---|---|
| Можно использовать в качестве обозначения события и в состояниях активности и в переходах. |
| Когда вы используете в качестве обозначения события перехода, вы не можете использовать обозначения дополнительного условия на этом переходе. Можно применить соединительное соединение, чтобы проверять дополнительные условия, пока соединительное соединение имеет один безусловный переход. |
В условном обозначении Discrete-Event Chart поддерживает оба after
и before
.