由于 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配置的更多相关文章

  1. (一)通过JAVA连接SAP (sapjco3.jar在Windows和MacOS上的配置)

    (一)通过JAVA连接SAP调用接口 (sapjco3.jar在Windows和MacOS上的配置) 一.sapjoc3.jar获取 由于sap官网提供的链接需要合作公司提供账号密码,如果商用请索要正 ...

  2. mongodb在Windows安装配置及遇到的问题、java连接测试

    一.安装 1.访问mongodb的官网http://www.mongodb.org/downloads下载64bit的包,我下载的是mongodb-win32-x86_64-2008plus-ssl- ...

  3. Java连接SqlServer2008数据库(转)

    Java连接SqlServer2008数据库 首先下载JDBC:下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599 下 ...

  4. Java工程师面试题,整理自网络与博主各种笔试面试,持续更新

    1.面向对象的特征有哪些方面? 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口. 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应.简单的说就是用同 ...

  5. java连接sql server2000/2005

    接触Java或者JSP,难免会使用到数据库SQL Server 2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQL Server成功,特此 ...

  6. 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类

    一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...

  7. Ftp主动模式和被动模式以及java连接ftp模式设置

    Ftp主动模式和被动模式以及java连接ftp模式设置 https://www.cnblogs.com/huhaoshida/p/5412615.html (1) PORT(主动模式) PORT中文称 ...

  8. Java连接并操作SQLServer数据库

    本人只需在项目中引入sqljdbc4.jar 包即可 ----------------------------------------- 在JAVA中如何连接SQL Server数据库 - hangh ...

  9. Memcached常用语法与java连接服务

    memcached常用语法及java使用方式 Author:SimpleWu Memcached 存储命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中 ...

随机推荐

  1. 第34章:MongoDB-索引--用户管理

    ①用户管理 在MongoDB里面默认情况下只要是进行连接都可以不使用用户名与密码,因为要想让其起作用,则必须具备以下两个条件: ·条件一:服务器启动的时候打开授权认证: ·条件二:需要配置用户名和密码 ...

  2. 第二节——vue多页面开发

    我们平常用vue开发的时候总觉得vue好像就是专门为了单页面应用而诞生的,其实不是.因为vue在工程化开发的时候很依赖webpack,而webpack是将所有的资源整合到一块,弄成一个单页面. 但是v ...

  3. Javascript上传超大文件实例

    因业务需求需要向伺服器上传大于1GB以上的视频文件,其实网上也能找到很多大文件上传的第三方组件,问题是要么用起来相当不方便,总出现一些bug,要么收费太贵(费用几千,甚至还限定使用数量),最终自己开发 ...

  4. Visual C++.NET设计

    首先,创建对应的工程,VS2010以及以前的版本,创建项目时都可以在CLR下找到“Windows窗体应用程序”的项目模板,但是VS2012以后的版本就没这么方便了.可以通过打开旧版本的项目来修改,也可 ...

  5. Error:(18, 51) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)

    问题:主要是因为jdk版本不一样 解决: 方法一:List<String> list=new ArrayList<Stirng>(); 方法二:重新安装jdk8的版本(安装和配 ...

  6. UniGUI的布局使用说明

    (unigui的页面布局还是很强大的,基本什么的排版都能搞好.前面部分为原文章翻译,翻译不一定很准确,就能看吧,后面有使用说明,有什么不明白的欢迎加我QQ(910300653)一起交流学习) 一.布局 ...

  7. MySQL优化--NOT EXISTS和LEFT JOIN方式差异

    在MySQL中,我们可以将NOT EXISTS语句转换为LEFT JOIN语句来进行优化,哪为什么会有性能提升呢? 使用NOT EXISTS方式SQL为: ) FROM t_monitor m WHE ...

  8. SpringBean作用域

    1.Bean作用域 spring中为bean定义了5种作用域,分别为singleton(单例).prototype(原型).request.session和global session.默认情况下为s ...

  9. JavaScript的BOM编程,事件-第4章

    目标 BOM编程 window和document对象 window对象的属性和方法 document对象的属性和方法 JavaScript中对象的分类 浏览器对象:window对象 window对象, ...

  10. C# GroupBy分组的问题和解决

    起因 今天在公司做一个需求的时候,写的是面条代码,一个方法直接从头写到尾,其中用到了GroupBy,且GroupBy的KeySelector是多个属性而不是单个属性. 但是公司最近推行Clean Co ...