Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: razorqhex от 31 Октября 2019, 14:23:37

Название: Запись значения в один тег, а чтение с другого
Отправлено: razorqhex от 31 Октября 2019, 14:23:37
Всем привет.

Не могу разобраться с одним вопросом. Пробовал разные методы решения задачи.

В общем:
Есть поле FiledTask1 и нужно сделать такую штуку, а именно в тег SetPoint я произвожу запись, а чтение в это же поле должно быть с тега ReferenceUnit.

Делал функции по изменению переменной, подбрасывал разные варианты событий. Объект поле то не менялся, то неправильные результаты были. Записал в тег значение 1.45, на ОРС значение ещё не изменилось, но по событию объект поле считал значение уже с ReferenceUnit, которое к тому времени ещё не успело измениться.
Название: Re: Запись значения в один тег, а чтение с другого
Отправлено: Simple_Scada от 01 Ноября 2019, 10:33:41
Здравствуйте.

Как мы понимаем, Вам нужно при вводе значения через компонент "Поле (https://simple-scada.com/help/manual/field.html)" записать значение в одну переменную и вывести в это же поле значение другой переменной. Такой возможности, к сожалению нет. В будущем рассмотрим возможность добавления такого функционала. Данный функционал имеется в некоторых OPC-серверах, например arOPC (https://simple-scada.com/aropc)(см. скриншот во вложении), т.е. можно создать один тэг, в котором запись будет производиться по одному адресу, а чтение по другому и затем использовать этот тэг в скаде.
Название: Re: Запись значения в один тег, а чтение с другого
Отправлено: razorqhex от 04 Ноября 2019, 11:40:55
Здравствуйте. К сожалению мы используем Master OPC. Выход с этой ситуации я нашел такой:

Пусть у нас будет поле field1 только для вывода тега, а поле field2 только для записи и соответственно теги: tag1 - для считывания этого тега, tag2 - для записи. В field1 не разрешаем ввод данных (смотрите в свойствах объекта). field1и field2 налаживаем друг на друга чтобы не было видно разницы. В field1 закидываем тег для чтение (tag1), соответственно в field2 закидываем тег для записи (tag2). В поле field2 переходим на вкладку "События" и создаём событие OnDoneInput. Внутри скрипта пишет такой код:
Код
begin
  field2.Visible := false;
end.
Далее создаём новый скрипт "Изменились переменные". В этот скрипт, через кнопку "Выбрать переменные", закидываем tag1 и пишем такой код:
Код
begin
  field2.Visible := true;
end.
Тем самым мы сделаем чтение и запись разных тегов якобы в одно поле. Будьте внимательны, если в ОРС переменная для чтение не изменится, то поле для записи не появится.
Название: Re: Запись значения в один тег, а чтение с другого
Отправлено: Simple_Scada от 04 Ноября 2019, 14:23:55
Здравствуйте.

В Master OPC тоже имеется такой функционал(см. скриншот во вложении) и точно также можно создать один тэг, в котором запись будет производиться по одному адресу, а чтение по другому и затем использовать этот тэг в скаде.
Название: Re: Запись значения в один тег, а чтение с другого
Отправлено: razorqhex от 29 Мая 2020, 23:00:03
А Вы не знаете, случаем в Lectus OPC такое возможно сделать?
Название: Re: Запись значения в один тег, а чтение с другого
Отправлено: Simple_Scada от 31 Мая 2020, 11:13:56
Насколько нам известно, в Lectus такой возможности нет, но лучше данный вопрос уточнить в техподдержке Lectus.