This is topic МРВ в качестве OPC-клиента: есть проблемы in forum Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows at Форум TRACE MODE: техническая поддержка.
Имеется OPC-сервер стороннего разработчика, расположен на удалённом компьютере. Сервер виден из редактора базы каналов, каналы можно "автопостроить", можно добавить вручную, ну всё замечательно. Как только проект запускается под МРВ(или в редакторе данных), в каналах сплошные нули. DrawServ пишет что "Сервер OPC0: соединение установлено", канал Диагностика->OPC благополучно показывает 0. При этом "цепляемся" к OPC-серверу своим клиентом или каким-нибудь "демо" (например Softing OPC Toolbox Demo Client)и видим что данные идут, но только не в МРВ! Где еще можно и нужно покопаться?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
ОРС-клиент по те же самым тэгам, которые Вы привязали к каналам в ТМ показывает данные? Как Вы наблюдаете значения атрибутов каналов в РПД и МРВ и какие именно атрибуты смотрите?
Posted by Dima (Участник № / Member № 839) on :
1) По первому вопросу ответ положительный. 2) Каналы смотрют через TraceMode Channel Table, для просмотра выбраны практически все атрибуты
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
А что на атрибутах Достоверность по этим всем каналам? Также рекомендую проверить атрибуты Состояние и Подключение. Точно атрибуты Вход, Выход, Реальное и Аппаратное не меняются?
Posted by Dima (Участник № / Member № 839) on :
Немного покопавшись выяснили, что данные от сервера отображаются только в режиме SYNC/CACHE или SYNC/DEVICE. Но не все! Примерно 20% каналов по-прежнему в 0, достоверность этих каналов =0, всё остальные тоже, только время изменения устанавливается временем запуска МРВ, и событие меняется с 0 на 32.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Вы можете прислать нам этот ОРС-сервер для испытаний?
Posted by Dima (Участник № / Member № 839) on :
Сервер выслан Hotline@adastra.ru
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Посмотрел информацию, которую передает Ваш ОРС-сервер с помощью сторонних средств (не ТМ) и выяснилось, что: 1) Утилита ToOpc.exe - врет при показе некоторыъх данных. Некоторые тэги она показывает как равные 0, но на самом деле они в другом ОРС-клиенте явно ненулевые. 2) Передача данных Вашим ОРС-сервером идет в неизвестном формате. По ID=2 (значение тэга) выдается "Bad VARTYPE". Скорее всего из-за этого и ТМ и утилита ToOpc.exe не могут корректно считать значения по некоторым тэгам.
Posted by Dima (Участник № / Member № 839) on :
Удалось разобраться и с OPC-сервером и с Trace Mode. Загвоздка была в наименовании тэга "Температура ", точнее в пробеле в конце. Убрали пробел - данные отображаются. Почему Trace Mode "споткнулся" на этом? Есть у Вас какие-либо рекомендации/комментарии по данному вопросу.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Идентификация имен тэгов производится по их именам, а пробел - это тоже символ.
Posted by Dima (Участник № / Member № 839) on :
Так в том-то и проблема, что если тэг на этапе связи канала с сервером имеет в конце имени пробел, в редакторе базы каналов он отображается, а при работе МРВ значения канала "привязанного" к этому тэгу остаются пустыми. Если пробел удалить и снова привязать канал к этому тэгу - всё Ок. Опять же повторюсь, что сторонними OPC-клиентами значения тэга с пробелом в конце названия отображаются корректно.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :