Блок 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
— Действие события, когда сущность вводит запоминающий элемент
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
методы класса.
Заголовок для отображения Системного объекта | |
Группы свойства для отображения Системного объекта | |
Неактивное состояние свойства | |
Проверка значений свойств | |
Действие, когда настраиваемые свойства изменяются | |
Количество входных параметров, чтобы продвинуться метод | |
Имена входных портов блока 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