Андрей Смирнов
Время чтения: ~22 мин.
Просмотров: 91

Как исправить ошибку DistributedCOM Error 10016 в Windows 10

Главная » Инструкции windows » Ошибка DistributedCOM Код события 10016 Windows 10

Код события 10016 DistributedCOM Windows 10 Ошибка — одна из самых известных проблем, с которой пользователи сталкиваются в системном журнале. Эта ошибка запускается, когда определенные процессы не содержат прав доступа к компонентам DCOM, которые упоминаются в журналах событий. Это ограничивает безупречную работу компьютера, что в конечном итоге раздражает пользователей. Система сразу же забивает «Просмотрщик событий» тысячами сообщений с показам событий.

В ходе расследования выясняется, что при попытке запустить сервер DCOM с помощью приложения у вас нет никаких прав на это, и вы получите приведенную ниже ошибку в средстве просмотра событий: «Параметры разрешений для конкретного приложения не дают разрешения Локальной Активации для приложения COM-сервера«. Чтобы иметь четкую концепцию и избежать ошибок, мы разделим всю процедуру на четыре последовательных раздела. Давайте перейдем к ним сразу. Мы сосредоточимся на решении этой досадной ошибки в журнале событий «код события 10016 DistributedCOM Windows 10«, следуя приведенным ниже инструкциям.

Перед тем, как приступить к исправлению создайте точку восстановления системы.

Исправление кода события 10016 Ошибки DistributedCOM

Проверка процесса

