(测试计量技术及仪器专业论文)科学仪器通用软件平台的研究与开发.pdf_第1页
(测试计量技术及仪器专业论文)科学仪器通用软件平台的研究与开发.pdf_第2页
(测试计量技术及仪器专业论文)科学仪器通用软件平台的研究与开发.pdf_第3页
(测试计量技术及仪器专业论文)科学仪器通用软件平台的研究与开发.pdf_第4页
(测试计量技术及仪器专业论文)科学仪器通用软件平台的研究与开发.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(测试计量技术及仪器专业论文)科学仪器通用软件平台的研究与开发.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 本学位论文的工作主要集中在“国家十五科技攻关项目”科学仪器通用软件 平台研究与开发上,主要工作包括了软件平台的需求分析、系统分析、模型的建 立、平台结构设计等几个方面。论文中针对以上工作,在对以下几方面的内容进 行了详细阐述: 1 对科学仪器通用软件平台的功能需求进行了分析,并确定了软件平台所要达 到的功能。 2 在软件平台的丌发过程中采用了快速原型法,通过对软件平台核心功能的具 体分析以及对目前国内外一些成熟组态软件的研究,提出了软件平台的两种 设汁方案并最终确定了软件平台的模型。 3 对软件半台的结构设计进行了详细地阐述,包括了设计期程序和运行期程序 的结构设计,对软件平台的运行流程和解释运行机制的分析,各主要功能模 块的结构设计以及各功能模块之间的关联关系。 4 祥细描述了数据集、显示控件、文件1 0 组件等与软件平台相关各控件的结 构,以及他们之间的接口标准。 5 总结了软件平台的技术特点以及对平台今后发展方向的展望。 关键词:通用软件平台,科学仪器,快速原型法,对象模型 a b s t r a c t i nt h i s d i s s e r t a t i o n ,s t u d y f o c u so nt h e d e v e l o p m e n to fu n i v e r s a l s o f t w a r e p l a t f o r mf o rs c i e n t i f i ci n s t r u m e n t ( u s p s i ) a n di t s d e v e l o p i n g ,w h i c hi n c l u d i n gt h e r e q u i r e m e n t a n d s y s t e ma n a l y s i s ,c o n s t r u c t i n g m o d e lo fs o f t w a r e ,p r o g r a m m i n g d e s i g n t h er e s u l t sa r ea sf o l l o w s : 1 r e q u i r e m e n ta n ds y s t e ma n a l y s i s f o ru s p s ih a db e e nc a r r i e do n t ,a n dt h e f u n c t i o n so fu s p s lh a v e b e e nl i s t e d 2 t h em e t h o do f r a p i dp r o t o t y p i n gh a db e e na d o p t e di nt h ep e r i o do fd e v e l o p m e n t u n d e rt h ea n a l y s i st ot h ef u n c t i o n so fu s p s ia n dt h er e s e a r c ho fc o n f i g u r a t i o n s o f t w a r e ,t w op r o j e c t so f u s p s ih a db e e nb r o u g h tf o r w a r d ,a n dt h ef i n a lm o d e lo f s o f t w a r eh a db e e ne s t a b l i s h e dt h r o u g hd i s c u s s i n g 3 t h es t r u c t u r eo ft h es o f t w a r ep l a t f o r m ,w h i c hi n c l u d i n gt h es t r u c t u r eo fp r o g r a m s i nt h ep e r i o do f d e s i g na n dr u n t i m e ,t h ef l o wc h a r to f t h es y s t e m ,t h es t r u c t u r e s a n df u n c t i o n so f p r i m a r y m o d u l e sa n dt h er e l a t i o no ft h e m ,h a db e e ne x p a t i a t e d 4 t h es t r u c t u r eo fd a t a s o u r c e a s s e m b l e ,d i s p l a yc o n t r o l ,f i l e i o ,w h i c ha r e c o r r e l a t i v ew i t ht h ep l a t f o r m ,h a db e e ne x p a t i a t e d ,a n dt h ei n t e r t j c e so f t h e mh a d b e e nd e f i n e d 5 t h ec h a r a c t e r i s t i ca n dt h ei m p r o v e m e n to f u s p s i h a db e e n p u tf o r w a r d , k e y w o r d s :u n i v e r s a l s o f t w a r e p l a t f o r m ,s c i e m i f i c i n s t r u m e n t ,r a p i dp r o t o t y p i n g , o b j e c tm o d e l 第一章绪论 1 1 研究开发背景 第一章绪论 科学仪器是现代高科技的主要构成部分,是现代信息社会的源头和基础,也 是保障一个国家持续发展和国家安全的先决条件。因此,加速科学仪器发展已成 为世界各国竞相投入的重点。目前的科学仪器越来越多地利用训算机进行测量控 制和测量数据的采集。每一个新的仪器的开发都需要进行相应的测控软件开发, 这样不但增加了新产品的丌发周期和成本,而且由于不同的厂家所开发的软件采 用了不同的标准使得在测量数据共享方面也存在诸多问题。 随着计算机技术的进一步发展,西j + 以相信,基于网络平台的应用,r 发环境将 成为主流,网络技术、虚拟现实技术、三维成像技术将成为新一代软件应用平台 的新特点。流场测试、天文测试、生物工程等领域的测试、控制需求将使传统测 控系统产生巨大的革命。系统- 7 。r 放化、通信多元化、远程智能化、人机交互形式 多样化、测控系统大型化和微型化、数据处理网络化等将成为一【业仪器与测控系 统新的发展方向。 综上所述,就科学仪器本身的技术特点而者,其最重要的发展趋势就是向组 合化、模块化方向发展,与计算机技术、网络技术的融合将是未来若干年内的科 学仪器的重点内容,而软件技术的不断提高,已经成为科学仪器水平提高的关键, 未来的组件技术、模块化技术的应用将十分有利1 :新仪器的研制、仪器新功能的 开发、老仪器的技术优化和技术升级。科学仪器通用软件平台系统正是基于模块 化应用的需要,在系统内部统一标准的支持下,实现科学仪器软件及测控系统的 高度自由组合应用。 1 2 虚拟仪器技术简介 虚拟仪器( v i r t u a li n s t r u m e n t ) 是基于计算机和标准总线技术的模块化系 统,通常由通用个人计算机、模块化功能硬件和控制软件所组成。操作人员通过 友好的图形用户界面以及图形化编程语言+ 来控制仪器的运行以完成对被测试量 第一审绪论 的采集、分析、判断、显示、存储以及数据生成。虚拟仪器通过软件将计算机硬 件资源与仪器硬件有机地融合为一体,从而把计算机强大的数掘处理能力和仪器 硬件的测量、控制能力结合在一起大大减小了仪器硬件的成本和体积,并通过 软件实现数据的显示、存储以及分析处理。可以看出,软件是虚拟仪器的核心, “软件就是仪器”从本质上反映了虚拟仪器的特征。随着p c 机主流技术的最新 进展,便携式计算机的实用化,操作系统平台的提升以及网络乃至i n t e r n e t 的应 用拓展,虚拟仪器系统技术获得更大的发展空州。以p c 技术为基础的虚拟仪器 系统进一步融合了网络等信息时代的新技术,拓宽了虚拟仪器的应用空间。据估 计歪u 2 0 1 0 年,虚拟仪器将会占领全世界仪器仪表行业2 3 以上的市场。 要使一台虚拟仪器可以按照用户的要求自行定义,就必须具有功能强大的应 用软件支撑。美国著名的n i ( n a t i o n a li n s t r u m e n t s ) 公司提出:软件就是仪器 ( s o f t w a r ei si n s t r u m e n t s ) 。由此1 1 j 见应用软件的重要性。 虚拟仪器所采用的应用软件主要包含以下几个方面: ( 1 ) 集成的开发环境 虚拟仪器应用程序的开发环境主要有两种:一种是基于传统的文本语言的软 件j j :发环境,常膈的有l a bw i n d o w s c v l ,v i s u a ib a s i c ,d e j p h i ,v i s u a lc 十+ 等;一种是基于图形化语言的软件丌发环境,常用的有l a bv i e w # 口h pv e e 。其中 图形化软件丌发系统是用工程人员所熟悉的术语和图形化符号代替常规的文本 语言编程,界面友好,操作简便。可大大缩短系统开发周期,深受专业人员的青 睐。 ( 2 ) 仪器驱动程序 仪器驱动程序主要用于完成仪器硬件的通信、控制功能。它是在特定的开发 环境下丌发出来的,一股是由厂商提供仪器驱动程序库,用户可以方便地根据需 要来剪裁驱动程序,而不必自己设计。 ( 3 ) 虚拟仪器的用户界面 具备了,1 :发环境和仪器的驱动程序,用户就可以集中精力来“构建”具有个 性化的仪器系统测试页面。测试页面可以采用分页或者分级菜单形式。测试者只 需按测试界面的引导,就可自动完成测试,以图像或表格数据等形式显示测试的 结果。 第一章绪论 虚拟仪器应用于电子测量、电力工程、物矿勘探、医疗、通信、军事、故障 诊断及教学科研等诸多方面。它的出现是仪器发展史上的一场革命,代表着仪器 发展的最新方向和潮流,是信息技术的一个重要领域,必将对科学技术的发展和 工业生产将产生不可估量的影响。 1 3 基于组件的软件开发技术简介 从传统的结构化方法到2 0 世纪8 0 年代发展起来的面向对象技术无疑是软件 工程学的重大进步。随着软件规模的不断扩大及软件丌发速度和质量的提高,人 们希望能够像组装汽车一样来生产软件,并且可以使其如硬件一样“即插即用” ( h u ga n dp l a y ) ,这当然也是软件工程界多年来梦寐以求的理想。进入9 0 年代 之后,随着“基于组件的软件- 刀:发技术”( c o m p o n e n tb a s e dd e v e l o p m e n t ,c b d ) 的出现,人们的这个愿望逐渐变成了现实。利用组件可以像堆积木似的“搭建” 软件系统,从丽实现软件的大粒度复用、缩短开发周期、降低维护成本。 8 0 年代来期,美国国家仪器公司( n i ) 提出了“软件就是仪器”的新概念。它 将计算机技术与现代仪器技术相结合,丌发出虚拟仪器( v i r t u a li n s t r u m e n t ) 这种全新概念的测量仪器,从而打破了传统仪器的结构固定、功能单一、可扩展 性差等限制。虚拟仪器是一个由控制软件和硬件板卡组成的复杂系统,其软件部 分的丌发非常关键也非常复杂。组件化方法可以提高软件的丌发效率和可维护 性,是目前v i 控制软件的最佳开发方法。 一、组件的基本概念 “组件”通常可以理解为是可以明确辨识和管理并具有一定独立功能的软件 单元,一般具有如下特点: ( 1 ) 即插即用 组件可以方便地集成于系统中,不用修改代码,也不用重新编译。 ( 2 ) 以接口为核心 组件的接口和实现是分离的。组件通过接口实现与其它组件或系统的交互。 组件的具体实现被封装在内部,组装者只关心接口,不必知道实现细节。 ( 3 ) 标准化 组件的接口必须严格地标准化,这是组件技术成熟的标志之一。目前主要的 筛一章缃论 标准有m i c r o s o f t 的c o m d c o m 、j a v a 的j a v a b e a n s 辛l e j b 、o m g 组织的c o r b a 。 ( 4 ) 组件的来源广 大量成熟的组件可以通过市场购买、从互联网上免费下载、从自己现有的组 件库中获得,也可以重新开发设计。总之,组件在功能上是离散的、被精确定义 的;组件列自己所j | j 有的方法都提供标准而清晰的接口;组件既可以单独使用, 也可以与其它组件一起组装成一个完整的应用系统。 二、基于组件的软件丌发模型 基于组件的软件开发技术从根本上改变了软件的生产方式,与传统丌发方法 相比,它具有明显的优势: ( 1 ) 提商了软件的重用率,保护了已有的投资。 丌发者可以将原有软件运用组件技术封装起来,通过标准的组件接i z l 将旧 的程序代码进行包装制作成可以重用的组件,从而保护软件的投资。 ( 2 ) 降低了对系统丌发者的要求,使他们更好地关注业务系统。 丌发者可以用j l k 务术语,而不是计算机术语来规划、设计和建造应用系统。 ( 3 ) 使j i :发的系统更加灵活,更加便于维护和升级。 组件的模块化程度高模块耦合度低,丌发者:i _ f :对软件进行改进时,往往只 需增加新的接口即可。 ( 4 ) 易于学习和使用。 组件的开发一般由组件设计、生产和组装等过程组成,不同岗位的丌发者分 工明确、术有专攻,大量的丌发人员可以快速投入基于组件的开发过程中。 c b d - - 个软件系统的丌发分为3 个阶段:应州系统的分析与设计、组件的丁r 发及组件的装配。其中,系统的分析和设计是一项系统工程。首先根据应用需求 建立系统模型,然后山分析及设计人员对浚模型进一步完善,刻画出系统的总体 结构按照组件丌发规则定义系统所需的所有组件及组件的接口说明和组件之间 的交互协议。组件开发也叫组件生产,可以重新设计,可以将现有的软件封装成 组件,也可以从外界( 市场或互联网) 直接获得。通过这些方式得到的组件均装入 组件库中统一管理。组件的装配则按照应用系统设计扣提供的结构,从组件库中 选取合适的组件用适当的组装工具完成应用系统的连接与合成,最后对系统进行 各利t 测试。这种丌发过程如图1 3 1 所示。 第一章绪论 图1 3 1 组件化软件丌发模型图 t 4 国内外研究开发现状 面向仪器与测控系统的计算机软件应用平台技术的发展十分迅速,近1 0 年来 各种面向仪器与测控系统的计算机软件应用平台层出不穷,使仪器与测控系统的 设计方法产生了革命性的进步,极大地缩短了开发周期,降低了开发费用。 在国外有一些公司在从事这方面的研究s n j r - 发工作。并有相应的产品出售。 最著名的是美国国家仪器公司( n i ) 的l a b v i g w 图形编程软件。它有在目前流行 的操作系统w i n d o w s 2 0 0 0 n t 9 x m e 、m a co s 、l i n u x 、s u ns o l a r s 和h p u x 下 都有千日应的版本。目d u 它的版本已发展到7 0 。l a b v i e w 软件的功能齐全,其中 还包含t n 量分析和图形编辑功能。是一个成熟的通用测量控制软件。 此外还有英国的m i n d r e a d y 公司的t h eg e l os y s t e m 软件和b i o d a t a 公司的 m i c r o li n k 系列软件。t h ey e l os y s t e m 是原t e s t p o i n t 升级后的版本,基本保 持了原t e s t p o i t 的风格。m i c r o l i n k 的特点是有不同的版本,即可以支持p c i 插卡,也可以支持如u s b 、r s 2 3 2 、r s 4 8 5 、g p i b 和以太网。在应用上更具灵活 性。 美国的另一公司g e o t e s i n c 的a t e a s y 软件平台是一个针对自动测试仪器测 控软件的快速丌发平台,目前它主要工作在微软公司的各种操作系统f ,包括最 新的w i n d o w sx p 操作系统。它提供了从仪器的驱动到复杂的测量程序在内的所 有可能的丌发工具,用来开发和维护自动测试仪器的铡控软件。 美国的a m e sp h o t o n i c s 公司开发的s p e c t r a s o l v e 软件是一个用于光谱仪 第一币缔论 器测控平台,它是一个基于脚本解释的开发平台。用户可以通过编写脚本来达到 进行数据采集和对仪器控制的目的。但这个软件仅支持串行通讯口和6 p i b 两可 接口,并且仅在w i n d o w s 9 5 9 8 操作系统下运行,不能跨平台使用。 国内比较著名的这类软件有,仪器王和力控软件。仪器王还算不上通用仪器 测控平台软件。它只具有单一功能的虚拟仪器的操作界面。力控软件具有开发 功能,但它也5 l 是为工业自动控制丌发的,并不适合科学仪器。 世界一些著名的分析仪器公司在其产品的软件平台上也纷纷采用专业开发 商提供的通用丌发系统进行二次丌发,形成自己的专用平台,这样不但能缩短开 发周期,降低丌发成本,而且能提高其技术水平和软件的可靠性,加快软件升级 的速度。 综上所述,虚拟仪器足月前科学仪器发展的。个方向,而科学仪器通用软件 平台则是实现仪器虚拟化的个有效途径。它可以广泛地用于各类分析系测试仪 器的控制和测量数据的采集,并可以按照不同需要改变测控软件的功能和界面。 科学仪器通用测控软件平台结合通用测控部件单元和数据处理软件包,在大大降 低分析测试仪器生产厂家的丌发新产品的投资风险、开发周期和售后服务成本的 同时,还可以提高分析测试仪器的实际使用功能,用户可以根据自己的具体要求 设置测量过程和数据处理方式。科学仪器通用测量控制软件平台的开发对在国内 生产能与国外产品相抗衡,具有自主知识产权的软硬件的分析测试仪器、同时对 目前国内已有的大型分析测试仪器的仪器改造、升级也将有这非常积极的意义和 推动作芹j 。 1 5 软件平台开发的目标 科学仪器通用软件平台作为国家“十五”科学仪器攻关项目,其目的就是开 发套具有独立知i : 产权的分析仪器测控系统的开发平台和运行平台。本软件平 台的用户对象主要分为两类,一类为科学仪器的生产厂商,另一类为科学仪器的 最终用户。丌发浚软件平台的目的是:使这两类用户,在具有基本的编程基础的 前提下,利用该软件平台方便快捷地开发出适合科学仪器的测控程序。从而不必 在v c 、v b 、d e l p h i 等通用软 牛开发平台下进行仪器测控软件的丌发,这将有 利于缩短软件的丌发时间、降低仪器的丌发费用。 6 第一章绪论 为此,科学仪器通用软件平台应达到以f 目标: 1 集成式的开发环境。 2 简单易用,用户可以在最短的时间内掌握该平台的使用方法。 3 灵活的用户界面设计,即用户可以用最少的时间,最少的配置搭建最 适合的测控软件。 4 适用范围宽,用户可以配_ 置绝大多数仪器的测控软件。 5 提供通用的仪器通信驱动,适用于绝大多数的仪器。 6 可重用性好,允许用户配置自己的方法、函数等。 7 提供丰富的控件、组件以及数学处理函数模块。 1 6 论所完成的工作 “科学仪器通用软件平台”是国家“十五”科学仪器攻关项目,本论文主要 研究内容集中在对“科学仪器通用软件平台”的功能需求分析、建立软件平台模 型、和软件平台的系统结构设计方法以及程序实现。特别对以下几方面的内容进 行了详细阐述: 1 对目前国内外科学仪器丌发背景的阐述,确定了软件平台所要达到的功 能。 2 对核心功能的分析,确定了软件平台的两种方案,并最终确定了软件平台 的模型。 3 对软件平台的程序设计结构进行了详细地阐述,包括系统程序流程、各主 要模块之恻的关系以及各子模块的功能分析等。 4 阐述了数据集、显示控件、文件i o 组件等与软件平台相关各控件的结构, 以及他们之间的接口标准。 5 分析了该平台的技术特点以及对平台今后发展方向的展望。 第一带软件卜台的构架 第二章软件平台的构架 在软件平台的设计过程之中,我们采用了快速原型法( r a p i dp r o t o t y p i n g ) , 快速原型法是近年来提出的一种以计算机为基础的系统丌发方法,它首先构造一 个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最 终的软件系统。原型就是模型,而原型系统就是应用系统的模型。它是待构筑的 实际系统的缩小比例模型,但是保留了实际系统的大部分性能。这个模型可在运 行中被检查、测试、修改,直到它的性能达到用户需求为止。因而这个工作模型 很快就能转换成原样的目标系统。原型法的主要优点在于它是一种支持用户的方 法,使得用户在系统生存周期的设计阶段起到积极的作用:它能减少系统开发的 风险特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用 原型法效果更为明显。 2 1 几种组态软件的特点分析 在对科学仪器通用软f 4 - f 台的核心功能分析t h 我们收集、分析了一系列的 用于仪器测控和工业控制的组念软件的相关资料,筛选出l a b v i e w 、 l a b w i n d o w s c v i 、t i pv e e 以及工控组态软件如f ix 、力控等软件对它们进行 了详细地分析比较,总结了其中每个软件的优点和缺点。 2 1 1l a b v i e w 的特点 l a b v i e w 是一种用于丌发虚拟仪器测控程序的软件开发平台,但l a b v i e w 与 其它计算机程序开发语言相比,有一个特别重要的不同之处是l a b v i e w 使用图形 化编程语言g 编写程序,产生的程序是框图的形式,而非传统的利用文本的语言 来产生代码。但与其它通用程序丌发环境一样,l a b v i e w 也是通用的编程系统, 它包含了一个可完成任何编程任务的庞大的函数库。l a b v i e w 的函数库包括数据 采集、g p i b 、串口控制、数掘分析、数据显示及数据存储等。l a b v i e w 也有传统 的程序调试工具,如设置断点、以动画方式显示数据及其通过程序( 子v 1 ) 的 结果、单步执行等,便于程序的调试。 第一学软件m 1 台的构架 l a b v i e w 易学易用,特别适合硬件工程师、实验室技术人员、生产线工艺技 术人员的学习和使用,可在很短的h :j i b j 内掌握并应用到实践中去。因此,以 l a b v i e w 的为目标能够使通用软件平台具有功能强大、简单易用的优点,而且因 为l a b v i e w 是国际通用的虚拟仪器软件。以它为参考的软件平台应该更易于被用 户接受,这将有利于软件平台的推广。 优点: 1 采用图形语言,即g 语言。图形化配置,非常灵活。 2 采用了界面设汁和程序设计两个面板。 3 采用了子v i 技术。 4 具有完善的控制流程。 5 可配置多种界面风格。 6 l a b v i e w 的专业版可将配置的程序编译成可执行文件。 7 大量的功能函数库。 8 提供了大量各种控制流程的例程。 不足之处: 1 界面只能有限的定义。 2 配置过程还是略显复杂。 2 1 2h pv e e 开发环境的特点 t t pv e e ( h e w le t tp a c k a r dv i s u a l e n g i n e e r in ge n v i r o n m e n t ) 是惠普公司 丌发的一种用于仪表优化控制的图形编程语言。它通过连接屏幕上的图符来创制 程序,最后形成h pv e e 程序( 类似于一个方块图) 可以像用文本语言如c 语言或 b a s i c 语言编成的程序一样运行。h pv e e 支持在w i n d o w s9 8 平台和u n i x 平台 上进行程序开发,一般用于仪表丌发、单台测试设备、集中式测控系统等。 优点: 1 用图符编程法缩短丌发和维护时间。h pv e e 的最大特点是采用图符进 行编程,程序设计人员只需要选择适当的图标并进行连线和参数设置 就可以实现测控系统的编程,编程效率商。 2 丰富的仪器驱动库,提供3 0 0 多种仪器配置的仪表驱动及几乎全部h p 第一章软件、1 4 轩的构架 公司仪器的驱动库。 提供驱动器的写入二亡具。对缺少的h p 公司仪器,提供驱动器的写入工 具( d r i v e rr i t e r st 0 0 1 ) 。 通过标准接口女n h p 2 i b ( i e e e4 8 8 ) ,g p i b ,r s 2 2 3 2 输送仪器命令的 直接i 0 。 5 提供强有力的测试顺序。使用序列发生器目标模块,可以创建一个基 于运行时间结果的测试执行序列,通过序列发生器调用用户函数,并 记录函数执行的全部数据,通过数据分析,从而完成对用户函数的测 试 :作。 不足之处: 1 4 2 1 3 系统执行效率较低。 多任务调度能力差。 用户自定义函数功能弱 仪器驱动局限性大。 l a b w i n d o w s c v i 的特点 l a b w i n d o w s c v i 是n a t i o n a li n s t r u m e n t sc o r p o r a t i o n 公司开发的另一种 用c 语言编程的软件丌发环境,它包含一个交互式的丌发环境和用于数据采集和 仪器控制应用的函数库。l a b w i n d o w s c v i 还包含一个面向数据采集、分析和描 述的软件工具集。它继承了l a b v i e w 的许多特点,并有进一步发展。 l a b w i n d o w s c v i 为开发数据采集和仪器控制系统的各个阶段提供了函数库 支持: i 为数据采集提供了7 个函数库:仪器库、g p l b g p i b 4 8 8 2 库、数据采集 库、d a q 的i 0 库、r s 2 2 3 2 库、v i s a 库、v x i 库。 2 为数据分析提供了3 个函数库:格式化与i o k 、分析库和可选的高级分 析库。 3 为数据描述提供了用户界面库。 4 为网络和通信提供了4 个函数库:动态数掘交换( d d e ) 库、传输控制协议 ( t c p ) 库、x 特性库( u n i x ) 、a c t i v ex 自动化库。 1 0 第一二话软件平台的构架 l a b w i n d o w s c v i 较之h pv e e 和l a b v i e w ,除保留了图形化设计的特点外, 增加了标准c 的编程环境,极大地增强了用户丌发系统的能力,用户可以开发专 用信号处理模块和灵活改变程序调度机制,应用范围十分广泛。 2 1 4 工控组态软件的特点 工控组态软件是利用系统软件提供的工具,通过简单形象的组态工作,实现 所需的软件功能。其优点是可以提高系统的成功率和可靠性、缩短项目开发周期。 近年来,国内外众多厂商提供了许多成功的组态软件,如:西屋的w d p f ,h o n e y w e l l 的t d c 2 3 0 0 0 、p l a n t s c a p e ,f o x b o r o 的s p e c t r u m ,w o n d e r w a r e 的i n t o u e h , i n t e l 】u t i o n 的f i x ,i c o n i c s 的g e n e s i s a d v a n t e c h 的g e n i e 等。虽然不同厂商 生产的组态软件各具特色,但它们的功能也有一些共同之处:数据采集和处理、 动态数据显示、报警、自动控制、历史数掘库、报表、图形、宏调用及专用程序 丌发环境。 h o n e y w e l l 的p l a n t s c a p e 在众多厂家的组态软件中具有一定的代表性,咀其 为主介绍组态软件的特点。 1 组态软件完善,功能多样。提供标准数学函数库和控制功能库,对测控信息 的历史记录进行存储、分析、计算、打印,操作灵活方便。 2 强大的通信功能与良好的开放性。支持1 c p 1 p 、e t h e r n e t 协议,实现向上 通信,支持多种硬件设备,如:a e b 、p l cm o d i c o np l c 、s i e m e n sp l c 、g ep l c 、 h i t a c h i p l c 等。 3 提供丰富的画面显示功能。常用工业设备图符、仪表图符、趋势图、历史 曲线、数据分析图等。 4 多任务运行环境。基于w i n d o w sn t4 0 ,从而支持多任务调度。 5 测控规模大。提供支持3 0 0 0 点的控制器。 组态软件一般对硬件的要求相对严格,程序逻辑相对固定。但实现相对容易, 可靠性高,根据系统规模的大小,开发平台软件的价格差别较大,一般适用于中、 大规模的测控系统丌发。 第一二章软件,i 台的构架 2 1 5 几种组态软件的比较 不同开发应用平台具有各自的特点,下面仅从技术与应用领域和范围上进 行阐述,下表对h pv e e 、l a b v i e w 、l a b w i n d o w s c v i 和工控组念软件的技术特点 进行了比较。 开发平台技术特点系统支持应用范围 图形化编程 w in d o w s仪表开发 t i pv e e 逻辑简单 u n i x 单台测试设备 大量h p 仪器驱动集中式测控系统 提供仪器通信驱动 图形化编程 d o s 仪表开发 l a b v i e w逻辑简单w i n d o w s单台测试设备 大量通用仪器驱动集中式测控系统 提供仪器通信驱动 图形化编程与c 语言+ w i n d o w s 仪表开发 编程共存 0 s 2单台测试设备 l a b w i n d o w s c v i用户可灵活编写程集中式测控系统 序逻辑中、小规模测控系 大量通用仪器驱动统 网络功能较强 图形化编程 d o s 集散式测控系统 工控组态软件程序逻辑相对固定 w i n d o w s中、大规模测控系 图形部件丰富 u n i x统 网络功能强 2 2 两种软件平台构架方案的比较 通过对这几种组态软件的分析,我们提出了两种软件平台的实现方案。即“对 话框”方案和“图形化语言”配置方案。 第一章软件1 ,台的构架 2 2 1 “对话框”方案 “对话框”方案采用类似于f i x 9 8 的开发方式,其基本思想就是二次开发人 员利用对话框进行程序的配置,包括界面配置和流程的配置,此外在辅咀一定数 目的配置向导,从而给用户提供选择。 这样配置的优点是: 1 、具有丌发简单、快速的特点。 2 、用户不用学习相对来既繁琐的配置规则,只要对对话框中的配置条目加 以提示和说明,用户能够比较容易的掌握。 3 、从开发角度来说,可能会比较容易一些,不要牵扯到大量的w i n d o w s 图 形编程,在界面的编程方面,软件的结构会简单,层次也不会过于复杂。 4 、可以采用编程向导。 缺点: 1 、利用这个方案丌发的通用软件平台,在丌发程序时会将大量的模块之间 的逻辑关系隐藏在个个对话框的条目之中,无法直观的表达。这样给 e ) f j f 发的程序维护带来极大的小变。 2 、如果采用这个方案难以构造一个如此好的数据结构,以达到类似 l a b v i e w 一样的配黉灵活度,限制了平台的灵活性。 2 2 2 “图形化语言”配置方案 “图形化语言”方案采用类似于l a b v i e w 的开发方式,配置环境分前台、后 两个面板,前面板用于界面配置,后面板用于配置控制流程( 事件、过程等) 。 而流程的配置则采用图形化的配置方式,即用图标和连线的方式代替脚本语言。 这样配置的优点是: l 、可以为j 耳:i 户提供更高的配置灵活度 2 、各模块之间的关联可以清楚表示。 3 、平台丌发中所采用的图形化语言编程技术,可复用于数据处理及硬件驱 动的配置。而这两个方丽,将是通用软件平台的一个可拓展方向。 锥一章软件、r 台的拗粲 缺点: 编程难度较大,针对软件平台的投入和人员状况,项目的可控性降低。 2 3 软件平台构架的确定 “列话框”方案对于平台的丌发人员来说,程序入手会相对简单,如果程序 旦需要提供较大的配置自由度则丌发的核心问题将会出现在程序运行流程的 再现上。由于程序流程隐藏在个个的对话框之内,各组件之间的逻辑关系也是 如此,因此一旦进行复杂的配置,二次丌发人员对于程序的维护将会变得非常困 难。并且“对话框”方式很难提供如解释语言一群的自由度和可扩展性。 而图形化编程平台( g r a p h i c a lp r o g r a m m i n gp l a t f o r m ,以下简称g p p ) 就是 面向虚拟仪器系统的基于图形开发、调试和运行的集成开发环境。它利用g p p 中 预定义的元件库、函数扩展库以及图形化语法,把复杂、繁琐、费时的语言编程 简化为一种通过定义和连接代表各种功能模块的图标来建立应用程序,可以为组 建自动测试系统提供快速、简便、丌放的应用软件开发环境和工具。 通过对两种方案的讨论,最终我们采用了第二种方案,即“图形化语言”配 置方案。这样所丌发的科学仪器同软件平台应具有以下特点: 1 、在采纳了l a b v i e w 等组态软件的优点的同时,又采用了事件驱动的方式,符 合现在w i n d o w sg u i 基于事件驱动的缺点。 2 、图形化编程与脚本( 脚本语言) 配置一样具有几乎最大的自由度,并且没有 看起来让人生畏的语法。 3 、控制流程的形象显示,这是脚本所不能提供的功能,每个过程的流程一览无 余。 4 、对于复杂的处理提供强大而丰富的函数库,避免使用户进行过于复杂的配置。 5 、基于对象( 并非面向对象) ,是基于下面的考虑: a 对象的存在是一种符合用户思维方式的形式,这样,实际实验的仪器可 以直接与编程一一对应起来。 b 对象的泛形适合于构造大型而复杂的系统,如m f c 类库。软件平台本身 给用户提供了大量的支持,用户没有构造复杂系统的需要,这也是软件 平台立项的初衷。 4 第二章软件、r 台的构架 6 、必须允许用户针对特殊的用途。导入自己设计的d l l 以及o c x 控件。 7 、界面可以自由控制。 第三常软件s r 赍的组成结构 第三章软件平台的组成结构 3 1 软件平台结构方案 科学仪器通用软件平台是由设计期程序和运行期程序两大部分组成。设计期 程序又是由界面设计环境和程序设计环境两部分组成的。 设计期程序主要功能是,为用户提供一个仪器测控程序的界面和程序编辑环 境,并把用户编辑的界面效果和运行时的程序响应转化为运行期程序可以解读的 运行脚本进行保存。其中界面设计环境负责编辑界面效果,程序设计环境负责编 辑界面上控件的事件响应,以及编辑用户自定义过程。 运行期程序负责从脚本文件中读出所有的信息,恢复界面的设计原型,并且 对所配置的事件过程进行响应执行配置的过程。 软件平台的基本结构如图3 i 1 所示: 设计期程序 运行期程序 图3 1 1 软件平台总体结构图 设计期程序可以将设计期相关的所有内容保存为配置文件或脚本文件,这些 内容包括了界面设计环境中的窗口、控件、菜单和它们的属性等,+ 以及程序设计 环境中所有的过程配置信息。设计期程序可以通过打开配置文件来恢复或修改以 6 第三节软件r 舟的纨成 a 车q i j 编辑的测控程序。运行期程序则根据保存的脚本文件实现界面重整以及运行事 件响应和过程解释的功能。 3 2 设计期程序结构 设计期程序结构如图3 2 i 所示: 图3 2 1 设计期程序结构图 设计期程序是出界面设计环境和程序设计环境两部分组成的。界面设计环境 中所编辑的是界面设计窗口。界面设计窗口自身的各个属性以及其上控件的属性 在界面设计环境中都是可以改变的,用户可以根据自身需要对窗口进行设计。每 一个界面设计窗口对应一个程序设计环境中的过程窗口,对界面设计窗口中的控 件的事件、方法进行编辑,并且可以将用户自己编辑的过程添加到用户过程库中, 以便被其它过程或者事件、方法调用。过程窗口由过程予窗口的集合和过程资源 窗口组成。过程资源窗口向用户提供控件的属性、方法,各种基本过程、基本数 据以及用户自定义过程。 其中c m a i n f r a m e 类是科学仪器通用软件平台设计期程序的主窗口类,它里 面包括一个c e x p a p p l i c a t i o n 类对象的指针。丽c e x p a p p l i c a t i o n 类负责对一个用 户工程进行管理,如图3 2 1 所示,每一个用户工程就是c e x p a p p l i c a t i o n 类的一 个实例,c e x p a p p l i c a t i o n 类中包含了一个m _ w i n d o w l i s t 列表,它里面的每一项 第三章软件、r 秆的组成结构 包含了一个界面设计窗口和与之对应的过程窗口,即一个界面设计窗口和一个过 程窗口的实例对象。而r u n t i m e c o n t e x t 类则负责管理工程中界面设计窗口与过 程窗口之间的交互信息以及工程中的一些杂项。 设计期程序类结构如图3 2 2 所示: 图3 2 2 设计期程序类结构图 在设计期程序中我们定义了两个全局变量用以记录界面设计环境中的所有 添加的控件和程序设计环境中的所有配置的过程。 其中gl i s t c o n t r o l 是一个动态链表,大小可以动态调整。其中存放的是控件 的基类指针,即c c o n t r o l b a s e 类型指针,c c o n t r o l b a s e 类用以实现所有控件的基 本操作功能包括移动、拖放、设置属性等。而所有的控件都是从w i n d o w s 的 基本控件类和c c o n t r o l b a s e 类双重继承的。它旱面保存了用户所选择的所有控 第_ 三章软件、p 台的组成结构 件及其属性、事件等信息。如图3 2 2 所示,c n k b u t t o n 类就是从w i n d o w s 的 c b u t t o n 控件类和c c o n t r o l b a s e 双重继承过来的。 gl i s t p r o d u c e 也是一个动态链表,大小亦可动念调整。其中存放的是所有过 程的基类指针。即c p r o c e d u r e 类型指针,c p r o c e d u r e 类的功能是实现过程的基 本操作,包括初始化过程、设置输入输出参数等功能,丽所有的过程类都是从 c p r o c e d u r e 类继承过来的。它里面保存了所有用户配置的过程及其信息。如图 3 2 2 所示,各类函数都是从c p r o c e d u r e 中继承过来的。 设计期程序基本流程: 如图3 2 3 所示,当用户启动配置程序之后,当用户在程序设置环境中添加 一个界面设计窗口设计期环境会自动为客户产生一个与之对应的过程配置窗口。 在界面设计窗口中用户可以选择需要的控件添加到窗口中,并且可以在属性栏中 对其属性、事件等进行修改,同时设计期程序会对这些改变做出相应的响应,把 这些改变保存到配置信息中。同样的道理,在相应的过程配置窗口中用户可以根 据需要对每个过程进行配置,包括通过连线的方式为函数进行参数的赋值、流程 的执行顺序的配置等。同样,设计期程序也会把这些改变通过过程列表保存到配 置信息中去,从而最终把所有的信息保存到配置文件之中。 第三章软件s f 台的组成结构 图3 2 3 设计期程序系统流程图 2 0 第三章软件平台的组成结构 下面以矩阵图的形式说明各项功能需求的实现同各块程序的分配关系 c u i c o n n g v i e wc p r o d u c e c o n n g v i e wg _ l i s t c o n t r o lgl i s t p r o d u c ec n k d o c u m e n t 控 件 yy 添 加 控 件 yy 显 不 属 性 显 yy 刁; 修 改 事 件 显 j y yy 不 修 改 基 太 过 yyy 程 添 加 过 程 参 yy y 数 配 置 配 置 保 yyy 存 打 开 笫三章软件卜台的组成结构 下面对几个主要类之间的通讯进行说明: l 、c u i c o n f i n d2 、c p r o d u c e c f g w n d3 、c n k d o c u m e n t4 、c c o n t r o l b a s e 5 、c p r o d u c e b a s e ( 4 ,5 本来应该是形成一个链表,此处抽取个元素分祈) 。 c r e n t e ta d d l r i m i l c o c r e n t e ,一 c h m g e l r p e r 订 i r o p e r t y c h m g e d 一。 t e v e n t l t ;, n t i l o r p r n d u e e s e t e j ,一 壬:二y j , , r e h iz c 一 、 s e l v e t u l i l o 图3 2 4 几个主要类的通讯图 如图3 2 4 所示,c u i c o n f i g w n d 和c c o n t r o l b a s e 两部分实现了界面设计环 境的功能。c u i c o n f i g w n d 实现了一个容器类的功能,所有的控件都添加在这个 容器中,它里面应该实现容器的基本功能,即添加删除对象、移动对象、选择对 象等功能。而每一个控件都是从控件基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论