Ваши комментарии
у меня обычный перебор не получается
evgeniy, пример скрипта который Вы приводили выше, должен работать:
var
d,r:array[1..10] of real;
i:integer;
begin
for i:=1 to 10 do
begin
d[i] := ReadValue('Датчик 1_('+IntToStr(i)+')');
r[i] := d[i]+100 ;
WriteValue('Стапель1 Датчик 1_('+IntToStr(i)+')',r[i]+i);
end;
end.
Для теста попробуйте подключиться к серверу сторонним ОРС клиентом, и посмотреть свойства тега, какой тип доступа у него (read, write, read/write).
В редакторе мнемосхем есть такой компонент "Текст". При привязке его к определенному канала, у него появляются дополнительные свойства "Знач. выше уставки","Знач. норма" и т.д. Очень полезные свойства! Хотелось бы их видеть и у других компонентов, например "Цифровой индикатор", "Матричный индикатор".
Пока в планах переработка "Цифровой индикатор", "Матричный индикатор" не стоит, запланируем, возможно в скором времени вернемся к их доработке.
А также возможно ли сделать альтернативные компоненты всем выше перечисленным, чтобы в них можно было задать реакцию компонента не на уставку, а на некоторое заданное значение. С какой целью Вы спросите? Значение уставки задается однократно в редакторе каналов. Вот и возникает вопрос как быть, если на одном производственном участке используют разные значения уставки для разных деталей? Решением в этом случае может быть такой компонент.
Да, скорей всего такие компоненты появятся в ближайшее время, работы над их созданием ведутся.
Например: значения свойства какого-либо канала заполняю определенными значениями, отключаю этот канал, сохраняю настройки и закрываю редактор. Затем открываю редактор снова и включаю этот канал, при этом обнаруживаю, определенные ранее значения заменены значениями по умолчанию.Так и должно быть?
Да, сохраняются только свойства активных каналов, если Вы отключили канал и сохранили проект, то свойства отключенного канала сохранены не будут
Нельзя редактировать свойства "формула" и "видимость канала" у группы каналов (версия enterprise 4.3.0.197).
Ок, мы добавим это в лист доработок.
Free версия работает с реальным соединением? с реальным каналом? с контроллером?
Да, работает, ограничение только в количестве каналов.
Спасибо за Ваши предложения, мы рассмотрим их, о результатах сообщим.
Здравствуйте!Ответьте когда ждать релиза?В течении одного - двух дней.
как вариант! создать массив..и поместить в него, в ручную, имена всех каналов..затем обрабатывать этот массив в цикле..единственный минус что нужно в ручную вводить имена 100 каналов
Отпишитесь на почту, проблему с перебором решили.
Евгений, я не вижу причины использовать скрипт для такой простой задачи, у каждого физического канала, есть свойство "формула", в которой Вы можете задать пересчёт получаемого значения.
Дело в том, что значение с прибора 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 виртуальных канала. Как я писал выше перечисление в цикле имен каналов не получиться сделать в текущей версии.
P.S. Задача с перебором в цикле решена, в ближайшем релизе будет.
Сервис поддержки клиентов работает на платформе UserEcho
Версии программы везде одинаковые?