 | |
Предыдущие результаты
Сейчас попробовал использовать в проекте данные из другого OPC-сервера (WinCC), а ссылки на свой OPC-сервер поудалял.
Все работает, и с переходом с картинки на картинку и без, и с RSView'шным OPC/DDE-сервером при подключенном клиенте.
Выходит, проблема-таки в моем OPC сервере.
А я все пытался свалить на RSView. :oops:
Хотя я точно помню, что еще в самом начале специально пробовал связаться с другим OPC-сервером (WinCC) и получал ту же ошибку.
Да я и свой OPC-сервер тестировал с разными клиентами - с простенькими и с тем же WinCC - ни один не выдавал никаких ошибок.
Но все-таки видимо есть там какая-то ошибка.
Будем искать...
|
[quote:1d443fe39c]А была ли инсталляция действительно "девственно чистой"? Не ушла ли RSView-шная dll-ка, заменённая при инсталляции Visual Studio своей, при деинсталляции Visual Studio?[/quote:1d443fe39c]
Да, инсталляция была чистой. Я специально для этого новую систему поставил с нуля. Потом поставил SP4. Потом RSView. И все. Больше на машине ничего нет.
[quote:1d443fe39c]Всё замечательно вызывается и тикает, ничего не виснет.
И RSView-шный OPC/DDE сервер работает.
[/quote:1d443fe39c]
Классно, конечно, но непонятно почему у меня не работает :?
Я когда попробовал на этой "чистой" машине запустить проектик (с одной картинкой, на которой 2 тега берутся из OPC-сервера, а третий - внутренний деревянный, в который считается их сумма), все нормально заработало. Как только я добавил еще одну картинку с кнопкой и вызвал из нее старую - вылезла ошибка.
Кстати такой же эффект, если активировать RSView'шный OPC/DDE сервер. Тогда ошибка вылетает (даже если одна картинка в проекте)
в момент подключения другой станции к моей. (В момент отображения моего тега на другой станции). А если никакая другая станция не подключается к моей по OPC, у меня все нормально работает (даже если галочка OPC/DDE server в Startup'е включена).
[quote:1d443fe39c] Прислать проект?[/quote:1d443fe39c]
Да, если можно на ящик nipisau. Интересно посмотреть.
Скорее всего, действительно, проблема с установкой RSView.
Может потом попробую на чистую XP-шку поставить RSView и протестить. Она же новее 2000-й и может в ней стандартно идет dll-ка MSVCP60.dll, а не MSVCP50.dll, как в 2000-й плюс еще всякие обновления, SP2.
И кстати у меня ошибка точно вылетала, если режим отображения картикок "replace" - т.е. при нажатии на кнопку вместо одной каринки появляется другая (Поверх нее). А когда они обе на экране видны были, как у вас, у меня пару раз все нормально работало.
И какая у вас настройка в Derived Tags Setup: Continious или Periodic?
Попробуйте сделать Periodic. Может вылетит. :)
|
Только что попробовал.
Всё замечательно вызывается и тикает, ничего не виснет.
И RSView-шный OPC/DDE сервер работает.
Прислать проект?
[img:e753fe0b3d]http://vdt-automation.com.ua/modules/ImageUp/uploads/oldDad/der.jpg[/img:e753fe0b3d]
|
[quote:1f80b05e73]попробуйте добавить туда пустую картинку,
на которой будет только кнопка с Action "Display <экран_с_derived_tags>". [/quote:1f80b05e73]
Обязательно попробую и сообщу.
[quote:1f80b05e73]
Кстати, насчет установки RSView на "чистую" систему (Только Win2000+SP4). В конце установки она
мне выдала сообщение об ошибке:
"Не могу найти файл MSVCP60.dll в путях ... <дальше пути из пременной PATH>"
MSVCP60.dll - это dll'ка из Visual Studio 6.0. Называется "Microsoft Visual C++ Runtime Library"
Вместе с Windows 2000 идет dll'ка MSVCP50.dll.[/quote:1f80b05e73]
А была ли инсталляция действительно "девственно чистой"? Не ушла ли RSView-шная dll-ка, заменённая при инсталляции Visual Studio своей, при деинсталляции Visual Studio?
|
С ошибкой этой немного прояснилась ситуация.
Сегодня выяснил, что она вылазит только если картинка с деревянными и обычными тэгами
вызывается из другой картинки (даже из пустой, с одной кнопкой для вызова др. картинки)
Игорь, если у вас остался тот проект-проба в rsview 7.10, попробуйте добавить туда пустую картинку,
на которой будет только кнопка с Action "Display <экран_с_derived_tags>".
Дальше в в System->Startup поставить галочку Initial Graphic на эту пустую картинку и галочку
Derived Tags. В ран-тайме при переходе на картинку с тегами вылазит ошибка и все виснет.
Кстати, насчет установки RSView на "чистую" систему (Только Win2000+SP4). В конце установки она
мне выдала сообщение об ошибке:
"Не могу найти файл MSVCP60.dll в путях ... <дальше пути из пременной PATH>"
MSVCP60.dll - это dll'ка из Visual Studio 6.0. Называется "Microsoft Visual C++ Runtime Library"
Вместе с Windows 2000 идет dll'ка MSVCP50.dll.
|
Где в RSViewSE выполняеться расчет derived tags и где происходит обработка событий (Events)? На сервере или на клиенте?
|
Попробовал запустить проект на чистой системе:
Win2k(en)+SP4 + RSView32 7.10.
Выдает ошибку - уже другое окошко, ("Приложение CMEOPC32 совершило ошибки и будет закрыто") но адрес ошибки в логе тот же:
Исключение C0000005 по адресу 0x405f9c. :cry:
Кстати я хочу еще спросить, на внутренние теги нужна лицензия или нет? Если во внутренние теги пишутся Derived Tags?
|
[quote:e21d815e42]Для вывода информации по алармам выбрал стандартную табличку Allarm Summary. Там возможно задавать набор кнопок для работы с сообщениями, в частности есть кнопки подверждения сообщений Ack Current, Ack All. Поскольку в проэкте предполагается что экраны операторов будут рускоязычными, то хотелось бы заменить вышеуказанные надписи на кнопках на "Подтвердить текущую" и "Подтвердить все". Но тут обнаружилось что кнопки не растягиваются под ширину надписи автоматически, и как их растянуть вручную тоже не понятно.
Какие есть варианты решения такой проблемы?[/quote:e21d815e42]
Текущий, страница, все не подходит? В руководстве оператора потом распишете что означатет. И вообще слово Подтвердить ИМХО избыточно. Если оно Вам так надо напишите его над кнопками
[quote:e21d815e42]В проекте планируется создать нечто вроде иерархии алармов. Т.е. допустим общий дискретный тег аварии в подсистеме А формируется при наличии хотя бы одного из аварийных сигналов для подсистемы А, общий дискретный тег аварии в подсистеме Б формируется при наличии хотя бы одного из аварийных сигналов для подсистемы Б и.т.д....[/quote:e21d815e42]
У нас для индикации аларма в системе используется похожая система. Заводится аналоговый Derived тег в обработчике значения которого прописано
if ( ALM_IN_ALARM({*-A*}) == 0 ) then 0 else
if ( ALM_ALLACKED({*-A*}) == 0 ) then 1 else 2
По значению данного тега, анимируется кнопка, нажатие на которую перемещает на мнемосхему системы в которой произошел аларм. Может стоит пойти по аналогичному пути? Можете по нажатию Alarm Summary требуемую выдавать.
|
По поводу патчей - почитайте ещё A102760350, может поможет. Хотя вряд ли, т.к. думаю, что причина не в этом.
Сейчас ради спортивного интереса поставил 7.10, закрутил на эмуляторе таймер, привязался OPC-сервером (RSLinx) к его аккумулятору, прописал этот тэг в базе, сделал на его базе derived tag (разделил на 10) и выкинул на экран оба тэга.
Запустил проект.
Никаких ошибок, всё крутится.
|
Никогда не встречал ничего подобного. Никто из моих коллег тоже с таким не сталкивался. Гугл выдаёт только одну ссылку - Вашу :) и ещё одну Вашу же, на безвременно почившем форуме Rockwell Software.
Я думаю, если бы это действительно был серьёзный баг, то он ём бы кто-нибудь когда-нибудь слышал. Но увы....
Значит, всё-таки установлена Visual Studio.
Я почти убеждён в том. что это либо проблемы нарушения инсталляции RSView, либо её несовместимости с какими-то продуктами, предположительно MS.
В одном месте я встречал совет после деинсталляции RSView руками убить папку RDM и руками же VBA в C:\Program Files\Common Files\Microsoft Shared. Пoсле чего заново установить.
Derived Tags я пользовался очень много раз, как с ОРС, так и без (какая связь? непонятно) - обычно всё функционирует.
|
Предыдущие результаты
Ещё результаты |
|
| |
|