queueFIFO

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

Задайте устройство хранения данных очереди метода "первым пришел - первым вышел" (FIFO)

Синтаксис

storage=queueFIFO(entityType,capacity)

Описание

storage=queueFIFO(entityType,capacity) задает запоминающий элемент очереди FIFO. Используйте эту функцию при реализации getEntityStorageImpl метод.

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

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

Тип сущностей, с которыми работает новый запоминающий элемент.

Максимальное количество сущностей, которые устройство хранения данных может содержать в виде двойного.

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

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

Устройство хранения данных очереди, которое содержит сущности и сортирует их в порядке FIFO.

Примеры

Задайте устройство хранения данных сущности очереди FIFO

Задайте устройство хранения данных сущности очереди FIFO для объекта дискретной системы событий.

% Define a storage element as a FIFO queue
% - Entities in the queue are sorted in First-In-First-Out (FIFO) order
% - Queue can store entities of type 'myEntity'
% - Queue can store no more than 25 entities
storage = obj.queueFIFO('myEntity', 25); 

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

В этом примере показано, как использовать дискретную систему событий 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