java连接OPC之——Windows7 With SP1 网络OPC的DCOM配置
由于 OPC(OLE for Process Control)建立在 Microsoft 的 COM(COmponent Model)基础
上,并且 OPC 的远程通讯依赖 Microsoft 的 DCOM(Distribute COM),安全方面则依赖 Microsof
的 Windows 安全设置。
通过网络相互通信,OPC Server(OPC 服务端)和 OPC Client(OPC 客户端)所在的操作
系统,需要设置 DCOM 的安全属性,下面使用 Windows 7 系统介绍配置过程。
由于 OPC 通讯需要用到 OPC Foundation 提供的动态库,所以在开始配置前,首先安装
OPC Foundation 提供的运行分发包,安装时需要根据操作系统类型,32 位的系统选择 X86
运行库安装包;64 位系统选择 X64 运行库安装包。也可使用随本文档一起分发的运行库。
OPC Server (服务器)运行在 Windows 7 时的 DCOM 配置
一、 安装 OPC 运行库
OPC 服务器(OPC Server)和 OPC 客户端的正常运行需要依赖 OPC 运行库,如果两
个组件运行在不同的计算机,那运行计算机上都需要安装运行库。如果 OPC 程序运行
在 64 位平台,请安装对应版本的运行库安装包。
OPC Foundation 的网站(www.opcfoundation.org)提供运行库分发包下载

安装好 OPC 运行库,将计算机操作系统重新启动,然后再继续后面的配置工作。
二、 创建用户并赋予访问权限
1. 创建新用户
创建一个新用户,并赋予此用户运行和使用操作系统 DCOM 程序的权限。为了
降低整个系统的安全风险,可以创建一个受限用户,而不是建立管理员级用户。为
操作系统创建新用户需要管理员权限。
注意:
A、 需要在 OPC 服务器所在 OS 系统与 OPC 客户端所在 OS 系统,创建的用户的用
户名和密码相同。
B、 由于 Windows 7 系列的 OS 系统 Guests 用户组的权限非常受限,所以新创建的
用户需要是 Users 用户组级别权限,或比 Users 用户组级别更高的权限。推荐使
用 Users 用户组。









三、 修改操作系统 Firewall(防火墙)关于 DCOM 和 OPC 的规则
由于 DCOM 使用操作系统的 135 端口,所以要想不同计算机上面的 OPC 服务器和
OPC 客户端通讯正常,要修改防火墙规则,允许 135 端口的连接。如果 OPC 服务器和
OPC 客户端安装在同一台计算机,不需要修改防火墙规则。下面用 Windows 7 的防火墙
配置过程为示例。

Windows 7 用户:要打开防火墙管理控制台,可以从“开始“->“控制面板”->“管理
工具”->“Windows 防火墙”->“高级设置”,或在“运行”输入“wf.msc”命令。
1、 开放 DCOM 访问
在默认状态,Windows 防火墙是阻止另一台计算机连接的。如果要允许 OPC 客户端
与 OPC 服务器正常访问,需要放开这个访问规则。




2、 创建 OPC 程序规则
需要手动添加 OPC 服务器程序的规则。同样也需要添加 OPCEnum 系统服务程
序规则,因为远程的 OPC 客户端计算机就是通过它获得这台计算机上面的 OPC 服
务器名称列表的。
下面我们通过创建 OPCEnum 应用的规则,演示如何创建应用的防火墙规则。
可用同样步骤创建 OPC 服务器的防火墙规则。



注意: 查看路径 %SystemRoot%\SysWOW64\

如下则是实际路径:





同样步骤,创建 OPC 服务器应用程序的防火墙访问规则。
四、 配置 DCOM 安全
为通过网络正常访问 OPC 服务器,需要配置 DCOM 的访问和激活安全属性。
1. 启动“组件服务”
在菜单“开始\运行”,输入:dcomcnfg,点击“确定”按钮,进入“组件服务
管理器”。



请确认几个属性的设置内容或状态:
在此计算机上启用分布式 COM,此属性处于“选中”状态;
默认分布式 COM 通信属性栏目下,“默认身份验证级别”,选择的项目是:“连
接”,“默认模拟级别”,选择的项目是:“标识”。
选择“我的电脑属性”属性页面的“默认协议”标签页



这里一定要添加OPC的用户。









配置 OPCENUM 的安全设置
在“组件服务”左侧树形菜单,选择“组件服务\计算机\我的电脑\DCOM 配置”,
在列表中选择 opcenum 项目,在鼠标右键弹出的菜单,选择“属性”项目




注意:此处同样需要添加连接OPC的用户




五、 配置本地安全策略
1. 启动“本地安全策略”管理器
在“开始\运行”输入:secpol.msc,点击“确定”按钮,启动“本地安全策略”

2. 修改“网络访问:将 Everyone 权限应用于匿名访问匿名用户”设置
改“安全设置\本地策略\安全选项”下的“网络访问:将 Everyone 权限应用于
匿名访问匿名用户”设置,将规则启用

