Разбиение (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 месяц (число дней в месяцах соответствует календарным значениям).