startat

Класс: таймер

Запланируйте таймер, чтобы стрелять в требуемое время

Синтаксис

startat(t,firingTime)
startat(t,Y,M,D)
startat(t,Y,M,D,H,MI,S)

Описание

пример

startat(t,firingTime) таймер расписаний, t, чтобы стрелять в требуемое время, firingTime. Таймер стреляет путем выполнения функции обратного вызова, timerFcn. firingTime должен быть в течение 25 дней после текущего времени.

  • Если t является массивом объектов - таймеров, и firingTime является скаляром, startat устанавливает все таймеры стрелять в требуемое время.

  • Если t является массивом объектов - таймеров, и firingTime является массивом, одного размера как t, startat устанавливает каждый таймер стрелять в соответствующее время.

пример

startat(t,Y,M,D) запускает таймер и планирует выполнение TimerFcn в год (Y), месяц (M), и день заданный (D).

пример

startat(t,Y,M,D,H,MI,S) также задает час (H), минута (MI), и второй заданный (S).

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

t

Объект класса timer.

firingTime

Время, в которое объект - таймер состоит в том, чтобы выстрелить, заданный как последовательный номер даты, символьное представление формата даты или вектор даты. firingTime может быть одной датой или массивом дат с одинаковым числом строк как объекты - таймеры в t.

  • Последовательный номер даты указывает на номер дней, которые протекли с 1 января 0000 (запускающийся в 1). Смотрите datenum для получения дополнительной информации о последовательных числах даты.

  • Чтобы задать символьное представление дат, используйте следующие форматы даты, заданные функцией datestr: 0, 1, 2, 6, 13, 14, 15, 16, или 23. Эти числовые идентификаторы соответствуют форматам, заданным свойством formatOut функции datestr. Даты с 2D символьными годами интерпретированы, чтобы быть в течение этих 100 лет, сосредоточенных в текущий год.

  • Векторы даты заданы как m-by-6 или матрица m-by-3, содержащая m полные или частичные векторы даты, соответственно. Полный вектор даты имеет шесть элементов, указывающих на год, месяц, день, час, минуту, и во-вторых, в том порядке. Частичный вектор даты имеет три элемента, указывающие на год, месяц и день, в том порядке.

Y,M,D

Время, в которое объект - таймер состоит в том, чтобы выстрелить, заданный как числа, указывающие на год (Y), месяц (M), и день (D). Значения месяца меньше чем 1 установлен в 1; другие аргументы могут перенести и иметь отрицательные величины.

Y,M,D,H,MI,S

Время, в которое объект - таймер состоит в том, чтобы выстрелить, заданный как числа, указывающие на год (Y), месяц (M), день (D), час (H), минута (MI), и второй заданный (S). Значения месяца меньше чем 1 установлен в 1; другие аргументы могут перенести и иметь отрицательные величины.

Примеры

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

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

t = timer('TimerFcn', @(~,~)disp('Fired.'), ...
    'StartFcn', @(~,~)disp('Started.'));

Установите таймер запускать 2 секунды с настоящего времени с помощью последовательной даты. Последовательная дата задана в днях.

two = 2/(60^2*24); % two seconds in serial time
fTime = now + two
startat(t,fTime);
fTime =

   7.3527e+05

Started.
Fired.

Ожидайте таймера, чтобы запустить, и затем удалить таймер.

delete(t)

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

t = timer('TimerFcn', @(~,~)disp('Fired.'), ...
    'StartFcn', @(~,~)disp('Started.'));

Запланируйте таймер, чтобы запустить 2 дня с существующего в 0:00:00

[Y, M, D, H, MI, S] = datevec(now+2);
startat(t,Y,M,D)
Started.

Вручную остановите и удалите таймер.

stop(t)
delete(t)

Алгоритмы

  • Метод startat задает, когда объект - таймер выполняет коллбэк TimerFcn, не, когда таймер начинает запускаться. Таймер начинает запускаться с вызовом метода startat.

  • На основе требуемого времени startat вычисляет и устанавливает необходимое свойство StartDelay объекта - таймера, t. Кроме того, это устанавливает свойство Running объекта - таймера к 'on' и выполняет коллбэк StartFcn.

  • startat изменяет свойство startDelay объекта timer. По сути, startat заменяет заданные значения свойства startDelay таймера.

Представлено до R2006a