如何解决令人头痛的DCOM配置问题

前言

OPC通信技术因其帮助大量的使用不同通信协议的下层现场设备的数据得以与上位机的应用程序进行交互的作用,成为了一种工业通信领域中一套广为流行的方案,它使得硬件供应商和软件开发商都可以专注于做自己的工作。只要双方都能提供OPC接口,就可以完成对现场设备的数据采集和交互。即便没有接口,Matrikon的OPC服务器软件也可以帮助现场设备完成这一过程。

而为了完成这一切,除了需要用到OPC的服务器和OPC的客户端,在OPC Tunneller 问世之前,首要的步骤就是要配置DCOM。OPC通信是基于Winodows上的COM/DCOM技术来工作的。在服务器和客户端两边都对DCOM进行配置,开放相应的权限后,即可完成两台主机的连接并进行正常的OPC通信。

而有不少刚刚接触OPC通信的技术人员因为不熟悉DCOM配置倒在了OPC通信的“第一步”,那我们接下来就来看看如何完成令人头痛的DCOM配置。
在这里插入图片描述
硬件需求
两台电脑,一台做OPC服务器,一台做OPC客户端,两台电脑IP地址在同一网段下,本例的操作系统都是WIN10。
软件需求

  1. MatrikonOPC Explorer(做OPC客户端)
  2. MatrikonOPC Server for Simulation(做OPC服务器)
    (都是免费的测试软件,可以从matrikonopc.com获取)

DCOM配置

安装好需要的软件之后,我们先将我们电脑的防火墙关闭,这样会方便我们的操作。在实际工厂的应用中自然不可能随便将防火墙关闭。那么就需要在防火墙设置开放端口来支持我们接下来的远程连接,考虑到篇幅的影响,这部分操作本例不做说明,仅演示关闭防火墙的情况下如何操作。

注意:本例默认是管理员账户(Administrator)进行操作,如果实际使用过程中使用到了其他的账户或者为OPC通信专门创建了一个账户,在后续配置过程需要添加管理员账户的地方添加需要使用的账户即可,本例不再单独强调。

关闭防火墙后我们就可以开始DCOM的配置了,首先在OPC服务器端的电脑上按下WIN+R,然后输入”dcomcnfg”进入组件服务。或者直接打开MatrikonOPC Server for Simulation,从Tools下拉菜单中进入DCOM配置,如下图所示。
在这里插入图片描述
然后我们先对本机的属性进行总体的设置:
在这里插入图片描述
在“默认属性”中勾选“在此计算机上启用分布式COM”,默认身份验证级别设置为“无”。
在这里插入图片描述
默认协议选项卡中制定了可供DCOM选择的通信协议,在底下的列表中的顺序表示将使用它们的优先级顺序,一般来讲在列表里最好删除掉没有使用到的协议,因为如果不存在服务器计算机,它会依次尝试每种协议,这样会耗费很多时间。在这里我们选择面向连接的TCP/IP协议即可。
在这里插入图片描述
然后再配置COM安全,将“访问权限”和“启动和激活权限”中的“编辑限制”和“编辑默认值”都分别添加"Everyone"、"Administrators"和 “ANONYMOUS LOGON”,并将底下的权限都勾上。
在这里插入图片描述
完成上述工作后我们点击“DCOM配置”的菜单,然后找到OpcEnum和我们的”MatrikonOPC Server for Simulation and Testing”(需要让客户端那边连接到的服务器),右键属性,“常规”—身份验证级别选择“无”,“位置”选项卡里勾选上“在数据所在的计算机上运行应用程序”和“在此计算机上运行应用程序”,“安全”选项卡中的所有权限全部选择自定义然后编辑,跟之前一样都分别添加”Everyone”、”Administrators”和”ANONYMOUS LOGON”,并将底下的权限都勾上。
在这里插入图片描述
至此,我们服务器端的配置就都搞定了。
在客户端只需要把以上的步骤除了”MatrikonOPC Server for Simulation and Testing”的部分重复再做一遍即可。

开始通信

在客户端主机打开OPC Explorer。
在这里插入图片描述
选择Network Neighborhood,一般会自动找到服务器的主机名,如果找不到,可以选择右键添加,输入服务器计算机的IP地址(注意:服务器和客户端主机IP应在同一网段下):
在这里插入图片描述
可以看到已经连上了:
在这里插入图片描述
选择”add Tags”,将模拟服务器中的Random分类下的标签拉进一个Group0组:
在这里插入图片描述
点击OK,可以看到我们可以在客户端主机浏览到服务器主机上的OPC数据了。
在这里插入图片描述

结论

至此我们就完成了两台主机通过DCOM远程连接的OPC通信。可以看到这个过程中DCOM配置是比较繁琐的,本文还没有提及在不关闭防火墙情况下的端口配置以及新的本地账户的创建和分配权限,其中如果某一个环节出现问题都有可能导致连接失败:
在这里插入图片描述
而寻找错误的过程又将花费不少的时间。除此之外如果出现断网等意外情况,恢复时上面的group0也将不复存在然后需要重新去添加。所以OPC通信技术因为DCOM的复杂性和稳定性的原因一定程度上阻碍了它的推广。

前面我们也提到了OPC Tunneller出现之后DCOM连接的一些问题得到了解决。将来我们会给大家讲讲如何不用配置繁琐的DCOM也能完成OPC通信并且保证稳定性。

猜你喜欢

转载自blog.csdn.net/MatrikonChina/article/details/108200146
今日推荐