startat

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

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

Описание

пример

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

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

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

пример

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 'callback'.

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

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