最近这几天一直研究OPC客户端远程连接OPC服务器问题,最开始由于对OPC不熟悉,大家都在摸索着前进,采取比较愚蠢的连接方式,在服务器端安装Step7V5.5和SimaticNet连个软件,在客户端也安装了SimaticNet软件,两端都设置为"允许",这种方式可以正常让OPC客户端连接到OPC服务器端,但SimaticNet是个很耗费内存的软件,开始我并不知道同事们以这种方式连接的,到了项目后期,才了解到,我的第一反应是这种连接方式肯定不是最好的,必须要换。
经过各方面的资料的查询,结果是在客户端只需要配置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年有余,遇见过很多技术问题,不都被自己这股韧劲打倒了,到现在还没有遇见解决不了的问题,也总算弥补了一下工作经验不多的问题,没有一个人能把所有问题,技术都烂熟于心,但我们能做的,就是遇见问题的时候,努力利用各种方法得到答案,千辛万苦,终会苦尽甘来,对于磨难,不抛弃,不放弃,只要坚持,就一定会解决问题。