欢迎来到天天文库
浏览记录
ID:22583631
大小:332.55 KB
页数:18页
时间:2018-10-30
《opcclient动态连接库开发和应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、OPCClient动态连接库开发和应用无锡市北辰自动化技术有限公司f收藏本文:[查看我的收藏'一、引言现在有很多工业控制产品都支持OPCServer,如西门子SIMATICNET、WINCC、WINAC、Protool/pro,亚控公司组态王等,这些产品本身在一些需要实现很复杂的数据模型功能上还显得不足,由于支持了OPC,我们就可以在VB或C++上通过OPC获取数据进而实现较复杂的功能(如强大的数据库管理或数据分析)。本文讨论了如何在VB中开发一个动态连接库,以方便开发者实现对OPC服务器的数据采集,将精力更多的放在界面开发和数据处理上。二、功能设计类型设计为ActiveXD11,名
2、称:OPC_Dll.dll,可以在VB工程[引用]中加载,加载后通过创建类BCA_OPC的实例来实现OPC数据通讯,BCA_OPC的调用功能如下:1、配置初始化:Dll_Initial(strConfigFileAsString)AsBoolean其中strConfigFile为连接OPC服务器对应的配賈文件名称(*.ini),用户建立的配置文件应遵循一定的格式(在下面应用屮说明),并且应放在系统目录下(如CAWINNT下)。配賈文件中包含了要连接的OPC服务器名称、log文件名称、变量组定义及对应组内的变量定义(本连接库最多支持1024个变呈通讯,对变呈组的数目没有限制)。配置成功
3、返回TRUE。2、连接OPC服务器:ConnectServer(OptionalIPAddressAsString)AsBooleanIPAddress为可选的远程OPC服务器所属PC的IP地址,如“192.168.0.1”,如果不提供IPAddress参数,则默汄为本机OPC服务器。连接成功返回TRUE。3、配置通讯变量(组态OPC客户机):SetConfiguration()AsBoolean根据提供的ini配置文件组态OPC客户机与服务器的变量通讯,组态成功返冋TRUE。4、读变量数据:GetData(ItemNameAsString)ItemName为变量名称,必须与ini配
4、置文件中的变量名称一致。本功能返冋该变量的实际数据。5、写变量数据:WriteData(ItemNameAsString,ItemWriteDataAsVariant)ItemName力变量名称,ItemWriteData力变量数据。三、实现代码1、在VB6.0中新建ActiveXDll工程,如下图:?jxrMicrosoft__醸visualBasic
5、现存丨最新
6、厂不再S示这个对话报QP2、在工程菜单中添加引用,如下图:I用-OPC一DLL.vbpxj可用的引用(A):7、rocedures,VisualBasicobjectsandprocedures8、ibrary1ActiveTIQPvtoncinnnilMicrosoftActiveXDataObjects2.0Library定位:C:VProgra»FilesVCommonFilesSystemAD0VBsa4o20.tlb语言讀标准如果系统中没有OPCAutomation,你需要安装注册OPC自动化。一般装了OPC支持的软件,系统都支持OPC自动化。3、在工程中添加模块,如下图:模块API.Function为软件所需的一些API函数。模块Global_constants为一些系统常量类模块BCA_OPC为实现主类类模块Itemlnfo和Itemslnfo实现变量信息的封9、装4、以下为各模块的程序代码:API_Function:OptionExplicit10、获取一个与给定初始化文件指定域中的一个键相联系的整数值(1)PublicDeclareFunctionGetPrivateProfilelntLib"kemel32HAlias_"GetPrivateProfilelntA"(ByValIpApplicationNameAsString,ByValIpKeyNameAsString,_ByValnDefaultAsLong
7、rocedures,VisualBasicobjectsandprocedures8、ibrary1ActiveTIQPvtoncinnnilMicrosoftActiveXDataObjects2.0Library定位:C:VProgra»FilesVCommonFilesSystemAD0VBsa4o20.tlb语言讀标准如果系统中没有OPCAutomation,你需要安装注册OPC自动化。一般装了OPC支持的软件,系统都支持OPC自动化。3、在工程中添加模块,如下图:模块API.Function为软件所需的一些API函数。模块Global_constants为一些系统常量类模块BCA_OPC为实现主类类模块Itemlnfo和Itemslnfo实现变量信息的封9、装4、以下为各模块的程序代码:API_Function:OptionExplicit10、获取一个与给定初始化文件指定域中的一个键相联系的整数值(1)PublicDeclareFunctionGetPrivateProfilelntLib"kemel32HAlias_"GetPrivateProfilelntA"(ByValIpApplicationNameAsString,ByValIpKeyNameAsString,_ByValnDefaultAsLong
8、ibrary1ActiveTIQPvtoncinnnilMicrosoftActiveXDataObjects2.0Library定位:C:VProgra»FilesVCommonFilesSystemAD0VBsa4o20.tlb语言讀标准如果系统中没有OPCAutomation,你需要安装注册OPC自动化。一般装了OPC支持的软件,系统都支持OPC自动化。3、在工程中添加模块,如下图:模块API.Function为软件所需的一些API函数。模块Global_constants为一些系统常量类模块BCA_OPC为实现主类类模块Itemlnfo和Itemslnfo实现变量信息的封
9、装4、以下为各模块的程序代码:API_Function:OptionExplicit
10、获取一个与给定初始化文件指定域中的一个键相联系的整数值(1)PublicDeclareFunctionGetPrivateProfilelntLib"kemel32HAlias_"GetPrivateProfilelntA"(ByValIpApplicationNameAsString,ByValIpKeyNameAsString,_ByValnDefaultAsLong
此文档下载收益归作者所有