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

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
AlexRezn
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 22 июн 2017, 03:55
Имя: Александр
Страна: Россия
город/регион: Иркутск
Благодарил (а): 4 раза
Поблагодарили: 4 раза

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение AlexRezn »

Вопрос возник по следующей причине.

Дано: WinCC Professional. Редактор для изготовления фэйсплейтов. Желаем описанное в заголовке темы.

У контрола StaticText для динамической замены текста в зависимости от назначенного тега предусмотрено:
Animations-Add New Animation-Add property-Text. Далее там назначаешь тег и варианты текста по значениям тега.
Аналогично рисуются другие property типа цвета фона и т.п.

При изготовлении фейсплейта можно выносить свойства объектов наверх, в порождаемые потом экземпляры этого типа.
НО! Для выноски предоставляются группы Properties и Events, группа Animations не предоставлена.
Отсюда вопрос - как реализовать в фэйсплейте динамизацию свойства, например, смену текста, в зависимости от тегов, которые будут назначаться потом экземплярам, порождённым этим фейсплейтом?
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение megavolt86 »

AlexRezn, тут положил несколько скриншотов как сделать динамизацию свойств фейсплейта.
:ext_secret:

Автор темы
AlexRezn
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 22 июн 2017, 03:55
Имя: Александр
Страна: Россия
город/регион: Иркутск
Благодарил (а): 4 раза
Поблагодарили: 4 раза

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение AlexRezn »

megavolt86, А это точно для Тиа Портала WinCC Professional? Такое ощущение, что это для отдельной WinCC или вообще Flexible...

И потом, там в скриптах в явном виде конкретный тег запрашивается. А фейсплейт же не должен ссылаться на конкретный тег, иначе все его порожденные экземпляры будут работать с этим одним тегом, а задача как раз в том, чтобы назначать экземплярам разные.

Или я что-то недопонял в скриншотах?
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение megavolt86 »

Сорян :ges_slap:
Думал для классического винсс нужно решение...
И скрипт в свойствах экрана а не фейсплейта написан.
Upd:
Подкину мой пользовательский опыт по созданию фейсплейта.
Для начала у меня был создан структурный тэг, в который передаются текущее значение, уставки, всякие настроечные параметры.
[+] структурный тэг
interface.PNG
В настройках фейсплейта создал тэг формата моего структурного тэга. Свойства элеменов фейсплейта уже привязывал к тэгам внутри структурного...
[+] фейсплейт
faceplate.png
textlist.PNG
Там и текст- лист и заливки и много чего еще можно прикрутить.
[+] регультат
screen.PNG
Дальше в экранах уже вызываю фейсплейт, даю ему название, эдиницу измерения и привязываю структурный тэг.
Это я описал свой пример, у вас все может быть по другому...я же хотел максимально облегчить привязку потому использовал структурный тэг, вместо нескольких обычных.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
:ext_secret:

Автор темы
AlexRezn
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 22 июн 2017, 03:55
Имя: Александр
Страна: Россия
город/регион: Иркутск
Благодарил (а): 4 раза
Поблагодарили: 4 раза

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение AlexRezn »

megavolt86, Спасибо за пример, но у меня вопрос: как Вы привязали TextList к тексту в Text field?

Я не нашёл такой привязки в WinCC Professional. Она находится только в Advanced (((

В Professional вообще не пойму, даже на основном экране, без фейсплейтов, как делать выдачу в Text field по тегу. Там на анимации:
либо:
Animations-Tag connections-Add New Animation-Select property-Text - появляется возможность просто задания тега (очевидно, должен возвращать стринг для отображения);
либо:
Animations-Add New Animate property - появляется возможность задания тега c указанием Range для него. Но напротив каждого диапазона поля недоступны, то есть отдельные тексты не назначишь, и привязки к TextList этих диапазонов тоже нет. Соответственно, назначение диапазонов бессмысленно, выглядит, как чья-то недоделка.

Бред какой-то, у наследства Flexible больше возможностей, чем у наследства WinCC! (((
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение megavolt86 »

AlexRezn писал(а): 08 апр 2019, 04:35 как Вы привязали TextList к тексту в Text field?
выбирайте symbolic i/o field с режимом output. Ничего сложного нет...для примера вам второй и третий скриншот для настройки фейсплейта.
:ext_secret:

Автор темы
AlexRezn
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 22 июн 2017, 03:55
Имя: Александр
Страна: Россия
город/регион: Иркутск
Благодарил (а): 4 раза
Поблагодарили: 4 раза

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение AlexRezn »

Ну, ясно. То есть итоговый ответ на мой вопрос про Text field выглядит как: Никак не настроить, надо использовать I/O field.
Спасибо.
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение megavolt86 »

AlexRezn, так вы спрашивали про текстлист же...его к статик тексту не прикрутишь ну вообще никак - потому он и статик.
Делаете режим output и как выпадающий список он работать уже не будет, убираете рамку и для пользователя будет виден только динамический текст.
Непонятно в чем трудность у вас.
:ext_secret:

Автор темы
AlexRezn
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 22 июн 2017, 03:55
Имя: Александр
Страна: Россия
город/регион: Иркутск
Благодарил (а): 4 раза
Поблагодарили: 4 раза

Как сделать внутри фэйсплейта выдачу в static text элементов TextList в зависимости от внешнего тега

Сообщение AlexRezn »

megavolt86, Static text - название контрола из WinCC, я по-ошибке применил его в первом посте, в дальнейшем исправился на аналог в Professional - Text field.

Сделал я динамизацию текста вText field, TextList не понадобился. Через скрипт на Бэйсике, назначаемый на свойство Text, в левой части среднего окна редактора фейсплейта. Запрашиваешь значение тега и возвращаешь нужный текст. Аналогично там динамизируется всплывающая подсказка.
А зависимость цветов от тега можно указать напрямую в Animation-Display.

А когда я писал запрос в теме, я даже не знал, где взять тег для назначения на свойства у Animation. В среднем окне редактора фейсплейта есть закладка Теги, но заведённый там тег никуда не публикуется вверх по уровню, непонятно, зачем эта внутренняя таблица тегов, видимо, как вспомогательные для внутренних операций.
Благодаря вашим скриншотам, дошло, что можно вручную в правой части завести как новую Property нужный тег, публикующийся наверх, и назначать его в Animation.
Ещё раз спасибо за помощь!
Ответить

Вернуться в «Simatic TIA Portal»