exponenta event banner

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)

Алгоритмы

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

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

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

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