Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
Smart Solutions VDT :: Просмотр темы - TrendX: изменение тегов в Tags To Monitor средствами VBA
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

TrendX: изменение тегов в Tags To Monitor средствами VBA

 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации
Предыдущая тема :: Следующая тема  
Автор Сообщение
s60
Эксперт
Эксперт


Зарегистрирован: Aug 17, 2007
Сообщения: 157
Рейтинг: +2/-0
Откуда: СПб

СообщениеДобавлено: Пн 19 Апр, 2010 6:41:46    Заголовок сообщения: TrendX: изменение тегов в Tags To Monitor средствами VBA Ответить с цитатой

Дано: в Tags In Historical Tag Group выбрана нужная DataLogModel. Из нее в
поле Tags To Monitor можно выбирать теги.

Вопрос: как это сделать средствами VBA? Хочу использовать один экран с TrendX для разных данных и перед показом экрана с трендом скриптом выбирать из тех что есть в dataLogModel отображаемые на тренде теги.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
s60
Эксперт
Эксперт


Зарегистрирован: Aug 17, 2007
Сообщения: 157
Рейтинг: +2/-0
Откуда: СПб

СообщениеДобавлено: Пн 19 Апр, 2010 8:03:19    Заголовок сообщения: Ответить с цитатой

или какими средствами можно реализовать подмену отображаемых тегов?
а-ля как #1 в trend с файлом-параметром
TrendX который на экране *.gfx через контенер Ctrl можно вставить имеет окно свойств по двойному щелчку, где можно выбрать DataLogModel и из это модели надергать тегов в поле Tags To Monitor - для TrendX который на МИФ форме нет такого окна свойств, негде выбрать DataLogModel Sad
Получается из VBA нет доступа к тому TrendX, что на экране *.gfx - как тогда можно ему программно менять Tags To Monitor ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пн 19 Апр, 2010 10:46:12    Заголовок сообщения: Ответить с цитатой

При создании тренда используйте вместо имён тэгов их плейсхолдеры #1, #2 и т.п.

При вызове экрана с трендом используйте команду Display c параметром вызова /Ttag_name, где в качестве tag_name перечислите через запятую все реальные тэги, которые должны быть на тренде в том порядке, в котором они перечислены при создании тренда.
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
s60
Эксперт
Эксперт


Зарегистрирован: Aug 17, 2007
Сообщения: 157
Рейтинг: +2/-0
Откуда: СПб

СообщениеДобавлено: Пн 19 Апр, 2010 11:16:55    Заголовок сообщения: Ответить с цитатой

oldDad писал(а):
При создании тренда используйте вместо имён тэгов их плейсхолдеры #1, #2 и т.п.

При вызове экрана с трендом используйте команду Display c параметром вызова /Ttag_name, где в качестве tag_name перечислите через запятую все реальные тэги, которые должны быть на тренде в том порядке, в котором они перечислены при создании тренда.


Это вы описали для trend, a я говорю о ActiveX элементе TrendX для которого описана объектная модель и есть метод RSTrendX1.Pens.Add ("TagName" и т.д.) - но так можно обратиться к TrendX который на VBA-форме, на экране *.gfx надо через Invoke ...

Но проверил и ваше предложение - чудес не произошло - #1 так и остался #1
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
s60
Эксперт
Эксперт


Зарегистрирован: Aug 17, 2007
Сообщения: 157
Рейтинг: +2/-0
Откуда: СПб

СообщениеДобавлено: Пн 19 Апр, 2010 12:41:11    Заголовок сообщения: Ответить с цитатой

вопрос упрощается: как в режиме Runtime менять отображаемые теги в TrendX ???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пн 19 Апр, 2010 13:16:28    Заголовок сообщения: Ответить с цитатой

s60 писал(а):
вы описали для trend, a я говорю о ActiveX элементе TrendX
Но Вы нигде и не упоминали, что имеете в виду именно TrendX.


Возможно, Вам поможет KB8633 - RSView32 TrendX Wrapper ActiveX.

