Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: Серега от 17 Июня 2020, 16:06:31
-
Добрый день!
Многие могут сказать зачем это надо. Поверьте надо. На форуме есть темы связанные с интегрированием при ... формировании отчета.
Меня попросили реализовать как бы runtime и в живую наблюдать график изменения. Но вот вопрос как.
Кратко о задаче. Есть ток и напряжение. формула простая Ток умножаем на Напряжение делим это все на 3600 и берем интеграл по времени действа (от 0 до окончания процесса секунд 40).
Один из способов 1секундный скрипт считаем, передаем в переменную под архивированием. В конце запрос к базе на сумму за период
или
Второй способ 1секундный скрипт считаем, передаем в переменную под архивирование и в локальный массив.
Еще пару способов то же самое но по изменению тока и напряжения.
Если кто может что нибудь подсказать.
Жду вопросов и предложений
-
А ток и напряжение меняются во времени, или заранее определены?
-
Здравствуйте.
На форуме есть темы связанные с интегрированием при ... формировании отчета.
В скаде есть аналогичный функционал вычисления интеграла из архивных данных - см. процедуру ArchiveIntegral (https://simple-scada.com/help/script/archiveintegral.html).
-
Добрый день!
Neskad да ток и напряжение меняются.
НО функция походу решит задачу.
Буду пробовать.
-
Здравствуйте.
Судя по значениям интегралов по различным слоям - для получения правильного значения необходимо умножение на номер слоя.
Если нужна максимальная точность, то просто вызывайте ArchiveIntegral для основного слоя и не используйте другие слои. Будут взяты все точки тренда и по ним произведён расчет интеграла.
Если использовать другие прореженные слои (минутный, часовой, суточный), то интеграл будет вычисляться быстрее, но точность будет ниже. Основной слой содержит все точки тренда (самый точный и самый медленный). Минутный слой содержит четыре точки за каждую минуту. Часовой четыре точки в час. Суточный - четыре в день (наименее точный и самый быстрый).