В этом примере показано, как транслировать сущности с помощью блоков Entity Multicast и Multicast Receive Queue. Используйте многоадресную рассылку сущностей, когда вы хотите копировать и транслировать сущности одному приемнику или нескольким приемникам в вашей модели. Одним из распространенных приложений является создание сетей связи, в которых сообщения копируются и передаются между узлами сети. Для получения дополнительной информации смотрите Модель сети связи Ethernet с протоколом CSMA/CD.
В этой модели блок Генератора сущностей генерирует сущности. Затем сущности ставятся в очередь в блоке Entity Queue с политикой сортировки FIFO. Сущности передаются по беспроводной связи к приемнику и далее обрабатываются блоком Entity Server.
Для широковещательной передачи сущностей:
Блок Entity Multicast соединяется с выходом блока Entity Queue. Широковещательные сущности помечены таким образом, что только многоадресные очереди приема с соответствующим тегом A
может их получить.
Блок очереди получения сущностей сконфигурирован для приема сущностей с тегами A
.
Симулируйте модель. Откройте Data Inspector, в котором отображаются полученные и обработанные сущности, которые выходят из блока Process Entity 1.
Можно дополнительно изменить модель таким образом, чтобы режим многоадресной передачи позволял нескольким очередям получать один и тот же набор сущностей от блока Entity Multicast. Вы можете добиться этого путем создания нескольких блоков Multicast Receive Queue, чей параметр тега Multicast установлен на A
.
Чтобы открыть модель, используйте этот код:
open_system('ParallelEntityQueueServerPairMulticastModel');
В этом случае Broadcast Entities блокирует копии сущности и отправляет их приемникам. Симулируйте модель, чтобы наблюдать за ее поведением. Откройте Data Inspector, в котором отображается тот же набор сущностей, обработанных блоками Обработанные сущности 1 и Обработанные сущности 2.