Code for Love

Write Poem, With Code

0%

OPC DA局域网远程连接精简配置实践

opc da局域网远程连接的配置进行过许多次,由于DCOM配置本身相对偏僻,前后使用的Windows开发与调试环境也不尽相同,所以每次都是参照教程摸索着走,以至于成不成功全看天意,且很多教程是需要关防火墙的,多少会影响到服务端的安全策略。最近刚好项目需要,遂于午后与吾友@bool使用两台机器一一尝试总结,得出一套精简方案,帮助广大工控人以尽量少的设置来完成opc da局域网通讯。

服务端设置

1. 添加专用的用户和用户组

  • 运行中键入命令lusrmgr.msc打开本地用户和组
  • 在用户中新建一个用户OPCUser,输入适当的密码(密码不可为空),并作如下设置:
    图 1
  • 在用户组中新建一个用户组OPCGroup,并将OPCUser添加到该组
    图 2
  • 注:如果打算直接使用当前已存在的用户连接OPC DA服务,则该步骤也可以省略,但有个前提:该用户密码不可为空。

2. DCOM配置

  • 运行中键入命令dcomcnfg打开组件服务,进行如下配置:
  • 我的电脑配置
    • 组件服务|计算机|我的电脑
    • 右键属性,并切换到COM安全选项卡
    • 访问权限中,点击编辑限制
    • 添加OPCGroup用户组,并赋予全部权限如下:
      图 3
    • 启动和激活权限中,也作类似配置
  • OPCEnum配置
    • 组件服务|计算机|我的电脑|DCOM配置中,找到OPCEnum
    • 右键属性,并切换到安全选项卡
    • 启动与激活权限中,选择自定义,并点击编辑
    • 添加OPCGroup用户组,并赋予全部权限如下:
      图 4
    • 访问权限中,也作类似配置
  • OPC服务运行时配置(此处仅以kepware.KEPServerEX.V6为例)
    • 组件服务|计算机|我的电脑|DCOM配置中,找到KEPSErverEX 6.5
    • 右键属性,并切换到安全选项卡
    • 启动与激活权限中,选择自定义,并点击编辑
    • 添加OPCGroup用户组,并赋予全部权限如下:
      图 5
    • 访问权限中,也作类似配置

3. 防火墙设置

  • 运行中键入命令firewall.cpl打开防火墙控制面板,进入高级设置
    图 6
  • 入站规则上右键新建规则,新建一个端口规则,开放135端口访问权限;
  • 入站规则上右键新建规则,新建一个程序规则,开放C:\Windows\SysWow64\opcenum访问权限;
  • 入站规则上右键新建规则,新建一个程序规则,开放C:\Program Files (x86)\Kepware\KEPServerEX 6\server_runtime.exeOPC DA服务运行时访问权限;
  • 注:服务端并不要求登录该OPCUser作为当前用户

客户端设置

1.添加专用用户

  • 运行中键入命令lusrmgr.msc打开本地用户和组
  • 在用户中新建一个用户OPCUser,输入与上面所创建的用户相同的用户名和密码,并作如下设置:
    图 7

2. 访问服务端

  • 登录该OPCUser用户,即可在该电脑上访问服务端电脑上的OPC DA服务。(若无法访问,可重启服务器上的opc服务后,稍等几秒再尝试。或给我留言、发邮件,描述清楚问题,我会抽空回复。)

后记

本文参照了Kepware官方的详细配置文档,该文档步骤不可谓不繁琐,但还是具有参考意义的,为方便大家阅读,我已翻译此文档,有兴趣的转我的幕布文章 远程OPC DA快速上手指南(DCOM)(kepware官方文档直译) 自行阅读吧。
官方原文档可上kepware官网下载:点此下载