exponenta event banner

заблокированный

Класс: 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