最近这几天一直研究OPC客户端远程连接OPC服务器问题,最开始由于对OPC不熟悉,大家都在摸索着前进,采取比较愚蠢的连接方式,在服务器端安装Step7 V5.5和Simatic Net 2007连个软件,在客户端也安装了Simatic Net 2007软件,两端都设置为"允许",这种方式可以正常让OPC客户端连接到OPC服务器端,但Simatic Net 2007是个很耗费内存的软件,开始我并不知道同事们以这种方式连接的,到了项目后期,才了解到,我的第一反应是这种连接方式肯定不是最好的,必须要换。
经过各方面的资料的查询,结果是在客户端只需要配置DCOM就可以远程连接OPC了,事不宜迟,我就开始根据文档步骤开始配置DCOM,配置好后,运用各种OPC客户端都无法连接,我下载了各种Test工具及OPC客户端DOMO,无一适用,此时我已满头大汗,还以为是自己配置有问题,检查了很多遍还是不行,我开始怀疑不是DCOM配置问题,一直觉得少了什么类库或组件,我就在网络上开始各种搜索,各种提问,有个网友向我提供了一个OPC基金会提供的核心组件,我安装后,以为真的可以解决问题了,没想到,还是和没有安装一样,仍然连接不上,各种搜索,各种提问,还是没有得到答案,我关注到能够正常访问OPC远程客户端的PC注册表内都有OPC.SimaticNET服务器名称,而不能访问的客户端注册表内却没有,此时我就开始认为DCOM配置没有问题,类库也不缺,关键在于OPC服务器在客户端如何成功注册,正在思考该怎么注册OPC服务器的时候,我就对着已注册的PC注册表发呆,忽然发现可以将注册表注册信息导出来,而且可以执行,我高兴坏了,马上拷贝出来放在OPC客户端执行,没注册成功,打开文件,发现文件里什么都没了,我又去拷贝了一遍,重新执行了一遍,成功了,原来第一遍只是个意外,幸亏没有放弃,注册成功后,发现注册表里终于有了OPC.SimaticNET的名称了,马上用客户端Test了一下,完全没有问题,找到OPC项目执行,完全没有问题,至此OPC客户端连接远程OPC服务器配置成功。
配置成功后发现,其实就是对新事物的不了解,才让问题变得非常复杂,其实是非常简单的配置,只怪自己太年轻,经验不足啊,好在我有一股韧劲,当所有人都认为这已经不可能实现了,已经放弃的时候,我从来都不愿放弃,就算要放弃也非要找出死心的理由,因此对于技术的攻关,都是自己在把握,工作4年有余,遇见过很多技术问题,不都被自己这股韧劲打倒了,到现在还没有遇见解决不了的问题,也总算弥补了一下工作经验不多的问题,没有一个人能把所有问题,技术都烂熟于心,但我们能做的,就是遇见问题的时候,努力利用各种方法得到答案,千辛万苦,终会苦尽甘来,对于磨难,不抛弃,不放弃,只要坚持,就一定会解决问题。
下面做些配置过程的技术总结:
- 客户端安装Step7 V5.5和Simatic Net 2007
- 打开Simatic Net 2007软件,将权限设为"Allow"
- 在服务器端和客户端配置DCOM,详细配置资料网上有很多
- 在客户端安装OPC Core Components Redistributable (x86) 101.2核心组件
- 如果不安装4,也可在服务器端System32下面搜索opc开头的所有文件在客户端将这些文件注册,主要是提供相关类库支持
- 将服务器端regedit下面的HKEY_CLASSES_ROOT文件夹下的OPC.SimaticNET右键导出
- 将导出的文件在客户端PC上双击执行注册,注册成功后,会在客户端注册表内生成相同名称的OPC.SimaticNET服务器名称
- 利用客户端Test工具进行连接验证,至此连接成功!
OPC客户端连接远程OPC服务器配置,布布扣,bubuko.com