Переключайте входные сущности
SimEvents
Типичный сценарий, в котором можно использовать вход switch, - это когда несколько источников сущностей передают в одну очередь, где секвенирование выполняется в соответствии с определенными правилами. Например, пользователи терминалов в совместно используемом компьютере отправляют задания в очередь, которая поступает в центральный модуль, где алгоритм регулирует доступ к очереди так, чтобы предотвратить несправедливое доминирование любого одного пользователя.
Примечание
Если вы хотите объединить пути к сообщениям или сущностям и сгенерировать код для интерфейса компонента, используйте Simulink®
Message Merge блок. Message Merge блок аналогичен блоку Entity Output Switch с Active port selection набора параметров для All
.
Для получения примера смотрите Сгенерировать объекты, когда События происходят.
Можно объединить несколько путей в один путь с помощью блока Entity Input Switch с Active port selection набора параметров для All
. Объединение путей сущностей не изменяет самих сущностей, так же как объединение полос на дороге не меняет транспортные средства, которые перемещаются по нему. В частности, блок Entity Input Switch не создает агрегаты или пакеты.
Вот некоторые сценарии, в которых можно объединить пути сущностей:
Присоединение различных данных - Несколько блоков генератора сущностей создают сущности, имеющие другие значения для конкретного атрибута. Сущности затем следуют по объединенному пути, но могут быть обработаны по-разному позже на основе их отдельных значений атрибутов.
Слияние очередей - Несколько очередей объединяются в одну очередь.
Соединение пути обратной связи - путь обратной связи входит в ту же очередь, что и обычный путь.
Блок Entity Input Switch не испытывает никаких конфликтов, даже если несколько сущностей пытаются прибыть одновременно. Категории поведения следующие:
Если выходной порт сущности не блокируется, когда сущности пытаются прибыть, то последовательность прибытий зависит от последовательности событий отправления из блоков, которые предшествуют блоку Entity Input Switch.
Даже если время отправления совпадает для нескольких сущностей, последовательность может повлиять на поведение системы. Для примера, если сущности переходят в очередь, последовательность отправлений определяет их положения в очереди.
Если ожидающие сущности ожидают перехода к блоку Entity Input Switch, когда его сущность выходной порт изменяется с заблокированного на разблокированный, то сущность входа порты уведомляются об изменении последовательно. Изменение с заблокированного на разблокированное означает, что сущность может перейти к блоку Entity Input Switch.
Если по меньшей мере две сущности ожидают продвижения к блоку Entity Input Switch через отдельные входные порты сущности, то последовательность уведомлений важна, потому что первый порт, который будет уведомлен об изменении, является первым, чтобы продвигать сущность к блоку Entity Input Switch.
Блок Entity Input Switch позволяет приходить сущностям в свои порты. Входной порт выбранной сущности может измениться во время симуляции.
Можно также выбрать критерий переключения между входными портами.
Выберите Round robin
для выбора портов в круглом режиме.
Выберите From control port
чтобы порт управления мог определить выбранный порт.
Выберите Equiprobable
чтобы позволить блоку случайным образом выбрать любой порт с равной вероятностью.
Composite Entity Creator | Composite Entity Splitter | Entity Gate | Entity Multicast | Entity Output Switch | Entity Queue | Entity Replicator | Entity Terminator | Multicast Receive Queue