Здравствуйте.
Для вычисления расхода за час не требуется сохранять значение переменной строго раз в час. Вместо этого, у переменной должна быть настроена архивация "
по изменению", тогда можно будет получить точное значение переменной за любой момент времени. Если Вам требуется использовать расход за час в отчете, то для этого не нужно что-либо делать в скриптах. Для этого нужно использовать
периодический отчет с интервалом 1 час и
типом обработки "разница". В итоге, в отчете будут формироваться строки с расходом на каждый час, за заданный интервал времени. При этом, скрипты писать не потребуется и данный способ будет работать гораздо быстрее. Если требуется вычислить расход за час для использования в скаде, то см. пример
по ссылке.
Сейчас на переменной стоит архивация раз в 1 час, но час отсчитывается от запуска проекта/сервера.Нужно сохранять по скрипту прошел час
Переменная архивируется только по изменению, даже если Вы установили тип архивации «По времени» и задали интервал в 1 час. Новое значение переменной будет записано в архив при изменении значения переменной, если прошло больше времени (от последней добавленной в архив точки), чем указано в параметре "Интервал архивации", таким образом даже если выбран тип архивации «По времени», в архив данные будут попадать не обязательно строго раз в час.
Про вариант INSERT INTO `trends_data` (ID, Timestamp, Value, Quality) VALUES (11, NOW(), 65, 1) знаю
Записывать какие-либо значения в таблицы скады нельзя - это может привести к нарушению структуры БД, проблемам в отображении трендов, проблемам в работе архивных функций и т.д. Если требуется сохранять какие-либо значения в БД, то для этого нужно создать свою таблицу в БД и работать с ней, например как описано
по ссылке.