Включите ворота для временного интервала

Поведение Entity Gate блока в включенном режиме

Блок Entity Gate использует сигнал управления в порту входа в верхней части блока, чтобы определить, когда ворота открыты или закрыты:

  • Когда сущность с положительной полезной нагрузкой приходит к порту включения в верхней части блока, затвор открыт, и сущность может прибыть, пока он сможет немедленно перейти к следующему блоку.

  • Когда сущность с нулевой или отрицательной полезной нагрузкой приходит к порту включения в верхней части блока, затвор закрывается, и никакая сущность не может прибыть.

Поскольку входящий сигнал может оставаться положительным в течение временного интервала произвольной длины, активированный логический элемент может оставаться открытым в течение временного интервала произвольной длины. Длина может быть нулем или положительным числом.

В зависимости от Вашего заявления gating логика может явиться результатом управляемой временем динамики, управляемой состоянием динамикой, SimEvents® статистический выход сигнал блока или расчета, включающий различные типы сигналов. Чтобы увидеть готовые к использованию общие паттеры проекта, включая блок Entity gate, смотрите SimEvents Common Design Patterns.

Почувствуйте передачу сущности от A до B и откройте ворота

В этом примере показано, как использовать Sense an Entity Passing from A to B and Open a Gate проект. В этом примере блок Step генерирует сигнал шага во время 4. Этот сигнал проходит через блок Message Send A. Блок Entity Replicator дублирует сущность и передает ее в B. Он использует исходную сущность, чтобы запустить основанную на событиях сущность, чтобы включить Entity Gate блок.

  1. В новой модели перетащите блоки, показанные в примере, и повторно маркируйте и соедините их как показано. Для удобства начните с Sense an Entity Passing from A to B and Open a Gate проект.

  2. В блоке Step установите параметр Step time равным 4.

  3. В блоке A (Message Send) установите флажок Show enable port. Установка этого флажка позволяет сигналу Step блока разрешить блоку A отправлять сообщение в блок Entity Replicator.

  4. В блоке Entity Generator, на вкладке Тип Сущность:

    1. Назовите тип сущности Entity.

    2. Добавьте атрибут с именем Capacity с начальным значением 0.

  5. В блоке Entity Queue, на вкладке Statistics, выберите Number of entities in block, n.

  6. Сохраните и запустите модель. Наблюдайте количество сущностей, проходящих через ворота, и количество сущностей в очереди в момент 4.

Управление доступностью двух серверов

Предположим, что каждая сущность проходит два процесса, по одному за раз, и что первый процесс не запускается, если второй процесс все еще прогресс для предыдущей сущности. Предположим для этого примера, что предпочтительно смоделировать два процесса, используя два блока Single Server последовательно, а не один блок Single Server, чье время обслуживания является суммой двух индивидуальных времен вычислений; например, вы можете найти решение с двумя блоками более интуитивно понятным, или вы можете захотеть получить доступ к выходным сигналам использования двух блоков Single Server независимо в другой части модели.

Если вы соединяете очередь, сервер и другой сервер последовательно, то первый сервер может начать обслуживать новую сущность, в то время как второй сервер все еще обслуживает предыдущую сущность. Это не достигает заявленной цели. Модели нужен шлюз, чтобы помешать первому серверу принять сущность слишком рано, то есть, в то время как второй сервер все еще содержит предыдущую сущность.

См. также

| | | |

Похожие примеры

Подробнее о