Сущности в модели SimEvents

Сущности являются дискретными элементами интереса к дискретно-событийной симуляции. По определению эти элементы называются entities в программном обеспечении SimEvents®. Сущности могут пройти через сеть очередей, серверов, логических элементов и переключателей во время симуляции. Сущности могут нести данные, известные в программном обеспечении SimEvents как attributes.

Модели SimEvents обычно содержат по крайней мере один исходный блок, который генерирует сущности. Другой SimEvents блокирует в процессе модели сущности, которые генерирует исходный блок.

Примечание

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

Значение сущностей в различных приложениях

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

Контекст примера приложенияСущности
Аэропорт с очередью для доступа к взлетно-посадочной полосеСамолеты, ожидающие доступа к взлетно-посадочной полосе
Коммуникационная сетьПакеты, системы координат или сообщения, чтобы передать
Банк лифтовЛюди, перемещающиеся в лифтах
Ленточный конвейер для сборки частейЧасти, чтобы собраться
Операционная система компьютераВычислительные задачи или задания

Варьируйтесь интерпретация сущностей

Одна модель может использовать сущности, чтобы представлять различные виды элементов. Например, если вы моделируете фабрику, что процессы два различных видов частей, вы можете:

  • Используйте два блока Entity Generator, чтобы создать два вида частей.

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

Примечание

Сущности SimEvents являются существенно тем же самым как сообщениями Stateflow® и Simulink®.

Визуализируйте сущности

Сущности не появляются явным образом в окне модели. Графический блок может представлять компонент, что сущности процессов, но сами сущности не имеют графического представления. Однако можно собрать информацию о сущностях с помощью Осциллографов Simulink. Вы не можете перейти линия связи сущности. Если ваше приложение требует, чтобы сущность прибыла в несколько блоков, используйте блок Entity Replicator, чтобы создать копии сущностей.

Хранение сущностей

Эти блоки способны к содержанию сущности:

  • Entity Generator

  • Entity Queue

  • Multicast Receive Queue

  • Entity Server

  • Entity Terminator

  • Discrete Event Chart

  • MATLAB Discrete Event System

  • Entity Replicator

  • Resource Acquirer

  • Resource Releaser

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

  • Entity Input Switch

  • Entity Output Switch

  • Entity Multicast

  • Entity Gate

  • Composite Entity Creator

  • Composite Entity Splitter

  • Resource Pool

Типы сущности

Тип сущности является идентификационной биркой, сопоставленной с любым блоком, который создает сущности в вашей модели. Для блока Entity Generator вы присваиваете имя к типу сущности на вкладке Entity type блока генерации. От этого блока каждая новая сущность получает этот тег. Например, имя типа сущности, сопоставленного с Entity Generator в вашей силе модели быть Customer. Каждая сущность, которая происходит в том блоке, получает этот тип сущности. Блок Composite Entity Creator также генерирует новые сущности путем объединения двух или больше существующих сущностей, чтобы сформировать новую составную сущность. Можно присвоить новое имя типа сущности типу сущности (названный Combined по умолчанию).

Примечание

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

В то время как сущность прогрессирует через вашу модель, ее тип не изменяется. Даже если сущность получает атрибут, тайм-аут или данные о таймере, которые дают его, более комплексная структура, тип сущности остается то же самое. Несмотря на то, что Composite Entity Creator клеточные виды новые составные сущности с новым типом сущности, базовые типы сущности остаются то же самое.

По умолчанию каждый новый тип сущности, который SimEvents создает в вашей модели, использует имя Entity.

Блок Entity Generator может сгенерировать эти типы сущности:

  • Анонимный — Неструктурированная сущность без имени. Можно задать только приоритет сущности и значение исходных данных для анонимных типов сущности.

  • Структурированный — Структурированный тип сущности, который вы задаете в этом диалоговом окне блока. Можно назвать сущности, задать приоритеты и задать атрибуты для сущности в разделе Define attributes блока Entity Generator. Атрибуты являются данными, которые несут сущности. Создание структурированной сущности в этой вкладке является удобным способом создать сущность, не имея необходимость создавать связанный объект шины в Simulink.

  • Объект шины — тип Сущности, что вы задаете использование объекты шины Simulink. Можно назвать сущности, задать приоритеты и задать атрибуты для сущности. Чтобы задать этот тип сущности, у вас должен быть существующий объект шины, созданный в Simulink и использовании, которые соединяют шиной имя объекта как имя типа сущности. Этот объект шины:

    • Должен быть допустимый объект шины с одним или несколькими элементами шины на одном уровне.

    • Не может содержать элементы переменного размера. Это ограничение также верно для сущностей, указанных, когда шина возражает через блок Composite Entity Creator.

