Что делает OpcEnum.exe? Где Windows хранит список доступных серверов OP C? - PullRequest
1 голос
/ 07 мая 2020

Я работаю над разработкой клиентского приложения OP C для системы Windows 7, которое взаимодействует с сервером OP C, работающим в Rockwell RSLinx Classi c.

RSLinx В комплект Classi c входит тестовый клиент OP C. Программа Client создает список серверов OP C, к которым я могу подключиться (на моей машине есть несколько дополнительных серверов от National Instruments, я не уверен, как они туда попали). Выбираю сервер и подключаюсь. Я могу отслеживать элементы на сервере, которые обновляются в режиме реального времени. Итак, я знаю, что у меня есть работающее соединение клиент-сервер.

Теперь я хочу написать свой собственный клиент. Как я могу получить этот список серверов OP C? Мои исследования показывают, что программное обеспечение Rockwell и / или National Instruments установило на моем компьютере программу под названием OpcEnum.exe в папке C: \ Windows \ SysWOW64. Это не ПУТЬ. Служба OpcEnum отображается в реестре системных служб и работает. Если вы запустите OpcEnum.exe прямо из его папки, он запустится ... но ничего не выведет на консоль. Что оно делает? У него нет параметров командной строки -h или –help. Предположительно, он где-то обновляет файл данных, в котором перечислены имена серверов.

Я не могу найти никакой документации, которая описывает OpcEnum.exe достаточно подробно, чтобы понять его.

Любые ваши советы приветствуются, спасибо!

1 Ответ

2 голосов
/ 07 мая 2020

OPCEnum не указан c в Rockwell. Это часть общей инфраструктуры OP C, описанная в спецификациях OP C «Classi c» (https://opcfoundation.org/developer-tools/specifications-classic/data-access/).

Там вы обнаружите, что он раскрывает свои функции как COM-компонент. Итак, если вы хотите его использовать, вам необходимо создать экземпляр определенного c COM-объекта (по его CLSID), получить документированный интерфейс (-ы) и использовать их методы для получения списка COM-серверов на компьютере. , или другую информацию о них.

OPCEnum может быть установлен как часть установки некоторого программного обеспечения (Rockwell), но он исходит из «OP C Core Components» от OP C Foundation ( https://opcfoundation.org/developer-tools/samples-and-tools-classic/core-components/).

Информация о серверах хранится в реестре. Фактически, серверы OP C используют в основном стандартную регистрацию Microsoft COM, и их информация хранится так же, как и другие компоненты COM, но OPCEnum знает категорию / категории компонентов серверов, поэтому он может отфильтровать только OP C Серверы для вас; а в OP C 1.0 серверы не были отнесены к категории компонентов, поэтому OPCEnum для их поиска использует дополнительный ключ реестра («OP C»).

...