工业实时数据采集传送软件开发设计毕业论文.docx
- 文档编号:1491944
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:82
- 大小:3.89MB
工业实时数据采集传送软件开发设计毕业论文.docx
《工业实时数据采集传送软件开发设计毕业论文.docx》由会员分享,可在线阅读,更多相关《工业实时数据采集传送软件开发设计毕业论文.docx(82页珍藏版)》请在冰豆网上搜索。
工业实时数据采集传送软件开发设计毕业论文
第一章绪论
1.1引言
随着微电子、计算机、通信和网络等技术的发展,自动化领域发生着深刻的变化。
智能仪器仪表越来越多地活跃在工业现场,可以提供以前无法得到的大量信息。
这些信息不仅包括现场的温度、压力等被测参数,也包括装置本身的运行状况、组态参数。
当大量现场信息由智能仪表直接进入监控计算机或通过现场总线传至监控计算机后,一方面存在着计算机部应用程序对现场信息的共享与交互问题:
另一方面,企业部现场控制层、生产管理层和经营管理层的应用软件之间的数据也难以共享与交互,这就形成了“信息孤岛”现象。
因此有必要统一数据的访问标准。
OPC(OLEforProcessControl,用于过程控制的0LE)技术正是在这样的背景下应用而生的。
OPC为多种多样的过程控制设备提供了一个公共的接口,而与过程中的控制软件与设备无关,可以减化和促进企业部各系统的集成,更好的实现数据采集。
本设计从具有良好数据共享功能和适用于经营管理层的角度出发,研究和开发OPC客户监控系统软件。
1.2OPC的概念
在OPC出现以前,传统的控制方式下,应用软件为了获得现场设备的数据必为每种相连的控制设备开发通讯的驱动程序,由于不同设备甚至同一设备不同模块单元的驱动程序也有可能不同,软件开发商很难同时对这些设备进行访问以优化执行效率。
另外,对同一控制设备不同的应用程序需要开发不同的驱动。
硬件设备只要稍作改动,就可能引起应用程序改写驱动,工作量非常大。
硬件供应商也在尝试解决这个问题,然而由于不同客户有着不同的需要,同时也存在着不同的数据传输协议,因此也一直没有完整的解决方案。
产生这些问题的关键在于缺乏统一的数据访问接口,是系统间的通讯无法按通用方式实现。
OPC技术正是在此背景下应运而生的。
OPC是工业自动化过程中数据交换的一个标准,OPC的出现为基于windows平台的组态软件和基于现场控制的控制器之间的数据交换提供了确实可行的方法。
它实际上提供了一种机制,使系统以标准的方式从数据源获取数据,并提供标准的接口给客户应用程序。
各客户应用程序利用这些接口访问数据。
这样,现场设备生产商只需要开发一套遵循OPC规的服务器,由服务器与数据源进行通信,获取现场数据。
客户应用程序通过服务器访问现场设备。
通过全球统一致标准的OPC接口可以共享所有提供了OPC服务器的现场设备的数据。
现场设备中OPC服务器的功能类似于I/O驱动器,它负责与作为数据供应方的现场设备通信,将来自数据供应方的数据通过标准的OPC接口“暴露”给数据使用方(如人机界面软件)。
数据使用方充当了OPC客户的角色。
标准接口是保证互操作性的关键。
它使一个OPC客户可以同时与多个OPC服务器“对话”。
使所需要开发的驱动程序更少,因而为消费者带来更低廉的价格
1.3设计的背景及意义
1.3.1设计背景
随着计算机、网络及自动化技术的迅猛发展,整个工业控制领域都受到影响并产生了深刻的变革。
现在的工业化生产过程在使用监控与数据采集技术(SCADA),集散控制系统(DCS)等系统后,更加注重数据的实时监控与分析判断,这主要体现在对现场数据的采集上,通过对即时数据完全的监控与管理,可以尽早的发现问题、预防重大事故发生、缩短处理时间并且提高准确率。
同时监控系统还拥有较高的可靠性和良好的控制性,便于维护和操作执行,实时工业监控系统不仅能够对工业现场设备数据进行实时监控,它在数据信息交互领域也起着重要的作用,从企业的现场设备层到企业控制管理的各个层次,包括工段、车间、办公室等,监控系统将企业的大部分信息实现共享与互联,在全方位的提高了生产效率的同时也节省了大量的资金和时间。
1.3.2设计意义
如今工业控制领域的企业竞争十分激烈,要在竞争中脱颖而出就必须提高自己的核心技术能力。
随着计算机技术的快速发展,过程监控技术以及数据采集技术已经成为了不可或缺的关键。
由于国企业所使用的设备品牌型号繁杂且部分企业设备比较旧,针对每一类设备在采集数据时都要花费大量的时间和精力开发各不相同的采集系统,这给企业带来了非常大的负担,通过研究设计基于OPC技术的采集系统能够将这些旧设备加入到OPC家族,为企业节约资金和时间,只需要开发一套系统就能连接所有的设备,这同时是对研究室已有的数据采集子系统的更新及补充,也为监控系统中其他模块的更新打下基础。
OPC规拥有的众多自身的优势使其成为了首选,但也应看到开发功能完善的OPCClien/Server(客户端/服务器)并不轻松,它涉及到不同的底层设备,必须进行大量的研究才能完成这方面的开发。
OPC开发分为OPC客户端和OPC服务器,在此次开发过程中只需要完成OPC客户端的开发。
将采集到的数据实时的导入到SQLServe2000数据库中,使用户可以更加快捷并且准确的查找自己所需要的信息,实时的对工程进行观测。
1.4设计实现
本设计以VB6.0为开发工具,编写OPC客户程序,实现对数据的实时采集,并将数据导入到SQLServe数据库中。
第二章OPC技术的基础—COM/DCOM
2.1什么是COM
COM,即组件对象模型,是一种以组件为发布单元的对象模型,这种模型使各软件组件(按组件模型组合而得到的软件)我们可以用一种统一的方式进行交互。
COM既提供了组件之间进行交互的规,也提供了实现交互的环境。
因为组件对象之间交互的规不依赖于任何特定的编程语言,所以COM也可以是不同语言协作开发的一种标准。
组件的接口是组件软件的关键,因为接口是双方进行通信的基础。
因此,软件组件应该遵从统一的标准,在同一软件中的组件必须使用同样的接口标准才能保证组件之间可以进行通信。
至于采用什么样的标准则取决于系统设计者的选择:
如果设计软件时,不考虑与其他软件的通信,则可以使用自定义的接口标准;否则的话,应该使用一些公用的标准。
COM不仅仅提供了组件之间的接口标准,它还引入了面向对象的思想。
在COM标准中,对象是一个非常活跃的元素,我们也常常把它称之为COM对象。
组件模块为COM对象提供了活动的空间,COM对象以接口的方式提供服务,我们把这种接口称之为COM接口图2.I可以说明COM组件、COM对象和COM接口三者之间的关系。
接口1接口2接口3
图2.1COM组件、COM对象及COM接口的关系
在Windows系统平台上,一个COM组件或者是一个DLL(dynamiclingkiag
library,动态库)文件,或者是一个EXE(可执行程序)文件。
一个组件程序可以包含多个COM对象,并且每个COM对象可以实现多个接口。
当另外的组件或普通程序(即组件的客户程序)调用组件的功能时,它首先创建一个COM对象或者通过其他途径获得COM对象,然后通过该对象所实现的COM接口调用它所提供的服务。
当所有的服务结束后,如果客户程序不再需要该COM对象,那么应该释放对象所占有的资源,包括对象自身。
2.1.2COM的结构
C0M标准包括规和实现两大部分,规部分定义了组件和组件之间通信的机制,这些规不依赖于任何特定的语言和操作系统,只要按照该规,任何语言都可使用;COM标准的实现部分是COM库,COM库为COM规的具体实现提供了一些核心服务。
(1)对象与接口
COM是面向对象的软件模型,因而对象是它的基本要素之一。
对象是某个类(class)的一个实例;而类则是一组相关的数据和功能组合在一起的一个定义。
口是一组逻辑上相关的函数也被称为接口成员函数。
对象可以支持多个接口。
在COM模型中,对象本身对于客户来说是不可见的,客户请求服务时,只能通过接口进行。
根据COM规,一个COM对象如果实现了多个接口,则可以从某个接口得到该对象的其他接口。
因此,客户的到了对象的某个接口指针后,就可以调用该对象所有接口提供的服务。
对象对于客户来说只是一组接口。
一般来说,接口是不变的,只要客户期望的接口在组件对象中还存在,它就可以继续使用该接口所提供的服务。
(2)客户/服务器模型
对象和客户之间的相互作用是建立在客户、服务器模型的基础上的,该模型的一个很大的优点是稳定性好,这种稳定性能带来性能上的可靠性。
COM不仅仅是一种简单的客户、服务器模型,有时客户也可反过来提供服务,或者服务方本身也需要其他对象的一些功能。
在这种情况下,一个对象可能既是服务器又是客户。
COM能有效地处理这些情况。
(3)COM库
COM本身除了规之外,也有实现的部分,其中包括一些核心的系统代码,也正是这部分核心代码,才使得对象和客户之间可通过接口在二进制代码级进行交互。
COM的实现部分即COM库。
在MicrosoftWindows操作系统环境下,这些库以.DLL文件的形式存在,其中包括以下容:
1.提供少量的API函数实现客户和服务器端COM应用的创建过程。
在客户端主要是一些创建函数;而在服务器端,提供一些对对象的访问支持。
2.COM通过注册表查找本地服务器及EXE程序,以及程序名与CLSID的转换等。
3.提供了一种标准的存控制方法,用于控制进程中存的分配。
COM库负责组件程序的定位。
当客户创建组件对象时,COM库负责装入组件模块或者启动组件进程,如果客户指定在远程机器上创建对象,则两台机器上的C0M库会协同完成远程COM对象的创建工作,并且在客户进程中创建一个代理对象(proxyobject),客户程序直接与代理对象进行交互。
因此,客户程序可以不管组件对象的进程模型,即使组件的进程模型发生了变化,客户程序也不需要重新编译。
2.1.2注册表
系统注册表是一个全操作系统围公用的信息,其中包含了所有的COM组件必要的信息以及其他一些信息,COM库通过系统注册表所提供的信息进行组件的创建工作。
客户程序和组件程序都可以对系统注册表进行访问。
通过组件注册,组件程序把它所实现的COM对象的信息以及接口信息都保存到注册表中。
在Windows系统中运行REGEDIT.EXE可以运行注册表编辑器编辑注册表。
HKEY_LASSESROOT键下的CLSID子键下包含了我们最关心的组件程序的路径信息、组件对象的程序标识符(programidentifier,ProgID)和类型库信息。
代理DLL和存根DLL信息保存在interface子键下。
对于进程外组件,CLSID子键下包含Localserver32子键。
COM还提供了在注册表中对COM对象进行分类的机制,类别信息也用一个GUID来描述,称为CATID,在每个对象CLSIB键下包含一个“ImplementedCategories”子键,其中记录了该对象所属的类别。
COM对象可以属于多个类别。
类别特性只是COM对象的部分特性,但如果COM对象要加入到某个类别中,则它必须实现该类别指定的所有接口。
组件类别最主要用处在于客户可以快速地发现机器中特定类别的组件对象,否则,就必须检查所有的组件对象,并把组件对象装入到存中实例化,然后依次询问是否实现了必要的接口。
进程外组件为了支持自注册必须支持两个命令行参数/Regserver和/Unregserver,以便完成注册或注销操作。
2.1.3COM特性
(1)语言无关性
COM规的定义不依赖于特定的语言,因此,编写组件对所使用的语言与编年写客户程序使用的语言可眺不同,只要他们能够生成符合COM规的可执行代码即可。
COM标准与面向对象的编程语言不同,它所采用的是一种二进制代码级的标准,而不是源代码级的标准。
因此,COM的语言无关性实际上为我们跨语言合作开发提供了统一的标准。
(2)进程透明特性
进程透明特性体现在客户/服务器模型的软件结构中,运行在客户端的代码和运行在服务器端的代码,既可以在同一进程中,也可以在不同的进程中。
COM所提供的服务组件对象在实现是由两种进程模型:
进程对象和进程外对象。
如果是进程对象,则他在客户进程空间中运行:
如果是进程外对象,则他运行在同一机器上的另一个进程空间或在远程机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工业 实时 数据 采集 传送 软件 开发 设计 毕业论文