SIEMENS, DF&PD

Предыдущее посещение: Пн июн 27, 2016 0:52 Текущее время: Пн июн 27, 2016 0:52

Часовой пояс: UTC + 3 часа




 [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 09, 2010 13:49 
Не в сети
Написал больше чем Вы читали

Зарегистрирован: Чт ноя 22, 2007 5:39
Сообщения: 1344
Откуда: Иркутск
Markus писал(а):
необходимо задействовать Indirect-теги для КАЖДОГО графического объекта (хорошо если их штук 5, а если 100, то заводить еще 100 Indirect тегов?) + функция для изменения значения SetTagChar(). Гемор, ИМХО.


Именно так. У вас ведь не 100 тэгов а всего лишь 5. Никакого "гемора" ИМХО.

Либо можете использовать структурные тэги и задействовать механизм префиксов тэга для PictureWindow.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 09, 2010 14:02 
Не в сети
Известный Писатель

Зарегистрирован: Чт фев 25, 2010 11:07
Сообщения: 142
Kapter писал(а):
Именно так. У вас ведь не 100 тэгов а всего лишь 5. Никакого "гемора" ИМХО.

В перспективе ожидается около 100 тегов.
Цитата:
Либо можете использовать структурные тэги и задействовать механизм префиксов тэга для PictureWindow.

С префиксами работать еще не приходилось. Где можно о них почитать подробнее?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 09, 2010 14:10 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7505
Откуда: Украина
При помощи SetPropChar у Вас ничего не выйдет:
Изображение

По поводу префиксов почитайте WinCC Information System->Working with WinCC->Working with Tags->Tag Management and Tags->Tags->Structure Types and Structure Tags->Structure types in picture windows.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 10, 2010 5:27 
Не в сети
Известный Писатель

Зарегистрирован: Чт фев 25, 2010 11:07
Сообщения: 142
Eugene1974 писал(а):
При помощи SetPropChar у Вас ничего не выйдет

Спасибо и за такой ответ :-) Буду делать через indirect-теги.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 10, 2010 5:31 
Не в сети
Написал больше чем Вы читали

Зарегистрирован: Чт ноя 22, 2007 5:39
Сообщения: 1344
Откуда: Иркутск
С префиксами не разбирались?

Почитайте про префикс тэгов. Вам понравится. Можно вообще без каких бы то ни было скриптов обойтись при желании.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 10, 2010 16:41 
Не в сети
Известный Писатель

Зарегистрирован: Чт фев 25, 2010 11:07
Сообщения: 142
Kapter писал(а):
С префиксами не разбирались?

