OPC的DCOM设置中科院软件所李新V2.0一、Win98/2000下OPC设置DCOM使用了安全设置来保护客户端和服务器,防止未授权的访问。安全设置可以通过DCOMCNFG程序修改。这个程序只有具有Administrator权限的用户才可以使用。在windows9x系统中DCOMCNFG并不是标准安装,用户可以安装dcm95cfg.exe,在windows光盘DCOM目录下。如果OPC服务器安装在Windows2000系统中,操作步骤如下:注:OPC服务器端需要进行1、2、3、4项设置,OPC客户端(OPC数采程序)需要进行1、2、3项设置。1.运行DCOMCNFG程序在windows菜单“开始”中选择“运行”,在编辑框中输入“dcomcnfg”,如右图所示。2.按照以下要求,设置DCOM默认配置“默认属性”属性页:选中“在这台计算机上启用分布式COM”默认身份验证级别:(无)默认模拟级别:模拟“默认安全机制”属性页:默认访问权限,编辑“Administrator,Everyone,SystemandInteractiveUser”允许访问默认启动权限,编辑“Administrator,Everyone,SystemandInteractiveUser”允许调用默认配置权限,编辑“Administrator,Everyone,System”完全控制“默认协议”属性页:DCOM协议包括:面向连接的TCP/IP、面向连接的SPX、面向连接的NetBEUI、面向连接的IPX上的Netbios3.设置OpcEnum的DCOM配置选中“opcEnum”,进行“属性”配置,弹出如下对话框:在“安全性”属性页中选中“使用自定义访问权限”,“使用自定义启动权限”,“和使用自定义配置权限”,并分别进行编辑,全部设置为”everyone”允许访问,允许设置,完全控制等。然后在“身份标识”属性页中选中“交互式用户”4.设置OPC服务器程序的DCOM配置在“分布式COM配置属性”对话框中,找到OPC服务器程序,例如KingView.View(组态王OPC服务程序),OPCServer.WinCC(WinCC的OPC服务程序),修改其属性为:“常规”属性页:将“身份验证级别”设为“(无)”。“位置”属性页:选中“在这台计算机上运行应用程序”“安全性”属性页:使用自定义访问权限,编辑“Everyone和Administrator”允许访问。使用自定义启动权限,编辑“Administrator,Everyone,SystemandInteractiveUser”允许调用使用自定义配置权限,编辑“Administrator,Everyone,System”完全控制“身份标识”属性页:选中“交互式用户”“终结点”属性页:“…默认系统协议”二、WindowsXP下DCOM设置如果系统为WindowsXP,OPC服务器和客户端需要以下几个操作:1.修改Windows防火墙设置允许OPC客户端和服务器程序使用网络为DCOM通信开放TCP135端口添加端口TCP135,如下图所示:2.为OPC通信配置DCOM设置在windows菜单“开始”中选择“运行”,在编辑框中输入“dcomcnfg”,回车。“控制台根目录”-“组件服务”-“计算机”-“我的电脑”-单击右键“属性”,弹出“我的电脑属性”对话框。“默认属性”属性页:选中“在这台计算机上启用分布式COM”默认身份验证级别:(无)默认模拟级别:模拟“COM安全”属性页:点击“访问权限”的“编辑限制(L)…”按钮,为ANONYMOUSLOGON组用户,选中RemoteAccess(如左下图所示)。否则会出现“FailedtoadviseIOPCDataCallbackconnection.”错误。点击“启动和激活权限”的“编辑限制(I)…”按钮,为Everyone组用户,选中RemoteLaunch和RemoteActivation(如右下图所示)点击“访问权限”的“编辑默认值(E)…”按钮,编辑默认访问权限“Administrator,Everyone,SystemandInteractiveUser”允许访问点击“启动和激活权限”的“编辑默认值(D)…”按钮,编辑“Administrator,Everyone,SystemandInteractiveUser”允许调用。3.在OPC服务器端,设置远程用户登陆权限如果OPC服务器安装在WindowXP系统中,请按照以下设置修改:WindowsXP系统中远程用户默认的登陆权限是Guest,这就意味着DCOM用户不能连接运行在XP系统中的OPC服务器,除非Guest用户有足够的访问权限。可以使用下面的修改,使用户以真实的身份访问OPC服务器。“控制面板”-“管理工具”-“本地安全策略”-“本地策略”-“安全选项”-“网络访问:本地帐户的共享和安全模式”设置为“经典-本地用户以自己的身份验证”