Блок 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.
Чтобы задать свойства для одного графика:
Дважды кликните график.
Щелкните правой кнопкой мыши открытую область графика и выберите Свойства.
Все графики обеспечивают общие свойства и свойства документации.
Обратите внимание, что график позволяет настраивать только эти свойства на вкладке General. Он также поддерживает вкладки Fixed-point properties и Documentation.
Дополнительные сведения о свойствах графика см. в разделе «Задание свойств для диаграмм 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
, exit
, on
, change
SimEvents Discrete-Event Chart не поддерживает и не поддерживает эти события:
Условия без события
during
, tick
Входной параметр события из Simulink
Выход события в Simulink
Примечание
Календарь событий SimEvents отображает и определяет приоритеты сообщений и временных событий. События этих типов выполняются в соответствии с календарным расписанием событий.
Календарь событий не отображает и не определяет приоритеты локальных и неявных событий. В среде SimEvents эти события выполняются как зависимые события сообщений или временных событий. Для параллельных состояний локальные и неявные события выполняются в порядке выполнения состояния.
Когда сообщение или сущность приходит в вход сообщений или локальную очередь, график дискретного события реагирует на сообщение следующим образом:
Если график дискретного события находится в состоянии ожидания сообщения, график дискретного события просыпается и делает возможные переходы. График немедленно просыпается в порядке приоритета сообщения, обрабатывая сначала сообщение с наивысшим приоритетом. Для получения примера смотрите Триггер Графика Дискретного События по Прибытию Сообщения.
Если график дискретного события не нужно отвечать на поступающее сообщение, график дискретного события не просыпается, и сообщение ставится в очередь.
В дискретном графике событий можно использовать как основанные на событиях, так и абсолютные основанные на времени временные логические операторы. При использовании абсолютных основанных на времени временных логических операторов, программное обеспечение SimEvents использует заданное значение задержки точно. Для получения примера смотрите Дискретное-событие Графика Точное время.
Например, активация временной логики 'after(3,sec)'
заставляет график проснуться через три секунды времени симуляции.
При использовании временных логических операторов в абсолютном времени наблюдайте эти различия от окружения Stateflow.
Оператор | Описание |
---|---|
| Вы можете использовать в качестве обозначения события как в состояниях активности, так и в переходах. |
| Когда вы используете в качестве обозначения события переход, вы не можете использовать дополнительные обозначения условия на этом переходе. Можно применить соединительное соединение для проверки дополнительных условий, пока соединительное соединение имеет один безусловный переход. |
В условном обозначении Discrete-Event Chart поддерживает обе after
и before
.