Блок MATLAB Discrete-Event System позволяет вам создавать пользовательскую дискретную систему событий object™ и использовать ее в моделях SimEvents®. Чтобы создать событийно-управляемые системы потока сущности, блок использует объект дискретной системы событий с классом matlab.DiscreteEventSystem
, который наследовал и расширяет класс matlab.System
.
Можно опционально наследовать подмножество методов от пакета matlab.system.mixin
путем наследования matlab.System.mixin.Propagates
, matlab.System.mixin.CustomIcon
или классов matlab.System.mixin.SampleTime
. Эта схема показывает отношения между классами в создании объекта дискретной системы событий.
Класс matlab.DiscreteEventSystem
предоставляет методы, которые позволяют вам работать с этими элементами дискретной системы событий:
Задайте свойства объектных типов сущности, портов и устройства хранения данных
getEntityPortsImpl
— Задайте входные порты и выходные порты дискретной системы событий
getEntityStorageImpl
— Задайте запоминающие элементы сущности дискретной системы событий
getEntityTypesImpl
— Задайте типы сущности дискретной системы событий
Инициализация события
setupEvents
— Инициализируйте события генерации сущности
Поведение во время выполнения объекта
blocked
— Действие события, когда сущность передают сбои
destroy
— Действие события после разрушения сущности
entry
— Действие события, когда сущность вводит запоминающий элемент
выход
Действие события перед выходом сущности из устройства хранения данных
generate
— Действие события после создания сущности
iterate
— Действие события, когда сущность выполняет итерации
modified
— Действие события после модификации сущности блоком Entity Find
Действия события resourceAcquired
— Specify после успешного приобретения ресурса.
Действия события resourceReleased
— Specify после успешного релиза ресурса.
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
— Задайте тип и сумму ресурсов для запросов eventReleaseResource
или eventAcquireResource
initResourceArray
— Инициализируйте массив resourceSpecification
, требуемый для генерации кода
Действия события resourceAcquired
— Specify после успешного приобретения ресурса
Действия события resourceReleased
— Specify после успешного релиза ресурса
matlab.System
Наследование класса matlab.DiscreteEventSystem
также наследовало подмножество методов класса matlab.System
.
Заголовок для отображения Системного объекта | |
Группы свойства для отображения Системного объекта | |
Неактивное состояние свойства | |
Проверка значений свойств | |
Действие, когда настраиваемые свойства изменяются | |
Количество входных параметров, чтобы продвинуться метод | |
Имена входных портов блока System | |
Количество выходных параметров из метода шага | |
Имена выходных портов блока System | |
Значения свойств дискретного состояния | |
Инициализируйте Системный объект | |
Сбросьте состояния Системного объекта | |
Высвободите средства | |
Загрузите Системный объект из файла MAT | |
Сохраните Системный объект в файле MAT | |
Информация о Системном объекте |
Для получения дополнительной информации об этих методах, смотрите, Настраивают Системные объекты для Simulink (Simulink).
matlab.system.mixin
Можно наследовать другие методы, которые требуют наследования дополнительных классов от пакета matlab.system.mixin
. Например, чтобы задать дискретное состояние при помощи getDiscreteStateSpecificationImpl
, наследуйте класс matlab.system.mixin.Propagates
. Для примера наследования этого класса смотрите, что Сервер Выбора - Выбирает Specific Entities from Server.
matlab.System.mixin.Propagates
Чтобы использовать методы, наследованные от класса matlab.System.mixin.Propagates
, необходимо разделить на подклассы от этого класса в дополнение к базовому классу matlab.DiscreteEventSystem
. Введите следующий синтаксис как первую строку вашего файла определения класса, где ObjectName является именем вашего объекта.
classdef ObjectName < matlab.DiscreteEventSystem & matlab.system.mixin.Propagates
Этот список содержит методы, наследованные от класса matlab.system.mixin.Propagates
.
Размеры выходных портов | |
Типы данных выходных портов | |
Сложность выходных портов | |
Размер дискретного состояния, тип данных и сложность |
matlab.System.mixin.CustomIcon
Чтобы наследовать методы от класса matlab.System.mixin.CustomIcon
, введите следующий синтаксис как первую строку вашего файла определения класса.
classdef ObjectName < matlab.DiscreteEventSystem & matlab.system.mixin.CustomIcon
Назовите, чтобы отобразиться как значок блока |
matlab.System.mixin.SampleTime
Чтобы наследовать методы от класса matlab.System.mixin.SampleTime
, введите следующий синтаксис как первую строку вашего файла определения класса.
classdef ObjectName < matlab.DiscreteEventSystem & matlab.system.mixin.SampleTime
Запросите шаг расчета |
При ссылке на атрибуты сущности или системные свойства в объекте дискретной системы событий, используйте эти форматы:
Атрибут или свойство | Формат | Доступ |
---|---|---|
атрибут |
| Чтение-запись |
приоритетное свойство |
| Чтение-запись |
Свойство ID |
| Только для чтения |
Если сущность, которая является частью блока MATLAB Discrete-Event System, требуют для экстракции, метод exit
блока инициирован. Когда метод exit
называется, его аргумент destination установлен в extract
. Смотрите modified
для модификации сущности.
matlab.DiscreteEventSystem
| matlab.System