我目前在用ABB的DCS系统做项目,因其操作员站数据管理功能较弱,该DCS有OPCserver ,我用通用组态软件做OPC客户端做对DCS的OPCServer进行过测试,完全可以对DCS数据进行读写。
现在想通过VB开发OPC客户端,但查阅有关OPC资料中说“若用VB开发OPC应用程序,必须使用OPC自动化包装器,这种包装器一般由OPC服务器的供应商以DLL形式提供”。
疑问:1、为什么通用 组态软件的OPC Client在没有OPC服务器的供应商的DLL文件的情况下可以用OPC客户端对DCS OPCServer进行访问?
2、是不是在没有在没有OPC服务器的供应商的DLL文件的情况下,不能用VB编写该DCS OPCServer的OPC客户端?
不需要OPC服务器供应商的DLL。OPC SDK上有带有样品程序和全部OPC源码,是C++的。你可以重新编译它的核心组件,会生成相应的tlb文件。有了这些tlb文件你可以直接导入到VB中,这样从VB中你可以看到OPC的接口进行你要的开发。最新SDK下载地址(需要会员资格才行), https://opcfoundation.org/developer-tools/developer-kits-classic/all-source-code-cc/
本人咨询联系, fuelone@gmail.com,数年前第一个在业界将OPC Classic从32位带到64位,深入研究过如何抓取OPC包以解决动态端口过工业防火墙问题。