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

Проблема с инвертированием тега WinCC7.5

Ответить

Автор темы
_Zx_
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 26 май 2021, 08:55
Имя: Андрей
Страна: Украина

Проблема с инвертированием тега WinCC7.5

Сообщение _Zx_ »

Здравствуйте. В инвертировании тега по кнопке любым простейшим скриптом (ввиду отсутствия элементарного нескриптового варианта) иногда происходит "тройное" переключение тега, то есть 1-0-1, и наоборот. Бит в контроллере при этом инвертируется правильно. Все эталонные варианты скрипта и на С, и на vbs работают одинаково. Тэг нигде более не используется, бит в программе контроллера не меняется. В channel diagnostic вроде ничего необычного, очередь записи в нуле. Все последние патчи стоят. WinCC 7.5, plc318. Проблема на пустом месте, но очень неприятная для технологов. Присутствует на любом включении-выключении механизма по элементу с соотв. скриптом. Базовый вариант скрипта - "SetTagBit(MyTag, !GetTagBit(MyTag))". Буду рад услышать какие-нибудь мысли по этому поводу, спасибо.

Parliament74
авторитет
авторитет
Сообщения: 809
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 208 раз

Проблема с инвертированием тега WinCC7.5

Сообщение Parliament74 »

Никогда такой проблемы не видел.

Синтаксис использовал такой: "SetTagBit(MyTag, 1-GetTagBit(MyTag))".
Событие привязывалось обычно к Release left button, но и с другими событиями никогда такого явления не видел...
Может всё банально: мышка действительно два события генерирует?..

Автор темы
_Zx_
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 26 май 2021, 08:55
Имя: Андрей
Страна: Украина

Проблема с инвертированием тега WinCC7.5

Сообщение _Zx_ »

Parliament74 писал(а): 26 май 2021, 09:48 Никогда такой проблемы не видел.

Синтаксис использовал такой: "SetTagBit(MyTag, 1-GetTagBit(MyTag))".
Событие привязывалось обычно к Release left button, но и с другими событиями никогда такого явления не видел...
Может всё банально: мышка действительно два события генерирует?..
Скрипты перепробованы все с тем же успехом на все ивенты, проблема не привязана к конкретной машине. 2 отдельных сервера с десятком клиентов. Проекты безклиентские мульти, открываются через симатик шелл через шары. На всех машинах наблюдается подобное случайным образом, включая сами серверы.

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

Проблема с инвертированием тега WinCC7.5

Сообщение makesstr »

А на VBSe какой скрипт у вас?
Попробуйте такой
[+]
If HMIRuntime.Tags("test").Read Then
HMIRuntime.Tags("test").Write 0
Else HMIRuntime.Tags("test").Write 1
End if
WinCC 7.4 SP1 Upd15, Step5.6

Автор темы
_Zx_
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 26 май 2021, 08:55
Имя: Андрей
Страна: Украина

Проблема с инвертированием тега WinCC7.5

Сообщение _Zx_ »

makesstr писал(а): 26 май 2021, 10:44 А на VBSe какой скрипт у вас?
Попробуйте такой
[+]
If HMIRuntime.Tags("test").Read Then
HMIRuntime.Tags("test").Write 0
Else HMIRuntime.Tags("test").Write 1
End if
Перепробовал все варианты ранее, все одно. Думаю проблема именно в скрипт-движке в моем частном случае, вне зависимости от кода. Были также перепробованы и функции __wait записи-чтения тегов.
Ответить

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