queueFIFO

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

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

Синтаксис

storage = queueFIFO(entityType,capacity)

Описание

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

Примечание

Эта страница описывает queueFIFO метод, чтобы создать пользовательский блок дискретной системы событий. Смотрите блок Entity Queue, обеспеченный библиотекой SimEvents®, чтобы использовать очередь с политикой сортировки 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