Как обойти префикс тега в C Actions?
иван жуков; 20.2.03

Я использую в Picture Window префикс для тегов. Это мне нужно, чтобы окно вызывалось с разными структурными тегами. Все было нормально до тех пор пока мне не понадобилось получить доступ к другим тегам вне структурного тега, созданного для данного экземпляра Picture Window. Оказывается, что в C Actions нет способа(?) избежать добавления префикса тега (если он определен) ко всем тегам, с которыми я работаю, и я не могу обратится к тегам, которые не являются полями структурного тега с данным префиксом. Кто-нибудь может посоветовать подходящее решение?


Re: Как обойти префикс тега в C Actions?
Iva; 21.2.03

Не используй никакие префиксы.......

Я делаю так - есть куча тегов Tag1, Tag2.......И есть такая же куча однотипных картинок. В зависимости от номера текущей картинки склеиваешь название тега "Tag" + "Номер" и обращаешся к нему.
Вот и всё.......
Re: Как обойти префикс тега в C Actions?
иван жуков; 21.2.03

То есть доступ к тегам у меня будет только из C Actions, поставить прямую ссылку на тег в каком-нибудь поле Properties я не смогу?

Re: Как обойти префикс тега в C Actions?
Колпащиков Сергей; 22.2.03

Читайте здесь:

http://www.aud.ru/cgi-bin/forum/forum.cgi?dir=1008101956&root=1027057738&year=2002
Re: Как обойти префикс тега в C Actions?
Владимир; 28.2.03

Как оказалось, префикс не распространяется на теги, у которых стоит признак "Indirect".

Т.е. создаете промежуточный строковый тег, в который заносите имя нужного Вам тега, и указываете его с признаком indirect. Но это не всегда удобно.
Что же касается склеиваний вручную названий и потом обращений к этим тегам в С Action, то эта процедура довольно заметно начинает тормозить процесс визуализации. К примеру, у меня в открытом кадре находится более 50 тегов, которые мне нужно получать путем "вычисления". При использовании C Action процесс инициализации тегов занимал почти 30 секунд! (сеть Profibus) Пришлось перейти к префиксам. Теперь время инициализации составляет около 2 секунд.
Re: Как обойти префикс тега в C Actions?
Л. Шерешевский, Д. Маслов; 1.3.03

Можно также использовать функции dmGetValue, dmGetValueWait, dmSetValue, dmSetValueWait пакета ODK, на них действие префикса не распространяется.

См. Центр компетенции WinCC

Re: Как обойти префикс тега в C Actions?
Владимир; 2.3.03

Интересно, сколько времени займет инициализация запросов значений хотя бы 30 тегов таким способом ?

Re: Как обойти префикс тега в C Actions?
Л. Шерешевский; 2.3.03

Все зависит от типа и топологии используемой сети, от количества станций и даже от размещения тегов в контроллерах. Поэтому хоть как-то оценивать можно только время чтения/записи внутренних тегов, оно будет примерно одинаковым в любых конфигурациях.


К примеру, в пустом тестовом проекте для 512 внутренних тегов чтение заняло примерно 0.42 сек. при первом обращении и 0,16 сек. при последующих. Для записи тех же 512 тегов аналогичные времена составили 2.7 сек. и 2.4 сек.

Конфигурация тестовой станции: PIII-800, Win2k+SP3, WinCC5.1+HotFix2.