Объекты в модели SimEvents ® можно найти с помощью блока «Поиск объектов». Блок выполняет поиск и находит объекты, которые используют определенный ресурс из блока пула ресурсов и получают его через блок набора ресурсов.
Для этих приложений можно использовать блок «Поиск объектов».
Моделирование цепочки поставок для мониторинга скоропортящихся товаров и обновления инвентарных записей. Например, можно изменить цену товара, когда она ближе к дате его истечения.
Моделирование таймеров и выполнение действий над продуктами на основе таймеров.
Типовая выборка продуктов из цепочки поставок. После ремонта можно перенаправить отозванные продукты обратно в логистическую цепочку.
Блок Поиск объектов (Entity Find) помогает находить и исследовать объекты в их расположении. В этом примере блок находит объекты, помеченные тегами Resource1 ресурс из блока пула ресурсов. Затем дополнительное условие фильтрации помогает дополнительно фильтровать найденные объекты.

Добавьте блок генератора сущностей, блок пула ресурсов, блок сбора ресурсов, блок сервера сущностей и блок терминатора сущностей.
Верхняя модель представляет поток сущностей, который приобретает Resource1 ресурс.
В блоке Терминатор объекта (Entity Terminator) выведите Число полученных объектов (Number of entities incompended), статистику и соединитесь с областью.
Добавление блока поиска объектов. Выведите число найденных сущностей, f statistic и соедините его с областью.
По умолчанию блок находит объекты с Resource1 тег.
Добавьте другой блок генератора объектов и присвойте ему метку «Генератор объектов триггера». Подключите его к входному порту блока поиска объектов. В блоке измените имя типа объекта на Trigger и Приоритет организации 100.
Каждый раз, когда генератор триггерных объектов генерирует триггерный объект, для поиска объектов запускается блок Поиск объектов.
Примечание
Объекты в модели имеют приоритет 300 и приоритет объекта триггера устанавливается в значение 100 чтобы сделать объекты триггера более приоритетными в календаре событий. Это предотвращает завершение объектов до их обнаружения блоком «Поиск объектов».
Моделирование модели и наблюдение за тем, что количество завершенных объектов равно 10, что равно количеству найденных объектов блоком «Поиск объектов». Каждая сгенерированная сущность приобретает Resource1 тег и нет блокировки объектов в модели.

Блок поиска объектов находит объекты с помощью Resource1 ресурс для каждого сгенерированного объекта триггера.

В диалоговом окне «Параметры блока генератора объектов» в поле «Создать действие» добавьте этот код.
entity.Attribute1 = randi([1,2]);
Объекты генерируются случайным образом Attribute1 стоимость 1 или 2.
В диалоговом окне «Параметры блока поиска объектов» установите флажок «Дополнительное условие фильтрации». Добавьте этот код для замены существующего кода и установки условия фильтрации.
match = isequal(trigger.Attribute1, entity.Attribute1);
Блок находит объекты, которые получают Resource1 тег, когда match является true. То есть, Attribute1 значение объекта равно объекту триггера Attribute1 значение.
В генераторе триггерных объектов обратите внимание, что Attribute1 значение равно 1.
Моделировать модель, наблюдать, что количество найденных объектов уменьшилось до 3 потому что сущности с Attribute1 стоимость 2 отфильтровываются дополнительным условием соответствия.
Объект триггера Attribute1 значение равно 1. Блок находит объекты, которые получают Resource1 тег и иметь Attribute1 стоимость 1.

Можно использовать блок «Поиск объектов», чтобы найти объекты и извлечь их из их расположения для перенаправления. В этом примере: 3 объекты, найденные в предыдущем примере, извлекаются из системы, подлежащей завершению.
Чтобы открыть модель, см. раздел Extract Found Entities Example.

