OPC DCOM配置过程中常见问题及其处理
- 格式:docx
- 大小:52.38 KB
- 文档页数:5
OPCSERVERDCOM配置方法OPCSERVERDCOM是一种用于实现互操作性数据访问的技术,通过使用DCOM(分布式组件对象模型)允许不同平台和应用程序之间的通信。
在配置OPCSERVERDCOM之前,我们需要确保已经安装了OPC Server和DCOM组件。
本文将详细介绍OPCSERVERDCOM的配置方法,并提供一些最佳实践。
第一步:检查OPC Server的安装和配置状态在配置OPCSERVERDCOM之前,首先确保OPC Server已经安装并正确配置。
检查OPC Server的运行状态、配置文件和日志文件,以确保其正常工作。
确定OPC Server是否支持DCOM,并确认当前的OPC Server是否已经允许远程访问。
第二步:配置DCOM组件配置DCOM组件是使OPCSERVERDCOM正常工作的关键步骤。
按照以下步骤进行配置:2.导航到“计算机”>“我的电脑”>“DCOM配置”:在组件服务控制台中,依次展开“计算机”>“我的电脑”>“DCOM配置”。
4. 配置OPC Server应用程序的属性:右键点击OPC Server应用程序,选择“属性”。
在属性窗口中,选择“安全”选项卡。
5. 配置访问权限:在安全选项卡下,配置访问权限。
可以设置哪些用户或组可以访问OPC Server,并确定用户的访问级别。
推荐配置只有必要的用户和组可以访问OPC Server。
6.配置启动和激活权限:在安全选项卡下,配置“启动和激活权限”。
同样,只允许必要的用户和组拥有启动和激活权限。
7. 配置默认属性:在“属性”窗口中,选择“默认属性”选项卡。
在这里,可以配置OPC Server的身份验证方式和默认权限。
根据需求进行配置。
第三步:配置防火墙和安全策略为了确保OPCSERVERDCOM的安全性和可靠性,还需要配置防火墙和安全策略。
以下是一些建议的配置方法:1. 配置防火墙规则:如果操作系统上启用了防火墙,需要允许OPC Server和DCOM的通信。
OPC通讯常见问题解答北京亚控科技发展有限公司2009年8月目录1. 组态王做OPC Cilent,服务器DCOM配置完成后,发现可以找到OPC Server 程序,但是组态王定义变量选寄存器的时候一直弹出“服务器正在运行中”的提示,只偶尔能打开寄存器列表? (1)2. OPC通讯时,变量数据的更新速度与什么有关系? (1)3. 组态王的opc是否具有冗余的功能? (2)1. 组态王做OPC Cilent,服务器DCOM配置完成后,发现可以找到OPC Server程序,但是组态王定义变量选寄存器的时候一直弹出“服务器正在运行中”的提示,只偶尔能打开寄存器列表?1)其一:WINDOWS 2003 SERVER操作系统在控制面板-管理工具-本地安全策略里面的安全选项里面有两个关于DCOM设置的项,在该项属性编辑安全-访问权限-安全限制添加everyone和ANONYMOUS LOGON用户权限可以解决上述问题。
2)其二:如果组态王做OPC Server,遇到这种情况可能是PC2上没有插加密锁,组态王被远程启动后,提示“您将进入演示方式,程序将在两小时后关闭”,如果不按“确定”,即是组态王并没有进入运行系统,OPC Server程序并没有运行,这时只要按“确定”按钮,组态王进入运行系统后,“服务器正在运行中”的提示就会消失,并进入变量列表了。
2. OPC通讯时,变量数据的更新速度与什么有关系?变量数据的更新速度与OPC服务器的订阅频率和变量的采集频率有关系,例如:1)OPC服务器的订阅频率设置为100ms,变量的采集频率设置为1000ms,那么变量数据就是每1000ms更新一次。
2)OPC服务器的订阅频率设置为500ms,变量的采集频率设置为200ms,那么变量数据就是每500ms更新一次。
3. 组态王的opc是否具有冗余的功能?不具有冗余功能。
OPC服务器端和客户端的DCOM的配置及例程一:DCOM配置方法。
以下为OPC服务器端的DCOM配置过程,客户端的DCOM配置只需要进行步骤1—4和步骤6(配置方法的选择应与服务器端相同,当选择方法2时,只需添加端口)即可。
1、运行DCOMCNFG进入DCOM设置(在XP中称为组件服务)2、出现组件服务配置界面,打开组件服务\计算机\我的电脑,鼠标右键设置属性。
3、选择默认属性,“默认身份验证级别”设为无;启用“在此计算机上启用分布式COM(E)”4、COM 安全性设置,设置“访问权限”和“启动和激活权限”。
在“编辑默认值”和“编辑限制”中添加用户Everyone,设置它的权限为允许。
5、配置OPCEnum与用户服务器。
5.1、配置OPCEnum在DCOM配置组中选择OPCEnum,右键选择属性,在“常规”标签页中,将“身份验证级别”设为无。
选择“位置”标签页,勾选“在此计算机上运行应用程序”,如图:选择“安全”标签页,均选择“使用自定义访问权限”,编辑每一个权限,将Everyone加入用户列表中,并设置安全控制和读取为允许。
选择“标识”页面,选择“交互式用户”。
当DCOM配置时opcenum属性不能选择交互式用户: 运行OpcEnum.exe /regserver)5.2、配置用户服务器在DCOM配置组中选择相应的服务器名称,右键选择属性,它的配置跟OPCEnum 相同。
6、防火墙的设置防火墙的设置有两种方法:1)关闭防火墙2)打开“WINDOWS防火墙”设置对话框,选中“例外”选项卡。
单击“添加端口”,添加DCOM端口,端口号:135添加例外程序OpcEnum和控制台程序MMC(这两个程序路径一致)打开“文件和打印共享”:7、安全策略配置(可选)如上述还不能正确连接,则需要进行安全策略配置。
7.1、进入安全策略程序控制面板→管理工具→本地安全策略7.2、配置安全策略之安全模式“网络访问:本地账户的共享和安全模式”设置为经典。
XP(SP2) DCOM 配置一.关闭所有的防火墙二.确认网上邻居可以使用查看工作组计算机无法访问没有权限使用网络资源1,没有共享资源/共享服务未启用。
症状:电脑与电脑间可以Ping通,但无法访问共享资源,在“计算机管理”中查看“本地共享”后会弹出“没有启动服务器服务”的错误对话框。
解决:在控制面板-管理工具-服务中启动Server服务。
并设置“启动类型”为“自动”。
2,IP设置有误。
症状:双机之间无法互Ping,连接用的双绞线经过测试没有问题,没有安装防火墙。
解决:检查两台电脑的IP是否处在同一网段,还有子掩码是否相同。
3,WINXP默认设置不正确。
症状:从WIN98/2000/2003上无法访问另一台WINXP的机器。
解决:在“控制面板”中的“用户帐户”启用Guest帐号。
然后在运行中输入secpol.msc 启动“本地安全策略”。
本地策略-> 用户权利指派,打开“从网络访问此计算机”,添加Guest帐户本地策略-> 安全选项,禁止"帐户:使用空白密码的本地帐户只允许进行控制台登陆"。
另外有时还会遇到另外一种情况:访问XP的时候,登录对话框中的用户名是灰的,始终是Guest用户,不能输入别的用户帐号。
解决:本地策略-> 安全选项-> "网络访问:本地帐户的共享和安全模式",修改为"经典-本地用户以自己的身份验证"三.用户名和密码必须一样,且密码不能为空四.配置DCOM1.点击开始->运行输入DCOMCnfg,回车,打开组件服务窗口2.双击控制台根目录下的组件服务展开组件服务文件夹,同样方式,展开计算机文件夹,右键点击右侧窗口的我的电脑图标,点击属性,打开属性对话框3.选中COM 安全选项卡,注意这里有4个按钮可供点击进入配置4.配置访问和启动激活权限4.1访问权限->编辑限制(L)设置ANONYMOUS LOGON的本地访问及远程访问权限为允许(此设置与OPCEnum.exe发挥作用有关,对于某些设置了验证等级为无以允许匿名连接的OPC Servert和OPC Client,此设置也是必须的)4.2启动和激活权限->编辑限制(I)设置Everyone的远程启动和远程激活权限为允许(注:为了安全,可建立专用于OPC通信的用户组,进行权限赋予)4.3设置默认访问和启动激活权限对于每个参与OPC通信的用户或组,均应赋予其本地和远程访问以及启动激活权限若相应用户或组没有出现,则应手动添加,然后赋予权限访问权限->编辑默认值(E)启动和激活权限->编辑默认值(D)5.完成以上设置后,重新启动计算机2,Dcom配置(配置DCOM前须验证网上邻居是否可用,本次测试中两个计算机处于同一工作组,从工作组中可以实现计算机互访)运行Dcomcnfg,打开“组件服务”-“计算机”-“我的电脑”,点右键打开属性:常规,选项和MSDTC这三项不做修改默认属性:勾选“在此计算机上启用分布式DCOM”,默认身份验证级别选“连接”,默认模拟级别选“标识”。
OPC DCOM配置过程中常见问题及其处理OPC技术提供了一种互联、可靠、安全的通信平台。
然而,OPC技术依赖于DCOM架构,包括Windows安全和防火墙设置、访问控制列表、Server认证等。
本文给出了OPC DCOM配置过程中最常发生的5个问题、导致原因及解决方法。
1 不能浏览远程计算机的OPC Server浏览是指OPC Client应用程序能够察看到安装在远程计算机上的OPC Server。
OPC Client执行一次浏览操作实际是连接到驻留在远程计算机上的OPCEnum映像,并检索出可访问OPC Server列表。
这包括了每个OPC Server 的ProgID(用户接口名字)和GUID(Global unique identifier,全局唯一标识符),如图1所示。
OPC Client并不真正直接连接到OPC Server。
图1 OPC Client浏览远程计算机上的OPC Server示意图因此,浏览出的列表与OPC Server的状态无关,或者说与OPC Server的可操作与否无关,浏览OPC Server失败的直接原因是不能获得与远程计算机上的OPCEnum通信所需的参数,造成这个问题可能有如下原因。
1.1 OPCEnum没有安装OPC基金会负责创建和维护OPCEnum。
OPC基金会的成员能够从OPC基金会直接免费获得OPCEnum。
1.2 OPCEnum被禁止即使OPCEnum被安装在远程的计算机上,它也必须能够被执行,否则通信将会失败。
1.3 匿名访问权限没有被设置OPCEnum需要匿名访问权限才能正常的工作。
因此需要在Windows COM 缺省安全中添加匿名访问权限。
2 不能连接远程计算机的OPC Server能够浏览远程计算机的OPC Server和连接远程计算机的OPC Server是无关的。
即使远程计算机没有安装OPCEnum,也可以连接远程计算机的OPC Server。
OPC DCOM配置用户操作说明书第一节进入DCOM配置程序1、运行dcomcnfg进入DCOM配置程序2、“组件服务”>“计算机”>“我的电脑”>“DCOM配置”进入CCOM配置程序第二节服务端配置一服务端DCOM配置1、右击“我的电脑”进行属性设置1)、设置“我的电脑”默认属性2)、设置“我的电脑”COM安全机制之访问权限-“编辑限制”步骤4:选择用户:AdministratorAdministratorsANONYMOUS LOGONDistributed COM UsersINTERACTINENETWORKSYSTEM步骤5:设置以上9个用户访问权限为:本地访问:允许远程访问:允许3)、设置“我的电脑”COM安全机制之访问权限-“编辑默认值”同设置“我的电脑”COM安全机制之访问权限-“编辑限制”步骤1到步骤5 4)、设置“我的电脑”COM安全机制之启动和激活权限-“编辑限制”增加用户:AdministratorAdministratorsANONYMOUS LOGONDistributed COM UsersEveryoneGuestsINTERACTINENETWORKSYSTEM配置每个用户权限为:5)、设置“我的电脑”COM安全机制之启动和激活权限-“编辑限制”增加用户:AdministratorAdministratorsANONYMOUS LOGONDistributed COM UsersEveryoneGuestsINTERACTINE配置每个用户权限为:2、配置OpcEnum1)、选择“DCOM配置”2)、选择“OpcEnum”注:若此处未找到OpcEnum插件,需安装一个OPC Core Components Redistributable (x64),可以自行百度查找安装,并注意需安装对应操作系统的安装包。
3)、右击配置OpcEnum属性之常规为无4)、配置OpcEnum属性之“安全”5)、对“配置权限”之“自定义”进行“编辑”增加用户:AdministratorAdministratorsANONYMOUS LOGONDistributed COM UsersEveryoneGuestsINTERACTINENETWORKSYSTEM配置每个用户名权限为:6)、配置OpcEnum属性之“标识”注:若此处交互式运用为灰色不能选择,按以下步骤进行操作。
OPC DCOM配置过程中常见问题及其处理OPC技术提供了一种互联、可靠、安全的通信平台。
然而,OPC技术依赖于DCOM架构,包括Windows安全和防火墙设置、访问控制列表、Server认证等。
本文给出了OPC DCOM配置过程中最常发生的5个问题、导致原因及解决方法。
1 不能浏览远程计算机的OPC Server浏览是指OPC Client应用程序能够察看到安装在远程计算机上的OPC Server。
OPC Client执行一次浏览操作实际是连接到驻留在远程计算机上的OPCEnum映像,并检索出可访问OPC Server列表。
这包括了每个OPC Server 的ProgID(用户接口名字)和GUID(Global unique identifier,全局唯一标识符),如图1所示。
OPC Client并不真正直接连接到OPC Server。
图1 OPC Client浏览远程计算机上的OPC Server示意图因此,浏览出的列表与OPC Server的状态无关,或者说与OPC Server的可操作与否无关,浏览OPC Server失败的直接原因是不能获得与远程计算机上的OPCEnum通信所需的参数,造成这个问题可能有如下原因。
1.1 OPCEnum没有安装OPC基金会负责创建和维护OPCEnum。
OPC基金会的成员能够从OPC基金会直接免费获得OPCEnum。
1.2 OPCEnum被禁止即使OPCEnum被安装在远程的计算机上,它也必须能够被执行,否则通信将会失败。
1.3 匿名访问权限没有被设置OPCEnum需要匿名访问权限才能正常的工作。
因此需要在Windows COM 缺省安全中添加匿名访问权限。
2 不能连接远程计算机的OPC Server能够浏览远程计算机的OPC Server和连接远程计算机的OPC Server是无关的。
即使远程计算机没有安装OPCEnum,也可以连接远程计算机的OPC Server。
O P C D C O M配置过程中常见问题及其处理集团标准化小组:[VVOPPT-JOPP28-JPPTL98-LOPPNN]
O P C D C O M配置过程中常见问题及其处理
OPC技术提供了一种互联、可靠、安全的通信平台。
然而,OPC技术依赖于DCOM架构,包括Windows安全和防火墙设置、访问控制列表、Server认证等。
本文给出了OPCDCOM配置过程中最常发生的5个问题、导致原因及解决方法。
1不能浏览远程计算机的OPCServer
浏览是指OPCClient应用程序能够察看到安装在远程计算机上的OPCServer。
OPCClient执行一次浏览操作实际是连接到驻留在远程计算机上的OPCEnum映像,并检索出可访问OPCServer列表。
这包括了每个OPCServer的ProgID(用户接口名字)和GUID(Globaluniqueidentifier,全局唯一标识符),如图1所示。
OPCClient并不真正直接连接到OPCServer。
图1OPCClient浏览远程计算机上的OPCServer示意图
因此,浏览出的列表与OPCServer的状态无关,或者说与OPCServer的可操作与否无关,浏览OPCServer失败的直接原因是不能获得与远程计算机上的OPCEnum通信所需的参数,造成这个问题可能有如下原因。
1.1OPCEnum没有安装
OPC基金会负责创建和维护OPCEnum。
OPC基金会的成员能够从OPC基金会直接免费获得OPCEnum。
1.2OPCEnum被禁止
即使OPCEnum被安装在远程的计算机上,它也必须能够被执行,否则通信将会失败。
1.3匿名访问权限没有被设置
OPCEnum需要匿名访问权限才能正常的工作。
因此需要在WindowsCOM缺省安全中添加匿名访问权限。
2不能连接远程计算机的OPCServer
能够浏览远程计算机的OPCServer和连接远程计算机的OPCServer是无关的。
即使远程计算机没有安装OPCEnum,也可以连接远程计算机的OPCServer。
在这种情况下,只要知道远程计算机上要连接的OPCServer的GUID。
导致不能连接远程计算机的OPCServer可能有如下原因。
2.1OPCServer被禁止
如果OPCServer被设置以Windows服务的方式运行是不能够禁止的,故需要检查一下OPCServer是否被禁止。
2.2用户身份认证的问题
认证是验证用户身份的流程。
Windows系统会比较用户名和密码,如果是操作系统不能识别的用户,就会拒绝访问从而不能与OPCServer建立连接。
下面两种情况可能导致用户身份认证失败:
用户的账户在远程的计算机上并不存在;
关闭SimpleFileSharing(简单文件共享)会去掉远程访问计算机的用户名和密码,导致用户不能被正确的认证。
2.3访问控制列表问题
当认证了一个来访问的用户账户后,系统将检查用户账户是否有启动或者访问OPCServer的权限,这是利用ACL(访问控制列表)来完成的。
每个应用程序的ACL包括了用户账户的信息,操作权限等。
因此,可能由于账户在ACL中没有相应的操作权限而被操作系统拒绝访问。
3所有的Item显示为Bad
当与一个OPCServer建立连接时,必须能够识别远程计算机的账户并且给予它适当的访问权限。
这就需要与OPCServer建立同步的通信连接,而且能够轮询到OPCServer的数据。
如果所有的OPCServer项的数据属性指示为badquality,可能是由于下面两个原因引起的。
3.1在OPCServer里的数据实际就是bad
即OPCServer没有正确的获得数据,这时需要检查一下OPCServer和数据源之间的通信。
3.2回调失败
由于OPCClient采用订阅的方式来更新,故可能由于回调失败导致所有的Item显示为Bad。
4OPCServer所在计算机的CPU利用率高
4.1OPCClient使用同步读时的问题
在这种情况下,OPCClient没有使用优化的读取方式,使得OPCServer花费更多的计算机CPU 周期处理OPC通信,可以考虑采用异步或订阅的方式改进。
4.2OPCClient使用异步读时的问题
在这种情况下,可能是由于OPCServer本身没有优化使得对OPC通信的响应慢。
4.3OPCClient使用读设备的问题:
在这种情况下,OPCClient不断地通过OPCServer与设备进行直接的数据交换,这会明显的减慢OPCServer。
如果是这种情况,可把所有的读设备改成读Cache。
5.OPCClient不接收更新的数据
由于安全配置的问题会导致OPCClient不能接收更新的数据。
OPC支持基于时间“subscription(订阅)”机制,当数据发生了变化时,OPCServer会通过异步回调把订阅的数据更新,同时发送更新的数据到OPCClient。
在此过程中OPCClient不知道OPCServer将会在什么时候发送数据,如果不能正确配置安全属性,数据的更新就会失败。
在OPCClient应用程序指示为“Bad.”若发现从OPCServer中取得的数据不更新,可以尝试用同步的方式从OPCServer读数据。
若此时数据读到了,那么可以确定是异步回调失败导致,这可能是由下面的原因造成:5.1防火墙
如果OPCClient在计算机防火墙之外,则从OPCServer发出的回调请求可能被防火墙阻塞,到达OPCClient可能失败,此时应关闭防火墙。
5.2身份认证失败
当回调到达OPCClient所在的计算机后,操作系统会试图认证这个用户的账号和密码,与存在的列表进行比较,如果组合与列表不一样Windows会拒绝访问,原因如下:
5.2.1用户名和密码的组合
在回调的情况,可能出现OPCClient和OPCServer所在的两台计算机上的用户和密码不匹配导致身份认证失败,必须保证在两台计算机的用户名和密码组合一致。
5.2.2Guest
在WindowsXP或者后期的版本,当使用工作组,缺省的情况下会把远程的用户账号强制为本地的Guest用户。
这是由SimpleFileSharing完成的,这种缺省的设置使得的认证不能正常工作。
因此,需要关闭这个项。
5.2.3OPCServer身份识别的问题
回调要对OPCServer作身份认证,这个身份认证由OPCServer的身份认证的设置管理。
OPCServer以交互的用户认证,这个账户是当前登陆此计算机且驻留在OPCServer的计算机上,也就是必须有账户登陆,否则不能启动OPCServer,当此用户注销时,OPCServer就会关闭,即使是计算机的重新启动,也会造成OPCServer的短暂的关闭。
OPCServer以访问的用户认证,操作系统会为每个访问的用户创建一个实例,这样会有三个问题出现,若OPCServer只允许一个用户访问时,当系统中已经有了一个实例,再有其它用户就无法访问。
若是OPCServer允许多个用户访问时,那么带来的问题是随着不同用户的访问,就会打开多个实例,这样就会占用更多的计算机的资源。
另外的一个问题是硬件的抢占,如串口,当一个使用了,其它的用户就无法再使用。
OPCServer以指定的用户账户认证,这种情况需要在OPCServer的计算机上存在着要指定的账户,而且对于OPCClient必须知道此用户。
否则无法访问。
OPCServer以操作系统账户认证,对于工作组还是域,系统账户都能被识别,也不需要有用户登陆。
但OPCserver必须以服务的方式启动。
5.3访问控制列表的问题
当Windows认证用户账号初始化了回调,接下来就会检查OPCClient的账户的访问控制列表里的访问权限,必须确保OPCClient的账户可以被访问。