OPC客户端同时连接KepwareV4和V6版本的注意事项
最近发现一个现象:
因为以前项目一直用KepwareV4.5这个版本的软件,OPC客户端采用C#开发,引用的连接组件是opcdaauto.dll这个组件。
这个组件是很老的版本,不过一直能用。在64位系统中,安装完KepwareV4.5后,该组件位于“C:\Windows\SysWOW64”目录下。
后来,发现KepwareV4.5在win10系统下安装有时有各种问题,导致运行不起来,于是想到采用KepwareV6这个新版本,网上也有了破解补丁,所以想试试是否更好用。
1)先做了第一个试验,在本机上(已经有KepwareV4)直接安装KepwareV6,发现以前的OPC客户端可以同时连接V4和V6,而不需要重新引用DLL。
2)然后,又做了第二个试验,直接在裸机上安装了KepwareV6,然后还是用以前的OPC客户端,发现程序打不开,直接崩溃。后来发现KepwareV6安装完成后,在“C:\Windows\SysWOW64”目录下生成了一个新的com组件kepopcdaauto.dll,我想这是Kepware公司专门弄了一个新的。随后,在OPC客户端的源码上重新引为这个DLL,就能够连接KepwareV6了。
通过这两个试验得出如下结论:
1.opcdaauto.dll和kepopcdaauto.dll两个组件是V4和V6连接的必备组件。
2.这两个组件同时在并注册好的时候,OPC客户端不管引用那个组件开发,都能够连接KepwareV4和V6。
3.建议还是用opcdaauto.dll来连接OPC server,直接安装KepwareV6后,若没有opcdaauto.dll,可以手动添加,然后注册。
下面是包含opcdaauto.dll这个文件的下载连接:
链接:https://pan.baidu.com/s/1xEWylTVIWwm52cZzHp14HA
提取码:dlsl
注册:
COPY dll\opcdaauto.dll %windir%\SysWOW64\ echo 正在注册opcdaauto.dll... regsvr32 %windir%\SysWOW64\opcdaauto.dll