В диалоговом окне «Параметры блока поиска объектов» установите флажок «Извлечь найденные объекты».
Обратите внимание, что в блоке «Поиск объектов» для извлеченных объектов появляется новый выходной порт.
Подключите вывод блока «Поиск объекта» к новому блоку «Terminator1 объекта».
Выведите число извлеченных сущностей, ex statistic из блока сервера сущностей и подключите его к области.
Визуализация количества извлеченных объектов с сервера.
Выведите число полученных объектов, статистику из блока Entity Terminator1 и подключите его к области.
Статистика используется для наблюдения за количеством найденных и извлеченных объектов из системы.
Моделирование модели. Обратите внимание, что число извлеченных сущностей, например, равно 3.

Обратите внимание, что 3 найденные сущности извлекаются из блока Entity Server и заканчиваются в блоке Entity Terminator1.

В результате, 7 объекты поступают в блок Терминатор объекта (Entity Terminator) в модели.
Можно изменить атрибуты найденных объектов в их расположении или при извлечении.
Изменение атрибутов найденных объектов в их местоположении путем ввода кода MATLAB ® в OnFound action в поле действия события OnFound. Дополнительные сведения о событиях и действиях с событиями см. в разделе События и действия с событиями.
Изменение атрибутов найденных и извлеченных объектов при их входе, выходе или блокировании блоком «Поиск объектов». Введите код MATLAB в поле Entry action, Exit action, и Blocked action, поле вкладки Действия события.
Можно запустить блок Поиск сущности (Entity Find) с помощью действий события. В этом примере блок «Поиск сущности» запускается при входе сущности в блок «Сервер сущности». Измените предыдущий пример, удалив генератор триггерных объектов и добавив в модель блоки «Переключатель вывода объектов», «Server1 объектов», «Terminator2 объектов» и «Область» и соединив их, как показано на рисунке.
Чтобы открыть модель, см. раздел Trigger Entity Find Example.

В блоке «Переключатель вывода объектов» установите критерий переключения в значение Equiprobable.
Объекты проходят через блоки Entity Server и Entity Server1 с равной вероятностью.
Замените блок генератора триггерных сущностей блоком функции Simulink для запуска блока поиска сущностей. В блоке Simulink Function дважды щелкните по сигнатуре функции и введите Trigger(u).
В блоке Simulink Function добавьте блок Message Send и подключите его к блоку Out1.

Trigger(u) вызов функции генерирует сообщение для запуска блока «Поиск объекта» каждый раз при входе объекта в блок «Server1 объекта».
В блоке Entity Server в поле Entry action введите этот код.
Trigger(double(1));
Каждая запись объекта вызывает Trigger(u) в блоке Simulink Function, который запускает блок Entity Find.
В блоке Поиск объекта (Entity Find) установите флажок Дополнительное условие фильтрации (Additional filtering condition). Введите этот код.
match = isequal(2, entity.Attribute1);
Найденные сущности имеют Attribute1 стоимость 2.
Моделирование модели. Обратите внимание на область, в которой отображаются извлеченные и завершенные объекты, когда блок «Поиск объектов» запускается записью объекта в блоке «Сервер объектов».

Блок Поиск объектов (Entity Find) можно использовать для мониторинга нескольких блоков в модели для проверки или извлечения объектов и изменения атрибутов объектов.
В этом примере представлен сервер электронной почты с брандмауэром для отслеживания, отслеживания и удаления вредоносных сообщений электронной почты до того, как они достигнут пользователя. В модели сообщения электронной почты поступают из Интернета через блок генератора сущностей. В компоненте Брандмауэр сообщения электронной почты классифицируются как опасные для мгновенного удаления, подозрительные для мониторинга или безопасные в зависимости от источника. Вредные сообщения электронной почты помечены тегом DiscardTag ресурс из блока пула ресурсов и мгновенно отбрасывается из системы. Подозрительные сообщения электронной почты помечены тегами MonitorTag и отслеживается по всей системе на предмет подозрительной деятельности. При обнаружении подозрительных действий сообщение электронной почты отбрасывается до того, как оно достигнет пользователя. Безопасные сообщения электронной почты не отслеживаются и не отбрасываются.
Чтобы открыть модель, см. раздел Email Monitoring Example.

