exponenta event banner

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

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

Методы

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

  • Определение свойств типов объектов объекта, портов и хранилища

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

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

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

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

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

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

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

    • destroy - Действия в случае уничтожения объекта

    • entry - Действие события при входе объекта в элемент хранения

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

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

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

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

    • resourceAcquired - Укажите действия события при успешном получении ресурсов.

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

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

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

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

  • Определение типа объекта

    • entityType - Определение типа объекта

  • Определение хранилища объектов

    • queueFIFO - Определение хранилища очереди FIFO

    • queueLIFO - Определение хранилища очереди last-in last-out (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

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

getOutputNamesImpl

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

getDiscreteStateImpl

Дискретные значения свойств состояния

setupImpl

Инициализация объекта System

resetImpl

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

releaseImpl

Высвобождать ресурсы

loadObjectImpl

Загрузить объект System из файла MAT

saveObjectImpl

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

infoImpl

Сведения об объекте System

getOutputSizeImpl

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

getOutputDataTypeImpl

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

isOutputComplexImpl

Сложность выходных портов

getDiscreteStateSpecificationImpl

Размер дискретного состояния, тип данных и сложность

getIconImpl

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

getSampleTime

Время запроса образца

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

Привязка и извлечение объектов

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

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

    признак

    entity.data.attribute_name

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

    свойство priority

    entity.sys.priority

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

    Свойство ID

    entity.sys.id

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

  2. Если объект, который является частью блока системы дискретных событий MATLAB, запрашивается для извлечения, exit инициируется способ блока. Когда exit вызывается метод, его аргумент назначения имеет значение extract. Посмотрите modified для изменения объекта.

См. также

|

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