Шаг 1. Прежде всего должны отсортировать процесс или службу, связанную с кодом ошибки 10016. Далее вы найдете описание ошибки чуть ниже во вкладке «общие» или «подробности». Из описания скопируйте CLSID. Он может выглядеть как {D63B10C5… .

Ошибка-10016-DistributedCOM.jpg

Шаг 2. Отроем теперь редактор реестра. Нажмите сочетание кнопок Win+R и введите regedit.

regedit-windowsr.png

  • В редакторе реестра выделите «Компьютер» одним нажатием мышки и нажмите «Правка» > «Найти«.

поиск-ключей-в-реестре.jpg

  1. Введите в поле поиска свой CLSID ключ, который типа {D63B10C5… . Поставьте галочку искать только «имена разделов».
  2. Вам выдаст ключ в правой стороне, выделите его мышкой один раз.
  3. В правом поле у вас будет ключ «По умолчанию» со значением RuntimeBroker. Запомните это значение оно нам пригодится в дальнейшим.

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

ключ-реестра-RuntimeBroker.jpg

Открытие сервисов компонентов

  • Наберите в поиске windows «Службы компонентов«, нажмите правой кнопкой мыши и выберите запустить от имени администратора.

Службы-компонентов-запуск-от-имени-админа.jpg

  • Перейдите по следующему пути Службы компонентов > Компьютеры > Мой компьютер > Настройка DCOM > и найдите в списке RuntimeBroker.

В некоторых случаях может быть два файла с этим именем. Вам нужно выяснить, какой файл несет ответственность за ошибку, что ниже мы и сделаем.

Компонент-RuntimeBroker.jpg

  1. Нажмите по очереди на двух файлов с именем RuntimeBroker правой кнопкой мыши выберите «Свойства«.
  2. Во вкладке «Общие» у вас будет «Код приложения» запомните его на двух файлах RuntimeBroker.
  3. Сравните код с ошибкой в «Журнале событий». APPID в журнале с ошибкой, должен соответствовать коду приложения в файле RuntimeBroker.

Определение-кода-приложения.jpg

Исправление разрешений

Наконец, когда вы удостоверились, что это именно тот файл выдает ошибку, то проделайте следующие шаги:

  • Нажмите в свойствах RuntimeBroker вкладку «Безопасность«.
  • Кнопка «настроить» должна быть активной.
  • Проделайте ниже шаги чтобы активировать настройки. (Не Запуск сценария PowerShell).

Запуск сценария PowerShell активирует эту кнопку настройки с помощью команды, но я рекомендую воспользоваться этим способом, если у вас не получилось все по порядку. Пропустите этот шаг «Запуск сценария PowerShell», если что потом вернетесь к нему.

Запуск сценария PowerShell

Чтобы обойти эту ошибку, вам нужно отредактировать некоторые разрешения в разделе «Служба компонентов» ключа RuntimeBroker. Прежде чем перейти к модификации, вам нужно запустить скрипт, который поможет вам изменить разрешения. Дальше поймете зачем мы это делали.

Шаг 1. Нажмите сочетание кнопок Win+X и выберите Windows PowerShell (администратор).

Шаг 2. Загрузите файл с кодом ниже. Разархивируйте скаченный архив, в нем содержится текстовый файл с кодом.

Шаг 3. Вставьте скаченный скрипт с файла в командную строку PowerShell.

PowerShell-задать-команду.jpg

Разрешение-на-запуск-и-активацию.jpg

  • 1-2. Скопируйте «Код приложения» в службах и компонентах, компонента RuntimeBroker.
  • 3. Откройте редактор реестра, нажмите «правка» > «найти» и вставьте код приложения, который до этого скопировали. Нажмите правой кнопкой мыши на найденным ключе в реестре и выберите «Разрешения«.
  • 4. далее в окне нажмите «Дополнительно«.

123.jpg

  1. В окне сверху «Владелец» нажмите «Изменить«.
  2. В следующим окне нажмите внизу «Дополнительно«.
  3. Нажмите справа «Поиск» и ниже со списка выберите «Администраторы«.

Добавить-расширенные-права-пользователей.jpg

  • Теперь переходим обратно в компоненты к свойству файла RuntimeBroker и мы видим, что теперь кнопка «настроить» стала интерактивной.
  • Выскочит предупреждающее окно нажмите Удалить, если вам не мог код сценария powerShell.
  • Нажмите Отмена, если вам помог код сценария powerShell.
  • Нажмите Изменить напротив кнопки «настроить» в графе «разрешения на запуск и активацию».

Настройка-рунтаймброкер-компонента.jpg

Добавим группы система и local service.

  1. В окне, где имеются учетные записи нажмите «Добавить«.
  2. Ниже кнопка «Дополнительно«.
  3. Нажмите «Поиск» с боку.
  4. Найдите локальную службу LOCAL SERVICE и нажмите OK.

Добавить-локальную-службу.jpg

  • Аналогичным способом, что описан выше добавьте «Система«.

Добовление-системы.jpg

  • Теперь у вас появились две группы система и local service, нажмите на каждую из них и поставьте галочки в пунктах «Локальный запуск» и «Локальная активация».

Перезагрузите компьютер, ноутбук и код события 10016 Ошибка DistributedCOM должен пропасть.

Добавление-прав-доступа.jpg

Смотрите еще:

  • DISM ошибка 87 в командной строке Windows 
  • Ошибка 0x8000ffff при восстановлении системы Windows 10
  • Как исправить Ошибку 0xc1900101 0x20004 при установке Windows 10
  • Как исправить ошибки обновлений Windows 10
  • Как узнать IP-адрес компьютера с помощью PowerShell Windows

comments powered by HyperCommentsПолитика конфиденциальности

Как исправить ошибку DistributedCOM Error 10016 в Windows 10

Ошибка DistributedCOM Error 10016 является общей проблемой Windows почти для всех версий, начиная с Windows XP. Ошибка не приводит к немедленному отказу системы. Вы не будете страдать от внезапного синего экрана смерти. Фактически, ошибка DCOM 10016 является неопасной. Однако , это не значит, что ты не можешь это исправить. Итак, вот как исправить ошибку DistributedCOM Error 10016 в вашей системе Windows 10.

Что такое DistributedCOM?

Во-первых, что такое DistributedCOM, и почему он показывает ошибку?

Distributed Component Object Model (DCOM) является неотъемлемой частью сетевого взаимодействия на компьютерах с операционной системой Windows. Это запатентованная технология Microsoft, которая срабатывает каждый раз, когда приложение подключается к интернету. Традиционный COM может получить доступ к информации только на той же машине, в то время как DCOM может получить доступ к данным на удаленных серверах.

Например, многие сайты и службы используют сценарии доступа к удаленному серверу. Когда ваша система делает запрос с помощью сценария или иным образом, DCOM пересылает запрос на определенный объект сценария. Учитывая, как часто современные приложения используют сетевое подключение, и наше повсеместное использование компьютеров, вы можете убедиться, что DCOM используется очень часто.

Ошибка DCOM обычно возникает, когда приложение или служба пытается использовать DCOM, но не имеет соответствующих разрешений. Большую часть времени ошибки DCOM не будут влиять на вашу систему, за исключением засорения Event Viewer. Поскольку большинство пользователей Windows 10 не проверяют Event Viewer регулярно, ошибки DCOM не о чем беспокоиться. Тем не менее, система без ошибок лучше, чем наоборот.

Учитывая это, приведем один простой способ устранения ошибки DCOM Error 10016, и еще одно несколько более длинное исправление.

1. Редактирование реестра Windows для исправления ошибки DCOM Error 10016

Простая настройка реестра иногда позволяет немедленно исправить ошибку DCOM Error 10016.

Перед редактированием реестра я рекомендую сделать резервную копию.

Введите registry в строке поиска меню Пуск. Перейдите в меню Файл > Экспорт, установите для параметра Экспорт диапазон значение Все, а затем Сохранить реестр Windows в удобном месте. Следующее исправление не повредит ваш компьютер, но лучше всего сделать резервную копию для восстановления в случае непредвиденной ошибки.

Итак, давайте попробуем исправить ошибку.

  1. Введите registry в строке поиска меню Пуск и откройте Редактор реестра.
  2. Перейдите по ссылке HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle. Адрес можно скопировать и вставить в адресную строку редактора реестра.
  3. Удалите следующие четыре ключа реестра:
    • DefaultAccessPermission
    • DefaultLaunchPermission
    • MachineAccessRestriction
    • MachineLaunchRestriction
  4. Закройте редактор реестра Windows, а затем перезагрузите систему.

С этого момента в системе не должно быть ошибки DCOM Error 10016.

2. Разрешение DCOM на выполнение определенных действий при возникновении ошибок

Если это не сработает, то вы сможете найти гораздо более длинный выход из сложившейся ситуации. Сообщение об ошибке DCOM Error 10016 в средстве просмотра событий содержит информацию о конкретном приложении или процессе, создающем проблему.

Загрузите средство просмотра событий.

Перейдите в Журнал Windows > Система и найдите вашу последнюю ошибку DCOM 10016. Дважды щелкните сообщение об ошибке, чтобы развернуть его.

Вкладка General (Общие) объясняет причину ошибки 10016 и содержит список CLSID (Class ID) и APPID (Application ID). Символьные строки CLSID и APPID выглядят случайно. Однако с их помощью можно определить, какое приложение или служба является источником ошибки 10016.

Найдите CLSID и APPID в редакторе реестра

Вот как найти службу в Редакторе реестра.

Сначала выделите CLSID в средстве просмотра событий, а затем нажмите CTRL + C для копирования. Затем откройте Редактор реестра. Поиск в реестре осуществляется по следующим параметрам:

HKEY_CLASSES_ROOTCLSID{Вставьте Ваш CLSID здесь}

Например: HKEY_CLASSES_ROOTCLSID{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}.

Помните, что адрес можно скопировать и вставить в адресную строку редактора реестра. По окончании поиска CLSID можно выполнить перекрестные ссылки на APPID из сообщения об ошибке с AppID, указанным в CLSID.

Ошибка DCOM 10016 в примере связана с Runtime Broker, который является одной из наиболее распространенных причин этой ошибки.

Редактирование разрешений CLSID

В левом списке записей реестра щелкните правой кнопкой мыши CLSID, относящийся к ошибке, затем выберите Permission > Advanced (Разрешение > Дополнительно). Отсюда вы можете отредактировать права доступа к службе.

Выделите пункт Administrators (Администраторы) и выберите Edit (Редактировать). Переключите основные разрешения на Full Control, а затем нажмите OK > Apply > OK.

Теперь перезапустите систему.

После завершения перезапуска введите Component Services (Службы компонентов) в строку поиска меню Пуск и запустите сервис. Перейдите к Компьютеры > Мой компьютер > DCOM Config.

Вы увидите длинный список сервисов, использующих DCOM каким-либо образом. Найдите службу, используя имя и APPID, щелкните правой кнопкой мыши и выберите Properties > Security.

В разделе Launch and Activation Permissions выберите Edit > Add > Add a Local Service > Apply. Теперь поставьте галочку в поле Local Activation, нажмите OK и перезагрузите систему еще раз.

Ух ты! Все сделано, процесс завершен.

Примечание: К сожалению, если у вас несколько причин ошибки 10016, вам придется выполнять этот процесс для каждой комбинации CSLID/APPID.

DCOM Error 10016 решена

Надеюсь, это помогло вам исправить ошибку распределенного COM 10016. Должен подчеркнуть, что ошибка DCOM 10016 вряд ли повлияет на производительность вашей системы.

Спасибо, что читаете! Подписывайтесь на мой канал в Telegram и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий. Также, читайте меня в социальных сетях: Facebook, Twitter, VKOK.

Респект за пост! Спасибо за работу!

Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.

На данный момент есть возможность стать патроном, чтобы ежемесячно поддерживать блог донатом, или воспользоваться Яндекс.Деньгами, WebMoney, QIWI и PayPal:

Спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.

Поразбиравшись какое-то время как правильно настроить передачу OPC-тегов по сети Ethernet я понял, что подобная настройка не совсем сложная, но слегка мудреная для тех, кто не связывался с настройкой Windows. Решил преподнести данный материал в своем блоге.

Это вторая версия статьи. Первая версия писалась в спешке и не отражала полной настройки системы. В этом материале исправлены ошибки прошлого. В любом случае, пишите комментарии, задавайте вопросы ?

Общий план работ

Чтобы настройка не была головной болью, нужно соблюдать определенную последовательность действий.

  1. Введение — вода всякая ?
  2. Проверка OPC локально — OPC-клиент на сервере должен без проблем получать данные с локального OPC-сервера.
  3. Отключение брандмауэра — по-началу это упрощает настройку, пока еще нет четкого понимания что нужно разрешать.
  4. Настройка пользователей — связка логин/пароль должна быть одинаковой на обоих компьютерах.
  5. Настройка DCOM — общие настройки, обеспечивающие работоспособность DCOM на компьютерах.
  6. Настройка OpcEnum для работы через DCOM — служба, которая отображает OPC-сервера компьютера на котором она запущена.
  7. Настройка целевого OPC-сервера для работы через DCOM — в моем случае это CoDeSysOPCDA
  8. Включение брандмауэра и создание правил — с отключенным брандмауэром жить не комфортно! Здесь же и проверим как данные летают

Введение

У меня есть отдельные требования для настройки:

  • доступ к OPC-серверу будет осуществляться по логину и паролю
  • доступ будет осуществляться только к тому OPC-серверу, который мы укажем

Вариант где все для всех разрешено описывать не буду.

Что мы имеем:

  • Условный сервер (так и будем его далее называть) – этот компьютер связывается с контроллером. В моем случае это виртуальная машина с Windows 7 Professional SP1 с последними обновлениями и CoDeSys 3.4. Виртуалка имеет имя W7-DCOM-1.
  • В качестве контроллера выступает софтовый PLC от CoDeSys.
  • Условный клиент – компьютер с OPC DA клиентом — в моем случае это еще одна виртуалка с Windows 7 Professional SP1 с последними обновлениями, в качестве OPC-клиента я выбрал продукт от kassl.de. Виртуалка имеет имя W7-DCOM-2.
  • Обе виртуалки находятся в рабочей группе, домен отсутствует, связь между ними есть.

Проверка OPC локально

Для проверки я запустил OPC-клиент, подключился к предварительно настроенному OPC-серверу на сервере. После того как есть 100%-ая уверенность в работоспособности OPC-сервера локально можно приступать к настройке DCOM.

01-проверка-работы-OPC-на-локальном-компьютере-1-150x150.png
Проверка работы OPC на локальном компьютере

Отключение брандмауэра

Наша цель — настроить OPC через DCOM, а по-началу брандмауэр может в этом помешать. Поэтому сперва с отключенной защитой мы настраиваем наше ПО и убеждаемся, что все настроено и работает, а в конце подключаем защиту. Так проще искать ошибки в процессе.

Настройка пользователей

На обоих компьютерах должны быть пользователи с одинаковыми логинами и паролями, причем пароль должен быть не пустым. В домене можно использовать одну учетную запись. Для теста я выбрал логин opc и пароль opc — конечно же, не рекомендую использовать такую простую связку в продакшне ?

Итак, переходим к настройке пользователей. Текстовую последовательность я снабдил скриншотами, которые помогут проще ориентироваться в тексте. Конечно же, опытный пользователь может создать/настроить юзера так как ему будет угодно, тем не менее я предлагаю такой вариант.

  1. Запускаем компонент управления учетными записями пользователей control userpasswords2.
  2. В окне нажимаем кнопку Добавить для добавления нового пользователя в систему.
  3. В следующем окне задаем логин opc (поле Пользователь), и имя с описанием по желанию и жмем кнопку Далее.
  4. Задаем пароль opc и подтверждение, жмем Далее.
  5. Далее выбираем группу Администратор (или другую, которая позволит запускать OPC-сервер) и жмем кнопку Готово.
  6. Пользователь создан и появляется в списке Пользователи этого компьютера«. Для включения автологина, нужно выделить юзера в этом списке и снять галку Требовать ввод имени пользователя и пароля. Решать вам, нужен автологин или нет.Затем нужно сделать две вещи. Добавить юзера в группу Пользователи DCOM (таким образом всю настройку мы сможем выполнять для группы, а не для конкретного пользователя — это может быть полезно в будущем при смене пароля для opc или изменении пользователя) и настроить запрет смены пароля юзером (это на всякий случай). Для этого переходим на вкладку Дополнительно. В секции Дополнительное управление пользователями нажимаем кнопки Дополнительно (уж простите Майкрософт за тавтологию …).
  7. В появившемся окне слева выбираем Группы и дабл-клик на группу Пользователи DCOM.
  8. В открывшемся окне есть кнопка Добавить, которая запускает диалог добавление юзера в группу.
  9. В поле для ввода пишем логин opc и жмем кнопку OK, если все хорошо, то окно закроется …
  10. … а в следующем окне в списке Члены группы появится наш opc. Теперь можно закрыть окно.
  11. Далее слева выбираем пункт Пользователи и дважды кликнем на нашего opc, в появившемся окне ставим галки Запретить смену пароля пользователем и Срок действия не ограничен, подтверждаем кнопкой OK и закрываем окно настройки пользователей и групп.
  12. Также подтверждаем настройки кнопкой OK в оставшемся окне. Но окно не закроется, а выскочит просьба ввести логин и пароль пользователя для автологина. Введем данные нашего юзера и подтвердим кнопкой OK.

Внимание! Эти действия необходимо провести как на сервере, так и на клиенте.

03-создание-пользователя-1-150x150.png
1. Создание и настройка пользователя
04-создание-пользователя-1-150x150.png
2. Создание и настройка пользователя
05-создание-пользователя-1-150x150.png
3. Создание и настройка пользователя
06-создание-пользователя-1-150x150.png
4. Создание и настройка пользователя
07-создание-пользователя-1-150x150.png
5. Создание и настройка пользователя
08-создание-пользователя-1-150x150.png
6. Создание и настройка пользователя
09-создание-пользователя-1-150x150.png
7. Создание и настройка пользователя
10-создание-пользователя-1-150x150.png
8. Создание и настройка пользователя
11-создание-пользователя-1-150x150.png
9. Создание и настройка пользователя
12-создание-пользователя-1-150x150.png
10. Создание и настройка пользователя
13-создание-пользователя-1-150x150.png
11. Создание и настройка пользователя
14-создание-пользователя-1-150x150.png
12. Создание и настройка пользователя
15-создание-пользователя-1-150x150.png
13. Создание и настройка пользователя
16-создание-пользователя-1-150x150.png
14. Создание и настройка пользователя

Настройка DCOM

В данном разделе нужно настроить свойства DCOM по умолчанию на сервере, чтобы «все работало». Приступим.

  1. Запустим окно настройки DCOM командой dcomcnfg .
  2. Откроется окно Службы компонентов, в котором нужно будет раскрыть список Службы компонентов, а затем и список Компьютеры, где мы увидим еще один вложенный список Мой компьютер, на который нужно нажать правой кнопкой мыши и выбрать пункт меню Свойства.
  3. В появившемся окне свойств выбираем вкладку Свойства по умолчанию и устанавливаем следующие настройки:
    1. Галка Разрешить использование DCOM на этом компьютере — без нее DCOM работать не будет.
    2. В Уровень проверки подлинности по умолчанию выбираем Подключиться.
    3. В Уровень олицетворения по умолчанию выбираем Определить.
  4. После жмем кнопку OK. Система может предупредить о том, что будут изменены свойства DCOM — соглашайтесь. Окно Службы компонентов не закрывайте, оно нам еще понадобится.

Те же настройки необходимо провести и на клиенте за исключением пунктов 3.2 и 3.3 — они не повлияют на работу, но и не повредят. Самое главное, чтобы DCOM был разрешен.

17-общие-настройки-dcom-1-150x150.png
1. Общие настройки DCOM
18-общие-настройки-dcom-1-150x150.png
2. Общие настройки DCOM
19-общие-настройки-dcom-1-150x150.png
3. Общие настройки DCOM

Настройка OpcEnum для работы через DCOM

Служба OpcEnum отвечает за отображение OPC-серверов. Если ее настроить некорректно, то при браузинге серверов, вы не увидите ничего, кроме ошибок. Эту службу нужно настроить на сервере.

  1. В окне Служба компонентов должно уже быть открыто дерево до Настройка DCOM. Нужно выбрать этот элемент в левой части окна, и после этого в правой найти OpcEnum, кликнуть на него правой кнопкой мышки и выбрать пункт меню Свойства.
  2. Откроется окно свойств, и во вкладке Общие в списке Уровень проверки подлинности выбрать Подключиться.
  3. Во вкладке Размещение должен быть выбран пункт Запустить приложение на данном компьютере. Остальные галки должны быть сняты.
  4. Далее переходим к вкладке безопасность, где будем раздавать права на удаленный запуск, доступ и изменение настроек OpcEnum. Во всех трех случаях выбираем пункт Настроить, т.е. у нас должны быть активны три кнопки Изменить.
  5. Начнем с Разрешение на запуск и активацию. Нам нужно добавить нашу группу с необходимыми разрешениями, поэтому кликаем на кнопку Добавить.
  6. Вписываем (или ищем) Пользователи DCOM, жмем OK — группа должна добавиться.
  7. Итак, группа в списке, теперь надо проставить галки под словом Разрешить. (На скриншоте) Я поставил все галки, но для того чтобы служба работала по сети нам нужно лишь Удаленный запуск и Удаленная активация. После проставления галок жмем OK и открываем следующее окно — Права доступа.
  8. Точно так же добавляем нашу группу и разрешаем ей все, либо только Удаленный доступ, жмем OK и открываем окошко Разрешение на изменение настроек.
  9. В этом окне точно так же добавляем группу и разрешаем ей Полный доступ и Read — они ставятся одновременно и снимаются так же. Жмем OK и переходим ко вкладке Удостоверение окна свойств OpcEnum.
  10. Для службы OpcEnum возможно два варианта запуска:
    1. Системная учетная запись (только службы) — OPC-сервер будет запущен под системной учетной записью независимо от входа в систему. Данный вариант нам подходит и его советуют как более предпочтительный.
    2. Указанный пользователь — при данной настройке OPC-сервер будет  запущен от имени указанного нами пользователя в одном экземпляре, в независимости от того под какой учетной записью совершен вход. Этот вариант нравится мне больше, т.к. я люблю определенность, ведь в данном случае я сам указываю пользователя.
  11. Определившись нажимаем OK и переходим к перезапуску службы OpcEnum. Это можно сделать из того же окна: слева выбираем Службы (локальные), справа в  списке ищем OpcEnum, выбираем и перезапускаем нажатием на появившуюся ссылку.
  12. Дожидаемся перезапуска службы и переходим к клиенту.
  13. На клиенте запускаем OPC-клиент и пытаемся искать OPC-сервера, используя IP-адрес нашего сервера. Как видно на скриншоте — OPC-сервер найден.
  14. Но при попытке достучаться до тэгов прилетает отказ. Этого следовало ожидать, ведь мы еще не настраивали наш CoDeSysOPCDA.

Настройка целевого OPC-сервера для работы через DCOM

Итак, мы вплотную подобрались к настройке ПО, которое будет выдавать нам теги на клиенте. Настройка не сильно отличается от процедуры, описанной в предыдущем разделе.

  1. В Настройка DCOM ищем необходимый OPC-сервер (в данном случае — CoDeSysOPCDA), тыкаем правой кнопкой мыши и выбираем свойства.
  2. На вкладке Общие выбираем Уровень проверки подлинностиПодключиться.
  3. На вкладке Размещение должен быть выбран только пункт Запустить приложение на данном компьютере.
  4. На вкладке Безопасность группе Пользователи DCOM даем права на удаленный запуск, доступ и изменение настроек как и в случае с OpcEnum (ниже будут скриншоты).
  5. На вкладке Удостоверение у нас есть 4 варианта:
    1. Текущий пользователь — в этом случае OPC-сервер будет запускаться от имени вошедшего в систему пользователя. Можно использовать данный вариант, но необходимо на сервере авторизовываться под учетной записью opc, что может быть не всегда удобно. Но тем не менее можно выбрать этот вариант при условии, что сервер всегда будет запущен под учеткой opc.
    2. Запускающий пользователь — при авторизации пользователя будет запущен экземпляр OPC-сервера. Если к серверу будет подключено два клиента, то будет запущено два OPC-сервера. В одном случае это будет отжирать ресурсы, в другом — все кроме первого клиенты не будут видеть данных.
    3. Указанный пользователь — как и в случае с OpcEnum этот вариант предпочтительный потому, что при такой настройке будет запущен один экземпляр под необходимой учетной записью. Я выбираю этот вариант и ввожу логин и пароль предварительно созданного пользователя.
    4. Системная учетная запись (только службы) — для CoDeSysOPCDA этот вариант недоступен, поэтому не рассматриваем.
  6. После выбора одного из вариантов и нажатия на кнопку OK, нужно перезапустить OPC-сервер, если он запущен. В случае с CoDeSysOPCDA я вырубаю процесс сервера.
  7. Теперь переходим к компьютеру, на котором запущен OPC-клиент и пытаемся искать OPC-сервак на удаленном сервере. Стоит заметить, что мы должны увидеть список OPC-серверов без каких-либо проблем, как и в предыдущем разделе.
  8. Но после манипуляций описанных в этом разделе мы должны иметь возможность создать группу в клиенте, увидеть теги и их значения. Что мы и видим на последнем скриншоте, в галерее ниже.

Включение брандмауэра и создание правил

Конечно же, нельзя забывать об отключенной в самом начале защите. Но если включить фаервол без предварительно созданных правил, то клиент не сможет достучаться до сервера. Я рассматриваю брандмауэр Windows, т.к. он идет по умолчанию и есть у всех, кто настраивает DCOM. Опытный пользователь без труда настроит другое ПО по аналогии. Подробно текстом описывать не буду (скриншоты смотрите ниже), но вот необходимые правила:

  1. Разрешение на доступ извне для службы OpcEnum.
  2. Разрешение на доступ извне по 135-му TCP-порту.
  3. Разрешение на доступ извне для CoDeSysOCPDA.

Рекомендую следующую последовательность действий:

  1. Включить брандмауэр.
  2. Убедиться, что данные не проходят.
  3. Создать правила.
  4. Убедиться, что данные проходят.

Вот и все. Как видите, ничего сложного в пробросе OPC-тегов через DCOM нет. Самое главное, чтобы были необходимые права на выполнение всех манипуляций. Для настройки OPC-сервер в Windows XP воспользуйтесь этой статьей.

Используемые источники:

  • https://mywebpc.ru/windows/event-id-10016-distributedcom-windows-10-error/
  • https://levashove.ru/fix-distributedcom-error-10016-windows/
  • https://cianoid.org/2016/08/04/настройка-dcom-для-opc-на-windows-7/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации