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

Евгений, я не вижу причины использовать скрипт для такой простой задачи, у каждого физического канала, есть свойство "формула", в которой Вы можете задать пересчёт получаемого значения.


Дело в том, что значение с прибора Termodat на opcserver приходит в виде целого числа, например, на приборе температура - 27,4 градуса, а на opcserver приходит 274. При применении к нему формулы val/10 на выходе получаем 27.
Решается это только в скрипте - преобразованием значения в переменную типа Real, а далее применение к нему формулы :


var t:real; ///действительное число

t:= ReadValue('COM1/dev2(addr=2)/var1');
WriteValue('Virtual channel 1', t/10);



Ок. Понятно. Тогда я бы сделал следующим образом, к примеру у меня есть 100 физических каналов, мне будет необходимо 100 виртуальных, причём только в одном из них есть скрипт, остальные 99 "без скриптов", в скрипте производим обработку всех каналов, а пишем посчитанное значение уже в те 99 виртуальных канала. Как я писал выше перечисление в цикле имен каналов не получиться сделать(в ближайшее время мы постараемся решить эту задачу).

как вариант! создать массив..и поместить в него, в ручную, имена всех каналов..затем обрабатывать этот массив в цикле..единственный минус что нужно в ручную вводить имена 100 каналов


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