Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: razorqhex от 27 Декабря 2019, 14:30:57

Название: Часовой расход воды
Отправлено: razorqhex от 27 Декабря 2019, 14:30:57
Всем привет. Недавно я задавал вопрос о суточном расходе https://simple-scada.com/forum/index.php?topic=929.0

Я пытался сделать часовой расход

Добавил скрипт "прошел час" и формулу расчёта

Код
begin
  HourlyWaterConsumption_VNS19.Value := (DiscreteInputCount0_19_End.Value - DiscreteInputCount0_19_Start.Value) / 10;
end.

Как можно считать часовой расход + суточный?
Название: Re: Часовой расход воды
Отправлено: Simple-Scada от 27 Декабря 2019, 21:31:14
Здравствуйте.
 
Вы пересчитываете часовой расход раз в час? И нужно добавить ещё расчет суточного расхода раз в 24 часа? Если да, то можно в тот же часовой скрипт добавить код проверки на то, что прошло 24 часа, например:
Код: (delphi)
begin
  // этот код выполняется каждый час
  HourlyWaterConsumption_VNS19.Value := (DiscreteInputCount0_19_End.Value - DiscreteInputCount0_19_Start.Value) / 10;

  if HourOf(Now) = 0 then
  begin
    // код расположенный здесь будет выполняться каждые 24 часа в 00 часов 00 минут.
    // здесь же можно разместить пересчет суточного расхода
  end;
end.
Название: Re: Часовой расход воды
Отправлено: razorqhex от 06 Января 2020, 14:23:20
Здравствуйте.
 
Вы пересчитываете часовой расход раз в час? И нужно добавить ещё расчет суточного расхода раз в 24 часа? Если да, то можно в тот же часовой скрипт добавить код проверки на то, что прошло 24 часа, например:
Код: (delphi)
begin
  // этот код выполняется каждый час
  HourlyWaterConsumption_VNS19.Value := (DiscreteInputCount0_19_End.Value - DiscreteInputCount0_19_Start.Value) / 10;

  if HourOf(Now) = 0 then
  begin
    // код расположенный здесь будет выполняться каждые 24 часа в 00 часов 00 минут.
    // здесь же можно разместить пересчет суточного расхода
  end;
end.
Здравствуйте. Всё-равно не получилось сделать часовой расход. Сделал вот такую залипуху:
Создал скрипт который выполняется ежечасно:
Код: (delphi)
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_End
Код: (delphi)
begin
//Вычисляем значение в кубометрах и записываем результат в 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 (https://simple-scada.com/forum/index.php?topic=929.0)
Название: Re: Часовой расход воды
Отправлено: Simple-Scada от 07 Января 2020, 16:51:34
Цитировать
Как думаете? Правильно?
Здравствуйте. Можно и так, если Вам это подходит.