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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

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

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


Зарегистрирован: Sep 14, 2006
Сообщения: 776
Рейтинг: +41/-1
Откуда: Донецк

СообщениеДобавлено: Ср 11 Мар, 2009 12:48:55    Заголовок сообщения: Ответить с цитатой

scout писал(а):
Уважаемые знатоки RSView32, прошу Вас снова вернуться к ФАКТАМ, поскольку полагаю, что все Вы закончили школу, где нас всех учили читать умные книжки Smile


Ох, грозился я не отвечать в этой ветке, однако придется, и пусть меня обвиняют в некорректном цитировании:
scout писал(а):
… а в журнал тревог (который можно просмотреть с помощью др. спец.инструмента RSView32 Alarm Summary), пишутся совершенно другие данные ТОГОЖЕ САМОГО ТЕГА, в нашем случае Description = “TEST”. ЭТО ведь АБСУРТ какой-то!

Смотрим выше, что было:
DIMIOKS писал(а):
Информацию о Description AlarmSummary берет в момент первого события Alarm конкретного тега, либо при запуске, когда в памяти висят неквитированные сигналы. В дальнейшей работе AlarmSummary оперирует именно этим значением, вплоть до перезагрузки объекта. Разработчикам, как видно, в страшном сне не могло приснится, что Description необходимо менять в динамике!

Так, кто не умеет читать?
Продолжаем:
scout писал(а):
…Итак, ГДЕ “Спрятался” ДИНАМИЧЕСКИЙ ОБМЕН В RSView32???
У объекта RSView32.Tag динамически меняются свойства тега, НО некоторые из них, к примеру такие, как MinimumValue, MaximumValue, Description “живут своей жизнью”, т.е. полностью не адекватны в родных визуальных компонентах RSView32.

Учите матчасть. Где обещан динамический обмен к открытым экранам?

scout писал(а):
Мои простенькие примеры наглядно это демонстрируют …

Да, демонстрируют – незнание механизмов работы RSView32.
Могу привести еще пример из этой области – измени какой-либо открытый экран (лучше на другом) компьютере, а затем запиши этот файл на целевой компьютер.
Ай, какой плохой RSView32 – продолжает показывать старый экран (почему не отследил факт подмены файла)

До сих пор не могу понять, зачем это надо?

И, я в школе учился – вспомнилась история:
Торчит гвоздь, молотка нет, но есть бутылка. Одноклассник попробовал забить гвоздь бутылкой – получилось, далее он начал искать торчащие гвозди и забивать… После третьего или четвертого бутылка разбилась.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Ср 11 Мар, 2009 23:32:54    Заголовок сообщения: Ответить с цитатой

Привет всем!

Да-а-а, тема вообще скатилась в туман и грязь...
Граждане, ищущие недостатки RSView32, объединяйтесь! Клуб создавайте!
Не там Вы роете, не там копаете Very Happy
Проблемы RSView32 есть, конечно, но совсем в другой плоскости, до которой Вы еще не докопались Laughing
Я, например, кое-что знаю, учитываю это в своей работе, и на "грабли" стараюсь не наступать. Embarassed
А то я чуть инфаркт не получил: AlarmSummary не работает (!!!) Laughing
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


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

СообщениеДобавлено: Чт 12 Мар, 2009 8:05:10    Заголовок сообщения: Ответить с цитатой

Да всё там работает. Просто нужно понимать заложенные в основу функционирования принципы.

Продолжаю оставаться в недоумении относительно сути проблемы. Пытаюсь понять ещё раз:
- по неведомой причине scout хочет динамически изменять description тэга скриптом VBA.
- у него это не получается. scout выражает своё мнение по поводу того, что RSView32 не обеспечивает возможности динамического изменения описания.
- DIMIOKS ему показывает сперва схематично, а потом на примере, что это всё-таки работает.
- из дискуссии лично я понимаю, что scout не совсем отчётливо понимает логику функционирования ядра RSVIew32 и, в силу этого, считает, что программисты Rockwell Software не обеспечили того, что декларировали в документации.
- ему пытаются доказать, что это не так.
- scout настойчиво предлагает коллегам прислать свой код и попробовать его работоспособность. Желающих попробовать пока не находится. Ему ещё раз объясняют логику работы ядра RSView32.
- scout'у предлагают объяснить главную цель, которую он собирается достигнуть, и ради которой он пишет свой VBA-скрипт. Тогда можно было бы порекомендовать адекватный способ её достижения.
- scout ничего не рассказывает о цели, но продолжает недоумевать, что то, как он понимает работу RSVIew32, оказывается не так.

Всё-таки, в чём проблема? VBA работает, всё, что заявлено, меняет. Чтобы эти изменения возымели действие, нужно перевызвать экран. Что ещё?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
and123
Частый гость
Частый гость


Зарегистрирован: May 18, 2009
Сообщения: 34
Рейтинг: +0/-0

СообщениеДобавлено: Пт 22 Май, 2009 2:29:59    Заголовок сообщения: Ответить с цитатой

Чего то тут писали про кошек, я так ине понял. Но с такой проблемой я дейсвительно сталкивался где то год три назад. Действительно нужно правильно в VBA делать обертку или порядок подачи команд для динамического изменения значения тега, например Discription во время
работы проекта в RUN! Log - дискретный тег с аварийоной конфигурацией по On.

см. пример:

Dim Start

gTagDb.GetTag("Log").Description = "СТАРТ ПРОЕКТА"
GoTo Log

gTagDb.GetTag("Log").Description = "Любите кошек"
GoTo Log