Цитата оттуда:
Цитата:
Background:
When using the TrendX ActiveX control in RSView32, the properties for the Pens, XAxis, and YAxis return an object variable. This means that the RSView32 Invoke command can not access the properties and methods for the Pens, XAxis or YAxis. Additionally this prevents tags from being bound to the properties of the Pens, XAxis, or YAxis objects.

Solution:
The TrendXWrapper ActiveX control contains/hosts the installed RSView32 TrendX control and provides the lower level properties and methods of the TrendX control at the wrapper level so that these can be accessed in a RSView32 graphic.

Example: The TrendX ActiveX control has an XAxis object which has a property called DisplayGridLines. In RSView32 this property can not be accessed with the invoke command or be bound to a Tag. The TrendX Wrapper control exposes this property at its level as XAxis_DisplayGridLines(). This allows the Invoke command to set or read this property value, and allow binding a tag to this property.

_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
s60
Эксперт
Эксперт


Зарегистрирован: Aug 17, 2007
Сообщения: 157
Рейтинг: +2/-0
Откуда: СПб

СообщениеДобавлено: Пн 19 Апр, 2010 13:33:05    Заголовок сообщения: Ответить с цитатой

oldDad писал(а):
s60 писал(а):
вы описали для trend, a я говорю о ActiveX элементе TrendX
Но Вы нигде и не упоминали, что имеете в виду именно TrendX.


название темы: TrendX: изменение тегов...

пост №1
s60 писал(а):

...Хочу использовать один экран с TrendX для разных данных и перед показом экрана с трендом скриптом выбирать из тех что есть в dataLogModel отображаемые на тренде теги.


пост №2
s60 писал(а):

TrendX который на экране *.gfx через контенер Ctrl можно


Последний раз редактировалось: s60 (Вт 20 Апр, 2010 6:20:09), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пн 19 Апр, 2010 13:56:48    Заголовок сообщения: Ответить с цитатой

Пардон, не заметил.
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
s60
Эксперт
Эксперт


Зарегистрирован: Aug 17, 2007
Сообщения: 157
Рейтинг: +2/-0
Откуда: СПб

СообщениеДобавлено: Пн 19 Апр, 2010 14:42:00    Заголовок сообщения: Ответить с цитатой

можно наделать n-ое количество шаблонов, отличающихся друг от друга только списком тегов для отображения... и открывать экран с Ivokу LoadTamplate($TagTmplPath$$TagTmplName$) и перед Invoke присваивать тегу TagTmplName имя нужного файла-шаблона..... но это не практично.... много лопатить руками при настройке и перенастройке....

С Враппером копаюсь.....
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
s60
Эксперт
Эксперт


Зарегистрирован: Aug 17, 2007
Сообщения: 157
Рейтинг: +2/-0
Откуда: СПб

СообщениеДобавлено: Вт 20 Апр, 2010 13:18:44    Заголовок сообщения: Ответить с цитатой

почти день экспериментов с trendXWrapper......
итоги:
1) вместо trendX использую TrendXWrapper
2) для добавления тега на тренд сделал макрос (файлы с расширением *.mcr), в котором написал
Код:

Invoke Me.TrendXW1.Pens_Add("M1_power","Мотор №1: Мощность", "кВт", 0.0, 2000.0, "DataLogModel1")
Invoke Me.TrendXW1.Pen_Set("M1_power", "Color", 16711680)


3) для очистки тренда от перьев после закрытия экрана сделал макрос, в котором написал
Код:

Invoke Me.TrendXW1.Pens_RemoveAll()

макрос поставил на закрытие экрана с трендом

4) изначально тренд сконфигурирован БЕЗ перьев-тегов, при вызове экрана "Тренд" - команды RSView32 показать экран с трендом и выполнить соответствующий макрос для выбранного агрегата.... получается экран один, а данные в него можно падавать разные....и править только текстовые файлы *.mcr

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


Последний раз редактировалось: s60 (Вт 20 Апр, 2010 15:05:01), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Вт 20 Апр, 2010 13:39:14    Заголовок сообщения: Ответить с цитатой

Поздравляю! Smile
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации Часовой пояс: GMT + 1
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.129 секунды
/n