По последнему вопросу, опять же 1exan вам уже ответил, большое ему спасибо!
Если нужны данные разных устройств - можно использовать сценарии
Здесь есть несколько вариантов (скрипты во вложении):
Вариант 1: Датчиков ограниченное число - будем пересчитывать среднее в момент изменения значения любого из датчиков
Вариант 2: Датчиков много, среднее значение достаточно считать с заданной периодичностью
В этом случае не будем прописывать каждый датчик в скрипте, а будем выбирать по какому-то признаку:
можно по названию, размещению, метке.
Сценарий можно вызывать по расписанию с нужной периодичностью.
При таком подходе среднее значение доступно в любом месте, можно даже вывести график/отчет средних значений
Если же хотите все делать прямо на экране в точке визуализации, можно и так:
В привязке выберите для каждого датчика значение и состояние канала, например:
inData TE_001.value
inData1 TE_001.value#chstatus
inData2 TE_002.value
inData3 TE_002.value#chstatus
В окне Function поместите скрипт:
let sum = 0;
let n = 0;
if (inData1 == 0) {sum = sum + inData; n = n +1;}
if (inData3 == 0) {sum = sum + inData2; n = n +1;}
if (n>0) return Math.round(sum/n);
return '-';
JavaScript довольно простой язык, стандартный, результат виден сразу.
Наша документация содержит много примеров и даже краткое описание основ JS https://docs.intrascada.com/ru/pg338
Применение скриптов позволяет делать так как нужно вам, а не как замыслил и воплотил разработчик системы 🙂




Ответить с цитированием
