таймер

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

Действие события, когда таймер завершается

Синтаксис

[entity,events]=timer(obj,storage,entity,tag)
[entity,events,out1,...]=timer(obj,storage,entity,tag,in1,...)

Описание

[entity,events]=timer(obj,storage,entity,tag) задает действия события для того, когда запланированный таймер завершается.

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

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

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

Объект Discrete-event System.

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

Сущность для события таймера. Сущность имеет эти поля:

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

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

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

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

Тег события таймера выполняющегося в данного момента.

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

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

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

Сущность с измененным значением.

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

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

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

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

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

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

  • location (MATLAB structure) — Источник или целевое местоположение сущности

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

Примеры

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

Передайте сущность, когда таймер завершится для объекта obj дискретной системы событий.

function [entity,events] = timer(obj,storage,entity,tag)
    % Check which timer of the entity has expired, and forward the
    % entity to the next location accordingly.
    switch tag
        case 'ServiceComplete'
            entity.done = 1;
            events = obj.eventForward('output', 1, 0);                    
        case 'Timeout'
            entity.done = 0; 
            events = obj.eventForward('storage', 2, 0);
    end
end

Введенный в R2016a