毕业设计开题报告学生姓名:学号:学院、系:专业:设计题目:基于LabVIEW的多通道数据采集系统指导教师:2010年03月20日毕业设计开题报告1.结合毕业论文课题情况,根据所查阅的文献资料,撰写2000字左右的文献综述:文献综述1.本课题的研究背景及意义近年来,以计算机为中心、以网络为核心的网络化测控技术与网络化测控得到越来越多的应用,尤其是在航空航天等国防科技领域。网络化的测控系统大体上由两部分组成:测控终端与传输介质,随着个人计算机的高速发展,测控终端的位置原来越多的被个人计算机所占据。其中,软件系统是计算机系统的核心,设置是整个测控系统的灵魂,应用于测控领域的软件系统成为监控软件。传输介质组成的通信网络主要完成数据的通信与采集,这种数据采集系统是整个测控系统的主体,是完成测控任务的主力。因此,这种“监控软件-数据采集系统”构架的测控系统在很多领域得到了广泛的应用,并形成了一套完整的理论。2.本课题国内外研究现状早期的测控系统采用大型仪表集中对各个重要设备的状态进行监控,通过操作盘进行集中式操作;而计算机系统是以计算机为主体,加上检测装置、执行机构与被控对象共同构成的整体。系统中的计算机实现生产过程的检测、监督和控制功能。由于通信协议的不开放,因此这种测控系统是一个自封闭系统,一般只能完成单一的测控功能,一般通过接口,如RS-232或GPIB接口可与本地计算机或其他仪器设备进行简单互联。随着科学技术的发展,在我国国防、通信、航空、气象、环境监测、制造等领域,要求测控和处理的信息量越来越大、速度越来越快。同时测控对象的空间位置日益分散,测控任务日益复杂,测控系统日益庞大,因此提出了测控现场化、远程化、网络化的要求。传统的单机仪器已远远不能适应大数量、高质量的信息采集要求,产生由计算机控制的测控系统,系统内单元通过各种总线互联,进行信息的传输。网络化的测控技术兴起于国外,是在计算机网络技术、通信技术高速发展,以及对大容量分布的测控的大量需求背景下发展起来,主要分为以下几个阶段:第一阶段:起始于20世纪70年代通用仪器总线的出现,GPIB实现了计算机与测控系统的首次结合,使得测量仪器从独立的手工操作单台仪器开始总线计算机控制的多台仪器的测控系统。此阶段是网络化测控系统的雏形与起始阶段。第二阶段:起始于20世纪80年代VXU标准化仪器总线的出现,VXI系统可以将大型计算机昂贵的外设、VXI设备、通信线路等硬件资源以及大型数据库等软件资源纳入网络,使得这些宝贵资源得以共享。此阶段是网络化的测控系统的初步发展阶段。第三阶段:随着技术的发展,现场总线技术的出现带动了现场总线控制系统的迅速发展,使是的可以在一个工厂范围内通过总线将成千上万智能传感器/变送器等智能化的仪表组成一个网络化测控系统,此阶段是网络化测控系统的快速发展阶段。第四阶段:在对现代要求极高的领域,转通的测控系统已经逐渐无法满足用户的要求,许多部门或大型企业迫切要求构建基于Internet或大型局域网的网络化测控系统,即通常所说的分布式测控网络,此阶段是网络化测控系统发展的成熟阶段。3.本课题相关理论3.1程序模块化设计概述数据采集系统的性能在很大的程度上取决于其他应用软件的研究与开发,搜一再明确了系统设计目标之后,应该采用好的程序开发方法,如结构化设计方法、模块化思想、多线程以及软件系统的评价标准等等。3.1.1程序设计的模块化原则模块化结构是所有设计良好软件系统的基本特点,任何一个大的程序系统,总是有若干功能相对独立的模块组成。好的软件结构应体现自顶向下的控制方式,模块之间的控制表现为统帅和从属的关系。信息抽象与信息隐含式模块的基本特征。模块实际上反映了数据与过程的抽象。在模块化问题求解时,在最高抽象级可以采用面向问题的环境语言的抽象术语进行描述;而在较低抽象级,则可采用过程性术语。模块化的概念加上逐步求精的办法,就把面向问题的术语和面向现实的术语两者结合起来。模块独立性有两个定性的标准度量:即内聚和耦合。块间联系是指模块之间的联系,块间联系越小,模块独立性越高。快内联系是指模块内部各部分之间的联系,一个模块的块内联系大,模块独立性提高。好的模块结构,块间联系应尽可能小,快内联系应尽可能大。3.1.2软件系统的模块化设计原则为使研制出的软件具有两哈皮的可靠性、易维护性、易扩充性及易装卸性,软件设计应遵循规范化的模块化设计原则。1、自顶向下逐步求精的设计方法;2、根据逻辑功能划分物理模块;3、模块的作用范围应处在模块的控制范围之内;4、依据逻辑功能确定模块之间的调用关系;5、模块接口应保持简明;6、模块保持单入口性质;7、模块结构增加中间判断层次,提高可扩充性。3.1.3软件系统模块化在本设计中的应用系统程序的主要功能为模块划分的标准,其他包括系统管理,数据采集,数据保存,历史数据的查询等功能。3.2数据库技术数据库技术主要研究如何存储、使用和管理数据,是计算机数据管理技术发展的新阶段,也是计算机技术发展最快、应用最广泛的技术之一。当前,数据库技术已成为现代计算机信息系统和应用系统开发的核心技术,数据库已经成为计算机信息系统和应用系统的组成核心,从某种意义来讲,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。4.2.1数据库技术概述数据库技术涉及到以下几个最重要的概念:1、数据库是长期存储于计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可谓一定范围内的各种用户共享。数据库不仅要反映数据本身的内容,而且要反应数据之间的联系。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。2、数据模型是根据特征的抽象,描述的是数据的共性。数据模型应满足三个方面的要求:一是能比较真实的模拟现实世界;二是容易为人们所理解;三是便于在计算机上实现。一种数据模型要很好地满足这三个方面的要求在目前很困难,在数据库系统中针对不同的使用对象和应用目的,采用逐步抽象的方法,在不同层次采用不同的数据模型,一般分为三层,即物理层、逻辑层和概念层。3、数据管理系统是操纵和管理数据库的软件系统,它由一般计算机程序构成,管理并控制数据资源的使用。他是数据库系统的核心,主要是实现共享数据有效的组织、管理和存取。4.2.2ADO与数据库的交互技术ADO是独立于开发工具和开发语言的数据访问接口,它提供了程序开发人员、应用程序实时存取各种数据库的能力,可以轻松的完成反对各种数据库的查询,存取等操作。ADO又被称为通用数据访问,其数据源包括数据库,电子邮件,文件,文本,图形等。使用ADO不仅可以读取Access和SQLServer数据库,也可以读取其他与ODBC兼容的数据库。4.2.3MySQL数据库MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛的应用在Internet上的中小型网络中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。4.3Web技术4.3.1Web技术概述Web技术的迅猛发展,使全人类都能共享Web上的各类资源,包括功能强大的计算机资源、海量信息的数据库资源、五花八门的多媒体信息资源、门类齐全的软件工具资源等,这些使得任何人能在任何时间、任何地点和任何设备上获得所需要的信息资源。从本质上讲Web技术是各种技术的集成和综合应用,它以TCP/IP协议为基础,使用HTML描述网络的资源,通过文本、超媒体技术实现超级链接,无论文本、图形,还是动画、声音都能通过文档中的链接到服务器上的其它文档或者其他站点,使客户以用交互方式快速地搜索需要的资料,通过表单供用户填写并通过服务应用程序提交给数据库等。4.3.2PHP技术PHP是一种用于创建动态Web页面的服务器脚本语言。PHP大量采用C、Java和Perl语言的语法,并加入了一些PHP自己的特征。PHP支持HTTP的身份认证,支持Cookic,支持GIF图像创建等。其中,最有代表性的特点在于它强大的数据库支持功能,所有主流与非主流数据库它几乎都支持,这使得编写基于数据库的网页变得非常简单。4.3.3远程数据访问系统该部分设计使整个系统的附加设计部分,主要是为了实现数据的远程访问,通过数据库与数据采集系统连接为一体。采集数据的远程访问体现了数据采集的网络化延伸。该远程访问系统采用Apache+PHP+MySQL开发套件进行开发。当然,这部分需要配置服务器,网上很多资料可以参考。4.4多线程技术为了实现多通道数据采集的功能,本设计的软件部分必须实现信号的采集、数据的分析处理、定时存储及实时显示的功能。在用户看来,这些任务是同时进行着的。实实际上,信号采集、定时存储和主控模块放在不同的线程中,利用Windows操作系统的多线程机制,使得各个功能呢个模块能够有条不紊的运行。4.4.1Windows的多线程机制Windows是一个多任务操作系统,每个运行的程序对应着一个进程,而在一个进程内又可以有几个线程。Windows系统把CPU的运行分成许多小的时间片,按各个进程和进程内线程的优先级进行分配,从而使多个程序能“同时”运行。在统一进程内的不同线程都在自己的时间片内执行,避免了相互在时间上可能的冲突。4.4.2LabVIEW与多线程应用多线程技术,可以使得多个独立的任务并发执行,从而极大地提高程序的效率。LabVIEW把线程管理、线程间的通信等复杂操作封装了起来,因此用户可以不用学习复杂的多线程编程就可以编写多线程程序。在LabVIEW中,图形化编程为开发多线程代码带来了很大的好处,因为在数据流的编程环境中,用户可以很容易的“看到”并行代码。例如两个独立的循环或子VI就代表两段可以并发执行的代码。4.4.3多线程技术在本设计中的应用为了实现、显示、查询、报警和系统其它操作的并行执行,在程序创建了两个工作线程:一个是采样工作线程,专门负责数据采集和存储;一个是数据报警和系统其它功能线程,负责定时把缓冲区中的数据存盘。在用户启动系统工作是,这两个工作线程被创建。但不同的是,采样工作线程是在循环往复地工作着,直到退出程序;而数据存储线程则是在一定的时刻被唤醒,比如在数据缓冲区满、或者程序结束等时候,更多的时候,存储模块是处于挂起的状态。因为信号的采集工作和数据存储工作是长时间甚至长年累月运行着,这也是工业生产的实际情况所决定的。通过采用多线程技术,实现了实时性要求高的数据采集与程序其它功能在时间上的相互独立,避免他们在实践上可能产生的冲突,提高了数据采集的稳定性。循环之间的数据传递及线程间的数据传递,可以由局部变量、全局变量、共享变量和队列等方式实现。循环之间的同步即线程之间的同步,这可以由同步技术来实现。如果需要为两个循环设置不同的优先级,可以通过定时循环来实现。参考文献:[1]陈国顺,宋新民,马峻等.网络化测控技术[M],电子工业出版社,2006.9.[2]庞君,计算机辅助测试的发展趋势——虚拟仪器[J],攀枝花学院学报,2003.6:83-83.[3]汪敏生等.LabVIEW基础教程[M].电子工业出版社,2002.1-20.[4]RobertH.Bishop著,乔瑞萍,林欣等译.LabVIEW6i实用教程[M],电子工业出版社,2001.7.[5]杨乐平,李海涛等.LabVIEW程序设计与应用[M],电子工业出版社,2001.7:1-4.[6]连海州,赵英俊,基于LabVIEW技术的虚拟仪器系统[J],仪器与测控,2001.8:21-23.[7]余成波,胡新宇,传感器与自动检测技术[M],北京:高等教育出版社,200.58-65.[8]曹灵芝主编。现代检测技术与虚拟仪器[M],北京:北京航空航天大学出版社,2004.18-20.[9]雷振山.LabVIEW7Express实用技术教程[M],北京:中国铁道出版社,2004.254-265.[10](美)利夫菲克(B.W.)著.软件开发