exponenta event banner

matlab.ClausingEventSystem класса

Пакет: matlab
Суперклассы: matlab.System

Базовый класс для объектов системы с дискретными событиями

Описание

matlab.DiscreteEventSystem является базовым классом для объектов System с дискретным событием. В файле определения класса необходимо выполнить подкласс объекта из этого базового класса (или из другого класса, производного от этого базового класса). Подкласс позволяет использовать методы реализации и обслуживания, предоставляемые этим базовым классом, для построения объекта. Дополнительные сведения о внедрении matlab.DiscreteEventSystem класс с блоком системы дискретных событий MATLAB см. в разделе Создание пользовательских блоков с использованием блока системы дискретных событий MATLAB.

Введите этот синтаксис в качестве первой строки файла определения класса для прямого наследования от matlab.DiscreteEventSystem базовый класс, где ObjectName - имя объекта:

classdef ObjectName < matlab.DiscreteEventSystem

Дополнительные сведения о реализации системного object™ с дискретным событием см. в разделе Создание системного объекта с дискретным событием. Сведения о связывании объекта системы дискретного события с моделью SimEvents ® и создании пользовательского поведения см. в разделе Задержка объектов с помощью блока хранения пользовательских объектов.

matlab.DiscreteEventSystem класс является handle класс.

Атрибуты класса

Abstract
false
HandleCompatible
true
StrictDefaults
false

Сведения об атрибутах класса см. в разделе Атрибуты класса.

Методы

развернуть все

Примеры

свернуть все

В этом примере показано, как использовать методы объекта discrete-event System для создания пользовательского блока хранения объектов, который имеет один входной порт, один выходной порт и один элемент хранения. Объект дискретного события System представляет собой экземпляр matlab.DiscreteEventSystem класс, который позволяет использовать методы реализации и сервиса, предоставляемые этим классом. Затем используется блок Система дискретных событий MATLAB для интеграции объекта System в модель SimEvents. Пользовательский блок системы дискретных событий MATLAB принимает объект из своего входного порта и направляет его в свой выходной порт с заданной задержкой. Дополнительные сведения см. в разделе Задержка объектов с помощью блока хранения настраиваемых объектов.

classdef CustomEntityStorageBlock < matlab.DiscreteEventSystem
                        
    % A custom entity storage block with one input, one output, and one storage. 
 
    % Nontunable properties 
    properties (Nontunable)
    % Capacity
        Capacity = 1;
    % Delay
        Delay=4;
    end
    
    methods (Access=protected)        
        function num = getNumInputsImpl(~)
            num = 1;
        end
        
        function num = getNumOutputsImpl(~)
            num = 1;
        end      
        
        function entityTypes = getEntityTypesImpl(obj)
            entityTypes = obj.entityType('Car');
        end
        
        function [inputTypes,outputTypes] = getEntityPortsImpl(obj)
            inputTypes = {'Car'};
            outputTypes = {'Car'};
        end

        function [storageSpecs, I, O] = getEntityStorageImpl(obj)
            storageSpecs = obj.queueFIFO('Car', obj.Capacity);
            I = 1;
            O = 1;
        end
       
    end
    
   methods
       
        function [entity,event] = CarEntry(obj,storage,entity,source)
            % Specify event actions when entity enters storage.
        
             event = obj.eventForward('output', 1, obj.Delay);
           
        end
     
    end
    
end
Представлен в R2016a