如何进行OPC DCOM配置 点击:7334 | 回复:16



如火

    
  • 精华:172帖
  • 求助:0帖
  • 帖子:802帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-08-05 14:43:00
楼主
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相关的各项配置在注册表中的位置、名称都是一致的。 二者只是配置界面不同 本文由“剑飞 ”提供,中国工控网整理。



changanqu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2008年4月01日
发表于:2005-08-12 15:12:00
1楼
请问你下,我在xp sp2的版本下配置了DCOM,OPCserver可以正常起动,实时数据服务器也可以运行正常,但是不能进行数据显示。请问是什么原因呢?

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-08-17 13:42:00
2楼
您看看质量戳是GOOD还是BAD?如果是GOOD证明已经通讯正常,否则dcom还是配置由问题。

xiaojia

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 198回
  • 年度积分:0
  • 历史总积分:316
  • 注册:2001年12月24日
发表于:2005-08-17 22:39:00
3楼
xp sp2下我也没作通,数据就是上不来,2000和XP SP1都行

郁闷男

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2005年8月19日
发表于:2005-08-19 09:22:00
4楼
XP下有一点不同: 文件夹选项里的使用简单文件共享选项去掉

hufuchuan

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2005年3月21日
发表于:2005-08-23 08:11:00
5楼
把客户端机器上的用户和密码,在OPC服务器端都添加上也可以

艮泽

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 104回
  • 年度积分:0
  • 历史总积分:189
  • 注册:2004年6月15日
发表于:2005-10-28 11:06:00
6楼
主要是安全权限问题。

守护艾泽拉斯

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2005年12月01日
发表于:2005-12-01 11:04:00
7楼
请问 我在客户机上设置标识时 界面上 的 交互式用户 和 启动用户是灰色的 没有办法选择  选择指定用户时 正确填入用户名和密码 弹出“缺少权限某些资源拒绝访问”(注:用户名和 密码 填写正确 配置时 使用了管理员权限登入)  上位机的 软件是 RS view 32 (vb写的 ) 我是向把他的系统通过opc 接入。

huangyoufu

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1083回
  • 年度积分:0
  • 历史总积分:1224
  • 注册:2006年9月23日
发表于:2008-03-25 12:34:00
8楼
主要是安全权限问题。

天下三分明月夜

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2008-03-30 09:36:00
9楼
上次OPC远程通讯已成功,是在热心人的帮助下解决的;

天下三分明月夜

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2008-03-30 09:38:00
10楼
除了这些配置外,关键是本地策略中要改一下.

liwei6838

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2008年6月25日
发表于:2008-08-12 17:01:10
11楼
你好.
我想请教一个问题.
我用.NET做了一个WINDOWS服务.这个服务要访问opcdaauto.dll,可是却访问不到.而如果我将程序做成界面形式的话.就可以访问得到这个DLL.是完全没有问题的.
所以我想请假你.怎么样可以使这个DLL在WINDOWS服务也能访问得到.我的EMAIL是:liwei6838@163.com
先谢谢了

阿挺

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 38回
  • 年度积分:0
  • 历史总积分:79
  • 注册:2007年12月07日
发表于:2008-08-13 08:52:39
12楼

收藏下,可能会有用.谢谢

阿挺

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 38回
  • 年度积分:0
  • 历史总积分:79
  • 注册:2007年12月07日
发表于:2008-08-13 08:54:29
13楼

TO liwei6838  :

我发现最近老多人,想在 .net 下使用 自动化接口的OPC DLL.

推荐你个办法:在VB下封装OPC相关的控制功能,然后在C#下用. C#下使用自动化接口的OPC DLL会出错的.无法解决.
 

叶勺

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 28回
  • 年度积分:0
  • 历史总积分:145
  • 注册:2008年4月10日
发表于:2008-09-08 14:50:20
14楼
http://www.gongkong.com/Forum/ForumTopic.aspx?Id=2008090515505200004

andren

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 17回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2007年3月08日
发表于:2010-12-17 18:41:10
15楼
将c:/windows/system32/opcenum.exe重新注册一下就可以了!注册方法:
将opcenum.exe鼠标左键拖入开始运行中,空格,/regserver,确定后,重新打开dcom配置界面,交互式就可以选择了!

297763652kxn

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2011年5月14日
发表于:2011-06-05 10:28:09
16楼

好方法,终于可以了,谢谢楼上。。。。。


热门招聘
相关主题

官方公众号

智造工程师