OpcEnum.exe的作用是什么?Windows将可用OPC服务器的列表存储在哪里



我正在为Windows 7系统开发一个OPC客户端应用程序,该应用程序与运行在Rockwell RSLinx Classic中的OPC服务器进行通信。

RSLinx Classic软件包包括一个OPC测试客户端。客户端程序生成了一个我可以连接的OPC服务器列表(我的机器上有一些来自National Instruments的额外服务器,我不确定它们是如何到达那里的(。我选择一个服务器并连接。我可以监视服务器上实时更新的项目。所以我知道我有一个工作的客户端-服务器连接。

现在我想写我自己的客户。我如何自己获取OPC服务器列表?我的研究表明,Rockwell和/或National Instruments软件在我的计算机上的文件夹C:\Windows\SysWOW64中安装了一个名为OpcEnum.exe的程序。它不在路径上。OpcEnum服务显示在系统服务注册表上,并且正在运行。如果直接从OpcEnum.exe的文件夹中执行,它将运行。。。但是不向控制台输出任何内容。它做什么?它没有-h或-help命令行选项。据推测,它在某个地方更新了一个数据文件,该文件列举了服务器名称。

我找不到任何详细描述OpcEnum.exe的文档来理解它。

感谢您的任何建议!

OPCEnum不是罗克韦尔特有的。它是通用OPC基础设施的一部分,并在OPC"经典"规范中进行了描述(https://opcfoundation.org/developer-tools/specifications-classic/data-access/(。

在那里,您会发现它将其功能公开为COM组件。因此,如果您想使用它,您需要创建一个特定COM对象的实例(通过其CLSID(,获取文档化的接口,并使用它们的方法来获取计算机上COM服务器的列表或有关它们的其他信息。

OPCEnum可以作为某些软件安装的一部分安装(由罗克韦尔(,但它来自OPC基金会的"OPC核心组件"(https://opcfoundation.org/developer-tools/samples-and-tools-classic/core-components/(。

有关服务器的信息存储在注册表中。事实上,OPC服务器主要使用标准的Microsoft COM注册,其信息的存储方式与其他COM组件相同,但OPCEnum知道服务器的组件类别,因此它可以为您过滤出OPC服务器;在OPC 1.0中,服务器没有被归类为组件类别,因此OPCEnum依赖于一个额外的注册表项("OPC"(来查找它们。

最新更新