如何进行 OPC DCOM 配置
作者: 激情如火 ,2005-8-5 14:43:00 发表于:《OPC 论坛》 共有 1 人回复,60 次点击 加为好友
发送留言
OPC DCOM Howto
本文档根据各种不同的情况,讲述如何进行 OPC DCOM 配置。
对于远程访问 OPC 服务器,需要在客户和服务器计算机上都进行 DCOM 设置,以前我们采用的方式是: 客户、服务器都建立一个名
字、密码相同的具有管理员权限的帐号,并分别以次登录,在服务器端将 OPC 服务器的启动方式设为交互式用户。这种方法虽然方便,但
安全性较差,不利于在实际应用中推广。这里提供一些较合理的解决方案。(假定都是在工作组里)
(1) 序言
在使用了 OPC 技术,并有网络数据访问的应用系统中,不可避免地要进行 OPC DCOM 权限配置。
DCOM 配置与 windows 操作系统的安全体系结合在一起,而各版本的操作系统(9x、NT、2000、XP 等)的安全体现又或多或少地有
所区别;同时,OPC 服务器运行的方式也不尽相同(进程内、进程外、系统服务、有无界面……);而且,不同的应用系统对安全的要求也
不同。总之,要想根据具体情况尽量合理地完成 OPC DCOM 配置并不是一件很轻松的事。
本文档根据各种不同的情况,讲述如何进行 OPC DCOM 配置。
(2) 准备
要进行 DCOM 安全配置,操作者通常必须拥有客户和服务器计算机的管理员权限。
【注意】一般情况下,DCOM 通信是基于 TCP/UDP 的,所使用的端口不固定,很可能被一些防火墙软件屏蔽。如果本文下述配置不成
功的话,请尝试关闭客户和服务器计算机上的防火墙,或者以带网络连接的安全模式启动系统(这时防火墙软件一般不被自动运行)。
(3) 最简单的情况
如果用户对网络安全基本上没有要求,或者处于客户、服务器程序开发阶段,......
(4) 服务器计算机始终有用户登录的情况(NT/2000)
这也是实际应用中比较常见的情况,但对于以 NT 服务方式运行的 OPC 服务器不适合。设置方法如下:
Ø 在服务器计算机上建立一个用户,如 OPCUser,可以是管理员,也可以是一般用户,服务器计算机在运行 OPC 服务器时必须以这个
用户登录。
Ø 在服务器计算机上建立一个用户组,如 OPCClients。
(单一客户情况下可以不建立,建这个组的目的是管理方便)
Ø 在各个 OPC 客户计算机中,分别建立 OPCUser 用户,口令也要与服务器上的一致,可以设为普通用户以保证安全。
Ø 客户计算机运行时不必以 OPCUser 登录,比如使用 ClientA 登录,就要在服务器上建立相同的用户 ClientA 及相同的密码。并在服
务器计算机上将 ClientA 加入到 OPCClients 组中。ClientA 在客户和服务器计算机上都可以是普通用户。
Ø 服务器端 DCOM 配置
运行 dcomcnfg,进行如下设置:
默认属性:
启用 DCOM;
默认身份验证级别:连接
默认模拟级别:标识
默认安全机制:
默认访问权限:
至少要保证 OPCClients 组允许访问,也可放宽至 Everyone;
默认启动权限:至少保证允许 INTERACTIVE 用户调用;
默认配置权限:一般情况下不需修改。
默认协议:保证面向连接的 TCP/IP 在最上,其它可以删除。
具体的服务器配置:
常规:身份验证级别为默认值;
位置:在这台计算机上运行;
安全性:使用默认的访问和启动权限,配置权限不要修改;
身份标识:交互式用户。
终结点:不修改。
OPCEnum 程序配置:
在 dcomcnfg 程序的应用程序列表里找到 opcenum.exe,对其按照上面具体服务器的配置进行设置。
Ø 客户计算机的配置:
为了保证 OPC 数据订阅等回调机制能正常运行,需要对客户计算机的 DCOM 权限进行配置。
默认属性、默认协议的配置和服务器端基本一致;
默认安全机制只需要修改默认访问权限。保证允许 OPCUser 访问。也可放宽至 Everyone。
【注意】
在服务器没有用户登录的情况下,远程将无法启动 OPC 服务器;
对于有用户界面,并需要界面交互的 OPC 服务器,建议(可能必须)采用这种方式。
(5) OPC 服务器为后台程序的情况(NT/2000)
这种情况下,服务器计算机可以没有用户登录。
做为后台程序,OPC 服务器有两种运行方式:系统服务(service)方式和普通用户程序。
这里只介绍普通程序方式,系统服务方式的配置说明以后添加。
OPC 服务器做为普通方式运行的后台程序,一般没有用户界面。完全可以按照(1)中有界面的方式进行配置,即设置为交互式用户启
动。
但是(1)的配置方式限定了服务器计算机必须有用户登录,而且登录用户必须在客户计算机上有 DCOM 访问权限。所以,无界面的后
台 OPC 服务器可以用另一种更灵活的方式运行。
配置方法:(未明确说明的部分与(1)相同)
在服务器端按照(1)中所述建立一个 OPCUser 用户,专门用来运行 OPC 服务器。然后在 OPC 服务器属性配置中,将启动方式改为指
定用户,注意要输入用户密码。
这样,OPC 服务器计算机可以用任意用户登录,当客户计算机发出连接请求时,系统负责以 OPCUser 的身份运行 OPC 服务器,如果已
经运行则使用已有的 OPC 服务器。
【注意】还有一种启动方式,是“启动”用户。即系统以发连接请求的用户的身份启动 OPC 服务器,这可能造成服务器计算机上同时运
行多个 OPC 服务器的实例,显然不妥。所以一般情况下不建议设置为“启动”用户,虽然它是缺省选项。
(6) Windows XP 系统下的配置说明
在 XP 操作系统(SP1,不包括 SP2 及其以后版本)下,OPC 的配置实际上和 NT/2000 基本一样,这体现在 OPC DCOM 相关的各项配
置在注册表中的位置、名称都是一致的。
二者只是配置界面不同
本文由“剑飞 ”提供,中国工控网整理。
经验一:客户端连接目标机器的 OPC 服务器时,客户端(FactorySoft OPC Client)提示:
EnumClassesOfCategories failed:拒绝访问
解决办法:在用户权限(OPCServer 计算机)上,找到 控制面板—管理工具—本地安全
策略—安全选项—网络访问:本地账户的共享和安全模式 改为:经典-本地用户以自己
的身份验证 或者:确保双击我的电脑—工具菜单—文件夹选项—查看标签—下面的使
用简单文件共享(推荐)不要打√
经验二:连接 YOKOGAWA 的 CS3000 或其它型号的 OPCServer 时,尽最大可能在
OPCClient 机器安装由 OPCServer For CS3000 机器上,生成的一个客户端 CENTUM
用户安装盘;
OPCServer For CS3000 机器操作步骤简述:
(1)将一个格式化过的软盘插入 OPCServer For CS3000 的计算机中
(2)运行 CS3000/CS1000\Program\BKHCOPYOPC.exe
(3)按“OK”键,开始生成一个客户端 CENTUM 用户安装盘
备注:安装后的 CENTUM 用户在控制面板—用户账户是看不到的,你可以在右击我的
电脑—管理—本地用户和组—用户—这时你就可以看到 CENTUM 用户了,但这个用
户,界面显示不隶属于任何账户
另外,安装后的 CENTUM 用户密码也是:CENTUM,请你不要随意改变。
再另外,产生的这个 OPCClient 端 CENTUM 用户安装盘,包括一个 INSTALL 文件夹
和一个 SETUP.EXE 文件,必须将这两个文件放置于盘符的根目录下,如 C:\\或 D:\\或
A:\\
经验三:必须严格确信 OPCClient 端和 OPCServer 端使用了一模一样的 Adminstrator
用户和密码
经验四:OPC 客户端 Guest 用户不要启用
在 WINDOWS XP SP2 系统中使用 OPC 的 DCOM 配置方法
2007 年 04 月 15 日 星期日 13:21
在 WINDOWS XP SP2 系统中使用 OPC 的 DCOM 配置方法 V1.0
(Using OPC via DCOM with XP SP2)
大多数 OPC Clients 和 OPC Servers 利用 DCOM 通过网络进行通信在 XP SP2 中,经由 DCOM 的 OPC 通信是默认关闭
的,本文讨论了当使用 XP SP2 时重建 OPC 通信的必要设置方法
由于 OPC 使用的回调方法使得 OPC Client 转变为 DCOM server 同时使 OPC Server 转变为一个 DCOM client,所以本文
中提供的配置方法应在包含有 OPC Server 和 OPC Client 的客户端节点上分别进行设置
配置 WINDOWS 防火墙
WINDOWS 防火墙是基于例外的,也就是默认情况下,防火墙将阻止外部未被请求的连接通过网络,而管理员可以在规则
之外设置特定的应用程序或端口来响应外部未被请求的连接
防火墙的例外可被归入两种层次的情况,一是应用程序层次,二是端口与协议层次前者可设置特定的程序来对未被请求的
连接进行响应,后者可设置特定的 TCP 或 UDP 端口来允许相应的通信为了使 OPC 程序可以通过 DCOM 正常工作,必须
在这两个层次上都进行设置
防火墙的配置过程如下:
1.为了给系统提供必须的保护,WINDOWS 防火墙是默认启用的(个人)不推荐关闭 WINDOWS 防火墙,若通信连接失败,
在调试过程中可以暂时关闭防火墙以确实问题是否是由防火墙所引起如若确定永久关闭防火墙,下面所述关于防火墙的设
置均可忽略
2.进入 WINDOWS 控制面板,双击 WINDOWS 防火墙图标,打开 WINDOWS 防火墙设置对话框,选中例外选项卡,把相
应 OPC Client 和 Server 程序添加进例外列表同时添加 Microsoft Management Console (mmc.exe 在 Windows\System32
目录下)和 OPC 应用程序 OPCEnum (opcenum.exe 在 Windows\System32 目录下)到例外列表中最后确保文件和打印机
共享也被选中在例外列表中
(注:只有 EXE 程序可以被添加到例外列表中,对于 DLL 和 OCX 等类型的 OPC Server 和 OPC Client ,必须添加调用
它们的 EXE 程序;本步设置可能要用到添加程序和浏览按钮)
3.添加 TCP 135 端口建立 DCOM 通信和对外来请求进行响应需要用到 TCP 135 端口在 WINDOWS 防火墙例外选项卡中,
点击添加端口按钮在添加端口对话框中进行设置,如下图所示
DCOM 配置
WINDWOS XP SP2 在 DCOM 安全方面进行了一些增强在 XP SP2 中,若要通过网络使用 OPC,应该注意到以下两个方
面的问题:一是用户可以通过激活和访问权限对话框对使用 DCOM 的应用程序的限制权限进行配置;二是在激活和访问权
限中定义的每个用户,其本地和远程访问权限可以进行分别配置
关于激活和访问权限:启动权限定义了谁可以本地或远程激活(或启动)基于 COM 的应用程序(比如 OPC Server 程序);
访问权限定义了谁可以对已经启动起来的程序进行访问
默认情况下,WINDOWS XP SP2 不允许经由网络的 OPC 通信为了使基于 DCOM 的 OPC 应用程序可以通过网络工作,
用户应该被给予 OPC Server 和 OPC Client 的远程激活和访问权限
WINDOWS XP SP2 下 DCOM 的配置过程如下:
1.点击开始->运行输入 DCOMCnfg,回车,打开组件服务窗口
2.双击控制台根目录下的组件服务展开组件服务文件夹,同样方式,展开计算机文件夹,右键点击右侧窗口的我的电脑图
标,点击属性,打开属性对话框
3.选中 COM 安全选项卡,注意这里有 4 个按钮可供点击进入配置