六、 其它
1. 防火墙运行状态下,可能 OPC 客户端会出现拒绝访问,可能是防火墙阻止程序访
问网络,可以试着修改防火墙设置。调试或测试时,可先将防火墙禁用,排除干扰;
2. 其它防火墙软件配置,可参考 Windows 系统防火墙配置。
3. RPC 服务器不可用
这个错误意味着没能建立与 RPC 服务之间的网络连接。
*如果错误发生在尝试读取远程计算机上边的 OPC 服务器列表时,请检查 OPC 服务器
计算机与 OPC 客户端计算机的防火墙配置,看 OPCEnum 应用是否已经加入例外规则
列表。
*DCOM 所使用的 135 端口,是否已加入防火墙规则。
*如果错误发生在连接 OPC 服务器时,请检查 OPC 服务器计算机的防火墙配置,看 OPC
服务器应用程序是否已加入防火墙的例外规则列表。
4. 拒绝访问
请检查 DCOM 的安全配置,包括 OPC 服务器所在计算机与 OPC 客户端所在计算机。
5. “IOPCServerList Interface Not Found”错误
请在安装 OPC 运行库分发包或注册 OPC 运行库后,重新启动计算机系统。
java连接OPC之——Windows7 With SP1 网络OPC的DCOM配置的更多相关文章
- (一)通过JAVA连接SAP (sapjco3.jar在Windows和MacOS上的配置)
(一)通过JAVA连接SAP调用接口 (sapjco3.jar在Windows和MacOS上的配置) 一.sapjoc3.jar获取 由于sap官网提供的链接需要合作公司提供账号密码,如果商用请索要正 ...
- mongodb在Windows安装配置及遇到的问题、java连接测试
一.安装 1.访问mongodb的官网http://www.mongodb.org/downloads下载64bit的包,我下载的是mongodb-win32-x86_64-2008plus-ssl- ...
- Java连接SqlServer2008数据库(转)
Java连接SqlServer2008数据库 首先下载JDBC:下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599 下 ...
- Java工程师面试题,整理自网络与博主各种笔试面试,持续更新
1.面向对象的特征有哪些方面? 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口. 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应.简单的说就是用同 ...
- java连接sql server2000/2005
接触Java或者JSP,难免会使用到数据库SQL Server 2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQL Server成功,特此 ...
- 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类
一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...
- Ftp主动模式和被动模式以及java连接ftp模式设置
Ftp主动模式和被动模式以及java连接ftp模式设置 https://www.cnblogs.com/huhaoshida/p/5412615.html (1) PORT(主动模式) PORT中文称 ...
- Java连接并操作SQLServer数据库
本人只需在项目中引入sqljdbc4.jar 包即可 ----------------------------------------- 在JAVA中如何连接SQL Server数据库 - hangh ...
- Memcached常用语法与java连接服务
memcached常用语法及java使用方式 Author:SimpleWu Memcached 存储命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中 ...
随机推荐
- [Solution] JZOJ3470 最短路
[Solution] JZOJ3470 最短路 题面 Description 给定一个n个点m条边的有向图,有k个标记点,要求从规定的起点按任意顺序经过所有标记点到达规定的终点,问最短的距离是多少. ...
- Itween的代码使用方法 - 01
BB:Itween是真心不好用! - 透明度动画 void Start () { //键值对儿的形式保存iTween所用到的参数 Hashtable args = new Hashtable(); / ...
- iOS 10 应用内跳转到系统设置
在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等.在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个pre ...
- 从零开始的程序逆向之路基础篇 第二章——用OllyDbg(OD)分析一个简单的软件
作者:Crazyman_Army 原文来自:https://bbs.ichunqiu.com/thread-43469-1-1.html 0x00知识回顾 (由于笔者省事,没开XP虚拟机,而且没关闭A ...
- Markdown新手教程
目录 什么是Markdown? 用Markdown写作有什么优缺点? 有哪些比较好的Markdown写作工具? markdown语法 标题 水平分区线 引用 中划线 斜体 粗体 斜粗体 链接 图片 无 ...
- ElasticSearch权威指南学习(索引管理)
创建索引 当我们需要确保索引被创建在适当数量的分片上,在索引数据之前设置好分析器和类型映射. 手动创建索引,在请求中加入所有设置和类型映射,如下所示: PUT /my_index { "se ...
- LeetCode:149_Max Points on a line | 寻找一条直线上最多点的数量 | Hard
题目:Max Points on a line Given n points on a 2D plane, find the maximum number of points that lie on ...
- Ubuntu 13.10下安装ns2 2.35遇到的小问题
前面下载安装的环节我就不多说了,网上已经有很多的例子,最全的是一个新浪网友写的博客:http://blog.sina.com.cn/s/blog_785a23ae0100xraq.html.他使用的是 ...
- HttpWebRequst中https的验证处理问题
最近在公司项目中使用了HttpWebRequst相关API,运行环境为.Net/Mono 2.0,是一款针对Unity平台的工具.开发过程中碰到了大家可能都碰到过的问题,Http还是Https? 为什 ...
- selenium的chromedriver对应的chrome版本
chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html chromedriver版本 支持的Chrome版本 v2 ...