Здравствуйте.
Вы пересчитываете часовой расход раз в час? И нужно добавить ещё расчет суточного расхода раз в 24 часа? Если да, то можно в тот же часовой скрипт добавить код проверки на то, что прошло 24 часа, например:
begin
// этот код выполняется каждый час
HourlyWaterConsumption_VNS19.Value := (DiscreteInputCount0_19_End.Value - DiscreteInputCount0_19_Start.Value) / 10;
if HourOf(Now) = 0 then
begin
// код расположенный здесь будет выполняться каждые 24 часа в 00 часов 00 минут.
// здесь же можно разместить пересчет суточного расхода
end;
end.
Здравствуйте. Всё-равно не получилось сделать часовой расход. Сделал вот такую залипуху:
Создал скрипт который выполняется ежечасно:
var
aDateHourly: TDateTime;
begin
//Часовой расход воды ВНС 19
aDateHourly := RecodeTime(Now, HourOf(Now), 0, 0, 0);
ArchiveValueByTime(DiscreteInputCount0_19, HourlyWaterConsumption_VNS19_End, aDateHourly);
aDateHourly := IncHour(Now, -1);
ArchiveValueByTime(DiscreteInputCount0_19, HourlyWaterConsumption_VNS19_Start, aDateHourly);
end.
Также создал скрипт по изменению переменной и добавил туда 2 тега
HourlyWaterConsumption_VNS19_Start и
HourlyWaterConsumption_VNS19_Endbegin
//Вычисляем значение в кубометрах и записываем результат в HourlyWaterConsumption_VNS19_Result
HourlyWaterConsumption_VNS19_Result.Value := (HourlyWaterConsumption_VNS19_End.Value - HourlyWaterConsumption_VNS19_Start.Value) / 10;
end.
Как думаете? Правильно?
Я сделал по принципу суточного расхода
https://simple-scada.com/forum/index.php?topic=929.0