Добавьте блок генератора объектов. В блоке задайте для имени типа объекта значение Email и присоединить два атрибута как Source и Suspicious с начальным значением 0.
Добавление блока сервера сущностей. В блоке перейдите на вкладку Действия с событиями и в поле Действие с вводом введите этот код.
entity.Source = randi([1,3]);
Source значение атрибута генерируется случайным образом и равно 1 для подозрительного, 2 для безопасного, и 3 для опасного источника электронной почты.
Добавьте блок коммутатора вывода объектов. В блоке установите для параметра Number of output ports значение 3, критерий переключения на From attributeи имя атрибута Switch в Source.
Добавление двух блоков пула ресурсов и установка для них параметров имени ресурса значения MonitorTag и DiscardTag.
Добавьте блок «Получение ресурсов» с меткой «Сообщения электронной почты тегов для мониторинга». В блоке выберите MonitorTag как выбранные ресурсы.
Добавьте еще один блок получателя ресурсов, помеченный меткой «» Сообщения электронной почты для мгновенного сброса «». В блоке выберите DiscardTag как выбранные ресурсы
Добавьте блок переключателя ввода объектов. В блоке установите для параметра Number of input ports значение 3.
Добавление блока хранилища объектов. В блоке перейдите на вкладку Действия с событиями и в поле Действие с вводом введите этот код.
InstantDiscard(1); entity.Suspicious = randi([1,2]);
Добавление блока очереди объектов. В блоке перейдите на вкладку Действия с событиями и в поле Действие с вводом введите этот код.
entity.Suspicious = randi([1,2]);
Suspicious атрибут сообщения электронной почты изменяется в записи. Если Suspicious значение атрибута - 2, сообщение электронной почты извлекается и прекращается. Это представляет собой случайно наблюдаемую подозрительную активность в системе.
Добавьте другой блок сервера сущностей. В блоке установите для параметра Service time значение 3выберите вкладку Действия события, в поле Действие ввода введите этот код.
entity.Suspicious = randi([1,2]);
Добавьте блок терминатора сущности с именем «Сообщения электронной почты, считанные пользователем» и подключите все блоки, как показано в модели.
Добавьте функциональный блок Simulink.
Дважды щелкните по сигнатуре функции в блоке Simulink Function и введите InstantDiscard(u).
Дважды щелкните блок Simulink Function. Добавьте блок отправки сообщений и блок Out1.

В родительской модели добавьте блок «Поиск объекта». В блоке установите для параметра Ресурс значение DiscardTag и установите флажок Извлечь найденные сущности (Extract found entities).
Любая запись электронной почты вызывает InstantDiscard() и запускает блок «Поиск сущности» для поиска и удаления вредоносных сообщений электронной почты.
Добавьте еще один блок терминатора сущности с меткой Мгновенно отброшенные сообщения электронной почты.
Добавьте другой блок поиска объектов. В блоке установите для параметра Resource значение MonitorTag и установите флажки Извлечь найденные объекты (Extract found entities) и Дополнительное условие фильтрации (Additional filtering В поле Условие сопоставления введите этот код.
match = isequal(trigger.Attribute1, entity.Suspicious);
Добавьте другой блок генератора объектов с именем «Generator1 объектов». В блоке установите для параметра Period значение 5, приоритет Организации 100, имя типа объекта для Triggerи начальное значение атрибута для 2.
Добавьте еще один блок терминатора сущности с меткой Отслеживаемые и отброшенные сообщения электронной почты. Соедините все блоки, как показано в модели.
Выведите информацию о количестве полученных объектов, статистику из всех блоков терминатора объектов и соедините их с блоками области для визуализации.
Увеличение времени моделирования до 50 и смоделировать модель. Наблюдайте за сообщениями электронной почты, которые немедленно отбрасываются или отбрасываются после мониторинга.


Просмотрите сообщения электронной почты, которые поступают пользователю после фильтрации.

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

Приобретатель ресурсов | Пул ресурсов | Средство освобождения ресурсов