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