Log:
gCommand.Execute "SuppressOn Log"
gTagDb.GetTag("Log").WriteConfiguration
gCommand.Execute "SuppressOff Log"
gTagDb.GetTag("Log").Value = 1
Start = Timer
Do While Timer < Start + 1
DoEvents
Loop
gTagDb.GetTag("Log").Value = 0

Вот и все. И смеятся про кошек не надо. Я их очень люблю, и по возможности кормлю, особенно бездомных. А что бы до этого дойти мне примерно полгода понадобилось. Тогда таких форумов еще не было. Rolling Eyes
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Пт 22 Май, 2009 6:26:21    Заголовок сообщения: Ответить с цитатой

Цитата:
Чего то тут писали про кошек, я так и не понял.


Это поговорка такая. Типа RSView32 и VBA for RSView32 очень даже неплохие инструменты, только надо уметь ими работать. А если чего и не получается, то искать причину прежде в себе, в методике, и в последнюю очередь уже клеймить такой мощный пакет (а есть ли хоть один пакет без недостатков?).
Конечно, с точки зрения программистов верхнего уровня, привыкшим работать с полноценным ООП, API, СОМ, RSView32 может показаться неполноценной. Но ведь это SCADA, а не оболочка для полноценного программирования! И создавалась она именно для этого применения.

Уважаемый and123, код понятен.
Но путем подавления/восстановления сообщений о сигналах тревоги для определенного тега в активном AlarmSummary не произойдет синхронного изменения Description (см. выше). Требуется AlarmOff/AlarmOn или перезапуск окна и тому подобные действия. В AlarmLogViewer, конечно все отобразиться как положено.
Или я не прав? Поправьте.

Кстати, вопрос:
Скажите пожалуйста задачу, в которой необходимо менять Description тега? Ну не могу я себе представить эту задачу, кроме как странной задачи применения текущей активации на более большее количество тегов.
scout молчит как партизан.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
and123
Частый гость
Частый гость


Зарегистрирован: May 18, 2009
Сообщения: 34
Рейтинг: +0/-0

СообщениеДобавлено: Пт 22 Май, 2009 10:33:18    Заголовок сообщения: Ответить с цитатой

DIMOX_у. Просто был задан вопрос, и поскольку когда то была такая проблема и был дан конкретный ответ.C активацией проблем никогда не было. 32k вполне хватает по жизни. Отстойный AlarmLogViewer не использовал никогда за восемь лет работы с RSView32 и использовать никому не советую. Если Вы внимательнее посмотрите выложенный исходник Delphi, то увидите там
ЧЕЛОВЕЧИЙ аналог AlarmLogViewer причем динамический слева, а аналог AlarmSummary справа.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and123
Частый гость
Частый гость


Зарегистрирован: May 18, 2009
Сообщения: 34
Рейтинг: +0/-0

СообщениеДобавлено: Пт 22 Май, 2009 10:44:49    Заголовок сообщения: Ответить с цитатой

DIMIOKS_у. Да, извините забыл, сказать, что динамическое изменение description делается для ведения лога ситемных сообщений о действиях оператора Ивановой включить\выключить\открыть\закрыть и тд за свою смену, затем оператора Петровой и тд которые и пишутся в тот самый
XXXXAL.DBF наряду с аварийными и предупредительными сообщениями.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Пт 22 Май, 2009 12:45:42    Заголовок сообщения: Ответить с цитатой

Цитата:
Если Вы внимательнее посмотрите выложенный исходник Delphi, то увидите там
ЧЕЛОВЕЧИЙ аналог AlarmLogViewer причем динамический слева, а аналог AlarmSummary справа.


Стандартный пример решения задачи, когда функциональности не хватает. К сожалению, scout зациклился на стандартном компоненте и развел полемику, хотя ему вроде бы все объяснили как что работает.
Согласен, что с Delphi можно танцевать, но

Цитата:
И вот заказчик понимает, что его привязали к фирме-поставщику. А фирма разводит руками и говорит: "О, да это проблема. Мы Вас же тогда ещё предупреждали, что продукт этот устарел и без написания специальных уникальных программ не обеспечивает нужную Вам функциональность. А Вы всё-таки тогда настояли именно на этом продукте. А Вася тогда ещё специально для вас написал чудесный уникальный код. А теперь сменился Windows и продукт больше не работает. А Вася уже год, как уволился, а больше никто не знает, что там и как. Мы, конечно, можем всё переписать, но это стоит очень дополнительных денег. А ещё лучше, замените-ка этот самопал на что-то стандартное, сопровождаемое и документируемое".


И это тоже имеет место быть, как не хочется это признавать... Думаю, у меня совпадающая точка зрения с and123, но тема это бесконечна, смысла нет спорить, каждый все равно останется при своем мнении..

Кстати, спасибо за пример задачи, интересно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
and123
Частый гость
Частый гость


Зарегистрирован: May 18, 2009
Сообщения: 34
Рейтинг: +0/-0

СообщениеДобавлено: Чт 04 Июн, 2009 7:13:16    Заголовок сообщения: Ответить с цитатой

Dimioks_у цитата "И вот заказчик понимает, что его привязали к фирме-поставщику." А нас всех не привязали ли к MS или RS слегка до этого? Давайте вообще отвяжемся от этих геморроев. Кстати братья наши узкоглазые нам показывают достойный ответ, Создали таки китайский аналог окон. А что нам слабо склепать собственную ось? И пусть эти америкосы изучают кирилицу, как нам в свое время досталось?
Или что, дружно будем учить китайский? Razz
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации Часовой пояс: GMT + 1
На страницу Пред.  1, 2, 3
Страница 3 из 3

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

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.132 секунды
/n