blocked

Класс: mATLAB.
Пакет: 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,...) задает такие действия события объекта, когда блок имеет один или несколько портов входного сигнала и/или выходных портов сигнала.

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

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

Объект Discrete-event System.

Индекс запоминающего элемента.

Сущность оставляя запоминающий элемент. Сущность имеет эти поля:

  • sys (MATLAB structure) — Это имеет эти поля:

    • id 'double') — ID сущности

    • priority 'double') — Приоритет сущности

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

Место назначения сущности, такой как выходной порт или запоминающий элемент. Это имеет эти поля:

  • type Символьный вектор) — Задают output или storage

  • index 'double') — Выводят или индекс устройства хранения данных

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

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

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

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

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

  • type Символьный вектор) — Тип события

  • delay 'double') — Задерживаются перед событием

  • priority 'double') — Приоритет события

  • Storage 'double') — Индекс запоминающего элемента

  • tag Символьный вектор) — Тег события

  • 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