eventForward

Класс: mATLAB.
Пакет: mATLAB

Создайте сущность, передают событие

Синтаксис

event=eventForward(locationType,locationIndex,delay)

Описание

event=eventForward(locationType,locationIndex,delay) создает событие, чтобы передать сущность от текущего местоположения до нового местоположения. Можно затем запланировать это событие путем возврата его как выходного аргумента при реализации метода действия события, такого как entry.

Входные параметры

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

Тип нового местоположения. Задайте 'storage' если новое местоположение является запоминающим элементом дискретной системы событий. Задайте 'output' если вы хотите, чтобы сущность вышла от выходного порта дискретной системы событий.

Индекс нового местоположения. Если типом местоположения является 'storage', это указывает на индекс запоминающего элемента. Если типом местоположения является 'output', это указывает на индекс выходного порта.

Задержка между текущим временем симуляции и время сущностью будет передана.

Выходные аргументы

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

Событие, что вперед сущность в контексте действия текущего события к новому местоположению.

Примеры

Передайте текущую сущность устройству хранения данных

Задайте событие что вперед текущая сущность к устройству хранения данных.

function [entity,events] = entry(obj,storage,entity,src)  
      
    % Define an event that forwards the current entity to storage
    % element 2. Event shall be scheduled to execute 0.8 second later.
    event1 = obj.eventForward('storage', 2, 0.8);
 
    % Define an event that forwards the current entity to output port 1.
    % Event shall be scheduled to execute at current simulation clock time. 
    event2 = obj.eventForward('output', 1, 0);

    % Define events as event1 and event2
    events = [event1, event2];
end

Создайте пользовательский блок системы хранения сущности, чтобы задержать сущности

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

Пользовательский блок MATLAB Discrete-Event System принимает сущность от своего входного порта и вперед этого к ее выходному порту с заданной задержкой. Для получения дополнительной информации смотрите Сущности Задержки с Пользовательским Блоком системы хранения Сущности.

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