Этот пример показывает гибридную систему с непрерывным временем и дискретными разделами событий. Дискретная деталь события моделирует баки, представленные сущностями, которые находятся в очереди и должны быть заполнены. Каждый бак имеет атрибут «Емкость». Непрерывная временная часть моделирует процесс заполнения бака, смоделированный Интегратором. Когда бак заполнен до емкости, это событие может быть обнаружено блоком Hit Crossing, который будет генерировать сообщение, соответствующее этому событию. Сгенерированное сообщение заставит сервер отпустить бак.
Модель включает следующие компоненты:
Генератор бака: Периодически генерирует баки с каждым баком, имеющим произвольно присвоенный атрибут Емкости.
Очередь ожидания: Баки очередей, ожидающие заполнения
Заполнение этого бака: Обслуживает баки и вызывает в startFilling Simulink Function
для передачи атрибута емкости бака в основанный на времени раздел модели.
Заполнение бака: Моделирует процесс заполнения каждого бака до емкости
Датчик: Обнаруживает, когда количество, заполненное в баке, достигло емкости и когда это происходит, отправляет сообщение в раздел дискретных событий модели. Датчик служит мостом между основанной на времени секцией и четной секцией.
Процессор: Получает сообщение, сгенерированное с датчика, и решает, какой бак будет выпускаем с Сервера. Затем вызывается функция Simulink с именем release
чтобы сгенерировать сообщение релиза для определенного бака.
Selection Gate: Получает релиз и в ответ открывает ворота, чтобы пропустить конкретный бак.
Сконфигурируйте демонстрацию: Устанавливает количество газовых насосов на заправке и включает/выключает анимацию. Чтобы показать анимацию, используйте номер газового насоса между 1 и 20.
SimEvents автоматически обрабатывает любой обмен данными во временной области и области событий, автоматически вставляя шлюзы там, где это необходимо. Эти положения аннотируются в модели с помощью E
. В этой модели шлюз был вставлен в вход порт блока Сущности Queue, который соединяется с блоком Hit Crossing, поскольку он получает сообщение от временного интервала раздела модели.
Блок Scope, помеченный как «Fill Process» и «Trucks leaving after fill», показывает результаты симуляции.
Если Show Animation
флажок установлен в разделе Configure Demo, появляется окно анимации для визуализации демонстрации. Скриншот анимации с четырьмя газовыми насосами показан ниже:
Entity Generator | Терминатор сущности | Очередь