startat

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

Планируйте запуск таймера в указанное время

Описание

пример

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-Jan-0000 года (начиная с 1). Посмотрите datenum для получения дополнительной информации о серийных номерах дат.

  • Чтобы задать символ представление дат, используйте следующие форматы дат, заданные в datestr функция: 0, 1, 2, 6, 13, 14, 15, 16 или 23. Эти числовые идентификаторы соответствуют форматам, заданным formatOut свойство datestr функция. Даты с двухсимвольными годами интерпретируются в пределах 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 дня до 00:00:00

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

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

stop(t)
delete(t)

Алгоритмы

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

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

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

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