С удовольствием почитал бы. Дайте, пожалуйста, ссылку. Желательно, на русском языке :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 10, 2010 16:47 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7505
Откуда: Украина
Markus писал(а):
С удовольствием почитал бы. Дайте, пожалуйста, ссылку. Желательно, на русском языке :-)
Ссылку я уже дал. Но не на русском:-(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 7:47 
Не в сети
Написал больше чем Вы читали

Зарегистрирован: Чт ноя 22, 2007 5:39
Сообщения: 1344
Откуда: Иркутск
Почитайте системное руководство.

В разделе о структурных тэгах вкратце описан механизм префиксов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 12:28 
Не в сети
Начинающий писатель

Зарегистрирован: Пн авг 22, 2005 14:05
Сообщения: 98
Откуда: г. Казань НПК "Волга-Автоматика"
Динамическая привязка тега к объекту в Си скрипте делается так (доступна только прямая привязка):

//lpszPictureName картинка на которой находится объект
//Привязываем тег Tag1 к IOField1 свойству OutputValue
LINKINFO linkinfo;

linkinfo.LinkType=1; //прямая привязка
linkinfo.dwCycle=0; //по изменению

strcpy(linkinfo.szLinkName, "Tag1");
SetLink(lpszPictureName, "IOField1", "OutputValue", &linkinfo);

И всё.
Удачи


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 13:07 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7505
Откуда: Украина
cias писал(а):
Динамическая привязка тега к объекту в Си скрипте делается так...
Этот способ интересный, но он сложнее уже предложенных. Да и более ресурсоёмкий ИМХО.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 13:29 
Не в сети
Начинающий писатель

Зарегистрирован: Пн авг 22, 2005 14:05
Сообщения: 98
Откуда: г. Казань НПК "Волга-Автоматика"
Речь шла о динамической привязке тегов. Это единственный способ, поскольку при использовании TagPrefix имена тегов (поля структуры) прописываются в объектах на этапе разработки, а не в режиме RT.
Также, если используется TagPrefix для PictureWindow, то у вас должен быть обязательно структурный тип тега, который прописывается в свойство объекта PictureWindow. На такой картинке невозможно собрать элементы от 2-х структурных тегов (Tag1.Value1 к IOField1.OutputValue и Tag2.Value2 к IOField2.OutputValue к примеру).
Там где это не нужно и используются структурные теги, предпочтительно конечно же использовать TagPrefix.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 13:35 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7505
Откуда: Украина
cias писал(а):
Речь шла о динамической привязке тегов. Это единственный способ, поскольку при использовании TagPrefix имена тегов (поля структуры) прописываются в объектах на этапе разработки, а не в режиме RT.
Не единственный. http://www.automation-drives.ru/forum/viewtopic.php?p=60743#60743 - про стандартный механизм слышали?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 13:41 
Не в сети
Начинающий писатель

Зарегистрирован: Пн авг 22, 2005 14:05
Сообщения: 98
Откуда: г. Казань НПК "Волга-Автоматика"
Indirect? Если да, то вообще не вариант ... на мой взгляд


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 14:00 
Не в сети
Известный Писатель

Зарегистрирован: Чт фев 25, 2010 11:07
Сообщения: 142
cias писал(а):
Динамическая привязка тега к объекту в Си скрипте делается так (доступна только прямая привязка):

//lpszPictureName картинка на которой находится объект
//Привязываем тег Tag1 к IOField1 свойству OutputValue
LINKINFO linkinfo;

linkinfo.LinkType=1; //прямая привязка
linkinfo.dwCycle=0; //по изменению

strcpy(linkinfo.szLinkName, "Tag1");
SetLink(lpszPictureName, "IOField1", "OutputValue", &linkinfo);

И всё.
Удачи

Спасибо! Обязательно попробую, как приеду с командировки.
P.S.: чувствовал, что такое возможно :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 14:10 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7505
Откуда: Украина
cias писал(а):
Indirect? Если да, то вообще не вариант ... на мой взгляд
Именно Indirect. Чем не вариант, чем хуже Вашего?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 14:33 
Не в сети
Известный Писатель

Зарегистрирован: Чт фев 25, 2010 11:07
Сообщения: 142
Кстати, нашел в документации по WinCC примерчик:
WinCC_6.2_r.pdf -> 4.8.2 Пример 2 — Создание связи с тегом с помощью функции RT.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 14:58 
Не в сети
Начинающий писатель

Зарегистрирован: Пн авг 22, 2005 14:05
Сообщения: 98
Откуда: г. Казань НПК "Волга-Автоматика"
Невозможно открыть 2 окна управления одновременно (у 2-х клапанов например) при Indirect адресации. Поэтому Indirect не вариант на мой взгляд


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 15:17 
Не в сети
Известный Писатель

Зарегистрирован: Пт фев 29, 2008 15:27
Сообщения: 344
Откуда: Украина
Это решается так:
Окно управления делается одно, но вызывается с TagPrefix. Тогда для каждого клапана можно создать свой набор внутренних текстовых тегов. А в их значениях уже прописаны (как start value) имена адресуемых тегов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 15:51 
Не в сети
Начинающий писатель

Зарегистрирован: Пн авг 22, 2005 14:05
Сообщения: 98
Откуда: г. Казань НПК "Волга-Автоматика"
Artemius писал(а):
Это решается так:
Окно управления делается одно, но вызывается с TagPrefix. Тогда для каждого клапана можно создать свой набор внутренних текстовых тегов. А в их значениях уже прописаны (как start value) имена адресуемых тегов.

Т.е. на каждый блок управления формируем внутренний набор тегов+в каждый в свойство Start Value еще прописываем реальное имя тега процесса. Я прав?
В принципе как вариант. Для пары клапанов:-) Но создавть кучу внутренних тегов, да еще и прописывать туда StartValue. Я наверное что то не понимаю.
Зачем городить и TagPrefix и косвенную адресацию?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 16:15 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7505
Откуда: Украина
cias писал(а):
Зачем городить и TagPrefix и косвенную адресацию?
ИМХО тот же гемор, что и в Вашем способе, только в профиль.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group