欢迎来到天天文库
浏览记录
ID:40088337
大小:97.01 KB
页数:5页
时间:2019-07-20
《OPC DCOM配置过程中常见问题及其处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、OPCDCOM配置过程中常见问题及其处理OPC技术提供了一种互联、可靠、安全的通信平台。然而,OPC技术依赖于DCOM架构,包括Windows安全和防火墙设置、访问控制列表、Server认证等。本文给出了OPCDCOM配置过程中最常发生的5个问题、导致原因及解决方法。1不能浏览远程计算机的OPCServer浏览是指OPCClient应用程序能够察看到安装在远程计算机上的OPCServer。OPCClient执行一次浏览操作实际是连接到驻留在远程计算机上的OPCEnum映像,并检索出可访问OPCServer列表。这包
2、括了每个OPCServer的ProgID(用户接口名字)和GUID(Globaluniqueidentifier,全局唯一标识符),如图1所示。OPCClient并不真正直接连接到OPCServer。图1OPCClient浏览远程计算机上的OPCServer示意图因此,浏览出的列表与OPCServer的状态无关,或者说与OPCServer的可操作与否无关,浏览OPCServer失败的直接原因是不能获得与远程计算机上的OPCEnum通信所需的参数,造成这个问题可能有如下原因。1.1OPCEnum没有安装OPC基金会负
3、责创建和维护OPCEnum。OPC基金会的成员能够从OPC基金会直接免费获得OPCEnum。1.2OPCEnum被禁止即使OPCEnum被安装在远程的计算机上,它也必须能够被执行,否则通信将会失败。-5-1.3匿名访问权限没有被设置OPCEnum需要匿名访问权限才能正常的工作。因此需要在WindowsCOM缺省安全中添加匿名访问权限。2不能连接远程计算机的OPCServer能够浏览远程计算机的OPCServer和连接远程计算机的OPCServer是无关的。即使远程计算机没有安装OPCEnum,也可以连接远程计算机的
4、OPCServer。在这种情况下,只要知道远程计算机上要连接的OPCServer的GUID。导致不能连接远程计算机的OPCServer可能有如下原因。2.1OPCServer被禁止如果OPCServer被设置以Windows服务的方式运行是不能够禁止的,故需要检查一下OPCServer是否被禁止。2.2用户身份认证的问题认证是验证用户身份的流程。Windows系统会比较用户名和密码,如果是操作系统不能识别的用户,就会拒绝访问从而不能与OPCServer建立连接。下面两种情况可能导致用户身份认证失败:l用户的账户在远
5、程的计算机上并不存在;l关闭SimpleFileSharing(简单文件共享)会去掉远程访问计算机的用户名和密码,导致用户不能被正确的认证。2.3访问控制列表问题当认证了一个来访问的用户账户后,系统将检查用户账户是否有启动或者访问OPCServer的权限,这是利用ACL(访问控制列表)来完成的。每个应用程序的ACL包括了用户账户的信息,操作权限等。因此,可能由于账户在ACL中没有相应的操作权限而被操作系统拒绝访问。3所有的Item显示为Bad当与一个OPCServer建立连接时,必须能够识别远程计算机的账户并且给予
6、它适当的访问权限。这就需要与OPCServer建立同步的通信连接,而且能够轮询到OPCServer的数据。如果所有的OPCServer项的数据属性指示为bad-5-quality,可能是由于下面两个原因引起的。3.1在OPCServer里的数据实际就是bad即OPCServer没有正确的获得数据,这时需要检查一下OPCServer和数据源之间的通信。3.2回调失败由于OPCClient采用订阅的方式来更新,故可能由于回调失败导致所有的Item显示为Bad。4OPCServer所在计算机的CPU利用率高4.1OPCC
7、lient使用同步读时的问题在这种情况下,OPCClient没有使用优化的读取方式,使得OPCServer花费更多的计算机CPU周期处理OPC通信,可以考虑采用异步或订阅的方式改进。4.2OPCClient使用异步读时的问题在这种情况下,可能是由于OPCServer本身没有优化使得对OPC通信的响应慢。4.3OPCClient使用读设备的问题:在这种情况下,OPCClient不断地通过OPCServer与设备进行直接的数据交换,这会明显的减慢OPCServer。如果是这种情况,可把所有的读设备改成读Cache。5.
8、OPCClient不接收更新的数据由于安全配置的问题会导致OPCClient不能接收更新的数据。OPC支持基于时间“subscription(订阅)”机制,当数据发生了变化时,OPCServer会通过异步回调把订阅的数据更新,同时发送更新的数据到OPCClient。在此过程中OPCClient不知道OPCServer将会在什么时候发送数据,如果不能正确配置安
此文档下载收益归作者所有