




已阅读5页,还剩86页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工业实时数据采集传送软件开发设计毕业论文目录第一章 绪论11.1引言11.2 OPC的概念11.3设计的背景及意义21.3.1设计背景21.3.2设计意义21.4设计实现3第二章 OPC技术的基础COM/DCOM42.1什么是COM42.1.2 COM的结构52.1.2注册表62.1.3COM特性62.1.4 DCOM72.2 OPC的对象与接口82.2.1 OPC定制接口对象82.2.2 OPC自动化接口对象102.3 OPC规范概述102.3.1 OPC数据访问规范的基本概念112.4 OPC服务器和包装DLL122.4.1OPC服务器122.4.2 定制接口和自动化接口132.4.3 OPC代理一占位DLL132.4.4 OPC自动化包装DLL132.5 VB6.0编程技术简介及开发环境142.5.1基本概念142.5.2 应用的基本开发方法142.5.3 VB6.0应用程序开发过程(步骤)14第三章 系统的设计方案论证173.1系统总方案设计173.2 VB开发软件特点介绍173.3 VB 6.0访问数据库的基本原理183.3.1 ODBC数据库开发技术193.3.2 DAO数据库开发技术193.3.3 OLEDB数据库开发技术193.3.4 ADO数据库访问技术193.4方案确定203.4.1连接方案确定203.4.2数据采集方案确定20第四章 OPC服务器配置214.1西门子s7-300PLC OPC配置214.2 AB PLC通过OPC方式和VB客户端的通讯28第五章 OPC客户端设计355.1 OPC对象355.2 OPC数据访问方式355.3 客户端数据访问程序实现365.3.1对象及变量的声明365.3.2连接服务器375.3.2异步读写的实现385.3.3断开连接释放资源415.3.4 VB界面设计425.3.5错误处理43第六章 对SQL Serve2000数据库的访问446.1 SQL Serve2000数据库系统简介446.2 SQL Serve 2000的特点446.3 SQL Serve 2000的系统结构456.4 SQL Serve 2000数据库的创建466.4.1 SQL Serve 2000的常用管理工具466.5数据库文件486.6创建数据库结构486.7在数据库中创建数据表506.8 VB中用ADO连接数据库的方法506.8.1 ADO简介506.8.2用ADO对象连接SQL Serve数据库516.9向SQL Serve2000数据库中添加记录56第七章 设计总结体会58参考文献59外文原文及翻译60致谢79附录81.III第一章 绪论1.1引言随着微电子、计算机、通信和网络等技术的发展,自动化领域发生着深刻的变化。智能仪器仪表越来越多地活跃在工业现场,可以提供以前无法得到的大量信息。这些信息不仅包括现场的温度、压力等被测参数,也包括装置本身的运行状况、组态参数。当大量现场信息由智能仪表直接进入监控计算机或通过现场总线传至监控计算机后,一方面存在着计算机内部应用程序对现场信息的共享与交互问题:另一方面,企业内部现场控制层、生产管理层和经营管理层的应用软件之间的数据也难以共享与交互,这就形成了“信息孤岛”现象。因此有必要统一数据的访问标准。OPC(OLE for Process Control,用于过程控制的0LE)技术正是在这样的背景下应用而生的。OPC为多种多样的过程控制设备提供了一个公共的接口,而与过程中的控制软件与设备无关,可以减化和促进企业内部各系统的集成,更好的实现数据采集。本设计从具有良好数据共享功能和适用于经营管理层的角度出发,研究和开发OPC客户监控系统软件。1.2 OPC的概念在OPC出现以前,传统的控制方式下,应用软件为了获得现场设备的数据必为每种相连的控制设备开发通讯的驱动程序,由于不同设备甚至同一设备不同模块单元的驱动程序也有可能不同,软件开发商很难同时对这些设备进行访问以优化执行效率。另外,对同一控制设备不同的应用程序需要开发不同的驱动。硬件设备只要稍作改动,就可能引起应用程序改写驱动,工作量非常大。硬件供应商也在尝试解决这个问题,然而由于不同客户有着不同的需要,同时也存在着不同的数据传输协议,因此也一直没有完整的解决方案。产生这些问题的关键在于缺乏统一的数据访问接口,是系统间的通讯无法按通用方式实现。OPC技术正是在此背景下应运而生的。OPC是工业自动化过程中数据交换的一个标准,OPC的出现为基于windows平台的组态软件和基于现场控制的控制器之间的数据交换提供了确实可行的方法。它实际上提供了一种机制,使系统以标准的方式从数据源获取数据,并提供标准的接口给客户应用程序。各客户应用程序利用这些接口访问数据。这样,现场设备生产商只需要开发一套遵循OPC规范的服务器,由服务器与数据源进行通信,获取现场数据。客户应用程序通过服务器访问现场设备。通过全球统一致标准的OPC接口可以共享所有提供了OPC服务器的现场设备的数据。现场设备中OPC服务器的功能类似于IO驱动器,它负责与作为数据供应方的现场设备通信,将来自数据供应方的数据通过标准的OPC接口“暴露”给数据使用方(如人机界面软件)。数据使用方充当了OPC客户的角色。标准接口是保证互操作性的关键。它使一个OPC客户可以同时与多个OPC服务器“对话”。使所需要开发的驱动程序更少,因而为消费者带来更低廉的价格1.3设计的背景及意义1.3.1设计背景随着计算机、网络及自动化技术的迅猛发展,整个工业控制领域都受到影响并产生了深刻的变革。现在的工业化生产过程在使用监控与数据采集技术(SCADA),集散控制系统(DCS)等系统后,更加注重数据的实时监控与分析判断,这主要体现在对现场数据的采集上,通过对即时数据完全的监控与管理,可以尽早的发现问题、预防重大事故发生、缩短处理时间并且提高准确率。同时监控系统还拥有较高的可靠性和良好的控制性,便于维护和操作执行,实时工业监控系统不仅能够对工业现场设备数据进行实时监控,它在数据信息交互领域也起着重要的作用,从企业的现场设备层到企业控制管理的各个层次,包括工段、车间、办公室等,监控系统将企业的大部分信息实现共享与互联,在全方位的提高了生产效率的同时也节省了大量的资金和时间。1.3.2设计意义如今工业控制领域内的企业竞争十分激烈,要在竞争中脱颖而出就必须提高自己的核心技术能力。随着计算机技术的快速发展,过程监控技术以及数据采集技术已经成为了不可或缺的关键。由于国内企业所使用的设备品牌型号繁杂且部分企业设备比较陈旧,针对每一类设备在采集数据时都要花费大量的时间和精力开发各不相同的采集系统,这给企业带来了非常大的负担,通过研究设计基于OPC技术的采集系统能够将这些旧设备加入到OPC家族,为企业节约资金和时间,只需要开发一套系统就能连接所有的设备,这同时是对研究室已有的数据采集子系统的更新及补充,也为监控系统中其他模块的更新打下基础。OPC规范拥有的众多自身的优势使其成为了首选,但也应看到开发功能完善的OPC Clien/Server(客户端/服务器)并不轻松,它涉及到不同的底层设备,必须进行大量的研究才能完成这方面的开发。OPC开发分为OPC客户端和OPC服务器,在此次开发过程中只需要完成OPC客户端的开发。将采集到的数据实时的导入到SQL Serve2000数据库中,使用户可以更加快捷并且准确的查找自己所需要的信息,实时的对工程进行观测。1.4设计实现本设计以VB6.0为开发工具,编写OPC客户程序,实现对数据的实时采集,并将数据导入到SQL Serve数据库中。第二章 OPC技术的基础COM/DCOM2.1什么是COM COM,即组件对象模型,是一种以组件为发布单元的对象模型,这种模型使各软件组件(按组件模型组合而得到的软件)我们可以用一种统一的方式进行交互。COM既提供了组件之间进行交互的规范,也提供了实现交互的环境。因为组件对象之间交互的规范不依赖于任何特定的编程语言,所以COM也可以是不同语言协作开发的一种标准。组件的接口是组件软件的关键,因为接口是双方进行通信的基础。因此,软件组件应该遵从统一的标准,在同一软件中的组件必须使用同样的接口标准才能保证组件之间可以进行通信。至于采用什么样的标准则取决于系统设计者的选择:如果设计软件时,不考虑与其他软件的通信,则可以使用自定义的接口标准;否则的话,应该使用一些公用的标准。COM不仅仅提供了组件之间的接口标准,它还引入了面向对象的思想。在COM标准中,对象是一个非常活跃的元素,我们也常常把它称之为COM对象。组件模块为COM对象提供了活动的空间,COM对象以接口的方式提供服务,我们把这种接口称之为COM接口图2I可以说明COM组件、COM对象和COM接口三者之间的关系。COM组件 对象二对象一 接口1 接口2 接口3 图2.1 COM组件、COM对象及COM接口的关系在Windows系统平台上,一个COM组件或者是一个DLL(dynamiclingkiaglibrary,动态链接库)文件,或者是一个EXE(可执行程序)文件。一个组件程序可以包含多个COM对象,并且每个COM对象可以实现多个接口。当另外的组件或普通程序(即组件的客户程序)调用组件的功能时,它首先创建一个COM对象或者通过其他途径获得COM对象,然后通过该对象所实现的COM接口调用它所提供的服务。当所有的服务结束后,如果客户程序不再需要该COM对象,那么应该释放对象所占有的资源,包括对象自身。2.1.2 COM的结构 C0M标准包括规范和实现两大部分,规范部分定义了组件和组件之间通信的机制,这些规范不依赖于任何特定的语言和操作系统,只要按照该规范,任何语言都可使用;COM标准的实现部分是COM库,COM库为COM规范的具体实现提供了一些核心服务。(1)对象与接口 COM是面向对象的软件模型,因而对象是它的基本要素之一。对象是某个类(class)的一个实例;而类则是一组相关的数据和功能组合在一起的一个定义。口是一组逻辑上相关的函数也被称为接口成员函数。对象可以支持多个接口。在COM模型中,对象本身对于客户来说是不可见的,客户请求服务时,只能通过接口进行。根据COM规范,一个COM对象如果实现了多个接口,则可以从某个接口得到该对象的其他接口。因此,客户的到了对象的某个接口指针后,就可以调用该对象所有接口提供的服务。对象对于客户来说只是一组接口。一般来说,接口是不变的,只要客户期望的接口在组件对象中还存在,它就可以继续使用该接口所提供的服务。(2)客户/服务器模型 对象和客户之间的相互作用是建立在客户、服务器模型的基础上的,该模型的一个很大的优点是稳定性好,这种稳定性能带来性能上的可靠性。COM不仅仅是一种简单的客户、服务器模型,有时客户也可反过来提供服务,或者服务方本身也需要其他对象的一些功能。在这种情况下,一个对象可能既是服务器又是客户。COM能有效地处理这些情况。(3)COM库 COM本身除了规范之外,也有实现的部分,其中包括一些核心的系统代码,也正是这部分核心代码,才使得对象和客户之间可通过接口在二进制代码级进行交互。COM的实现部分即COM库。在Microsoft Windows操作系统环境下,这些库以DLL文件的形式存在,其中包括以下内容:1提供少量的API函数实现客户和服务器端COM应用的创建过程。在客户端主要是一些创建函数;而在服务器端,提供一些对对象的访问支持。2 COM通过注册表查找本地服务器及EXE程序,以及程序名与CLSID的转换等。3. 提供了一种标准的内存控制方法,用于控制进程中内存的分配。COM库负责组件程序的定位。当客户创建组件对象时,COM库负责装入组件模块或者启动组件进程,如果客户指定在远程机器上创建对象,则两台机器上的C0M库会协同完成远程COM对象的创建工作,并且在客户进程中创建一个代理对象(proxy object),客户程序直接与代理对象进行交互。因此,客户程序可以不管组件对象的进程模型,即使组件的进程模型发生了变化,客户程序也不需要重新编译。2.1.2注册表 系统注册表是一个全操作系统范围公用的信息,其中包含了所有的COM组件必要的信息以及其他一些信息,COM库通过系统注册表所提供的信息进行组件的创建工作。客户程序和组件程序都可以对系统注册表进行访问。通过组件注册,组件程序把它所实现的COM对象的信息以及接口信息都保存到注册表中。在Windows系统中运行REGEDITEXE可以运行注册表编辑器编辑注册表。HKEY_LASSES ROOT键下的CLSID子键下包含了我们最关心的组件程序的路径信息、组件对象的程序标识符(program identifier,ProgID)和类型库信息。代理DLL和存根DLL信息保存在interface子键下。对于进程外组件,CLSID子键下包含Localserver32子键。COM还提供了在注册表中对COM对象进行分类的机制,类别信息也用一个GUID来描述,称为CATID,在每个对象CLSIB键下包含一个“ImplementedCategori es”子键,其中记录了该对象所属的类别。COM对象可以属于多个类别。类别特性只是COM对象的部分特性,但如果COM对象要加入到某个类别中,则它必须实现该类别指定的所有接口。组件类别最主要用处在于客户可以快速地发现机器中特定类别的组件对象,否则,就必须检查所有的组件对象,并把组件对象装入到内存中实例化,然后依次询问是否实现了必要的接口。进程外组件为了支持自注册必须支持两个命令行参数/Regserver和/Unregserver,以便完成注册或注销操作。2.1.3COM特性(1)语言无关性 COM规范的定义不依赖于特定的语言,因此,编写组件对所使用的语言与编年写客户程序使用的语言可眺不同,只要他们能够生成符合COM规范的可执行代码即可。COM标准与面向对象的编程语言不同,它所采用的是一种二进制代码级的标准,而不是源代码级的标准。因此,COM的语言无关性实际上为我们跨语言合作开发提供了统一的标准。(2)进程透明特性 进程透明特性体现在客户服务器模型的软件结构中,运行在客户端的代码和运行在服务器端的代码,既可以在同一进程中,也可以在不同的进程中。COM所提供的服务组件对象在实现是由两种进程模型:进程内对象和进程外对象。如果是进程内对象,则他在客户进程空间中运行:如果是进程外对象,则他运行在同一机器上的另一个进程空间或在远程机器的进程空间中。虽然进程模型有所不同,但对于客户程序来说是透明的。实现这种透明性的关键在于COM库。COM库负责组件程序的定位,管理组件对象的创建和对象与客户间的通信。(3)可重用性所谓重用性是指,当一个程序单元能够对其他的程序单元提供功能服务时,尽可能的重用原先程序单元的代码,既可以在源代码一级重用,也可以在可执行代码一级重用。COM是建立在二进制代码基础上的标准,所以其重用性也必然建立与二进制代码一级。COM重用性是指一个COM对象如何重用已有的C0M对象功能,而不是重复实现老的功能服务,按照COM的标准,实现这种重用性有两条途径:包容或者聚合。2.1.4 DCOM DCOM(distributed component object model),分布式组件对象模型,它并没由改变COM的基本原理,是对C0M的扩展,是建立在COM之上的一种规范和服务,提供了一种使COM组件加入网络环境的透明网络协议,是客户可以跨越套间边界、进程边界以及及其的边界访问COM对象。使得通过网络连接起来的对象和客户能够进行通信。当客户调用统一进程中COM对象的方法时,安全性不是一个问题。当客户调用同一机器上不同进程中的COM对象的方法时,安全性有本地操作系统提供。但是当客户调用远程机器上运行在不同进程中的COM对象的方法时。安全性就变成了非常严重的问题。DCOM提供了两类安全性服务:激活安全性和调用安全性。激活安全性控制哪个客户有权创建远程机器上的对象,而调用安全性控制哪个客户有权调用远程对象的哪些方法。DCOM的安全性特征绝大部分建立在Windows 2000所提供的安全性基础上,包括Kerberos、Microsoft的安全支持提供器接口(SSPI),以及系统的其他安全基础设施。2.2 OPC的对象与接口OPC规范提供了两套接口方案,即支持COM的定制接口和自动化接口。定制接口效率高,通过该接口,客户能够发挥OPC服务器的最佳性能,采用VB语言的客户一般采用自动化接口。自动化接口使解释性语言和宏语言编写客户应用程序变得简单,然而自动化客户运行时需进行类型检查,这一点则大大牺牲了程序的运行速度。OPC服务器必须实现定制接口,是否实现自动化接口则取决于供应商的主观意愿。典型的OPC接口示意图如图22所示。VB应用程序OPC服务器(本地 远程)厂商特点的运算OPC自动化接口图2.2OPC接口概览2.2.1 OPC定制接口对象 OPC定制接口对象分为三类:服务器(Server)、组(Group)、数据项(Item)。服务器对象(Server)拥有服务器的所有信息,同时也是组对象(Group)的容器。组对象(Group)拥有本组的所有信息,同时包容并逻辑组织OPC数据项(Item)。OPC组对象(Group)提供了客户组织数据的一种方法。客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,OPC将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。OPC规范定义了两种组对象:公共组和局部组(私有组)。公共组由多个客户共有,局部组只隶属于一个OPC客户。一般说来,客户和服务器的一对连接只需要定义一个组对象。 在每个组对象中,客户可以加入多个OPC数据项(Item)。OPC定制接口对象的层次结构如图23所示。 服务器OPCServe组OPCGroup项OPCItem 图2.3 OPC服务器对象的层次结构 这些对象以接口的形式暴露给客户,客户通过调用对象的接口享受对象所提供的相应的服务,各对象的接口如图24所示。标准的OPC服务器定制接口对象需要提供图24(a)、(b)中示意的接口,其中带方括号的接口是可选接口,其它的是必选接口,必选接口的所有函数都必须实现,OPC客户程序通过调用必选接口中的函数来与OPC服务器通讯。可选接口就像它的名字一样,OPC服务器的设计者可以选择实现或不实现。如果服务器支持一个可选接口,那么该接口的所有函数必须全部实现,哪怕只是简单地返回一个未实现标记E_NOTIMPL。OPC客户程序在使用一个可选接口的功能前先查询OPC服务器是否支持这个可选接口。客户程序的正常运行不能完全依赖于服务器实现了可选接口。标准的opcserve对象IUnknownIOPCCommonIOPCServe IOPCServcrPublicGroupsIOPCServerPublicGroupsIOPCBrjwserServerAddressSpaceIPemistFileIConnecxionPoIntContainer(a)IUnknown标准的OPCGroup对象IOPCItemMgtIOPCGroupStateMgtlOPCPublictGroupStateMgtIOPCSynclOIOPCASynclO2IConnectionPointContainerIOPCASyaclO(old)IDataObject(old)(b)图2.4 OPC服务器对象及接口2.2.2 OPC自动化接口对象 OPC自动化接口具有六类对象:服务器(Server)、组集(Groups)、组(Group)、集(Items)、数据项(Item)、浏览器对象(Browser)。OPC的自动化接口对象层次结构如图2.5所示。在使用其他OPC对象前必须生成OPC服务器对象,组集是服务器中添加的OPC组对象的集合,组对象用于组的状态管理及利用项集和为单位的数据访问。项集是在对应OPC组中添加的所有OPC项的集合。项含有OPC项的定义,当前值,状态及最后更新时间等信息的对象。OPC浏览器对象是用于浏览OPC服务器的名称空间的对象。服 务 器 OPCServe组 OPCGroups浏览器OPCBrowser组 OPCGroup项集 OPCItems项 OPCItem图2.5 OPC自动化接口的层次结构OPC自动化接口对象是可以作为一个单位处理的代码和数据的组合。这些接口对象支持的分别叫做“属性”、“方法”和“事件”的要素。本论文介绍的监控系统正是利用Visual Basic编程语言实现OPC自动化接口来访问0PC服务器的。2.3 OPC规范概述 0PC规范最初的目标是尽快制定一个工业标准,因此最初版本侧重于在线数据存取、报警事件处理和历史数据存取等方面。安全性、批处理等附加的功能则在随后的版本中定义。由于0PC是建立在已成为软件模型标准的C(N技术之上,因此该标准更容易为各工控软硬件厂商所接受。事实上,0PC的结构体系增强了COM接口的优点,而COM接口本身则提供了方便扩展OPC功能的机制,因而OPC规范作为一项工业标准已经得到了广泛认可。按照功能的不同,OPC基金会发布的0PC规范包含:(1) OPC数据访问规范(Data Access Standard)(2) OPC报警和事件规范(Alarms&Events Specification)(3) OPC历史数据访问规范(History Data Access Specification)(4) OPC批量过程规范(Batch Specification)(5) OPC安全性规范(Security Specification)(6) OPC XML数据存取规范(XML Data Access Specification)在每套规范中,针对定制接口和自动化接口都有特定的规范,使用者可以根据需要选择开发服务器或客户应用程序。其中使用最广泛的是OPC数据访问规范(OPC DA)和报警和事件规范(OPC AE)。OPC DA作为0PC标准中最基础最常用的规范,OPC基金会已经正式发布了3个版本的数据访问规范:V10、V202、V30。其中V202是目前得到广泛支持的版本,在工业自动化中有大量产品和应用。2.3.1 OPC数据访问规范的基本概念 从对象继承树视图看,一个OPC数据访问服务器包含三个对象:0PCServe、OPCGroup和OPCItem。 OPCItem对象可专门为访问属性而建立。数据访问服务器与客户端间的数据交换方式有四种(1) 同步读写(Synchronous Read and write)(2) 异步读写(ayncronous Read and write)(3) 刷新(Refresh)(4) 订阅(Subscription)2.3.2 OPC数据访问接口缓冲区组nOPC数据访问标准的目的是对过程数据访问的接口进行标准化,使其具有开放性和一致性,以确保运行在不同平台上、用不同语言编写的各种应用软件能够顺利集成在一起。与动态数据交换(DDE,DynamicData Exchange)相比,OPC数据访问接口(OPC DA)主要的优势体现在数据传输速率上。由于OPC DA服务器每秒能管理成百上千个事务(在进程内方式下甚至能达到百万数量级),而且与DDE不同的是它的每个事务能包含成批的数据项(Item),因此在效率上,采用OPC传输数据要比DDE高得多。此外,采用OPC可以利用Windows系统对DCOM的安全机制,对系统进行定的安全性管理。首先,OPC DA客户要能够连接到DA的服务器上,并建立OPC组和OPC项,这是OPCDA的基础,如果没有这个基础DA的其他功能是不可能实现的。为了访问过程数据,DA客户需要事先指定DA服务器的名称、运行DA服务器的机器名、DA服务器上的Item定义。其次,客户通过对其建立的组与项进行访问实现对过程数据的访问,客户可以选择设备(Device)或缓冲区(Cache)作为其访问的数据源。客户的过程数据访问包括过程数据的读取、更新、订阅、写入等等,过程数据的读写还可分为同步读写与异步读写。第三,完成通知,当服务器响应客户的过程数据访问请求,并处理完毕时通知客户。比如异步读写时,服务器就要在操作完毕通知客户。除此3方面的功能,还可以选择提供以下功能:1DA服务器的地址空间浏览2,停枫通知,当服务器发生异常断开与客户的连接时,向客户发出通知。DA的对象与接口包括OPC DA服务器的定制接口及对象,还有DA客户接口。客户接口包括:1IOPCDataCallbaek,为了使用连接点,DA客户必须建立一个支持IUnknown接口与lOPCDataCallhack接口的对象。2IOPCShutdomn,为了实现停机通知功能,DA客户必须建立一个支持IUnknown接口与lOPCShutdowm接口的对象。当DA服务器需要关闭时,ShutdownRequest函数将会被调用,通知客户服务器已经关闭,客户在接到停机通知后应该释放与该服务器的所有连接。2.4 OPC服务器和包装DLL利用VB开发的OPC客户应用程序的系统主要由OPC服务器、定制接口和自动化接口、OPC代理一占位DLL、OPC自动化包装DLL及OPC血用程序五个软件组件构成2.4.1OPC服务器0PC服务器一般是由DCS或者I0驱动器等硬件供应商,或者由独立的软供应商提供,既可以在与应用程序计算机相同的本地计算机上运行,也可以在与FIV用程序计算机不问的远程计算机上运行。数据访问规范中的0PC服务器的主要作用是提供过程数据。2.4.2 定制接口和自动化接口 0PC基金会为方便用户在各种环境下软件开发。为数据访问规范提供两类接口:自动化接口和定制接口,基于定制接口的开发,需要用到较深的COM知识,比较晦涩难懂,而运用自动化接口则优点明显。客户程序可以很容易的应用接口,而无需了解接口的详细机理;可以运用事件触发机制;可以生成一个通用的控件供所有客户端应用程序使用。另外,从定制接口观点看,0PC项没有对外的接口定义。所有对0PC项的访问需经由包含或定义它的组别来完成,也即0PC客户程序不允许将0PC项作为一个类来访问。而从自动化接口而言,由于封装的动态连接库解决了项的接口定义问题,所以项的访问相对而言更加容易些。2.4.3 OPC代理一占位DLL因为VB或者VBA的0PC应用程序是运行在与0PC服务器不同的计算机进程空间,所以不能直接调用。PC服务器的接口进行数据交换,需要通过代理一一占位DLL,并利用操作系统提供的通信功能进行数据交换。按照COM的术语,代理是起潜代表别的组件作用的组件的意思。首先在应用程序侧,代理把向0PC服务器接口传递的数据进行格式变换。然后在0PC服务器侧,占位把OPC客户程序送过来的数据的格式变换解除,同时也对返回到客户程序的数据进行格式变换。实际的OPC代理一占位DLL是同一个DLL。随被设置的计算机的不同,起着代理的作用或起着占位的作用。2.4.4 OPC自动化包装DLL一般来说,为达到数据传送最佳性能,0PC服务器是用c上+开发的,并只提供定制接口。与此相反,用VB或者VBA(应用程序的Visual Basic)等语言开发的应用程序却要求0PC自动化接口。为了让VB或者VBA的客户应用程序可以使用0PC自动化接口,需要使用0PC自动化包装将0PC定制接口翻译成0PC自动化接口,使客户程序可以对0PC服务器进行访问。如图27所示。VB应用程序C+应用程序自动化包装DLLOPC自动化接口OPC定制接口OPC服务器(进程内,本地,远程)服务器数据缓存物理设备图2.7经过包装的OPC体系2.5 VB6.0编程技术简介及开发环境2.5.1基本概念对象:VB是面向对象的程序设计技术,在VB中,一切可以操纵的实体称为对象,如按钮、文本框、菜单条、窗体等。属性:是指对象的各种性质、特性。 设置属性的值:设计阶段:通过属性窗口设置对象的属性运行阶段:对象名.属性名=属性值读取属性的值:变量=对象.属性方法:是对象要执行的动作事件:是指由系统事先设定的,能被对象识别和响应的动作2.5.2 应用的基本开发方法(1)交互式开发传统的应用程序开发过程可分为三个明显的步骤:编码编译测试VB应用程序开发过程使三个步骤没有明显的界限,交互式地开发。(2)事件驱动应用程序的工作方式典型事件序列: 启动应用程序,装载和显示窗体 窗体(或窗体上的控件)接收事件 如果在相应的事件过程中存在代码,就执行代码 应用程序等待下一次事件2.5.3 VB6.0应用程序开发过程(步骤)(1) 创建应用程序界面(2) 设置属性(3) 编写代码(4) 保存应用程序(5) 调试、运行应用程序(6) 生成可执行文件主窗口的组成:(1)标题栏:设计模式、运行模式、中断模式(2)菜单栏(3)工具栏其他窗口:一、窗体设计器和工程资源管理器1、 窗体设计器窗口简称窗体(Form),是应用程序最终面向用户的窗口,它对应于应用程序的运行结果。2、 如果想清楚这些小点或者改变点与点之间的距离,则可通过执行“工具”菜单中的“选项”命令(“通用”选项卡)来调整二、工程资源管理器窗口1、工程资源管理器窗口中,含有建立一个应用程序所需要的文件的清单。工程资源管理器窗口中的文件可分为6类,即窗体文件(.frm)、程序模块文件(.bas)、类模块文件(.cls)、工程文件(.vbp)、工程组文件(.vbg)和资源文件(.res)。2、工程资源管理器窗口中文件的分类:(1)工程文件和工程组文件工程文件的扩展名为.vbp,每个工程对应一个工程文件。当一个程序包括两个以上的工程时,这些工程构成一个工程组,工程组文件的扩展名为.vbg。用“文件”菜单中的“新建工程”命令可以建立一个新的工程,用“打开工程”命令可以打开一个已有的工程,而用“添加工程”命令可以添加一个工程。(2)窗口文件窗体文件的扩展名为.frm,每个窗体对应一个窗体文件,窗体及其控件的属性和其他信息(包括代码)都存放在该窗体文件中,一个应用程序可以有多个窗体(最多可达255个),因此可以有多个以.frm为扩展名的窗体文件。执行“工程”菜单中的“添加窗体”命令或单击工具栏中的“添加窗体”按钮可以增加一个窗体,而执行“工程”菜单中的“移除窗体”命令可删除当前的窗体。每建立一个窗体,工程资源管理器窗口中就增加一个窗体文件,每个窗体都有一个不同的名字,可以通过属性窗口设置(Name属性),其默认名字为Formx(x为1,2,3),相应的默认文件名为formx.frm。(3)标准模块文件标准模块文件也称程序文件,其扩展名为.bas,它是为合理组织程序而设计的。标准模块是一个纯代码性质的文件,它不属于任何一个窗体,主要在大型应用程序中使用。标准模块由程序代码组成,主要用来声明全局变量和定义一些通用的过程,可以被不同窗体的程序调用。标准模块通过“工程”菜单中的“添加模块”命令来建立。(4)类模块Visual Basic提供了大量预定义的类,同时也允许用户根据需要定义自己的类,用户通过类模块来定义自己的类,每个类都用一个文件来保存,其扩展名为.cls。(5)资源文件资源文件中存放的是各种“资源”,是一种可以同时存放文本、图片、声音等多种资源的文件。资源文件由一系列独立的字符串、位图及声音文件(.wav、.mid)组成,其扩展名为.res。资源文件是一个纯文本文件,可以用简单的文字编辑器编辑。三、属性窗口和工具窗口(1)属性窗口属性的显示方式分为两种,即按字母顺序和按分类顺序,分别通过单击相应的按钮来实现。每个Visual Basic对象都有其特定的属性,可以通过属性窗口来设置,对象的外观和对应的操作由所设置的值来确定,有些属性的取值是有一定限制的,例如对象的可见性只能设置为True或False;而有些属性(如标题)可以为任何文本。在实际的应用程序设计中,不可能也没有必要设置每个对象的所有属性,很多属性可以使用默认值。二、 工具窗口 工具箱窗口由工具图标组成,这些图标是Visual Basic应用程序的构件,称为图形对象或控件,每个控件由工具中的一个工具图标来表示。 在一般情况下,工具箱位于窗体的左侧。工具箱中的工具分为两类,一类为内部控件或标准控件,一类为ActiveX控件。启动Visual Basic后,工具箱中只有内部控件。 工具箱主要用于应用程序的界面设计。在设计阶段,首先用工具箱中的工具(即控件)在窗体上建立用户界面,然后编写程序代码。界面的设计完全通过控件来实现,可以任意改变其大小,移动到窗体的任何位置。五、除上述几种窗口外,在集成环境中还有其他一些窗口,包括窗体布局窗口、代码编辑器窗口等。第三章 系统的设计方案论证3.1系统总方案设计 德国西门子(Siemens)公司的系列PLC及相关软件因其具有功能强、速度快、扩展灵活等优点,在工业控制领域占据了重要地位,得到了十分广泛的应用,越来越多的硬件制造商和软件开发商为其产品提供OPC支持,OPC已成为新一代工业过程控制软件接口标准。而VB(Visual Basic)是美国Microsoft 公司推出的一款流行且功能强大的面向对象高级语言开发工具。它以易学易用、编程简洁、程序集成化程度高等优点著称,被广泛用于上位机监控、管理软件的开发。基于上述的优点越来越多的实际过程控制项目将使用VB开发的监控、管理软件的开发。基于上述优点,越来越的实际过程控制项目将使用VB开发的监控、管理软件与西门子PLC相结合,这就使得两者之间通信方式的选择及配置变得十分重要。 基于此,本文以西门子S7-300系列PLC为例,对VB程序与西门子系列PLC及其相关软件之间的通讯方式进行研究,以期将二者有机的结合起来,发挥其各自的优势,更好的满足工程实践的需要。 数据库技术和网络技术是当今比较热门的两大话题Web数据的发布与收集、分布式数据库管理及联机处理支持,都要求数据库开发管理系统具有相应的新增功能,而SQL Serve2000具有良好的数据库设计、管理与网络功能,具有客户机/服务器结构,还提供了对分布式事务处理的支持,并具有对开发工具的良好支持。得到了广泛的应用。 在客户机/服务器结构中,前台应用程序一般是用户专用的,在实际应用中,仅仅依靠SQL Serve2000的Transact-SQL进行简单的数据库查询和修改难以满足用户的业务需求。用户有大量的问题要通过更为高级、灵活的编程语言来解决。目前常用的开发前台数据库应用程序的语言有多种,其中Visual Basic语言简单易学功能又不失强大,可以在很短的时间内开发出高效,美观的数据库应用程序。3.2 VB开发软件特点介绍易学易用的集成开发环境:Visual Basic 6.0为用户设计界面、编写代码、调试程序、编译程序、制作应用程序安装盘等提供了友好的集成开发环境。(1)可视化的设计平台:一般需要通过编写程序来设计应用程序的界面(如界面的外观和位置等),在设计过程中看不见界面的实际效果。而在Visual Basic 6.0中,采用面向对象程序设计方法(Object-Oriented Programming),把程序和数据封装起来作为一个对象,每个对象都是可视的。开发人员在界面设计时,可以直接用Visual Basic 6.0的工具箱在屏幕上画出窗口、菜单、命令按键等不同类型的对象,并为每个对象设置属性。开发人员要做的仅仅是对要完成事件过程的对象进行编写代码,因而程序设计的效率可大大提高。(2)事件驱动的编程机制:面向过程的程序是由一个主程序和若干个子程序及函数组成的。程序运行时总是先从主程序开始,由主程序调用子程序和函数,开发人员在编程时必须事先确定整个程序的执行顺序。而Visual Basic 6.0事件驱动的编程是针对用户触发某个对象的相关事件进行编码,每个事件都可以驱动一段程序的运行。开发人员只要编写响应用户动作的代码。这样的应用程序代码精简,比较容易编写与维护。(3)结构化的程序设计语言:Visual Basic 6.0具有丰富的数据类型和众多的内部函数。其采用模块化和结构化程序设计语言,结构清晰,语法简单,容易学习。(4)强大的数据库功能:Visual Basic 6.0利用数据控件可以访问SQL Serve 、Access、FoxPro等多种数据库系统,也可以访问Excel、Lotus等多种电子表格。(5)ActiveX技术:ActiveX发展了原有的OLE技术,使开发人员摆脱了特定语言的束缚,方便地使用其他应用程序提供的功能,使Visual Basic 6.0能够开发集声音、图像、动画、字处理、电子表格、Web等对象于一体的应用程序。(6)网络功能:Visual Basic 6.0提供的DHTML(动态HTML)设计工具可以使开发者动态地创建和编辑Web页面,使用户能开发出多功能的网络应用软件。3.3 VB 6.0访问数据库的基本原理访问数据库的基本方式有两种、数据控件、数据存储(DAO),其实质都是通过 Jet 数库引擎完成的,整个过程主要包含:(1) 打开对要访问数据库的连接。这是整个数据库访问最重要的环节, 其实现方式是通过用户界面与程序代码向数据引擎发出请求。(2) 基于用户提供的条件执行查询, 从数据库获得返回的结果集。使用数据引擎将链接到 VB 应用程序的进行数据处理并返回结果。(3)将结果集发送到界面并对结果集进行处理, 从而获取相应的信息。通过用界面与数据仓库的交流和通讯, 实现数据库数据转化功能。3.3主流的数据库访问技术 在VB 6.0环境中与数据库连接可以通过ODBC、 Microsoft Jet、OLEDB等来实现。Microsoft Jet主要用于本地数据库,而在客户/服务器结构中一般采用ODBC,调用异构环境数据库采用OLEDB概括起来VB6.0访问数据库一般有以下几种方法。3.3.1 ODBC数据库开发技术ODBC(OpenDatabaseConnectivity,开放式数据库链接)是Microsoft的Windows开放服务体系(WOSA)数据库的一部分,是一种调用的接口技术,ODBC主要由ODBC驱动程序管理器、ODBC数据库驱动程序、ODBC数据源和ODBC应用程序四部分组成。3.3.2 DAO数据库开发技术DAO(DataAcess Object,数据访问对象)是基于Microsoftjet数据库引擎的数据库访问技术,它提供了一种通过程序代码创建和操纵数据库的机制。DAO是在ODBC的基础上发展起来的。DAO由一个分级的对象集合组成,这些DAO对象协同工作形成DAO结构体系。3.3.3 OLEDB数据库开发技术 OLEDB(ObjectLinkedandEmbeddedDatabase, 对象链接和嵌入式数据库) 是基于 COM接口的访问数据库的新技术, 是基于 API 应用程序编程接口, VB 主要是通过VBSQL 函数完成与其进行接口的工作。它提供了对包括关系数据库和非关系数据库在内的所有文件系统的统一接口,OLEDB 属于数据库访问技术中的底层接口。3.3.4 ADO数据库访问技术 ADO(ActiveXDataObject, 活动数据对象) 技术是基于 OLEDB的访问接口, 它对 OLEDB 的接口作了封装, 定义了 ADO 对象, 属于数据库访问的高层接口。ADO 和 OLEDB 的关系类似于 MF-CODBC 与 ODBCAPI 的关系, 它在继承 OLEDB 优点的同时大大简化了 OLEDB 的操作。由于掌握和使用更加方便, 在基于 COM技术的数据库访问中, 通常使用 ADO 技术而不是 OLEDB。3.4方案确定3.4.1连接方案确定VB对OPC的支持。VB作为编程语言,对OPC没有特别的支持,但是OPC技术规范为VB提供了自动化接口。通过自动化接口,程序员无需了解接口内部的详细机制,而能轻松使用接口实现数据的访问。用VB开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 责任课件内容大纲
- 2025版上海房地产买卖合同范本涵盖交易税费及支付方式说明
- 2025年房地产营销代理及品牌策划服务合同
- 2025第一部分:生物制药研发合同协议书
- 2025年智能家居产品广告创意合同示范文本
- 2025版跨境贸易借款合同带保证人及汇率风险对冲下载
- 2025年度建筑材料代购与绿色建筑认证服务合同
- 2025版外籍技术人员引进与管理合同书
- 2025年度专业摄影棚租赁服务合同
- 2025版文化娱乐融资咨询与专业居间服务协议
- 2025年有害生物防治员初级理论知识考核试题及答案
- 新版2026统编版小学道德与法治三年级上册 第4课《 科技力量大》第1课时 科技改变生活和科技改变观念 教案设计(教案)
- 学会交流与沟通课件
- 铁路监理培训考试试题及答案
- 2025全国企业员工全面质量管理知识竞赛题库附答案
- 供应链与贸易安全培训课件
- 严禁燃放烟花炮竹课件
- 宫颈息肉课件
- 人工智能多智能体课件
- 人事任命书红头文件模板
- 探讨恶性肿瘤患者化疗后口腔溃疡治疗及护理的有效措施
评论
0/150
提交评论