0
Отвечен

Вывести показания среднего значения тега за выставленный период времени

greymen123 2 месяца назад в Общие вопросы обновлен 2 месяца назад 3

Доброго времени суток!)

Прошу помочь в решении простой задачи скорее всего... Необходим скрипт для отображения среднего значения за выставленный период времени. Создал небольшое окно мнемосхемы, надо ввести дату и время начала отсчёта и дату и время окончания и чтобы при нажатии кнопки отсчёт, выводилось среднее значение за выбранный период времени. Я попробовал пользуясь инструкциями на сайте по функциям времени, но что то видимо не так делаю... Заранее благодарю за ответ!

Ответ

+1
Ответ
На рассмотрении

День добрый.

Самое простое сделать так:

1. Добавляем три виртуальных канала.

2. Два канала типа DateTime.

3. Третий канал - Double.

4. В третьем канале добавляем скрипт по событию записи.

5. В скрипте:


Var 
beginData, endData: TDateTime;
value: double;
Begin
beginData := ReadValue('Дата начала (имя канала)');
endData := ReadValue('Дата окончания (имя канала)');
value := GetMeanValueFromDB(beginData, endData, 'Имя канала по которому читаем среднее');
WriteValue('Имя третьего канала куда выводим результат', value);
end. 


6. На мнемосхеме размещаем два элемента ввода даты/времени - и привязываем их к виртуальным каналам (к примеру: "Дата начала (имя канала)",  "Дата окончания (имя канала)"  ). Так же размещаем кнопку которая будет писать любое значение в третий канал, для того что бы запустить скрипт.

7. В принципе - все. 



   

ХОРОШО, МНЕ ПОНРАВИЛОСЬ

Обслуживание и работа тех. поддержки выше всех похвал!!! Вы прям лучшие!)

Оценка удовлетворенности от greymen123 2 месяца назад
+1
Ответ
На рассмотрении

День добрый.

Самое простое сделать так:

1. Добавляем три виртуальных канала.

2. Два канала типа DateTime.

3. Третий канал - Double.

4. В третьем канале добавляем скрипт по событию записи.

5. В скрипте:


Var 
beginData, endData: TDateTime;
value: double;
Begin
beginData := ReadValue('Дата начала (имя канала)');
endData := ReadValue('Дата окончания (имя канала)');
value := GetMeanValueFromDB(beginData, endData, 'Имя канала по которому читаем среднее');
WriteValue('Имя третьего канала куда выводим результат', value);
end. 


6. На мнемосхеме размещаем два элемента ввода даты/времени - и привязываем их к виртуальным каналам (к примеру: "Дата начала (имя канала)",  "Дата окончания (имя канала)"  ). Так же размещаем кнопку которая будет писать любое значение в третий канал, для того что бы запустить скрипт.

7. В принципе - все. 



   

Большое спасибо!!!)всё и правда оказалось проще чем казалось... Я обязательно ещё раз пройду курсы на Stepike!))) Я прям восхищаюсь работой тех поддержки!!!)) Вы лучшие!

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