通讯协议012——你知道OPCEnum有什么用吗

你知道OPCEnum有什么用吗?看完本文你就对OPCEnum有了全新的认识。更多通讯资源请登录网信智汇(wangxinzhihui.com)。

我们在用OPCClient进行OPC通讯调试时,可以很方便地获取到本地或远程的OPC Server列表,这归功于OPCEnum的功劳。

下面,我们把OPCEunm禁止掉。

再点击“Refresh List”,这时,就无法获取到OPCServer列表。

通过以上的操作,我们可以看到OPCENUM的作用就是枚举本地或远程服务器上OPC Server列表,最终的目的是获取OPC Server的ProgID,以创建OPCServer对象,实现OPC通讯。

下面,我们对不能浏览OPCServer列表的原因进行总结。

1.未发现OPCEnum服务:如果Windows服务列表中未发现OPCEnum服务,可通过以下办法解决:

        1)检查OpcEnum.exe是否在System32目录下,在CMD中执行以下命令

                C:\Windows\System32\OpcEnum.exe /regserver

        2)检查OpcEnum.exe是否在SysWOW64目录下,则在CMD中执行以下命令

                C:\Windows\SysWOW64\OpcEnum.exe /regserver

       3)没有发现OpcEnum.exe,安装OPC Core Components Redistributable,可登录网信智汇(wangxinzhihui.com)下载。

      4)安装OPC Server仿真软件,软件包含了OPC DA组件包。如DSxPOpcSimulator、Matrikon OPC Server Simulation。

2.OPCEnum服务被禁止:设置OPCEnum服务为手动或自动状态。

3.匿名访问权限没有设置:需要在Windows COM安全设置中添加匿名访问权限。

   最后1个问题,没有OPCEnum,是否还能进行OPC通讯?答案是肯定的。

        1)通过远程注册表的方式,同样可以获取本地或远程的OPC服务器列表,只是处于安全考虑,Remote Registry服务通常被禁止。

        2)对于Linux系统,既没有OPCEnum,也没有Remote Registry,那么怎么创建OPC通讯?我们知道OPCEnum的目的是获取OPC Server的CLSID,然后转换成ProgID,创建OPCServer对象。所以,我们只要提供OPCServer的CLSID给Linux的OPCClient同样可以实现与OPCServer的通讯。OPCServer的CLSID可以在OPC服务器上注册表里查找。

更多通讯资源请登录网信智汇(wangxinzhihui.com)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值