Оптимальные алгоритмы в WinCC
Maksim;
27.11.04
Мож посоветуете. Есть 16 одинаковых агрегатов - по 60 тегов на
каждый. Можно ли использовать один экран для всех? Сам пробовал
создавать группу из 60 внутренних тегов, и в зависимости от
требуемого агрегата копировал в группу нужные значения - GetTag
-> SetTag. Но при цикле в 1сек. это приводит к загрузке рабочей
станции дополнительно на 20-25%. Грустно. Раскопировать на 16
экранов? Или есть варианты?
Re: Оптимальные алгоритмы в WinCC
Маслов
Дмитрий; 28.11.04
Опишите структурный тег с 60 полями. Создайте по одному такому тегу
на каждый агрегат (16 штук). Создайте одну картинку, и привяжите
все объекты на ней к полям созданного структурного тега. Например,
если в структуру входит поле "Value", то к полю вывода на каринке
привязывайте не тег (например, "Aggregate1.Value"), а только поле
структуры: ".Value". Полученную картинку отображайте через
PictureWindow, в котором в свойство TagPrefix записывайте имя
структуры, например, "Aggregate1".
См. http://www.wincc.ru
Re: Оптимальные алгоритмы в WinCC
Anton; 29.11.04
Еще можно образовывать не структуру а имя тэга, в котором
присутствует номер агрегата, а собирать соброс нужно строкой и
потом вызывать тэг, имя которого сформированная строка.
Re: Оптимальные алгоритмы в WinCC
Nick Gashevsky; 29.11.04
Попробуй привязять косвенными (indirect) тегами. Работать в похожем
случае со структурным тегом мне не понравилась - когда прищлось
несколько раз менять состав структурного тега (проект железа и софт
разрабатывался параллельно), делать это не удобно.
Re: Оптимальные алгоритмы в WinCC
Маслов
Дмитрий; 29.11.04
По поводу изменения состава структурного тега: если действительно
планируется его менять, то структурный тег неудобен. Однако с
TagPrefix можно работать и без него. Для этого надо создавать на
каждый агрегат теги с именами вида
"Aggregate1_Value1",
"Aggregate1_Value2",
...
"Aggregate1_ValueN",
а к полям вывода на картинке привязывать
"_Value1",
"_Value2",
...
"_ValueN".
В качестве префикса, как и в случае структурного тега, указывать
"Aggregate1". Такую "структуру" дополнить новыми "полями" не
составит труда.
<<br>