通讯协议013——你碰到哪些OPC通讯问题?

本文对OPC通讯常见问题及处理进行汇总。更多通讯资源请登录网信智汇(wangxinzhihui.com)。

一、不能浏览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安全设置中添加匿名访问权限。

通讯协议013——你碰到哪些OPC通讯问题?_第1张图片

4.OPCClient采用搜索注册表的方式来枚举OPC服务器,则应该启用Remote Registry服务。

5.OPC Server未注册或注册表信息丢失。

二、不能连接远程OPC Server

    1.显示“RPC服务器不可用”:基本上是网络不通的问题,检查网络、防火墙。

通讯协议013——你碰到哪些OPC通讯问题?_第2张图片

    2.显示“CoCreateInstance:系统找不到指定的文件”:检查OPC Server程序文件是否存在。

通讯协议013——你碰到哪些OPC通讯问题?_第3张图片

    3.以Windwos服务方式运行的OPC Server未启动,检查并启动。

    4. 用户身份认证的问题:显示错误码0x00000005,原因是在远程的计算机身份认证没有通过。 身份认证是 Windows系统比较用户名和密码,如果是不能识别的用户,就会立即拒绝访问。造成身份验证失败的原因有:

a) 用户账户在远程计算机上不存在: 如果试图从的一个域访问另一个域时,需要建立域间的信任关系,或者添加用户到所有的域。如果使用的是工作组,就需要添加用户到远程的计算机,如果使用单域系统就不存在这个问题。

b) 用户密码不对

c) 关闭“简单文件共享”(Simple File Sharing):简单文件共享会去掉远程访问计算机的用户名和密码,导致用户不能被正确认证。

5.访问控制列表问题:错误码为0x80070005,DCOM配置问题。系统检查用户账户是否有启动或者访问OPC Server 的权限. 这是利用访问控制列表(ACL)来完成的。对于每个应用程序的ACL 包括了用户账户的信息,哪些用户被被允许或者拒绝对具有特定操作权限。检查DCOM配置。

6. DCOM默认模拟级别问题:错误码为0x80070005。DCOM默认模拟级别应为“标识”,不能为“匿名”。

7. OPC Server 身份识别的问题:错误码为0x80070005,DCOM配置问题。检查DCOM配置。

    a)交互式用户:是当前登录到运行 COM 服务器的计算机的用户。 如果标识设置为交互式用户,则如果服务器将其类工厂注册为多用途,则所有客户端都使用相同的服务器实例。这个账户是当前登陆此计算机且驻留在OPC Server的计算机上,也就是必须有账户登录,否则不能启动OPC Server,当此用户注销时,OPC Server就会关闭。如果服务器具有图形用户界面 (GUI) 客户端需要查看,则应使用交互式用户作为服务器的标识。

    b)启动用户:这是应用程序标识的默认设置。 OPC Server以访问的用户认证,操作系统会为每个访问的用户创建一个实例,这样会有三个问题出现:

  • 若OPC Server只允许一个用户访问时,当系统中已经有了一个实例,再有其它用户就无法访问。
  • 若是OPC Server允许多个用户访问时,那么带来的问题是随着不同用户的访问,就会打开多个实例,这样就会占用更多的计算机的资源。
  • 另外的一个问题是硬件的抢占,如串口,当一个使用了,其它的用户就无法再使用。

此外,客户端不会看到服务器显示的任何 GUI。

   c)指定用户: OPC Server以指定的用户账户认证,这种情况需要在OPC Server的计算机上存在着要指定的账户,而且对于OPC Client必须知道此用户。否则无法访问。这种方式下,每个客户端都会与服务器的同一实例通信。 如果服务器具有 GUI,则不应选择此标识;如果这样做,用户将无法看到用户界面。

   d)系统账户(仅用于服务):OPC Server以操作系统账户认证,对于工作组还是域,系统账户都能被识别,也不需要有用户登陆。但OPC server必须以服务的方式启动。

三、数据显示Bad

1、数据源头为Bad

2、OPC Client与OPC Server时间差太大

四、OPC通讯错误码

通讯协议013——你碰到哪些OPC通讯问题?_第4张图片

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

你可能感兴趣的:(通讯协议,网络协议,信息与通信)