Временной интервал выборки

  Разбиение (T_FROM, T_TO) на интервалы

Начиная с релиза 6.07, рекомендуется использовать каналы CALL выборки данных из архива с Параметр>=32.

Для задания диапазона (T_FROM, T_TO) выборки данных из архива каналы CALL с Параметр=0-31 используют функцию INTERVAL (см. Интервал выборки из архива ) со следующей передачей параметров (см. Атрибуты канала класса CALL ):

   TYPE = Интервал выборки (34, FPrnt);

   OFFSET = аппаратное значение канала CALL (1, A);

   DELTA = arg1 (тип данных аргумента должен быть любой целочисленный).

В каналах CALL с Параметр>=32 диапазон (T_FROM, T_TO) задают arg0 и arg1 (тип данных этих аргументов должен быть DATE_AND_TIME).

МРВ автоматически устанавливает бит 5 (0x20) атрибута Параметр канала CALL выборки данных из архива, если тип данных arg0 и arg1 этого канала – DATE_AND_TIME.

Существуют следующие зарезервированные значения arg0 и arg1 с типом данных DATE_AND_TIME (если эти аргументы не имеют привязки):

   arg0:

   0 – T_FROM=<T_TO – 1 минута>;

   1 – T_FROM=<начало часа, заданного T_TO>;

   2 – T_FROM=<T_TO – 1 час>;

   3 – T_FROM=<начало текущего дня>;

   4 – T_FROM=<T_TO – 1 день>;

   5 – T_FROM=<T_TO – 2 дня>;

   6 – T_FROM=<T_TO – 3 дня>;

   7 – T_FROM=<T_TO – 4 дня>;

   8 – T_FROM=<T_TO – 5 дней>;

   9 – T_FROM=<T_TO – 1 неделя>;

   10 – T_FROM=<начало текущего месяца>;

   11 – T_FROM=<начало предыдущего месяца>;

   12 – T_FROM=<2 месяца назад от начала текущего месяца>;

   13 – T_FROM=<1 квартал назад от текущего времени, выравнивание на начало месяца>;

   14 – T_FROM=<T_TO – 3 месяца, выравнивание на начало месяца>;

   15 – T_FROM=<T_TO – 1 месяц, выравнивание на начало месяца>;

   16 – T_FROM=<начало текущего года>;

   17 – T_FROM=<начало предыдущего года>;

   32 – если в проекте нет пользователей, T_FROM=<время запуска МРВ>, в противном случае T_FROM=<начало текущей сессии>;

   33 – T_FROM=<начало предыдущей сессии>;

   34…45 – T_FROM=<начало соответствующего месяца> (34 – январь);

   arg1:

   0 – T_TO=<начало текущей минуты>;

   1 – T_TO=<начало текущего часа>;

   2 – T_TO=<начало текущего дня>;

   3 – T_TO=<начало предыдущего часа>;

   4 – T_TO=<начало предыдущего дня>;

   6 – T_TO=<начало текущей недели> (недели отсчитываются с начала года);

   8 – T_TO=<начало предыдущей недели (понедельник)>;

   9 – T_TO=<начало текущей недели>;

   10 – T_TO=<начало текущего месяца>;

   11 – T_TO=<начало предыдущего месяца>;

   12 – T_TO=<2 месяца назад от начала текущего месяца>;

   13 – T_TO=<начало текущего квартала>;

   16 – T_TO=<начало текущего года>;

   17 – T_TO=<начало предыдущего года>;

   33 – T_TO=<окончание предыдущей сессии>;

   34…45 – T_TO=<начало соответствующего месяца> (34 – январь).

С помощью зарезервированных значений arg0 и arg1 для T_FROM и T_TO нельзя установить будущее время относительно текущего.

Отображение значений arg0 и arg1 зависит от флага Запрос времени значения канала:

   если флаг не установлен, при успешной выборке данных предустановленные значения заменяются абсолютными временными метками;

   если флаг установлен, при успешной выборке данных предустановленные значения заменяются абсолютными временными метками, которые вновь заменяются предустановленными значениями спустя приблизительно 30с.

Разбиение (T_FROM, T_TO) на интервалы

Значение младшего полубайта атрибута Параметр канала-инициатора выборки задает величину интервалов, на которые разбивается диапазон (T_FROM, T_TO) (соответственно, число интервалов равно результату деления диапазона на интервал):

   0 – нет разбиения на интервалы;

   1 – 60с;

   2 – 1ч;

   3 – 5мин.;

   4 – 15мин.;

   5 – 20мин.;

   6 – 30мин.;

   7 – 2ч;

   8 – 4ч;

   9 – 6ч;

   10 – 8ч;

   11 – 12ч;

   12 – 24ч;

   13 – 1 неделя (недели отсчитываются с начала года);

   14 – 1 декада (декады отсчитываются с начала месяца);

   15 – 1 месяц (число дней в месяцах соответствует календарным значениям).