blocked

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

Действие события, когда переадресация сущности прекращается

Синтаксис

[entity,events]=blocked(obj,storage,entity,destination)
[entity,events,out1,...]=blocked(obj,storage,entity,destination,in1,...)

Описание

[entity,events]=blocked(obj,storage,entity,destination) задает действия события объекта, когда переадресация сущности прекращается, поскольку конечный элемент хранения достиг своей максимальной емкости.

[entity,events,out1,...]=blocked(obj,storage,entity,destination,in1,...) задает такие действия объекта, когда блок имеет один или несколько портов входного сигнала и/или выходных портов сигнала.

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

расширить все

Дискретно-событийный Системный объект.

Индекс элемента хранения.

Сущность, покидающая элемент хранилища. Сущность имеет следующие поля:

  • sys (MATLAB structure) - В нем есть следующие поля:

    • id (double) - Идентификатор сущности

    • priority (double) - Приоритет сущности

  • data - Данные сущности

Адресат сущности, такого как выход порт или элемент памяти. В нем есть следующие поля:

  • type (character vector) - Задайте output или storage

  • index (double) - Выход или хранения

Любые входы данных объекта. Эти входные аргументы существуют только, когда объект имеет входы данных.

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

расширить все

Сущность, выходящая из хранилища, возможно, с измененными данными.

События, запланированные после возвратов метода. Использование matlab.DiscreteEventSystem методы класса для создания событий. Каждое событие имеет следующие поля:

  • type (character vector) - Тип события

  • delay (double) - Задержка перед событием

  • priority (double) - Приоритет мероприятия

  • Storage (double) - Индекс элемента хранения данных

  • tag (character vector) - Тег события

  • location (MATLAB structure) - Источник или место назначения сущности

Выходы объекта. Вы должны задать эти выходные аргументы, когда объект имеет выходы.

Примеры

расширить все

Отменить текущее событие переадресации после блокировки. Планируйте событие, чтобы переслать сущность в следующее место. Уничтожить сущность, если ни одно хранилище не может принять сущность.

function [entity,events] = blocked(obj,storage,entity,dst)
    % Cancel the current forward event. Schedule an event to
    % forward the entity to the next location. Destroy the entity
    % if no storage can accept the entity.
    if dst.index < obj.numStorage
        events = [...
            obj.cancelForward(dst.type, dst.index), ...
            obj.eventForward('storage', dst.index+1, 0)];
    else
        events = [...
            obj.cancelForward(dst.type, dst.index), ...
            obj.eventDestroy()];
    end
end
Введенный в R2016a