Класс: mATLAB.
Пакет: mATLAB
Задайте устройство хранения данных очереди метода "первым пришел - первым вышел" (FIFO)
storage=queueFIFO(entityType,capacity)
задает запоминающий элемент очереди FIFO. Используйте эту функцию при реализации storage
=queueFIFO(entityType
,capacity
)getEntityStorageImpl
метод.
Задайте устройство хранения данных сущности очереди 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
getEntityStorageImpl
| queueLIFO
| queuePriority
| queueSysPriority