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

Блок MATLAB Discrete-Event System позволяет вам создать пользовательскую дискретно-событийную Системную object™ и использовать ее в SimEvents® модели. Чтобы создать управляемые событиями системы потока сущностей, блок использует дискретный системный объект System с matlab.DiscreteEventSystem класс, который наследует и расширяет matlab.System класс.

Методы

The matlab.DiscreteEventSystem класс предоставляет методы, которые позволяют вам работать с этими элементами массива системы дискретных событий:

  • Задайте свойства типов сущностей, портов и хранилища

    • getEntityPortsImpl - Задайте входные и выходные порты системы дискретных событий

    • getEntityStorageImpl - Определить элементы хранения сущностей системы дискретных событий

    • getEntityTypesImpl - Определить типы сущностей системы дискретных событий

  • Инициализация события

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

  • Поведение объекта во время выполнения

    • blocked - Действие события, когда переадресация сущности прекращается

    • destroy - Событие действия при уничтожении сущности

    • entry - Действие события, когда сущность входит в элемент хранилища

    • exit - Действие события перед выходом сущности из хранилища

    • generate - Действие события при создании сущности

    • iterate - Действие события при итерации сущности

    • modified - Действие события при изменении сущности блоком Entity Find

    • resourceAcquired - Задайте действия события после успешного приобретения ресурса.

    • resourceReleased - Задайте действия события после успешного релиза ресурса.

    • testEntry - Действие события для принятия или отказа от сущности

    • timer - Действие события при завершении таймера

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

  • Задайте тип сущности

    • entityType - Задайте тип сущности

  • Определите хранилище сущностей

    • queueFIFO - Задайте устройство хранения очереди «первый в первом» (FIFO)

    • queueLIFO - Задайте устройство хранения последней очереди (LIFO)

    • queuePriority - Определить приоритетное хранилище очереди

    • queueSysPriority - Определить хранилище системной очереди приоритетов

  • Создание событий

    • eventGenerate - Создание события генерации сущностей

    • eventIterate - Создание события итерации сущности

    • eventTimer - Создание события таймера сущности

    • eventForward - Создание события переадресации сущности

    • eventDestroy - Создать событие уничтожения сущности

    • eventTestEntry - Создайте событие, чтобы указать, что политика приемки для хранилища изменилась и хранилище повторяет поступление сущностей

    • eventAcquireResource - Создайте событие приобретения ресурса

    • eventReleaseResource - Создайте событие, чтобы освободить ранее полученные ресурсы (этот метод позволяет частичный релиз ресурсов)

    • eventReleaseAllResources - Создайте событие, чтобы освободить все ресурсы, приобретенные сущностью

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

    • cancelDestroy - Отменить ранее запланированное событие уничтожения сущности

    • cancelForward - Отменить событие переадресации сущности

    • cancelGenerate - Отменить ранее запланированное событие генерации сущности

    • cancelIterate - Отменить ранее запланированное событие итерации

    • cancelTimer - Отмена ранее запланированного события таймера

    • cancelAcquireResource - Отменить ранее запланированное событие приобретения ресурса

  • Управление ресурсами

    • getResourceNamesImpl - Определение пулов ресурсов, из которых система дискретных событий получает ресурсы

    • resourceType - Укажите тип сущности и имя ресурсов, которые будут приобретены указанной сущностью

    • eventAcquireResource - Создайте событие приобретения ресурса

    • eventReleaseResource - Создайте событие, чтобы освободить ранее полученные ресурсы (этот метод позволяет частичный релиз ресурсов)

    • eventReleaseAllResources - Создайте событие, чтобы освободить все ресурсы, приобретенные сущностью

    • cancelAcquireResource - Отменить ранее запланированное событие приобретения ресурса

    • resourceSpecification - Укажите тип и количество ресурсов для eventAcquireResource или eventReleaseResource запросы

    • initResourceArray - Инициализация resourceSpecification массив, необходимый для генерации кода

    • resourceAcquired - Задайте действия события после успешного приобретения ресурса

    • resourceReleased - Задайте действия события после успешного релиза ресурса

Унаследованные методы от matlab.System Класс

Наследование matlab.DiscreteEventSystem класс также наследует подмножество matlab.System методы классов.

getHeaderImpl

Заголовок для отображения системного объекта

getPropertyGroupsImpl

Группы свойств для отображения системных объектов

isInactivePropertyImpl

Неактивное состояние свойства

validatePropertiesImpl

Проверьте значения свойств

processTunedPropertiesImpl

Действие при изменении настраиваемых свойств

getNumInputsImpl

Количество входов в метод шага

getInputNamesImpl

Имена входных портов системных блоков

getNumOutputsImpl

Количество выходов от метода step

getOutputNamesImpl

Имена выходных портов системных блоков

getDiscreteStateImpl

Значения дискретных свойств состояний

setupImpl

Инициализация системного объекта

resetImpl

Сброс состояний системного объекта

releaseImpl

Релиз ресурсов

loadObjectImpl

Загрузка Системного объекта из файла MAT

saveObjectImpl

 Сохраните системный объект в файле MAT

infoImpl

Информация о Системном объекте

getOutputSizeImpl

Размеры выхода портов

getOutputDataTypeImpl

Типы данных портов выхода

isOutputComplexImpl

Комплексность выхода портов

getDiscreteStateSpecificationImpl

Дискретный размер, тип данных и сложность

getIconImpl

Имя для отображения в виде значка блока

getSampleTime

Запрос шага расчета

Дополнительные сведения об этих методах см. в разделе Настройка системных объектов для Simulink.

Ссылки и извлечение сущностей

  1. При ссылке на атрибуты сущности или системные свойства в Системном объекте дискретных событий используйте следующие форматы:

    Атрибут или свойствоФорматДоступ

    признак

    entity.data.attribute_name

    Чтение/запись

    свойство priority

    entity.sys.priority

    Чтение/запись

    Свойство ID

    entity.sys.id

    Только для чтения

  2. Если сущность, который является частью блока MATLAB Discrete-Event System, запрашивается для извлечения, exit запускается способ блока. Когда exit вызывается метод, его destination аргумент устанавливается на extract. Посмотрите modified для изменения сущности.

См. также

|

Похожие темы