Ваши комментарии

День добрый.

Присланный пример как раз и фиксирует максимальное значение переменной когда она находится за зоной верхней уставки. Про какое среднее мы говорим, уточните.

Добрый вечер.

Исправлено версия 4.7.7.75

а зачем для этой задачи использовать БД. Не проще будет при выходе канала за уставки, фиксировать его максимальное значение и выводить его или записывать в журнал? Или я не верно понял Вашу задачу?

var
  val1, val2: Double;
  status: integer;    
   
  // Выполняется при старте скрипта
  procedure OnStartScript;
  begin
    val2 := 0;
  end;                        
                                             
begin             
  status := GetAlarmStatus('Name');    
  case status of       
    1: // 1 - переменная в рабочей зоне (аналоговый канал)
      begin 
        if val2 <> 0 then
        begin 
          Log(esInfo, 'Max' + FloatToStr(val2));  
          val2 := 0;
        end; 
      end; 
     2: // 2 - переменная выше уставки (аналоговый канал)   
      begin
        val1 := ReadValue('Name');
        if val1 > val2 then
          val2 := val1;
      end;
  end;
end.  

День добрый.

Так давайте подробней рассмотрим задачу - т.е. есть некий канала, значение которого Вы контролируете, и в случае если канал вне допустимых значений, хотите отобразить максимальное значение канала когда он он был за зоной уставок - верно?

Калькулятор расхода, я думаю тут не подойдёт. Вариант на вскидку -  Сохраняете значение счетчика каждый час (как Вы сделали), далее можно в скрипте читать БД по записанному каналу и считать уже за произвольный интервал.  

День добрый.

Но как их лучше хранить и как с ними потом удобно работать... Чтобы можно было удобно смотреть выпущенную продукцию за час, сутки, месяц.

На вскидку пару вариантов: 1. Завести несколько виртуальных каналов, и скриптом раскладывать в них входное значение счетчика соответственно по дням, месяцам и т.д. 2. Хранить так как есть нараставшим итогом, а далее формировать отчет соответственно по суткам месяцам и т.д.

День добрый.

Ок. Проверим.

День добрый.

На данный момент есть возможность записывать только каждый выход по отдельности.

День добрый.

В какой момент работы возникает ошибка? Конфигурацию  Insat Multi-protocol OPC пришлите.

День добрый.

На данный момент скрипты не поддерживают работу с рецептами.

Сервис поддержки клиентов работает на платформе UserEcho