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(键) 中 ...
随机推荐
- CSS Grid
效果图如上所示 <!DOCTYPE html> <html> <head> <title>练习</title> </head> ...
- 【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 ...
- windows基于vs2017的opencv安装
1.opencv下载与安装 1.下载地址:官网下载地址https://opencv.org/releases.html opencv为开源软件,可直接在官网下载最新版本. 2.软件安装:openc ...
- hdu3001Travelling
参考了别人的代码 https://blog.csdn.net/u010372095/article/details/38474721 深感自己的弱小 这是tsp问题,和基本的tsp问题没什么大的区 ...
- Js表单验证控件-02 Ajax验证
在<Js表单验证控件(使用方便,无需编码)-01使用说明>中,写了Verify.js验证控件的基本用法,基本可以满足大多数验证需求,如果涉及服务端的验证,则可以通过Ajax. Ajax验证 ...
- 第六节:详细讲解Java中的装箱与拆箱及其字符串
前言 大家好,给大家带来详细讲解Java中的装箱与拆箱及其字符串的概述,希望你们喜欢 装箱与拆箱 封装类有:Byte , short , Integer , Character , long , Fl ...
- jdk-tomcat-jenkens 安装
1--安装JDK 下载JDK放到你需要的目录,解压,然后添加环境变量 2--安装tomcat 从官方网站下载tomcat的安装包,然后解压 启动tomcat , TOMCAT的默认端口是8080,要记 ...
- [HAOI2017] 新型城市化
给出的图中恰包含2个团,则图的补图为一个二分图,其最大独立集为原图的最大团. 我们知道,二分图的最大独立集=V-最小顶点覆盖,最小顶点覆盖=最大匹配. 问题转化为:计算删去后最大匹配减小的边集. 所以 ...
- 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 ...
- SqlServer 循环建表、删除表、更新表
常用于分库分表 1.批量删除 declare @outter int declare @inner int ) ) ) begin set @tablePrefix='BankPayOrder_'+c ...