Создайте пользовательские блоки Используя блок Дискретной Системы событий MATLAB

Объекты Дискретной системы событий позволяют вам реализовать пользовательские событийно-управляемые системы потока сущности с помощью языка MATLAB®. Блок MATLAB Discrete-Event System позволяет вам использовать объекты дискретной системы событий создать пользовательский блок в вашей модели SimEvents®. Можно создать такие объекты дискретной системы событий через набор методов MATLAB.

Можно создать пользовательскую дискретную систему событий object™ с нуля что:

  • Содержит несколько запоминающих элементов сущности, с каждым запоминающим элементом, содержащим несколько сущностей SimEvents, и сконфигурируйте его к сущностям вида в особом порядке.

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

  • Может принять сущность/сигнал как ввод/вывод, произвести сущность и сигнализировать как выходные параметры, и поддержать и встроенные типы данных и структурировал/соединил шиной типы данных.

  • Используйте тулбоксы MATLAB для расчета и масштабирования сложных систем.

Блок MATLAB Discrete-Event System похож на блок MATLAB System с этими различиями:

  • Получившийся объект дискретной системы событий является инстанцированием matlab.DiscreteEventSystem класс, а не matlab.System класс.

  • matlab.DiscreteEventSystem имеет его собственный набор методов Системного объекта, конкретных к дискретным системам событий.

  • matlab.DiscreteEventSystem также наследовал подмножество методов MATLAB System. Для полного списка этого подмножества смотрите, Создают Объект Дискретной Системы событий.

Типы сущности, порты и устройство хранения данных в среде Дискретной Системы событий

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

Рассмотрите эти инструкции при определении пользовательских типов сущности с помощью getEntityTypesImpl метод:

  • Можно задать несколько типов сущности. Каждый тип должен иметь уникальное имя.

  • Запоминающий элемент сущности, входной порт и выходной порт должны задать тип сущности, с которым они работают.

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

  • При передаче сущности источник и целевые технические требования данных должны быть тем же самым в этих экземплярах:

    • От входного порта до запоминающего элемента

    • Между запоминающими элементами

    • От запоминающего элемента до выходного порта

  • Каждый тип сущности может совместно использовать единый набор методов действия события. Когда именование этих методов, чтобы отличить тип сущности использует это соглашение:

    entitytypeAction

    Например, если существует два типа сущности, car и truck, используйте имена методов, такие как:

    carEntry
    truckEntry

В процессе моделирования сущность всегда занимает модуль пространства памяти. Такие пространства памяти обеспечиваются запоминающими элементами сущности. Объект дискретной системы событий может содержать несколько запоминающих элементов сущности. Используйте getEntityStorageImpl метод, чтобы задать запоминающие элементы. Пространство памяти является контейнером с этими свойствами:

  • Тип сущности — тип Сущности это устройство хранения данных обрабатывает.

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

  • Тип хранения — Критерии, чтобы отсортировать сущности устройства хранения данных (FIFO, LIFO, и priority).

  • Ключевое имя — название атрибута, используемое в качестве ключевого имени для сортировки. Это свойство применимо только, когда типом хранения является priority.

  • Сортировка направления — Возрастающий или убывание приоритетных очередей. Это свойство применимо только, когда типом хранения является priority.

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

Порты включают объекту дискретной системы событий обмениваться сущностями и данными с другими блоками или компонентами модели. Можно задать переменное количество портов ввода и вывода с помощью getNumInputsImpl и getNumOutputsImpl методы. Можно также задать, какие порты являются портами сущности и типами сущности для этих портов. Используйте getEntityPortsImpl метод, чтобы задать эти свойства портов.

События

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

Можно использовать методы и функции к:

  • Запланируйте события

  • Действия события Define в ответ на события

  • Инициализируйте события

  • Отмените события

Объект дискретной системы событий MATLAB может иметь эти типы событий:

  • События устройства хранения данных — можно запланировать эти события на запоминающий элемент. Агент является запоминающим элементом.

    • Можно сгенерировать новую сущность в запоминающем элементе.

    • Можно выполнить итерации каждой сущности запоминающего элемента.

  • События сущности — можно запланировать эти события на сущность. Агент является сущностью.

    • Можно задержать сущность.

    • Можно передать сущность от ее текущего устройства хранения данных до другого порта хранения или выходного порта.

    • Можно уничтожить существующую сущность запоминающего элемента.

Для получения дополнительной информации об использовании событий и действий события, смотрите, Настраивают Поведение Дискретной Системы событий Используя Действия События и События.

Реализуйте объект Дискретной Системы событий с блоком MATLAB Discrete-Event System

Чтобы Реализовать пользовательский блок путем присвоения объекта дискретной системы событий, выполните эти шаги.

  1. Откройте новую модель и добавьте блок MATLAB Discrete-Event System из библиотеки SimEvents.

  2. В диалоговом окне блока, из списка New, выбирают Basic создать Системный объект из шаблона.

    Измените шаблон по мере необходимости и сохраните Системный объект.

    Можно также изменить шаблон и задать объекты Дискретной Системы событий от редактора MATLAB с помощью опций вставки кода. Путем выбора Insert Property или Insert Method, MATLAB Editor добавляет предопределенные свойства, методы, состояния, входные параметры или выходные параметры к Системному объекту. Используйте эти инструменты, чтобы создать и изменить Системные объекты быстрее и увеличить точность путем сокращения опечаток.

  3. Если Системный объект существует в диалоговом окне блока, введите его имя для параметра Discrete-event System object name. Кликните по стрелке списка, чтобы видеть доступные объекты дискретной системы событий в текущей папке.

    Значок блока MATLAB Discrete-Event System и метки порта обновляются к значкам и меткам соответствующего Системного объекта. Предположим, что вы выбираете Системный объект под названием myServer в вашей текущей папке и генерируют пользовательский блок сервера сущности, который служит сущностям и выходным параметрам каждая сущность через выходной порт. Затем блок обновляется как показано в модели.

Много различных функций Системного объекта MATLAB позволяют вам получать свойства и реализовывать пользовательские поведения. Обеспеченный шаблон упрощен, но можно добавить сложность путем редактирования действий события, представления действий и изменения параметров. Функции объектно-ориентированного программирования Системного объекта MATLAB позволяют вам масштабировать свою модель и соединить интерфейсом с ним с графическими функциями программирования SimEvents.

Эти темы обходят вас через полный рабочий процесс для создания пользовательских блоков с отличными функциональностями.

Для других примеров блокировки MATLAB Discrete-Event System и объектов дискретной системы событий, смотрите Примеры SimEvents в Браузере документации.

Чтобы использовать обеспеченный пользовательские блоки, в библиотеке SimEvents, дважды кликают блок Design Patterns. Категория MATLAB Discrete-Event System содержит эти шаблоны разработки:

ПримерПриложение

Пользовательский генератор

Реализуйте более сложный генератор сущности.

Пользовательский сервер

Используйте пользовательский сервер.

Очередь выбора

Выберите определенную сущность, чтобы вывести от очереди.

Для получения дополнительной информации смотрите Шаблоны проектирования SimEvents.

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

|

Похожие темы