上海交通大学硕士学位论文针对高速数据采集和设备控制的组态软件姓名:冯彦申请学位级别:硕士专业:软件工程指导教师:饶若楠20060927上海交通大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:冯彦日期:年月日上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在年解密后适用本授权书。本学位论文属于不保密□。(请在以上方框内打“√”)学位论文作者签名:冯彦指导教师签名:饶若楠日期:年月日日期:年月日√第2页共47页针对高速数据采集和设备控制的组态软件摘要目前,组态技术在各行各业得到了广泛应用,且发展迅速。但传统的组态软件无法实现高速数据采集和设备控制功能,主要原因是:传统组态软件基于的硬件架构不能实现高速数据采集和设备控制;数据存储方式不能满足高速采集所产生的数据量的要求;没有灵活的数据处理能力;不支持大部分的高速采集和控制的硬件设备。本课题通过以下方式解决了传统组态软件在实现高速数据采集与设备控制的弊端:第一,采用PCI、PXI等总线模式,改变组态软件的硬件架构使高速数据采集与设备控制成为可能;第二,采用中断或DMA的模式存储高速采集产生的大量数据;第三,本课题已经定义了多种数据处理方式供用户选择,可以让用户自定义数据处理方式为用户提供多种数据处理能力;第四,利用COM技术实现硬件驱动加载功能,可支持大部分高速数据采集和设备控制的硬件设备,用户也可以定制或添加这种类型的采集和控制板块。论文首先对传统组态软件的做了深入分析,然后提出解决高速数据采集和设备控制的具体实现过程,最后对描述了高速数据采集和设备控制组态软件的应用,做了进一步的总结和展望。关键词:组态软件,高速数据采集,高速设备控制第3页共47页INDUSTRIALAUTOMATIONSOFTWAREfORHIGHDATAACQUISITION&EQUIPMENTCONTROLABSTRACTAtpresent,configurationsoftwareiswideusedinindustrialautomation,anddevelopfast.Butcommonconfigurationsoftwarehasnotthecapacityofhighdataacquisition&equipmentcontrol.Thereasonis:Thearchitectureofcommonconfigurationsoftwarehasnotthiscapacity.Thewayofdata-savedonotdealwithalargeamountofhighacquisitiondata.Commonconfigurationsoftwarehasnotflexibledataanalysismethod.Commonconfigurationsoftwaredonotsupportthemassofhighacquisition&controlhardware.Thispaperusesfollowingwaytoresolvecommonconfigurationsoftware’smatterforhighdataacquisition&equipmentcontrol,and:NO.1,usePXIandPCIcommunication,changehardwarearchitecturetoachievethetargetofhighdataacquisition&equipmentcontrol;NO.2,useinterruptionandDMAmodeltosavealargeamountofhighacquisitiondata.NO.3,thissystemhaddefinedlotsofmethodfordataanalysis,customeralsocandefinedataanalysisbyoneself.NO.4,useCOMtechnologytoloadhardwaredrive,cansupportthemassofhighacquisition&controlhardware.customeralsocandothisbyoneself.Atfirst,thispaperanalysescommonconfigurationsoftwaredeeply.Andthen,describesakindofIndustrialautomationconfigurationsoftwareforhighDataAcquisitionandequipmentcontrol.Atlast,thesisindicatedthedevelopmentandexpectationofthefutureconfigurationsoftwareforhighDataAcquisitionandequipmentcontrol.KEYWORDS:Configurationsoftware,Highrateofdataacquisition,Highrateofequipmentcontrol第6页共47页第一章组态软件简介1组态软件简介随着工业目动化水平的迅速提高,计算机技术、种类繁多的控制设备和过程监控装置在工业领域的广泛应用,人们对工业自动化的要求越来越高,使得传统的工业控制软件己经无法满足用户的各种需求。在开发传统的工业控制软件时,当工业被控对象一旦有变动,就必须修改其控制系统的源程序,导致其开发周期变长;已开发成功的工控软件又由于每个控制项目的不同而使其重复使用率很低,导致它的价格非常昂贵;在修改工控软件的源程序时,倘若原来的编程人员因工作变动而离去时,则必须由其他人员或新手进行源程序的修改,因而相当困难。通用工业自动化监控组态软件的出现为解决上述实际工程问题提供了一种崭新的方法,因为它能够很好地解决传统工业控制软件存在的各种问题,使用户能根据自己的控制对象和控制目的任意组态,完成最终的自动化控制任务,详见文献[1]。1.1组态软件产生的背景“组态”的概念是伴随着集散型控制系统(distributedcontrolsystem简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。在工业控制技术的不断发展和应用过程中,PC(包括工控机)相比以前的专用系统具有的优势日趋明显。这些优势主要体现在:PC技术保持了较快的发展速度,各种相关技术已臻成熟;由PC构建的工业控制系统具有相对较低的拥有成本;pc的软件资源和硬件资丰富,软件之间的互操作性强;基于PC的控制系统易于学习和使用,可以容易地得到技术方面的支持。在PC技术向工业控制领域的渗透中,组态软件占据着非常特殊而且重要的地位。组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI(人机接口软件,humanmachineinterface)的概念,组态软件应该是一个使用户能快速建立自己的HMI的软件工具,或开发环境。在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用,开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,可以利用组态软件的功能,构建一套最适合自己的应用系统。随着它的快速发展,实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容,随着技术的发展,监控组态软件将会不断被赋予新的内容,详见文献[2]。1.2组态软件在我国的发展及国内外主要产品介绍组态软件产品于80年代初出现,并在80年代末期进入我国。但在90年代中期之前,组态软件在我国的应用并不普及。究其原因,大致有以下几点:①国内用户还缺乏对组态软件的认识,项目中没有组态软件的预算,或宁愿投入人力物力针对具体项目做长周期的繁冗的上位机的编程开发,而不采用组态软件,详见文献[3];第7页共47页②在很长时间里,国内用户的软件意识还不强,面对价格不菲的进口软件(早期的组态软件多为国外厂家开发),很少有用户愿意去购买正版。③当时国内的工业自动化和信息技术应用的水平还不高,组态软件提供了对大规模应用、大量数据进行采集、监控、处理并可以将处理的结果生成管理所需的数据,这些需求并未完全形成。随着工业控制系统应用的深入,在面临规模更大、控制更复杂的控制系统时,人们逐渐意识到原有的上位机编程的开发方式。对项目来说是费时费力、得不偿失的,同时,MIS(管理信息系统,managementinformationsystem)和cims(计算机集成制造系统,computerintegratedmanufacturingsystem)的大量应用,要求工业现场为企业的生产、经营、决策提供更详细和深入的数据,以便优化企业生产经营中的各个环节。因此,在1995年以后,组态软件在国内的应用逐渐得到了普及。下面就对几种组态软件分别进行介绍。①Intouch:Wonderware的Intouch软件是最早进入我国的组态软件。在80年代末、90年代初,基于windows3.1的Intouch软件曾让我们耳目一新,并且Intouch提供了丰富的图库。但是,早期的Intouch软件采用DDE方式与驱动程序通信,性能较差,最新的Intouch7.0版已经完全基于32位的windows平台,并且提供了OPC支持,详见文献[2]。②Fix:Intellution公司以Fix组态软件起家,1995年被爱默生收购,现在是爱默生集团的全资子公司,Fix6.x软件提供工控人员熟悉的概念和操作界面,并提供完备的驱动程序(需单独购买)。Intellution将自己最新的产品系列命名为Ifix,在Ifix中,Intellution提供了强大的组态功能,但新版本与以往的6.x版本并不完全兼容。原有的Script语言改为VBA(visualbasicforapplication),并且在内部集成了微软的VBA开发环境。遗憾的是,Intellution并没有提供6.1版脚本语言到VBA的转换工具。在Ifix中,Intellution的产品与Microsoft的操作系统、网络进行了紧密的集成。Intellution也是OPC(oleforprocesscontrol)组织的发起成员之一。Ifix的OPC组件和驱动程序同样需要单独购买。③Citect:CIT公司的Citect也是较早进入中国市场的产品。Citect具有简洁的操作方式,但其操作方式更多的是面向程序员,而不是工控用户。Citect提供了类似C语言的脚本语言进行二次开发,但与Ifix不同的是,Citect的脚本语言并非是面向对象的,而是类似于C语言,这无疑为用户进行二次开发增加了难度。④Wincc:Simens的Wincc也是一套完备的组态开发环境,Simens提供类C语言的脚本,包括一个调试环境。Wincc内嵌OPC支持,并可对分布式系统进行组态。但Wincc的结构较复杂,用户最好经过Simens的培训以掌握Wincc的应用。⑤组态王:组态王是国内第一家较有影响的