Блок 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
методы классов.
Заголовок для отображения системного объекта | |
Группы свойств для отображения системных объектов | |
Неактивное состояние свойства | |
Проверьте значения свойств | |
Действие при изменении настраиваемых свойств | |
Количество входов в метод шага | |
Имена входных портов системных блоков | |
Количество выходов от метода step | |
Имена выходных портов системных блоков | |
Значения дискретных свойств состояний | |
Инициализация системного объекта | |
Сброс состояний системного объекта | |
Релиз ресурсов | |
Загрузка Системного объекта из файла MAT | |
Сохраните системный объект в файле MAT | |
Информация о Системном объекте | |
Размеры выхода портов | |
Типы данных портов выхода | |
Комплексность выхода портов | |
Дискретный размер, тип данных и сложность | |
Имя для отображения в виде значка блока | |
Запрос шага расчета |
Дополнительные сведения об этих методах см. в разделе Настройка системных объектов для Simulink.
При ссылке на атрибуты сущности или системные свойства в Системном объекте дискретных событий используйте следующие форматы:
Атрибут или свойство | Формат | Доступ |
---|---|---|
признак |
| Чтение/запись |
свойство priority |
| Чтение/запись |
Свойство ID |
| Только для чтения |
Если сущность, который является частью блока MATLAB Discrete-Event System, запрашивается для извлечения, exit
запускается способ блока. Когда exit
вызывается метод, его destination аргумент устанавливается на extract
. Посмотрите modified
для изменения сущности.
matlab.DiscreteEventSystem
| matlab.System