1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Математические действия в IO Field

Ответить

Автор темы
Eugen123
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 09 фев 2024, 08:43
Имя: Евгений
Страна: Россия
Благодарил (а): 4 раза

Математические действия в IO Field

Сообщение Eugen123 »

Добрый день, в IO Fiels хочу вывести разность между значениями двух тэгов. Для этого написал VB скрипт и повесил его на параметр output объекта IO Field.

Код: Выделить всё

Dim tagE2, tagE3
Set tagE2=HMIRuntime.Tags("TAG_E2")
Set tagE3=HMIRuntime.Tags("TAG_E3")
tagE2.Read
tagE3.Read
Item.OutputValue=tagE3.Value-tagE2.Value
Скрипт работает, разница считается, но при сохранении pdl выдается Perfomance warning Actions with cyclic triggers. Кол-во предупреждений = кол-ву объектов IO Field с назначенными макросами.
Вопрос:
На сколько такой вариант (без создания отдельного тэга для разницы) будет стабильным для рантайма и на сколько сильно просядет производительность, если таких IO Field на pdl будет около 50?

AlexandrGr
освоился
освоился
Сообщения: 216
Зарегистрирован: 26 май 2022, 12:10
Имя: Александр
Страна: Россия
город/регион: lipetsk
Благодарил (а): 3 раза
Поблагодарили: 17 раз

Математические действия в IO Field

Сообщение AlexandrGr »

Привяжите к изменениям тэгов TAG_E2 и TAG_E3 или к Picture cycle например.

makesstr
осмотрелся
осмотрелся
Сообщения: 194
Зарегистрирован: 19 сен 2019, 10:09
Имя: Макс
Страна: Россия
город/регион: Славянск-на-Кубани
Благодарил (а): 5 раз
Поблагодарили: 34 раза

Математические действия в IO Field

Сообщение makesstr »

Для таких дел больше подходит DynamicDialog
WinCC 7.4 SP1 Upd15, Step5.6

Автор темы
Eugen123
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 09 фев 2024, 08:43
Имя: Евгений
Страна: Россия
Благодарил (а): 4 раза

Математические действия в IO Field

Сообщение Eugen123 »

Решение: Открыть DynamicDialog на Output Value объекта IO Field, выбрать Direct, в поле Expression/Formula ввести

Код: Выделить всё

( 'TAG_E3'-'TAG_E2')
Ответить

Вернуться в «WinCC»