opc da局域网远程连接的配置进行过许多次,由于DCOM配置本身相对偏僻,前后使用的Windows开发与调试环境也不尽相同,所以每次都是参照教程摸索着走,以至于成不成功全看天意,且很多教程是需要关防火墙的,多少会影响到服务端的安全策略。最近刚好项目需要,遂于午后与吾友@bool
使用两台机器一一尝试总结,得出一套精简方案,帮助广大工控人以尽量少的设置来完成opc da局域网通讯。
服务端设置
1. 添加专用的用户和用户组
- 在
运行
中键入命令lusrmgr.msc
打开本地用户和组
- 在用户中新建一个用户
OPCUser
,输入适当的密码(密码不可为空),并作如下设置: - 在用户组中新建一个用户组
OPCGroup
,并将OPCUser
添加到该组 - 注:如果打算直接使用当前已存在的用户连接OPC DA服务,则该步骤也可以省略,但有个前提:该用户密码不可为空。
2. DCOM配置
- 在
运行
中键入命令dcomcnfg
打开组件服务,进行如下配置: - 我的电脑配置
- 在
组件服务
|计算机
|我的电脑
- 右键
属性
,并切换到COM安全
选项卡 - 在
访问权限
中,点击编辑限制
- 添加
OPCGroup
用户组,并赋予全部权限如下: - 在
启动和激活权限
中,也作类似配置
- 在
- OPCEnum配置
- 在
组件服务
|计算机
|我的电脑
|DCOM配置
中,找到OPCEnum
- 右键
属性
,并切换到安全
选项卡 - 在
启动与激活权限
中,选择自定义
,并点击编辑
- 添加
OPCGroup
用户组,并赋予全部权限如下: - 在
访问权限
中,也作类似配置
- 在
- OPC服务运行时配置(此处仅以kepware.KEPServerEX.V6为例)
- 在
组件服务
|计算机
|我的电脑
|DCOM配置
中,找到KEPSErverEX 6.5
- 右键
属性
,并切换到安全
选项卡 - 在
启动与激活权限
中,选择自定义
,并点击编辑
- 添加
OPCGroup
用户组,并赋予全部权限如下: - 在
访问权限
中,也作类似配置
- 在
3. 防火墙设置
- 在
运行
中键入命令firewall.cpl
打开防火墙控制面板,进入高级设置
- 在
入站规则
上右键新建规则
,新建一个端口规则
,开放135
端口访问权限; - 在
入站规则
上右键新建规则
,新建一个程序规则
,开放C:\Windows\SysWow64\opcenum
访问权限; - 在
入站规则
上右键新建规则
,新建一个程序规则
,开放C:\Program Files (x86)\Kepware\KEPServerEX 6\server_runtime.exe
OPC DA服务运行时访问权限; - 注:服务端并不要求登录该OPCUser作为当前用户
客户端设置
1.添加专用用户
- 在
运行
中键入命令lusrmgr.msc
打开本地用户和组
- 在用户中新建一个用户
OPCUser
,输入与上面所创建的用户相同的用户名和密码,并作如下设置:
2. 访问服务端
- 登录该
OPCUser
用户,即可在该电脑上访问服务端电脑上的OPC DA服务。(若无法访问,可重启服务器上的opc服务后,稍等几秒再尝试。或给我留言、发邮件,描述清楚问题,我会抽空回复。)
后记
本文参照了Kepware官方的详细配置文档,该文档步骤不可谓不繁琐,但还是具有参考意义的,为方便大家阅读,我已翻译此文档,有兴趣的转我的幕布文章 远程OPC DA快速上手指南(DCOM)(kepware官方文档直译) 自行阅读吧。
官方原文档可上kepware官网下载:点此下载