由于 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. jquery监听滚动条

    $(".lx").scroll(function(){ var $this =$(this), viewH =$(this).height(),//可见高度 contentH =$ ...

  2. ubuntu 14.04下搭建esp32开发环境

    esp32是乐鑫出品的一款集成了wifi和蓝牙的集成模块,板上自带两个哈佛结构的Xtensa LX6 CPU双核处理器,本文主要讲解如何在linux下搭建其编译开发环境. 首先ctrl+alt+t打开 ...

  3. JavaScrip继承图文总结

    JavaScript有多种继承模式,总结起来用到的方法有:原型链的传递.构造函数的借用.对象的复制.     这篇文章讲得很清晰,让我们明白:所有JS对象源于null,并通过原型指针和原型对象来实现继 ...

  4. ASP.NET MVC下使用AngularJs语言(三):ng-options

    今天使用angularjs的ng-options实现一个DropDownList下拉列表. 准备ASP.NET MVC的model: public class MobilePhone { public ...

  5. Android OOM 引发的思考

    一.为何会出现OOM 因为Android系统的硬件资源是相当有限的,而且分配给一个应用的资源更为有限,尤其是内存.当应用突然申请的内存大于允许的最大值的时候,就会出现OOM. 如果想要获取App的内存 ...

  6. linux下把动态链接库加入环境变量的几种方式

    一. 将网络SDK各动态库路径加入到LD_LIBRARY_PATH环境变量 1.在终端输入:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/XXX 只在当前终端起作用 ...

  7. Linux - 变量的查看与设置

    printenv - print all or part of environment 显示所有变量:print 显示某个变量:print <variable name> 或者 echo ...

  8. JavaScript 全屏展示

    浏览器都有页面全屏的功能 F11 ,那么如何用JavaScript控制页面全屏呢?MDN上提供的的API , 一个小demo验证一下! <!DOCTYPE html> <html l ...

  9. 重磅:Spring Boot 2.0 正式发布!

    Spring Boot 2.0 正式发布! 2018/03/01最新消息,传得沸沸扬扬的Spring Boot 2.0 正式发布了. 小编去看了下Spring Boot的官网,正式版本已经释放出来了! ...

  10. 【2019北京集训六】路径(path) 二分+DP

    此题niubi! 题目大意:给你一颗n个点的点带权无根树,现在请您进行以下两步操作: 1,选择一个$[0,T]$之间的整数$C$,并令所有的点权$wi$变为$(wi+C)%MOD$ 2,选择若干条点不 ...