При создании периодического источника данных в словаре отчёта создаются три переменные: "Начало", "Конец" и "Интервал" (можно задать им и другие имена). Периодический источник данных при построении берёт из базы данных все архивные данные за период от переменной "Начало" до переменной "Конец" и делит их на равные интервалы (в секундах). Посмотрите на изображение ниже. Переменная "Начало" здесь равна 00:00:00, переменная "Конец" равна 00:01:30. Переменная "Интервал" равна 20 (сек.).

Получается пять разных интервалов. Для каждого интервала будут взяты все точки, которые попадают в этот интервал и с этими точками будет выполнена заданная пользователем обработка. Доступны следующие типы обработок:
Тип обработки |
Описание |
|---|---|
первое значение |
Первое значение входящее в интервал. |
последнее значение |
Последнее значение входящее в интервал. |
минимум |
Минимальное значение входящее в интервал. |
максимум |
Максимальное значение входящее в интервал. |
среднее |
Средневзвешенное по времени значение. В вычислении участвуют все значения входящие в интервал. |
интеграл |
Интеграл по всем значениям входящим в интервал. Для данного типа обработки также можно задать значение делителя. Делитель используется только с типом обработки "Интеграл" в периодических источниках данных. При вычислении интеграла за какой-либо период, скада использует время в секундах. Но показания для которых вычисляется интеграл, не всегда измеряются в секундах. Например, электросчетчики часто передают показания в кВт/ч, расходомеры в м3/час и т.д. В таких случаях нужно использовать делитель равный 3600, так как один час содержит 3600 секунд. Если данные, для которых вычисляется интеграл измеряются в литрах в минуту, то нужно использовать делитель равный 60, так как 1 мин. равна 60 сек. |
интерполяция |
Промежуточное значение на момент конца интервала. Рассмотрим пример. Пусть у нас имеется два значения полученные в разное время. Одно в 00:00, равное 0. Второе, через 10 секунд, т.е. в 00:10 равное 50. Допустим, конец интервала попадает на время 00:05. Тогда тип обработки "Интерполяция" вернёт значение равное 25. |
точное |
Точное значение на момент конца интервала. Рассмотрим пример. Пусть у нас имеется два значения полученные в разное время. Одно в 00:00, равное 0. Второе, через 10 секунд, т.е. в 00:10 равное 50. Допустим, конец интервала попадает на время 00:05. Тогда тип обработки "Точное" вернёт значение равное 0, т.к. известно, что значение все время было равно 0 и изменилось на 50 только в 00:10. Значит до 00:10 оно было равно 0. |
включения |
Количество включений (т.е. переходов значения переменной от нуля к любому значению отличному от нуля) за заданный интервал. |
выключения |
Количество выключений (т.е. переходов от любого значения переменной отличного от нуля к нулю) за заданный интервал. |
время вкл. |
Время, в течение которого значение переменной было отлично от нуля. |
время выкл. |
Время, в течение которого значение переменной было равно нулю. |
разница |
Разница между последним и первым значением входящим в интервал. |
разница (точное) |
Разница между значением на конец интервала и значением на начало интервала. Если в конце или в начале интервала нет данных, то результатом будет 0. |
Результат обработки каждого интервала выводится в источник данных. Если рассматривать наш пример и выбрать тип обработки "Среднее", то в периодический источник данных будут выведены следующие строки:
ВРЕМЯ СРЕДНЕЕ
00:00:20 125
00:00:40 75
00:01:00 112,5
00:01:20 212,5
00:01:30 50
Создание отчёта с периодическим источником данных описано в этой статье.