来源:https://www.cnblogs.com/ioufev/p/9365919.html
本文为Java实现OPC通信的一部分
系统:使用win10 64位专业版
PDF文件:
- 本文,链接: 百度网盘 密码: reht,
- Win7和Win7_SP1网络OPC配置,链接: 百度网盘 密码: dhhc
在线参考:英文的
使用的OPCServer服务器:
- KEPServer V6,链接: 百度网盘 密码: ykj2
*注意:OPC服务器中,当OPC账户注销后,Opc Client 无法连接的问题,需要如下方式解决,错误提示如下:
或者
OPC服务器配置如下:
1.准备
1.1 OPC运行库
KEPServer集成了OPC运行库,所以不需要单独安装
1.2 创建用户并赋予访问权限 :计算机管理
创建用户:
OPCUser
123456
添加到DCOM组
说明:如果用户权限复杂,请用能登陆OPCServer的用户。
2.配置说明
2.1 防火墙关于 DCOM 和 OPC 的规则 :高级安全 Windows Defender 防火墙
开放 DCOM 访问 :DCOM(wmi)启用
135端口:只有一个计算机不需要设置
创建 OPC 程序规则 :允许程序 OPCEnum(就是OPC运行库的程序)
位置:"C:\Windows\SysWOW64\OpcEnum.exe"
添加 OPC 服务器程序的规则:允许程序 KEPServer的server_runtime
位置:"C:\Program Files (x 86) \Kepware\KEPServerEX 6\server_runtime.exe"
说明:如果使用了防火墙软件,请把这2条规则添加到白名单。
2.2 配置 DCOM 安全:组件服务
配置 COM 的安全设置:我的电脑--COM属性--安全--访问、激活 配置
配置 OPCEnum 的安全设置 :OpcEnum的安全选项
配置 OPCServer 的安全设置 :KEPServer的安全选项
2.3 配置本地安全策略 :
本地安全策略 本地策略--网络访问--匿名 :启用
2.4.关于Matrikon的DCOM配置
创建用户-->添加到DCOM组
高级安全 Windows Defender 防火墙:创建 OPC 程序规则 :允许程序 OPCEnum
位置:"C:\Windows\SysWOW64\OpcEnum.exe"
如果还不行,可以将OPCSim加入防火墙
位置:"C:\Program Files (x86)\Matrikon\OPC\Simulation\OPCSim.exe"
其他不需要了。
3.用户
最重要的是,【服务器端】需要安装OPC核心包,否则怎么配置也扫描不到服务器的DA服务(OPC_2.0_Core_Components-Setup.exe),此包可以不在OPC账号下安装。
3.1 创建用户(*服务器与客户端的账号密码要一模一样)
3.2添加到DCOM组
( *此处,可以增加超级管理员权限,用于登录用户,设置一些东西)
4.防火墙
4.1 配置防火墙规则:开放 DCOM 访问
打开防火墙
找到(DCOM-In)
右键属性--已启用
4.2 创建 OPC 程序规则 :允许程序 OPCEnum
新建入站规则--程序--找到OpcEnum.exe
4.3 添加 OPC 服务器程序的规则:允许程序 KEPServer的server_runtime
新建入站规则--程序--找到server_runtime.exe
5.组件服务(*一般安装完OPC核心包以后,下面设置保持默认就可以。但是要注意,要让OPC用户加入DCOM组中,在将DCOM组加入下面组件中即可。[默认DCOM组已经加入组件中了])
5.1组件服务:配置 COM 的安全设置
打开组件服务
(*此处默认身份验证级别:无 或者 连接。经过测试都可以)
5.2组件服务:OpcEnum的安全选项
详细信息
5.3组件服务:KEPServer的安全选项
6.本地安全策略(*此处不配置也好用)
6.1本地安全策略 本地策略--网络访问--匿名 :启用
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
来源:https://blog.csdn.net/rizhaolutong/article/details/20309779
最近做了一个小项目,功能很简单,就是编写一个OPC客户端软件实现从OPC服务器上获取数据然后转存到DB中。项目虽小但是值得考虑的地方仍不少,所谓麻雀虽小,五脏俱全。
1、DCOM正常配置
网上关于DCOM的配置五花八门,各种各样。当时刚开始配置的时候也是各种尝试,虽然能调通,但却不知道为什么通的。总结起来,主要是分为了两点:首先,要保证有权限访问对方,然后就是能够启动和激活com。
权限访问经常出现的连接失败等错误。这时候应该check一下:
a.对方防火墙是否关闭或者将相应的程序和端口加入到例外。
b.检查“控制面板”-“管理工具”-“本地安全策略”-“网络访问:本地账户的共享和安全模式”设为“经典-本地用户以自己的身份验证”。
c.dcom的默认配置中没有加入相应用户的权限。即,服务端的访问限制中要存在客户端发起访问的账户。一般添加everyone账户,这也可以让所有的账户都有权限,这也虽然方便但是不安全,对于安全性要求高的还要设置统一账户,统一密码。
对于启动和激活权限,简单的设定也是全加入everyone账户。(这里要说明一点,有些资料说不能在“限制”中添加everyone账户否则会导致无妨访问等问题,本人试了试发现并没有像说的那样,还有的资料说要将Interactive,system,network,administrator账户一并加入,这里我也没有加入,但依然可以访问。具体原因没有探索。。。)如果是使用opc客户端枚举DCOM端的com名称,则需要配置opcenum时加入ANONYMOUS LOGO账户,然而,这只是用于枚举com名称,并不会影响访问。就是说如果事先知道com名称则不需要配置opcenum,直接使用com名称来访问应该也是可以的。在配置具体的opc服务时,我觉得基本不用配置,使用默认的配置一般都是可以的,如果不行再按照opcenum的配置来配就可以。如果实在不知道怎么配,那就简单的给所有可配的把上述几种提到的转户一股脑的全加进去,也未尝不可。