Расчетные сутки, расчетный месяц
Свойство «период» параметра БД Electro в частности имеет значения СУТКИ, МЕСЯЦ в контексте локального календаря. Параметр с суточным периодом определен на интервалах оси времени, образованных метками локального времени 00:00:00. Соответственно, параметр с месячным периодом определен на интервалах оси времени, образованных метками локального времени 00:00:00 первого календарного дня месяца.
Значения РАСЧЕТНЫЕ СУТКИ, РАСЧЕТНЫЙ МЕСЯЦ представляют из себя дальнейшее обобщение. В конфигурации системы Electro имеются константы CALCDAYH и CALCMOND. Константа CALCDAYH задает значение часов (0..23) меток времени, образующих интервалы расчетных суток и месяца. Константа CALCMOND задает значение дня (1..28) меток времени, образующих интервалы расчетного месяца.
Значения констант CALCDAYH (стандартное значение 9) и CALCMOND (стандартное значение 1) могут быть изменены в файле ELECTRO.INI в строке LICENZ, например
LICENZ=1 OWN="ХХХ" TMLIM=0 DEV=10 OBJ=1000 CALCDAYH =7 CALCMOND=15
т.е. расчетные сутки и месяц будут начинаться в 07:00:00 локального времени; кроме того расчетный месяц начинается 15-го числа календарного месяца.
Значения CALCDAYH=0 CALCMOND=1 превращают расчетные интервалы в обычные календарные.
Вычисляемый параметр. Агрегатирующие функции
Вычисляемый (расчетный) параметр данного типа строится путем применения к базовому параметру (периодическому или непериодическому) одной из функций агрегатирования на интервалах создаваемого параметра. Дополнительно вычисленное значение умножается на заданный коэффициент.
Например, имеем базовый параметр «текущая активная мощность». Если мы хотим получить количество энергии за получасовые интервалы – создадим вычисляемый параметр с периодом 1800 и функцией агрегатирования INTG. Если нам нужно усреднить мощность на 5-ти-минутных интервалах – создадим вычисляемый параметр с периодом 300 и функцией агрегатирования AVGTM. И т.п.
№ | Обозначение | Описание, пример применения |
0 | MIN | Минимальное значение |
1 | MAX | Максимальное значение |
2 | AVG | Среднеарифметическое значение |
3 | INTG | Численное интегрирование (метод прямоугольников) |
4 | AVGTM | Среднее по времени значение |
5 | FIRST | Первое прочитанное значение |
6 | LAST | Последнее прочитаннное значение |
7 | SUM | Арифметическая сумма |
8 | CNT | Количество переходов "ноль" ßà "не ноль" |
9 | CNT0 | Количество переходов "не ноль" à "ноль" |
10 | CNT1 | Количество переходов "ноль" à "не ноль" |
11 | TM0 | Время (секунды) нахождения в состоянии "ноль" |
12 | TM1 | Время (секунды) нахождения в состоянии "не ноль", |
13 | DIF | Приращение значения |
14 | TM_FIRST | Время первого прочитанного значения |
15 | TM_LAST | Время последнего прочитанного значения |
16 | POINT_CNT | Количество значений |
17 | ROUND | Округление |
18 | PROJ | Проекция (пропорциональное копирование) |
19 | SHARP | Линейная интерполяция на начало интервала по двум точкам |
Вычисляемый параметр. Препроцессор
Если вычисляемый параметр типа Агрегатирование описывается некоторой функцией над базовым параметром (см. Вычисляемый параметр. Агрегатирующие функции), то параметр типа Препроцессор рассчитывается на основе нескольких базовых параметров. Дополнительно вычисленное значение умножается на заданный коэффициент.
Список процедур препроцессора
№ | Обозначение | Описание, пример применения |
20 | LPCALC(@;@) | Вычисление ГН по типовому ГН и опорным точкам |
21 | LPREST(@;@) | Восстановление ГН по исходному ГН и суточной энергии |
22 | LPREST2(@;@) | Восстановление ГН по исходному ГН и суточной мощности |
23 | REPL1(@;@) | (@2!=0) ? @2 : @1 |
24 | MASK1(@;@) | (@2!=0) ? 0.0 : @1 |
25 | MINCNST(@;koef) | (@1>=koef) ? @1 : koef |
26 | MAXCNST(@;koef) | (@1<=koef) ? @1 : koef |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рекомендация. Для изучения поведения процедур препроцессора создайте базовые параметры типа Ручной ввод. Вводите значения базовых параметров (утилита ManInput.exe) и наблюдайте значения вычисляемой величины (утилита DBView.exe).