Столкнулся с интересной проблемой при работе с OPC сервером WinCC.
В качестве источников данных выступают несколько станций с различными версиями и проектами WinCC. OPC Server используется родной OPCServer.WinCC.
В качестве клиента выступает отдельная машина с KepsereverEX .
Проблема возникает на одном из источников. При выключении и включении kepserveex качество данных переходит в "bad". Оживают только, если подцепиться к источнику по RDP.
Что настраивал на сервере и клиенте:
- В настройках DCOM/COM добавлены пользователи и группы "Сети", "Интерактивные", "Пользователи DCOM", "Анонимные", "Все" в пункты "Мой компьютер", "OPC Enum", "OPCWinCCServer".
- Порт 135 TCP/UTP, процессы "OPCEnum" и "OPCServerWinCC"добавлены в список исключения на входящий/исходящий трафик в Firewall.
- На серверах созданы одинаковые учётные записи, под которыми и грузятся системы.
- В локальных политиках безопасности включены пункты:
- "Сетевой доступ: разрешать применение разрешений "Для всех" к анонимным пользователям",
- Выставлены все галочки для пользователей "Все" в пункте "DCOM: Ограничение компьютера на доступ в синтаксисе SDDL (Security Description Definition Lanhuage)",
- Выставлены все галочки для пользователей "Все" в пункте "DCOM: Ограничение компьютера на запуск в синтаксисе SDDL (Security Description Definition Lanhuage)",
- Антивирус стоит на клиенте, но не замечал, чтобы он мешал в обмене данных с других источников.
OPC Security Analyzer диагностирует:
Заново ручками регистрировал sopchdasrvrwincc.exe, файлы OPCProxy.DLL, opccomn_ps.dll и т.д.Exception at Browse OPC Servers: Невозможно привести COM-объект типа "System.__ComObject" к интерфейсному типу ".". Операция завершилась со сбоем, поскольку вызов QueryInterface COM-компонента для интерфейса с IID "{13486D50-4821-11D2-A494-3CB306C10000}" возвратил следующую ошибку: Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Class Not Registered. Maybe the OPC core components are not installed.
При попытки соединиться с другой машины, на котором стоит WinCC, видно перечень предустановленных OPC серверов, однако, при бразунге выдает следующую ошибку:
По последнему сообщению, если смотреть баги по технологии DCOM, то советуют следующее:HRESULT = 8000401a
UKNOW HRESUL
"The solution was to make the OPC-server service logon as the same user as the OPC-client service."- но все так и есть
Собственно, до этого настроил около 25 таких источников (WinCC) для различных серверов ввода-вывода. Чудес было много и разных, а вот такое впервые. Был бы рад, если у кого будут какие-либо советы