exponenta event banner

Объекты в модели SimEvents

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

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

Примечание

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

Значение объектов в различных приложениях

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

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

Изменение толкования сущностей

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

  • Используйте два блока генератора объектов для создания двух типов деталей.

  • Используйте один блок генератора объектов и затем назначьте атрибут, чтобы указать, какой тип детали представляет каждый объект, а другой атрибут - свойство.

Примечание

Объекты SimEvents в основном совпадают с сообщениями Simulink ® и Stateflow ®.

Визуализация объектов

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

Хранение объектов

Эти блоки способны удерживать объект:

  • Генератор объектов

  • Очередь сущностей

  • Очередь получения многоадресной рассылки

  • Сервер сущностей

  • Терминатор объекта

  • Дискретная диаграмма событий

  • Система дискретных событий MATLAB

  • Репликатор сущностей

  • Приобретатель ресурсов

  • Средство освобождения ресурсов

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

  • Переключатель ввода объекта

  • Переключатель вывода объекта

  • Многоадресная передача объекта

  • Литник сущности

  • Создатель составного объекта

  • Разделитель составных объектов

  • Пул ресурсов

Типы объектов

Тип объекта - это идентификационный тег, связанный с любым блоком, который создает объекты в модели. Для блока «Генератор объектов» присвойте имя типу объекта на вкладке «Тип объекта» блока генерации. Из этого блока каждый новый объект получает этот тег. Например, имя типа объекта, связанного с генератором объектов в модели, может быть Customer. Каждый объект, созданный в этом блоке, получает этот тип объекта. Блок создания составного объекта также создает новые объекты путем объединения двух или более существующих объектов для формирования нового составного объекта. Для типа объекта можно назначить новое имя типа объекта (имя Combined по умолчанию).

Примечание

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

По мере продвижения объекта через модель его тип не изменяется. Даже если объект получает атрибут, тайм-аут или данные таймера, которые придают ему более сложную структуру, тип объекта остается прежним. Хотя блок создания составного объекта формирует новые составные объекты с новым типом объекта, базовые типы объектов остаются прежними.

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

Блок «Генератор объектов» может генерировать следующие типы объектов:

  • Anonymous - неструктурированная сущность без имени. Для анонимных типов сущностей можно указать только приоритет сущности и начальное значение данных.

  • Структурированный (Structured) - тип структурированного объекта, определенный в этом диалоговом окне блока. В разделе «Определение атрибутов» блока «Генератор объектов» можно назвать объекты, указать приоритеты и задать атрибуты для объекта. Атрибуты - это данные, переносимые сущностями. Создание структурированного объекта на этой вкладке является удобным способом создания объекта без необходимости создания связанного объекта шины в Simulink.

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

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

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

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

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

Объекты и атрибуты могут быть любого типа данных, поддерживаемого Simulink, включая перечисляемые типы. Дополнительные сведения см. в разделе Типы данных, поддерживаемые Simulink.

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

При необходимости можно указать структуру объекта с помощью объекта шины Simulink. Эта возможность полезна при определении сложных структур объектов, которые необходимо определить один раз, но использовать в нескольких расположениях в модели. Кроме того, блоки Система дискретных событий MATLAB и Диаграмма дискретных событий требуют указания объектов в качестве объектов шины. Дополнительные сведения об объектах шины см. в разделе Задание свойств шины с помощью Simulink.Bus Object Data Types.

Создание объектов в модели SimEvents

Для создания объектов можно использовать блок генератора объектов. По умолчанию блок создает объекты на основе времени. Можно изменить параметр Источник времени (Time Source), чтобы выбрать источник времени для создания сущности. Можно создавать объекты на основе времени, используя:

Создание объектов на основе времени

Используйте блок «Создание объекта» для создания объектов на основе времени. В окне Создание сущности (Entity Generation) можно указать период, в который создаются сущности.

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

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

  3. Перетащите блок генератора объектов из библиотеки SimEvents в новую модель.

  4. Перетащите блок «Очередь объектов» из библиотеки SimEvents в новую модель.

    • Подключите блок генератора объектов к входу очереди объектов.

    • В блоке «Очередь объектов» выберите «Количество удаляемых объектов», d.

  5. Из библиотеки Simulink Sinks перетащите блок области в новую модель. Подключите блок Scope к порту d блока Entity Queue.

  6. Перетащите блок терминатора объекта из библиотеки SimEvents в новую модель. Подключите выход блока Entity Queue к входу блока Entity Terminator.

Model that generates, queues, and terminates entities

При моделировании в области отображаются объекты, которые выходят из очереди.

10 entities depart the queue at the end of the simulation

Примечание

Невозможно соединить область с линией SimEvents, обозначенной толстой линией двойной стрелки.

Создание рандомизированных объектов

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

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

  2. Создание модели.

  3. Перетащите блок генератора объектов из библиотеки SimEvents в новую модель.

    1. Дважды щелкните блок и задайте для параметра «Источник времени» значение MATLAB action.

    2. В параметре действия Время между поколениями введите вызов функции рандомизатора, например rand. Например:

      dt = rand(1,1);

      Entity Generator dialog box

  4. Перетащите блок «Очередь объектов» из библиотеки SimEvents в новую модель.

    • Подключение блока генератора объектов к входу очереди объектов

    • В блоке «Очередь объектов» выберите «Количество удаляемых объектов», d.

  5. Из библиотеки Simulink Sinks перетащите блок области в новую модель. Подключите блок Scope к порту d блока Entity Queue.

  6. Перетащите блок терминатора объекта из библиотеки SimEvents в новую модель. Подключите выход блока Entity Queue к входу блока Entity Terminator.

При моделировании в области отображаются объекты, которые выходят из очереди.

Entities depart the queue in random time intervals

См. также

| | | | | | | | |

Связанные темы