Данные и роль атрибутов сущности

Можно опционально присоединить данные к сущностям. Такие данные хранятся в одном или нескольких attributes сущности. Вы задаете имена и числовые значения для атрибутов. Например, если ваши сущности представляют сообщение, что вы передаете через коммуникационную сеть, вы можете присвоить данные под названием length это указывает на длину каждого конкретного сообщения. Можно считать или изменить значения атрибутов во время симуляции.

Сущности и атрибуты могут иметь любой тип данных, который Simulink поддерживает, включая перечислимые типы. Для получения дополнительной информации смотрите Типы данных, Поддержанные Simulink.

Типы данных, поддержанные MATLAB®, но не поддерживаемые Simulink, не могут быть переданы между моделью Simulink и действиями события. Можно использовать эти типы данных в действиях события как локальные переменные.

Можно опционально задать структуру сущности с помощью объекта шины Simulink. Эта возможность полезна при определении комплексных структур сущности, которые должны задаваться однажды, но использоваться в нескольких местоположениях в модели. Кроме того, MATLAB Discrete-Event System и блоки Discrete Event Chart требуют, чтобы вы задали сущности, когда шина возражает. Для получения дополнительной информации об объектах шины смотрите Specify Bus Properties с Объектами Simulink.Bus.

Создайте сущности в модели SimEvents

Блок Entity Generator может использоваться, чтобы сгенерировать сущности. По умолчанию блок создает основанные на времени сущности. Можно изменить параметр Time Source, чтобы выбрать источник времени для генерации сущности. Можно создать основанное на времени использование сущностей:

Создайте основанные на времени сущности

Используйте блок Entity Generation, чтобы создать основанные на времени сущности. Entity Generation позволяет вам задать период, в который он создает сущности.

  1. Откройте библиотеку блоков SimEvents. Можно использовать браузер Simulink или тип simevents в командном окне MATLAB.

  2. Создайте новую модель.

  3. От библиотеки SimEvents перетащите блок Entity Generator к новой модели.

  4. От библиотеки SimEvents перетащите блок Entity Queue к новой модели.

    • Соедините блок Entity Generator с входом Entity Queue.

    • В блоке Entity Queue выберите Number of entities departed, d.

  5. От библиотеки Simulink Sinks перетащите блок Scope к новой модели. Соедините блок Scope с d портом блока Entity Queue.

  6. От библиотеки SimEvents перетащите блок Entity Terminator к новой модели. Соедините выход блока Entity Queue к входу блока Entity Terminator.

Model that generates, queues, and terminates entities

После симуляции осциллограф отображает сущности, которые отбывают из очереди.

10 entities depart the queue at the end of the simulation

Примечание

Вы не можете соединить осциллограф с линией SimEvents, как обозначено толстой линией двойной стрелки.

Создайте рандомизированные сущности

Используйте блок Entity Generation, чтобы создать основанные на времени сущности. Entity Generation позволяет вам задать операцию рандомизации (такую как MATLAB rand функция), чтобы создать сущности наугад времена.

  1. Откройте библиотеку блоков SimEvents. Можно использовать браузер Simulink или тип simevents в командном окне MATLAB.

  2. Создайте модель.

  3. От библиотеки SimEvents перетащите блок Entity Generator к новой модели.

    1. Дважды кликните блок и установите параметр Time source на MATLAB action.

    2. В параметре Intergeneration time action введите вызов функции randomizer, такой как rand. Например:

      dt = rand(1,1);

      Entity Generator dialog box

  4. От библиотеки SimEvents перетащите блок Entity Queue к новой модели.

    • Соедините блок Entity Generator с входом Entity Queue

    • В блоке Entity Queue выберите Number of entities departed, d.

  5. От библиотеки Simulink Sinks перетащите блок Scope к новой модели. Соедините блок Scope с d портом блока Entity Queue.

  6. От библиотеки SimEvents перетащите блок Entity Terminator к новой модели. Соедините выход блока Entity Queue к входу блока Entity Terminator.

После симуляции осциллограф отображает сущности, которые отбывают из очереди.

Entities depart the queue in random time intervals

Смотрите также

| | | | | | | | |

Похожие темы