
服务器和客户端都需要做此DCOM的配置。
由于OPC(OLE for Process Control)建立在Microsoft的COM(Component Model)基础上,并且OPC的远程通讯依赖Microsoft的DCOM(Distribute COM),安全方面则依赖Microsoft的Windows安全设置。通过网络相互通信,OPC Server(OPC服务端)和OPC Client (OPC客户端)所在的操作系统,需要设置DCOM的安全属性,下面使用Windows7系统介绍配置过程。
一、系统账户配置
OPC服务器和客户端对系统登录的用户账户有一定要求,登录的账户名称:Administrator,密码:空。若系统当前的登录账户并不是Administrator时,则切换登录账户。
若在系统登录时,可以选择Administrator账户登录,或者已经是Administrator账户登录,那么直接跳到第二节设置。若不是上述情况,那么请参考接下去的设置。
按图1-1,打开计算机管理页面,打开路径:系统工具→本地用户和组→用户,在中间的列表中找到Administrator账户,选中该行并点击右键,在菜单中选择“属性”,在打开的属性弹出框中将“账户已禁用”前面的√去掉。
图1-1“管理”菜单
图1-2计算机管理
图1-3Administrator属性
另外,OPC服务器还需启用Guest账户。设置方法请参考Administrator账户启用配置。
二、修改操作系统Firewall(防火墙)关于DCOM和OPC的规则
由于DCOM使用操作系统的135端口,所以要想不同计算机上面的OPC服务器和OPC客户端通讯正常,要修改防火墙规则,允许135端口的连接。如果OPC服务器和OPC 客户端安装在同一台计算机,不需要修改防火墙规则。下面用Windows7的防火墙配置过
程为示例。
图2-1进入防火墙管理控制台
Windows7用户:要打开防火墙管理控制台,可以从“开始“->“控制面板”->“管理工具”->“Windows防火墙”->“高级设置”,或在“运行”输入“wf.msc”命令。
1.开放DCOM访问
在默认状态,Windows防火墙是阻止另一台计算机连接的。如果要允许OPC客户端与OPC服务器正常访问,需要放开这个访问规则。
图2-2防火墙规则
图2-3允许DCOM链接
图2-4防火墙DCOM规则作用域设置
图2-5防火墙DCOM规则高级属性配置Windows7用户:如果“COM+Network access”或“DCOM”规则不在防火墙的预定义规则列表中,可自己手动添加TCP135端口规则。在“WINDOWS防火墙”“高级设置”选项卡中,点击“入站规则”,在右边操作栏里点击“新建规则”。选择“端口”,进行下一步操作,如下图所示:
图2-6选择高级设置
图2-7新建入站规则
图2-8端口135设置2.创建OPC程序规则
需要手动添加OPC服务器程序的规则。同样也需要添加OPCEnum系统服务程序规则,因为远程的OPC客户端计算机就是通过它获得这台计算机上面的OPC服务器名称列表的。下面我们通过创建OPCEnum应用的规则,演示如何创建应用的防火墙规则。可用同样步骤创建OPC服务器的防火墙规则。
图2-9创建应用规则
*选择“新建规则”;
*选择“程序”类型规则;
*点击“下一步”按钮;
图2-10选择应用程序文件
*选择“此程序路径”项目;
*填写程序的完整路径和应用程序名称:C:\\Windows\\System32\\OPCENUM.exe;
*也可使用“浏览”按钮,在弹出的文件选择对话框里查找磁盘上应用程序的文件名;*点击“下一步”按钮;
图2-11规则属性
图2-12规则适用条件
图2-13命名规则
图2-14规则处于活跃状态
同样步骤,创建UWinTech软件OPC服务器应用程序的防火墙访问规则,注意“选择应用程序文件”时,路径应该改为UWinTech软件的安装目录下的UWinDataServer.exe,如:D:\\UWinTech\\UWinTechPro1.0\\UWinDataServer.exe,其他都一致。
三、配置DCOM安全
为通过网络正常访问OPC服务器,需要配置DCOM的访问和激活安全属性。
1.启动“组件服务”
在菜单“开始\\运行”,输入:dcomcnfg,点击“确定”按钮,进入“组件服务管理器”。如图:
图3-1运行组件服务
2.配置“我的电脑”的安全设置
在“组件服务”管理器的左侧树形菜单,选择“组件服务\\计算机\\我的电脑”,在鼠标右键的弹出菜单,选择“属性”项目,如图:
图3-2选择属性
在弹出的“我的电脑属性”,选择“默认属性”标签页,如下图:
图3-3默认属性
请确认几个属性的设置内容或状态:
*在此计算机上启用分布式COM,此属性处于“选中”状态;
*默认分布式COM通信属性栏目下,“默认身份验证级别”,选择的项目是:“连接”,“默认模拟级别”,选择的项目是:“标识”。
*选择“我的电脑属性”属性页面的“默认协议”标签页,如下图:
图3-4默认协议
确认DCOM协议属性内容是:面向连接的TCP/IP。
选择“我的电脑属性”属性页面的“COM安全”标签页,如下图:
NO.
组或用户名本地访问远程访问属性1
Distribute COM Users 允许
允许系统内置用户组2everyone 允许允许系统内置帐户
图3-5COM 安全
A.选择“COM 安全”标签页面的“访问权限”栏目的“编辑默认值(E)...”按钮(图3-5中按钮1),弹出“访问权限”设置对话框,如下图:
图3-6配置访问权限
点击此对话框上的“添加”按钮,添加下边列表的用户,并设置用户的访问权限,核实后,点击“确定”按钮保存。
配置完成后,点击“我的电脑属性”属性页面的“确定”按钮,由于涉及到系统安全属性的修改,此时操作系统弹出警告消息,如图:
图3-10警告消息
由于是我们手动修改的安全设置,并确认修改,点击“是”按钮,保存刚才做出的所有修改,退出“我的电脑属性”属性页面。
3.配置OPCENUM的安全设置
在“组件服务”左侧树形菜单,选择“组件服务\\计算机\\我的电脑\\DCOM配置”,在列表中选择OpcEnum项目,在鼠标右键弹出的菜单,选择“属性”项目,如下图:
图3-11选择OpcEnum属性
在弹出的“OPCENUM属性”属性框的“常规”标签页,确认“身份验证级别”属性,设置项目是:无,如下图:
在“OPCENUM属性”框,选择“安全”标签页,如下图:
图3-13安全
在“安全”标签页,选择“配置权限”栏目,选择“自定义”选项,并点击“编辑•••”
按钮,如下图:
NO.
组或用户名
本地访问远程访问属性1
Distribute COM Users 允许允许系统内置用户组2everyone 允许允许系统内置帐户
在弹出的“配置权限”属性设置对话框,使用“添加”按钮,添加下表的组或用户,核实并确认后,点击“确定”按钮保存。
在“OPCENUM 属性”框,选择“标识”标签页,确认“选择运行此应用程序的用户账户”属性,设置项目是:交互式用户,如下图:
图3-16交互式用户
确认后点击“确定”按钮保存所作的修改。
4.配置OPC 服务器的安全设置
UWinTech 软件OPC 服务器的安全设置可参照OPCEnum 的设置过程,两者完全一致。
1.启动“本地安全策略”管理器
在“开始\\运行”输入:secpol.msc,点击“确定”按钮,启动“本地安全策略”管理器,如下图:
图4-1启动“本地安全策略”管理器
2.修改“网络访问:将Everyone权限应用于匿名访问匿名用户”设置
修改“安全设置\\本地策略\\安全选项”下的“网络访问:将Everyone权限应用于匿名访问匿名用户”设置,将规则启用,如下图:
图4-2修改网络访问设置3.修改“账户:来宾账户状态”设置
4.修改“账户:使用空密码的本地账户只允许进行控制台登录”设置
图4-3修改账户设置
设置全部完成后重启电脑。
五、其它
1.防火墙运行状态下,可能OPC客户端会出现拒绝访问,可能是防火墙阻止程序访问网络,可以试着修改防火墙设置。调试或测试时,可先将防火墙禁用,排除干扰;2.其它防火墙软件配置,可参考Windows系统防火墙配置。
3.RPC服务器不可用
这个错误意味着没能建立与RPC服务之间的网络连接。
*如果错误发生在尝试读取远程计算机上边的OPC服务器列表时,请检查OPC服务器计算机与OPC客户端计算机的防火墙配置,看OPCEnum应用是否已经加入例外规则列表。
*DCOM所使用的135端口,是否已加入防火墙规则。
*如果错误发生在连接OPC服务器时,请检查OPC服务器计算机的防火墙配置,看OPC服务器应用程序是否已加入防火墙的例外规则列表。
4.拒绝访问
请检查DCOM的安全配置,包括OPC服务器所在计算机与OPC客户端所在计算机。
