由于 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. CSS Grid

    效果图如上所示 <!DOCTYPE html> <html> <head> <title>练习</title> </head> ...

  2. 【python-HTMLTestRunner】生成HTMLTestRunner报告报错ERROR 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

    [python-HTMLTestRunner]生成HTMLTestRunner报告报错:ERROR 'ascii' codec can't decode byte 0xe5 in position 0 ...

  3. windows基于vs2017的opencv安装

    1.opencv下载与安装 1.下载地址:官网下载地址https://opencv.org/releases.html   opencv为开源软件,可直接在官网下载最新版本. 2.软件安装:openc ...

  4. hdu3001Travelling

    参考了别人的代码   https://blog.csdn.net/u010372095/article/details/38474721 深感自己的弱小 这是tsp问题,和基本的tsp问题没什么大的区 ...

  5. Js表单验证控件-02 Ajax验证

    在<Js表单验证控件(使用方便,无需编码)-01使用说明>中,写了Verify.js验证控件的基本用法,基本可以满足大多数验证需求,如果涉及服务端的验证,则可以通过Ajax. Ajax验证 ...

  6. 第六节:详细讲解Java中的装箱与拆箱及其字符串

    前言 大家好,给大家带来详细讲解Java中的装箱与拆箱及其字符串的概述,希望你们喜欢 装箱与拆箱 封装类有:Byte , short , Integer , Character , long , Fl ...

  7. jdk-tomcat-jenkens 安装

    1--安装JDK 下载JDK放到你需要的目录,解压,然后添加环境变量 2--安装tomcat 从官方网站下载tomcat的安装包,然后解压 启动tomcat , TOMCAT的默认端口是8080,要记 ...

  8. [HAOI2017] 新型城市化

    给出的图中恰包含2个团,则图的补图为一个二分图,其最大独立集为原图的最大团. 我们知道,二分图的最大独立集=V-最小顶点覆盖,最小顶点覆盖=最大匹配. 问题转化为:计算删去后最大匹配减小的边集. 所以 ...

  9. Xamarin.Android 使用 SQLite 出现 Couldn't read row 0, col -1 from CursorWindow. 异常

    异常:Java.Lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cu ...

  10. SqlServer 循环建表、删除表、更新表

    常用于分库分表 1.批量删除 declare @outter int declare @inner int ) ) ) begin set @tablePrefix='BankPayOrder_'+c ...