Comments 9
А нельзя один скрипт на все моменты сделать с одной переменной, а остальные состояния привязать к смене её состояния? А то у вас по секрету на каждый потенциально мигающий элемент?
А вообще, этот ваш WinCC - жуть жуткая.
Контекста задачи, версии железа и ПО... больше всего вопросов вызывает сама постановка задачи и оформление кода в виде... скриншота? На Хабре? Серьёзно?
Если вам нужно чем-то помигать - путей десятки разных, обвешивать скриптами весьма болезенно. Чем вам не угодил стандартный функционал Animations => Display => Appereance => Flashing YES/NO для выбранного состояния?
Признаю, получилась халтура.
В 16ой версии flashing был именно такой, как описано выше.
В 17ой версии функционал был расширен, но я это бездарно проморгал.
Возможно для Unified это добавили именно с 17 версии. К сожалению у меня не установлен Unified для проверки, но предполагаю что они идут путём максимальной унификации функционала между Comfort/Basic и Unified.
В контексте "сделайте мне красиво" предложил бы плавное изменение зелёного тона в коде RGB с дискретизацией 0.1с, но сие хорошо только для 1-2 элементов на экране (или синхронно по общему фоновому скрипту, либо опустить в ПЛК и выкрутить частоту опроса только для этого тега), чтобы не перегрузить систему. Рантаймы TIA чрезвычайно требовательны к железу, увы.
Вообще, в целом, отвлекшись от конкретной задачи, я бы предложил ознакомиться с концепцией High Performance HMI/SCADA, потому что изобилие "красивых" SVG элементов сильно засоряет визуально мнемосхему и усложняет считывание информации оператором. Буквально сегодня наткнулся на внятное описание концепции того стиля, которому всегда пытался следовать сам.)
Возможно для Unified это добавили именно с 17 версии. К сожалению у меня не установлен Unified для проверки
В V16 для флэшинга приходится изгаляться, как описано выше. Во-первых, я сам пришел к этому выводу, когда Unified только вышла, а, во-вторых, я интересовался этим вопросом у немца на трехдневных курсах по Unified.
А вот в версии 17 помигать уже стало можно через динамический диалог. Значит, замыкаем на классический подход, когда статус девайса приходит с ПЛК еще и в виде целочисленного. Возможно ли организовать то же самое скриптом, разбирая только статусное слово? Увы, так и не понял. Возвращаемое значение скрипта - только цвет.
предполагаю что они идут путём максимальной унификации функционала между Comfort/Basic и Unified
Это вряд ли. Прелесть Unified - в унификации ЧМИ на панелях и АРМах. В кой то веки одну и ту же работу нет необходимости делать полностью дважды. Хотя, доработки, все равно, потребуются в виду различных разрешений экрана.
Вообще, в целом, отвлекшись от конкретной задачи, я бы предложил ознакомиться с концепцией High Performance HMI/SCADA, потому что изобилие "красивых" SVG элементов сильно засоряет визуально мнемосхему и усложняет считывание информации оператором
Как правило, на мнемосхемах применяю графические примитивы, но в этом туториале захотелось красивую картинку, потому что, зараза, красивое )
Возможно ли организовать то же самое скриптом, разбирая только статусное слово? Увы, так и не понял. Возвращаемое значение скрипта - только цвет.
Можно. Через внутренний тег панели, который в свою очередь привязывать в анимации. Не обязательно именно "возвращать значение" скриптом, просто в его теле писать значение в переменную.
Прелесть Unified - в унификации ЧМИ на панелях и АРМах. В кой то веки одну и ту же работу нет необходимости делать полностью дважды. Хотя, доработки, все равно, потребуются в виду различных разрешений экрана.
Эм, как бы, TIA Portal WinCC Basic/Comfort/Advanced давно позволяет легко копировать проекты между HMI-панелью и АРМ в обе стороны. Главное отличие Unified в использовании движка HTML5 и SVG для визуализации (как у InTouch) ради потенциальной кроссплатформенности, однако функционал разработчика они стремятся унифицировать поэтапно с Comfort/Advanced функционалом.
Можно. Через внутренний тег панели, который в свою очередь привязывать в анимации. Не обязательно именно "возвращать значение" скриптом, просто в его теле писать значение в переменную.
Невидимый на фейсплейте (и его производных) iofield с event'ом на process value change?
Эм, как бы, TIA Portal WinCC Basic/Comfort/Advanced давно позволяет легко копировать проекты между HMI-панелью и АРМ в обе стороны
И где в этом перечне взрослые скады? Первое и второе - это строго панели, третье - одиночная станция с функционалом панели comfort. Копи-паст из проектов WinCC Pro в панельные крайне ограничен. Копи-паст из классической WinCC в панели - а он есть вообще?
Главное отличие Unified в использовании движка HTML5 и SVG для визуализации (как у InTouch) ради потенциальной кроссплатформенности, однако функционал разработчика они стремятся унифицировать поэтапно с Comfort/Advanced функционалом.
С кроссплатформенностью согласен. Унификация визуализации между панелькой и скадой - это очень хорошо и этого очень не хватало. Учитывая, что панели Comfort Unified являются, ЕМНИП, IPC227 под управлением Simatic Industrial OS (Debian с RT нахлобучкой), то Unified для PC тоже можно сделать кроссплатформенным и запускать, хотя бы, под тем же SIOS. Что, в принципе, сейчас уже есть в WinCC OA. Надеюсь, товарищи немцы зарелизят Unified PC с под SIOS... но не уверен, что это будет пользоваться большим спросом. )
Относительно унификации с Advanced? А что Вы под этим подразумеваете? Если речь идет про работу в TIA, то она и так полностью интегрируется в портал. Относительно строго инженерной унификации с advanced - ну, я даже не знаю. По ящзыка скриптов у нас в юнифаед - жабаскрипт, в адванседе - бейсик. Как это унифицировать? И надо ли унифицировать? Сама юнифаед уже является мощным шагом в сторогу унификации, стоит ли "тянуть" за ним наследие ProTool?
Как организовать flashing графического объекта на WinCC Unified V16