В этом примере описывается построение новой модели SimEvents ®, представляющей систему дискретных событий. Дополнительные сведения о системах с дискретными событиями см. в разделе Моделирование дискретных событий в моделях Simulink. В примере представлена простая система очередей, в которой грузовики прибывают на заправку, чтобы заполнить свои баки. Танк грузовика представлен объектом, который прибывает с фиксированной детерминированной скоростью, ожидает в очереди и переходит на сервер, который заполняет танки, а также работает с фиксированной детерминированной скоростью. Этот тип системы известен как система очереди D/D/1 в нотации очереди. Обозначение указывает детерминированную скорость поступления, детерминированную скорость обслуживания и один сервер.
В примере показано, как выполнять основные задачи построения модели в SimEvents - добавление блоков в модели и настройка блоков.
Чтобы открыть модель непосредственно без выполнения шагов, см. раздел Простая система очередей.
Открытие нового окна модели.
На вкладке Главная (Home) выберите Создать (New) > Модель симулятора (Simulink Model) и выберите Пустая модель (Blank Model). Сохраните модель в рабочей папке как dd1.
Откройте библиотеку SimEvents.
В окне команд MATLAB ® введите
simevents
Появится главное окно библиотеки SimEvents с содержащимися в нем блоками.
Добавление блоков в модель.
Перетащите эти блоки из библиотеки SimEvents в модель.
Генератор объектов - создает объекты для моделирования поступления резервуаров.
Очередь объектов (Entity Queue) - сохраняет объекты в очереди для моделирования очередей резервуаров, ожидающих заполнения.
Сервер сущностей (Entity Server) - служит для моделирования процесса заполнения резервуара.
Терминатор объекта (Entity Terminator) - завершает объекты для моделирования отхода резервуаров от станции.
В окне модели дважды щелкните и введите имя блока «Область». Нажмите Enter, чтобы добавить его.
Добавленные блоки представляют ключевые процессы моделирования: создание объектов, сохранение объектов в очереди, обслуживание объектов и создание графика, отображающего соответствующие данные.

Каждый блок в модели, в данном случае dd1, имеет диалоговое окно, в котором можно задать параметры блока. Значения параметров по умолчанию могут соответствовать или не соответствовать вашему варианту в зависимости от потребностей моделирования.
Двумя важными параметрами в системе очередей D/D/1 являются скорость поступления и скорость обслуживания. Взаимными значениями этих скоростей являются длительность между последовательными объектами и продолжительность обслуживания для каждого объекта. Для изучения этих длительностей:
Дважды щелкните на блоке «Генератор объектов». Обратите внимание, что для параметра Period установлено значение 1. Это означает, что блок генерирует новый объект каждую секунду. На станцию каждую секунду прибывает танк.
Дважды щелкните блок «Сервер сущностей». Обратите внимание, что для параметра Service time установлено значение 1.0. Это означает, что сервер тратит одну секунду на обработку каждого объекта, который поступает в блок. Каждый резервуар заполняют на одну секунду.
Параметры Period и Service time имеют одно и то же значение, что означает, что сервер завершает обслуживание объекта одновременно с созданием нового объекта.
Нажмите кнопку Отмена в обоих диалоговых окнах, чтобы закрыть их без изменения параметров.
Дважды щелкните блок «Сервер сущностей». Перейдите на вкладку «Статистика» для просмотра параметров, связанных со статистической отчетностью блока. Выберите Количество удаляемых объектов, d. Нажмите кнопку ОК.
Блок сервера сущностей получает выходной порт сигнала с меткой d. Во время моделирования блок выдает выходной сигнал на этот d-порт. Значение сигнала - это текущее количество объектов, завершивших обслуживание и вышедших из сервера.
Подключите блок Scope к числу удаляемых сущностей, d и просмотрите статистику (текущее количество сущностей).
Дважды щелкните блок «Очередь объектов». Задайте для параметра Capacity значение Inf чтобы создать очередь с неограниченной емкостью и нажмите кнопку ОК.
Подключите блоки, как показано на рисунке, и сохраните dd1 созданную модель. Длина пути объекта не влияет на моделирование.
SimEvents соединяет исходный блок с целевым блоком. При необходимости программа также прокладывает соединительную линию вокруг промежуточных блоков или линий.
Моделирование модели.
Откройте пример, чтобы исследовать простую систему очередей, которая генерирует, ставит в очередь, обслуживает и завершает объекты.

При запуске моделирования в блоке Simulink ® Scope открывается окно, содержащее график. Горизонтальная ось представляет время отхода объектов от сервера, в то время как вертикальная ось представляет общее число объектов, отошедших от сервера.

После отхода объекта от блока сервера объектов блок обновляет свой выходной сигнал в порте d.
Генератор объектов | Очередь сущностей | Сервер сущностей | Терминатор объекта