Этот пример описывает, как создать новую модель SimEvents® представление дискретной системы событий. Для получения дополнительной информации о дискретных системах событий, смотрите Дискретно-событийную симуляцию в Моделях Simulink. Пример показывает простую систему массового обслуживания, в которой грузовики прибывают в автозаправочную станцию, чтобы заполнить их корпуса. Корпус грузовика представлен сущностью, которая прибывает в фиксируемую детерминированную ставку, ожидает в очереди и переходит к серверу, который заполняет баки и также действует на фиксируемой детерминированной ставке. Этот тип системы известен как D/D/1 систему массового обслуживания в постановке в очередь обозначения. Обозначение указывает на детерминированную частоту поступления, детерминированную скорость обслуживания и один сервер.
Пример показывает, как выполнить основные задачи построения моделей в SimEvents — добавляющие блоки к моделям и конфигурирующие блоки.
Чтобы открыть модель непосредственно, не выполняя шаги, смотрите Простую Систему массового обслуживания.
Откройте новое окно модели.
На вкладке Home выберите New> Simulink Model и выберите Blank Model. Сохраните модель в своей рабочей папке как dd1
.
Откройте библиотеку SimEvents.
В Командном окне MATLAB® войти
simevents
Основное окно библиотеки SimEvents появляется с блоками, которые оно содержит.
Добавьте блоки в модель.
От библиотеки SimEvents перетащите эти блоки к модели.
Генератор сущности — Генерирует сущности, чтобы смоделировать прибытие корпусов.
Очередь сущности — сущности Хранилищ в очереди, чтобы смоделировать постановку в очередь корпусов, ожидающих, чтобы быть заполненным.
Сервер сущности — сущности Подач, чтобы смоделировать процесс заполнения корпуса.
Терминатор сущности — Отключает сущности, чтобы смоделировать отклонение корпусов от станции.
В окне модели дважды кликните и введите имя блока Scope. Нажмите Enter, чтобы добавить его.
Добавленные блоки представляют ключевые процессы в симуляции: генерация сущностей, хранение сущностей в очереди, обслуживание сущностей и создание графика, который показывает соответствующие данные.
Каждый блок в модели, в этом случае, dd1
, имеет диалоговое окно, которое позволяет вам задать параметры блоков. Значения параметров по умолчанию могут или не могут соответствовать вашему случаю, в зависимости от ваших потребностей моделирования.
Два важных параметра в D/D/1 системе массового обслуживания являются частотой поступления и скоростью обслуживания. Обратные величины этих уровней являются длительностью между последовательными сущностями и длительностью сервиса для каждой сущности. Исследовать эту длительность:
Дважды кликните блок Entity Generator. Заметьте, что параметр Period устанавливается на 1
. Это означает, что блок генерирует новую сущность каждую секунду. Корпус прибывает в станцию каждую секунду.
Дважды кликните блок Entity Server. Заметьте, что параметр Service time устанавливается на 1.0
. Это означает, что сервер тратит одну вторую обработку каждой сущности, которая прибывает в блок. Каждый корпус заполнен на одно второе время.
Period и параметры Service time имеют то же значение, что означает, что сервер завершает обслуживание сущности в то же самое время, когда создается новая сущность.
Нажмите Cancel в обоих диалоговых окнах, чтобы закрыть их, не изменяя параметров.
Дважды кликните блок Entity Server. Кликните по вкладке Statistics, чтобы просмотреть параметры, связанные со статистическим созданием отчетов блока. Выберите Number of entities departed, d. Нажмите OK.
Блок Entity Server получает выходной порт сигнала, маркировал d. Во время симуляции блок производит выходной сигнал в этом порте d. Значение сигнала является рабочим количеством сущностей, которые завершили их сервис и вылетели от сервера.
Соедините блок Scope с Number of entities departed, d и отобразите статистику (рабочее количество сущностей).
Дважды кликните блок Entity Queue. Установите параметр Capacity на Inf
, чтобы создать очередь с бесконечной способностью и нажать OK.
Соедините блоки как показано и сохраните модель dd1
, которую вы создали. Длины пути сущности не влияют на симуляцию.
SimEvents соединяет исходный блок с целевым блоком. При необходимости программное обеспечение также направляет соединительную линию вокруг прошедших блоков или строк.
Моделируйте модель.
Откройте пример, чтобы исследовать простую систему массового обслуживания, которая генерирует, очереди, службы, и отключает сущности.
Когда симуляция запускается, блок Simulink® Scope открывает окно, содержащее график. Горизонтальная ось представляет времена, в которые сущности вылетают от сервера, в то время как вертикальная ось представляет общее количество сущностей, которые вылетели от сервера.
После того, как сущность вылетает от блока Entity Server, блок обновляет свой выходной сигнал в порте d.
Генератор сущности | Очередь сущности | Сервер сущности | Терминатор сущности