基于LabVIEW的虚拟频率计设计_第1页
基于LabVIEW的虚拟频率计设计_第2页
基于LabVIEW的虚拟频率计设计_第3页
基于LabVIEW的虚拟频率计设计_第4页
基于LabVIEW的虚拟频率计设计_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、电子科技大学学士学位论文.PAGE IV:.;摘 要虚拟仪器是在计算机根底上经过添加相关硬件和软件构建而成的、具有可视化界面的仪器,它交融了测试实际、仪器原理和技术、计算机接口技术、高速总线技术以及图形软件编程技术等于一体,利用计算机强大的数字的处置才干来实现仪器的诸多功能,突破了传统仪器的框架,构成了一种新的仪器方式。文章分析了虚拟仪器技术的现状及今后的开展趋势,引见了虚拟仪器、LabVIEW的相关知识。表达了虚拟频率计的实际根底,论述了过零计数法测频原理和线性插值法原理。设计了过零计数法测频的程序框图,引见了DAQmx驱动软件的编程方法,创建仿真设备,排除波形过零点附近的动摇干扰。用仿真设

2、备产生模拟波形并验证过零计数法测频的程序框图的正确性。引见了数据采集实际,设计了USB数据采集卡驱动层程序,完成了频率丈量和误差分析,验证了 HYPERLINK baike.baidu/view/.htm t _blank 奈奎斯特定理。关键词:虚拟仪器,LabVIEW,过零计数法,线性插值法,数据采集卡ABSTRACTABSTRACTAbstractVirtual Instrument is based on computer related hardware and software by increasing the building made with a visual interfa

3、ce of the instrument, which combines the test theory, theory and technology equipment, computer interface technology, high-speed bus technology and graphics software programming technology. The use of powerful digital computer processing power to achieve the instruments many features, the traditiona

4、l instruments of the framework is broken, the formation of a new instrument model is established. The Virtual Instrument technology present conditionand and future development trend are firstly analyzed in that paper, the knowledge of related virtual instrument and LabVIEW are described. The theoret

5、ical basis of virtual frequency meter are elaborated,the working principles of zero-crossing counting method and linear interpolation method are elaborated. The flow diagram of virtual frequency meter is designed.The programming method of the driver software related DAQmx are described, the simulati

6、on equipment is established, the fluctuations of waveform are excluded. analog waveform is generated by simulation equipment, The flow diagram of virtual frequency meter is verified. The theoretical data collection is described,the driver diagram of USB data acquisition card is designed. Frequency m

7、easurement and error analysis are completed, Nyquist theorem is verified.Key Words: Virtual Instrument, LabVIEW ,zero-crossing counting method, linear interpolation, data acquisition card目录目录目 录 TOC o - h z u HYPERLINK l _Toc 第章 引言 PAGEREF _Toc h HYPERLINK l _Toc . 测控技术的开展现状 PAGEREF _Toc h HYPERLINK

8、 l _Toc . 虚拟仪器的概述 PAGEREF _Toc h HYPERLINK l _Toc . 虚拟仪器的概念 PAGEREF _Toc h HYPERLINK l _Toc .虚拟仪器的特点及优势 PAGEREF _Toc h HYPERLINK l _Toc . 虚拟仪器技术的开展趋势 PAGEREF _Toc h HYPERLINK l _Toc . 虚拟仪器技术在教学实验中的运用前景 PAGEREF _Toc h HYPERLINK l _Toc . 论文主要内容 PAGEREF _Toc h HYPERLINK l _Toc 第章 过零计数法测频原理与系统设计 PAGEREF

9、 _Toc h HYPERLINK l _Toc .过零计数法测频原理 PAGEREF _Toc h HYPERLINK l _Toc . 线性插值法 PAGEREF _Toc h HYPERLINK l _Toc . 虚拟频率计系统设计 PAGEREF _Toc h HYPERLINK l _Toc .小结 PAGEREF _Toc h HYPERLINK l _Toc 第章 运用层程序设计与仿真 PAGEREF _Toc h HYPERLINK l _Toc . 程序模块化设计概述 PAGEREF _Toc h HYPERLINK l _Toc . 程序设计的模块化原那么 PAGEREF

10、_Toc h HYPERLINK l _Toc . 软件系统的模块化设计原那么 PAGEREF _Toc h HYPERLINK l _Toc . 虚拟频率计运用层程序设计 PAGEREF _Toc h HYPERLINK l _Toc . LabVIEW编程言语的组成部分 PAGEREF _Toc h HYPERLINK l _Toc . 程序设计流程图 PAGEREF _Toc h HYPERLINK l _Toc . 运用层程序设计 PAGEREF _Toc h HYPERLINK l _Toc . LabVIEW名词和函数 PAGEREF _Toc h HYPERLINK l _Toc

11、 . 运用层程序设计 PAGEREF _Toc h HYPERLINK l _Toc . DAQmx仿真 PAGEREF _Toc h HYPERLINK l _Toc . NI数据采集卡的驱动软件 PAGEREF _Toc h HYPERLINK l _Toc . DAQmx驱动函数 PAGEREF _Toc h HYPERLINK l _Toc . DAQmx驱动函数引见 PAGEREF _Toc h HYPERLINK l _Toc . DAQmx驱动函数设计 PAGEREF _Toc h HYPERLINK l _Toc . 过零点附近的动摇处置 PAGEREF _Toc h HYPE

12、RLINK l _Toc .仿真结果 PAGEREF _Toc h HYPERLINK l _Toc . 本章小结 PAGEREF _Toc h HYPERLINK l _Toc 第章 数据采集 PAGEREF _Toc h HYPERLINK l _Toc . 数据采集实际 PAGEREF _Toc h HYPERLINK l _Toc . 数据采集技术概论 PAGEREF _Toc h HYPERLINK l _Toc . A/D转换 PAGEREF _Toc h HYPERLINK l _Toc . 采样定理 PAGEREF _Toc h HYPERLINK l _Toc . 采集系统的

13、普通组成及各部分功能描画 PAGEREF _Toc h HYPERLINK l _Toc . 传感器 PAGEREF _Toc h HYPERLINK l _Toc . 输入信号的类型 PAGEREF _Toc h HYPERLINK l _Toc . 数据采集卡 PAGEREF _Toc h HYPERLINK l _Toc . 数据采集卡的性能目的 PAGEREF _Toc h HYPERLINK l _Toc . 数据采集卡的组成 PAGEREF _Toc h HYPERLINK l _Toc . USB数据采集卡 PAGEREF _Toc h HYPERLINK l _Toc . 芯D

14、端子板 PAGEREF _Toc h HYPERLINK l _Toc . AD模拟量输入的信号衔接方法 PAGEREF _Toc h HYPERLINK l _Toc . 数据采集过程 PAGEREF _Toc h HYPERLINK l _Toc . 非空查询方式获取AD数据 PAGEREF _Toc h HYPERLINK l _Toc . 数据采集VI的层次构造 PAGEREF _Toc h HYPERLINK l _Toc . 数据采集卡的衔接与检测 PAGEREF _Toc h HYPERLINK l _Toc . 频率丈量 PAGEREF _Toc h HYPERLINK l _

15、Toc . 误差分析 PAGEREF _Toc h HYPERLINK l _Toc . 本章小结 PAGEREF _Toc h HYPERLINK l _Toc 第章 总结与展望 PAGEREF _Toc h HYPERLINK l _Toc . 全文总结 PAGEREF _Toc h HYPERLINK l _Toc . 展望 PAGEREF _Toc h HYPERLINK l _Toc 参考文献 PAGEREF _Toc h HYPERLINK l _Toc 致 谢 PAGEREF _Toc h HYPERLINK l _Toc 外文资料原文 PAGEREF _Toc h HYPERL

16、INK l _Toc 外文资料译文 PAGEREF _Toc h PAGE 74电子科技大学学士学位论文第章 引言第章 引言. 测控技术的开展现状测控技术在现代科学技术、工业消费和国防科技等诸多领域中运用非常广泛,它的现代化已被以为是科学技术、国防现代化的重要条件和明显标志。世纪年代以来,计算机、微电子等技术迅猛开展,在其推进下,测控仪器与技术不断提高,相继诞生了智能仪器、PC仪器、VXI仪器、虚拟仪器及互换性虚拟仪器等微机化仪器及其自动测控系统,计算机与现代化仪器设备间的界限日渐模糊,测控领域和范围不断拓宽。近年来,以计算机为中心、以网络为中心的网络化测控技术与网络化测控系统得到越来越多的运

17、用,尤其是在航空航天等国防科技领域。网络化的测控系统大体上由两部分组成:测控终端与传输介质,随着个人计算机的高速开展,测控终端的位置越来越多的被个人计算机所占据,其中,软件系统是计算机系统的中心,甚至是整个测控系统的灵魂,运用于测控领域的软件系统称为监控软件。传输介质组成的通讯网络主要完成数据的通讯与采集,这种数据采集系统是整个测控系统的主体,是完成测控义务的主力。这种“监控软件数据采集系统构架的测控系统构造在很多领域都得到了广泛的运用,并构成了一套完好的实际。随着科学技术的开展,在我国国防、通讯、航天、航空、气候、环境监测、制造等领域,要求测控和处置的信息量越来越大、速度越来越快。同时测控对

18、象的空间位置日益分散,测控义务日益复杂,测控系统日益庞大,因此,提出了测控现场化、远程化、网络化的要求。传统的单机仪器己远远不能顺应大数量、高质量的信息采集要求,产生了由计算机控制的测控系统,系统内单元经过各种总线互连,进展信息的传输。网络化的测控技术兴起于国外,是在计算机网络技术、通讯技术高速开展,以及对大容量分布式测控的大量需求背景下开展起来。主要可分为以下几个阶段。第一阶段:起始于世纪年代通用仪器总线(GPIB)的出现,GPIB实现了计算机与测控系统的初次结合,使得丈量仪器从独立的手工操作单台仪器开场走向计算机控制的多台仪器的测控系统。此阶段是网络化测控系统的雏形与起始阶段。第二阶段:起

19、始于世纪年代VXI规范化仪器总线的出现,VXI系统可以将大型计算机昂贵的外设、VXI设备、通讯线路等硬件资源以及大型数据库程序等软件资源纳入网络,使得这些珍贵的资源得以共享。此阶段是网络化测控系统的初步开展阶段。第三阶段:随着技术的开展,现场总线技术的出现带动了现场总线控制系统(FCS)的迅速开展,使得可以在一个工厂范围内经过总线将成千上万个智能传感器/变送器等智能化的仪表组成一个网络化测控仪器系统,此阶段是网络化测控系统的快速开展阶段。第四阶段:在对现代化要求极高的领域,传统的测控系统曾经逐渐无法满足用户的要求。许多部门或大型企业迫切要求构建基于Internet或大型局域网的网络化测控系统,

20、即通常所说的分布式测控网络,此阶段是网络化测控系统开展的成熟阶段。. 虚拟仪器的概述. 虚拟仪器的概念虚拟仪器的概念是由美国国家仪器公司NationalInstruments最先提出的。所谓虚拟仪器是基于计算机的软硬件测试平台,它可替代传统的丈量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;可集成于自动控制、工业控制系统之中;可自在构建成专有仪器系统。虚拟仪器是智能仪器之后的新一代丈量仪器。虚拟仪器的中心技术思想就是“软件即是仪器。该技术把仪器分为计算机、仪器硬件和运用软件三部分。虚拟仪器以通用计算机和配备规范数字接口的丈量仪器包括GPIB、RS-等传统仪器以及新型的VXI模块化仪器为

21、根底,将仪器硬件衔接到各种计算机平台上,直接利用计算机丰富的软硬件资源,将计算机硬件处置器、存储器、显示器和丈量仪器频率计、示波器、信号源等硬件资源与计算机软件资源包括数据的处置、控制、分析和表达、过程通讯以及图形用户界面有机的结合起来。.虚拟仪器的特点及优势虚拟仪器是基于计算机的功能化硬件模块和计算机软件构成的电子测试仪器,而软件是虚拟仪器的中心。如图-所示,其中软件的根底部分是设备驱动软件,而这些规范的仪器驱动软件使得系统的开发与仪器的硬件变化无关。这是虚拟仪器最大的优点之一,有了这一点,仪器的开发和换代时间将大大缩短。虚拟仪器中运用程序将可选硬件如GPIB,VXI,RS-,DAQ板和可反

22、复用库函数等软件结合在一同,实现了仪器模块间的通讯、定时与触发。源代码库函数为用户构造本人的虚拟仪器VI系统提供了根本的软件模块。由于VI的模块化、开放性和灵敏性,以及软件是关键的特点,当用户的测试要求变化时可以方便地由用户本人来增减硬、软件模块,或重新配置现有系统以满足新的测试要求。图- 虚拟仪器的开发框图虚拟仪器技术的优势在于可由用户定义本人的公用仪器系统,且功能灵敏,很容易构建,所以运用面极为广泛。虚拟仪器技术非常符合国际上流行的“硬件软件化的开展趋势,因此常被称作“软件仪器。它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配以公用探头和软件还可检测特定系

23、统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据;它操作灵敏,完全图形化界面,风格简约,符合传统设备的运用习惯,用户不经培训即可迅速掌握操作规程。. 虚拟仪器技术的开展趋势虚拟仪器是微电子、通讯、计算机等现代科学技术高速开展的产物。自从年库仑发明静电扭秤,年哈里斯提出静电电表构造以来,电测仪表和电子仪器随相关技术的提高、仪器仪表元器件质量的提高和丈量实际方法的改良得到飞速开展。伴随微电子技术、计算机技术、网络技术的迅速开展及在电工电子丈量技术领域的运用,丈量仪器也不断提高和开展,出现了智能仪器。智能仪器是将微机置于仪器内部,使仪器具有控制、存储、运算、逻辑判别及自

24、动操作等智能特点,并在丈量准确度、灵敏度、可靠性、自动化程度、运用才干及处理丈量技术问题的深度和广度等方面都有明显的提高。这种内置微处置器的仪器,既能进展自动测试又能完成数据处置,可取代部分的脑力劳动。随着电子技术、微计算机技术的开展,智能仪器的智能程度不断提高。基于虚拟仪器技术的数据采集系统的提出在一定程度上处理了传统数据采集所面临的问题,虚拟仪器数据采集系统成为当今数据采集系统开展的重要方向。本文正是在虚拟仪器技术的根底上对多通道数据采集系统进展了设计,实现多路信号的采集,并对实验数据进展实时显示、记录、分析处置。虚拟仪器的出现是仪器开展史上的一场革命,代表着仪器开展的最新趋势和新方向,并

25、且是信息技术的重要领域扩展,对科学技术的开展和工业消费将产生不可估量的影响。. 虚拟仪器技术在教学实验中的运用前景在电工及机械电子类课程中,实验是一种重要的教学手段。学生经过实验可以加深对所学知识的了解,加强学习的兴趣,提高动手才干,锻炼在实际中发现问题、分析问题、处理问题的才干。但是,近年来高校的大幅度扩招,学生人数急剧添加,实验室的设备和规模已远远不能满足教学的需求,实验室常规设备多已老化,有的技术落后有待改换,同时常规实验设备的价钱高,用途单一,大量改换所需的经费高。又由于根底实验室面向的专业多、义务重,实验室也仅能按照大纲要求做一些简单的验证明验,学生无法熟习仪器仪表的运用,更很少有时

26、机做设计性实验,这对调动学生学习的积极性,培育发明精神,加强实际动手才干都非常不利。虚拟仪器技术的出现不仅在测控领域掀起了一场革命,同时也给传的教学实验研讨带来了宏大的变化。基于计算机的自动化实验室大大提高了研讨人员的任务效率并改良了学生的学习方式。与以往费时的采集数据的过程不同,如今,教师和同窗都可以集中精神分析结果并得出结论,学生们可以将大部分时间花在实验任务的执行上,而非实验系统设备的搭建中。随着科学技术的不断开展以及相应学科高等教育课程教学内容的更新,为了改善实验条件、改革实验教学方法、更新实验教学内容、提高实验教学课程的开设程度,把虚拟仪器引入实验教学已成为一种必然趋势。. 论文主要

27、内容全文共分为五章,引见了虚拟频率计的设计原理。运用LabVIEW言语编写了虚拟频率计的运用层程序和驱动层程序,运用DAQmx仿真设备对该虚拟频率计进展仿真分析,衔接数据采集卡,进展丈量和误差分析。第一章引见了测控技术开展现状和虚拟仪器技术的概念、特点和优势以及它的开展趋势。第二章论述了虚拟频率计的设计原理,包括过零计数法测频原理和线性插值法原理。第三章用LabVIEW言语编写了运用层函数,完成了过零计数法丈量频率的程序框图的设计。编写了DAQmx驱动层函数,创建了DAQmx仿真设备,完成了仿真分析。第四章编写了数据采集程序,完成了频率丈量和误差分析。第五章为全文的的总结和展望。第章 过零计数

28、法测频原理与系统设计第章 过零计数法测频原理与系统设计.过零计数法测频原理频率是单位时间内的振动次数。振动既包括机械振动,也包括电信号的振动,其数学表达式为 -式中振动频率;振动次数;产生振动所需求的时间。不含直流分量的正弦波每个周期内都应有两个过零点。因此,可以根据过零点次数来判别振动次数。由于采样时间间隔是由数据采集卡决议的,是一个确定值,所以可以得到正弦波的周期为;从而可以计算出频率。确定过零点有不同的方法:确定正过零点 对被测信号进展数据采集,得到被测信号序列为。他们把该信号序列中上次采样为负值、本次采样为正值的点记为正过零点,两个正过零点的时间间隔为: - 式中 采样时间隔; 两次过

29、零点时间内采样的次数; 两个正过零点之间的时间间隔,也即 -线性插值确定过零点 在相邻两个采样时辰的采样值由负变正或由正变负时,在之间存在信号的过零点,如图-所示。根据线性插值公式可求得过零点的时间坐标值为: - 式中:为时辰的采样值;为时辰的采样值。同理,可求出第个过零点,第个过零点的计算公式为: -式中: 为时辰的采样值;为时辰的采样值。 图- 用线性插值法求过零点于是可得信号的频率计算式为 -将式-,-代入式-整理得 -式中: 为采样频率; 为采样间隔; 为在时间内的采样数。 从式-与-比较来看,当以为时,式-与式-完全一样。. 线性插值法 在实践问题及科学研讨中,要素之间往往存在着函数

30、关系,然而,这种关系经常很难有明显的解析表达,通常只是由察看与测试得到一些离散数值。有时,即使 给出了解析表达式,却由于表达式过于复杂,不仅运用不便,而且不易于进展计算与实际分析。处理这类问题的方法有两种:一种是插值法,另一种是拟合法。插值法是一种古老的数学方法,它消费实际,早在一千多年前,我国科学家在研讨历法上就运用了线性插值与二次插值,但它的根本实际却是在微积分产生之后才逐渐完善的,其运用也日益增多,特别是在计算机软件中,许多库函数,如, 等的计算实践上归结于它的逼近函数的计算。逼近函数普通为只含有算术运算的简单函数,如多项式、有理分式即多项式的商。在工程实践问题当中,他们也经常会碰到诸如

31、此类的函数值计算问题。被计算的函数有时不容易直接计算,如表达式过于复杂或者只能经过某种手段获取该函数在某些点处的函数值信息或者导数值信息等。因此,他们希望能用一个简单函数逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的函数值。这种方法就叫插值逼近或者插值法。插值法要求给出函数的一个函数的函数表,然后选定一种简单的函数方式,比如多项式、分段线性函数及三角多项式等,经过知的函数表来确定一个简单的函数作为的近似,概括地说,就是用简单函数为离散数组建立延续模型。许多实践问题都用函数来表示内在规律的数量关系,其中相当一部分函数是经过实验或观测得到的。虽然在上是存在的,有的还是延续的,但只能给

32、出上的一系列点的函数值,这只是一张函数表,有的函数虽然有解析表达式,但由于计算复杂,运用不方便,通常也造一个函数表,如大家熟习的三角函数表、对数表等。为了研讨函数的变化规律,往往需求求出不在表上的函数值。因此,他们希望可以根据给定的函数表做一个既能反映函数的特性,又便于计算的简单函数。用近似。通常选一类简单的函数作为,并使对成立。这样确定下来的就是他们希望的插值函数,此即为插值法。图- 线性插值法线性插值是数学、计算机图形学等领域广泛运用的一种简单插值方法,如图-所示。假设他们知坐标与,要得到区间内某一位置在直线上的值。根据图中所示,他们得到假设方程两边的值为,那么这个值就是插值系数从到的间隔

33、 与从到间隔 的比值。由于值知,所以可以从公式得到的值 -同样, -这样,在代数上就可以表示成为: -或者: -这样经过就可以直接得到。实践上,即使不在到之间并且也不是介于到之间,这个公式也是成立的。在这种情况下,这种方法叫作线性外插。知求的过程与以上过程一样,只是与要进展交换。. 虚拟频率计系统设计数据采集卡的选择NI的数据采集卡价钱昂贵,不适宜在教学实际中推行,所以本次设计选择非NI的数据采集卡。根据数据采集卡的采样频率、采样方法、分辨率等性能目的,选择适宜的数据采集卡。数据采集卡驱动程序设计根据选择的数据采集卡,编写数据采集卡驱动程序,使数据采集卡与LabVIEW衔接。频率计算程序设计数

34、据采集卡与计算机相连,启动数据采集卡,进展数据采集、A/D转换后将得到的一维数组存入指定存储单元,在LabVIEW中编写程序,从得到的一维数组中确认第,过零点前后的采样值。设计原理中提供的方法,在LabVIEW中编写计算频率的程序,在前面板上显示丈量结果。程序流程图设计如图-所示。图- 虚拟频率计主程序流程图.小结本章是本论文中重要的一章,它展现了作者对整个标题研讨的中心内容,是基于前一章的实际分析后,在仿真软件中实际出的结果,并进展了详细的论述和分析,主要包括了以下两个内容:过零计数法测频原理。线性插值法原理。电子科技大学学士学位论文第章 运用层程序设计与仿真第章 运用层程序设计与仿真软件是

35、虚拟仪器的关键。设计一个虚拟仪器系统,在硬件平台确定之后,就可以经过设计不同的软件,实现不同的仪器功能。在设计、实现虚拟仪器的软件系统时,需求思索众多要素,如硬件需求、计算机硬件、操作系统;软件能否建立在开放的构造上,能否需求编程阅历,利用此软件程序能否能在不同的计算机平台上移植,未来能否方便的扩展虚拟仪器的功能等。由于选用公用的开发软件,必需具有一定的仪器以及数据采集设备配合运用。. 程序模块化设计概述数据采集系统的性能在很大程度上取决于其运用软件的研讨与开发,所以在明确了系统设计目的之后,应该采用好的程序开发方法,如构造化设计方法、模块化思想、多线程以及软件系统的评价规范等等。. 程序设计

36、的模块化原那么模块化构造是一切设计良好的软件系统的根本特点,任何一个大的程序系统,总是由假设干功能相对独立的模块组成。好的软件构造应表达自顶向下的控制方式,模块之间的控制表现为统帅和从属的关系。信息笼统与信息隐含是模块的根本特征。模块(Module)实践上反映了数据(Data)与过程(Process)的笼统。在模块化问题求解时,在最高笼统级可以采用面向问题的环境言语的笼统术语进展描画;而在较低笼统级,那么可采用过程性术语。模块化的概念加上逐渐求精的方法,就把面向问题的术语和面向实现的术语两者结合起来。模块独立性有两个定性的规范度量:即块内联络内聚与块间联络耦合。块间联络是指模块之间的联络,块间

37、联络越小,模块独立性越高。块内联络是指模块内部各部分语句与语句段之间的联络。一个模块的块内联络大,模块独立性会提高。好的模块构造,块间联络应尽能够小,块内联络应尽能够大。. 软件系统的模块化设计原那么为使研制出的软件具有良好的可靠性、易维护性、易扩展性及易装卸性,软件设计应遵照规范化的模块化设计原那么。自顶向下逐渐求精的设计方法软件设计往往在开场时不了解问题的全部细节,只能对问题做出全局性的决策,即设计表征处理问题普通战略的笼统算法。对笼统算法做进一步求精,进入下一层笼统。在求精过程的每一步,笼统概念语句或数据都被精细化。根据逻辑功能划分物理模块模块的分解:消除反复的功能部分,使得模块的块内联

38、络较高,块间联络较低。模块的合并。模块的复制。模块的作用范围应处在模块的控制范围之内模块的作用范围是指模块内断定影响的范围。只需某模块中含有依赖于某种断定操作,那么该模块就处于该断定的作用范围之内。根据逻辑功能确定模块之间的调用关系模块之间的调用与被调用,决议于模块各自的逻辑功能,因此对模块的扇入扇出并无加以限制的必要。普通来讲,底层模块的扇入较高,顶层模块的扇出较高。模块接口应坚持简明降低模块接口的复杂性,是模块设计中必需思索的问题。坚持模块接口的简明,一方面须减少模块间传送的信息量,更重要的是使所传送的必要信息具有明确的逻辑含义。模块应坚持单入口性质单入口模块,易于了解。由于副作用的减少,

39、可以降低错误的发生率。模块的出口可以有多个,但均应具有明确的逻辑含义。模块构造添加中间判别层次,提高可扩展性. 虚拟频率计运用层程序设计. LabVIEW编程言语的组成部分一切的LabVIEW运用程序,即虚拟仪器(VI),它包括前面板(Front Panel)、流程图(Block Diagram)以及图标/连结器(Icon/Connector)三部分。前面板前面板是VI的监护室用户接口,与真实物理仪器面板类似,前面板可以包含旋钮、刻度盘、开关、图表和其他界面工具,允许用户经过键盘或者鼠标获取数据显示结果。流程图流程图提供VI的图形化源程序。在流程图中对VI编程,以控制和支配定义在前面板上的输入

40、和输出功能。流程图中包括前面板上的控件连线端子,还有一些前面板上没有,但编程必需有的东西,例如函数、构造和连线等。假设将VI与传统仪器相比较,那么前面板上的控件对应的就是传统仪器上的按钮、显示屏等控件,而流程图上的连线端子相当于传统仪器箱内的硬件电路。在许多情况下,运用VI可以仿真传统仪器,不仅在屏幕上出现一个惟规范仪器面板,而且其功能也与传统规范仪器相差无几。这种设计思想的优点表达在两方面: 类似流程图的设计思想很容易被工程人员接受和掌握,特别是那些没有很多程序设计阅历的工程人员。 设计的思绪和运转过程明晰而且直观。如经过运用数据探针、高亮执行调试等多种方法,程序以较慢的速度运转,使没有执行

41、的代码显示灰色,执行后的代码会高亮显示,同时在线显示数据流线上的数据值,完全跟踪数据流的运转。图标/衔接设计这部分的设计突出表达了虚拟仪器模块化程序设计的思想。在设计大型自动检测系统时一步完成一个复杂系统的设计是相当有难度的。而在LabVIEW中提供的图标/衔接工具正是为实现模块化设计而预备的。可把一个复杂自动检测系统分为多个子系统,都可完成一定的功能。这样设计的优点表达在如下几方面:把一个复杂自动检测系统分为多个子系统,程序设计思绪明晰,给设计者调试程序带来了诸多的方便。同时也对于未来系统的维护提供了便利。一个复杂自动检测系统分为多个子系统,每一个子系统都是一个完好的功能模块,这样把测试功能

42、细节化,便于实现软件复用,大大节省软件研发周期,提高系统设计的可靠性。. 程序设计流程图 根据实验原理中用线性插值法确定过零点的方法,先要找到采集到的数据中离由正到负过零点前后两个点。将采集到的数组送到For循环中,逐个比较其与零的大小关系,假设第个数大于零,那么再比较第个数,假设第个数小于或等于零,那么满足条件,将存入新的数组,循环完成时可得到由组成的一个新数组。用该数组中的数索引采集到的数组,就可以找到数据中由正到负过零点前后两个采样点,根据式-编写频率计算程序,得到信号源的频率。确定过由正到负过零点前后两个采样点程序流程图程序流程图如图-所示。图- 确定过由正到负过零点前后两个采样点程序

43、流程图. 运用层程序设计. LabVIEW名词和函数程序设计之前,先引见LabVIEW的几个名词和函数。数组 在LabVIEW中,数组中的元素是同一类型的数据集合,而且必需都是控件或者都是指示控件。这些数据的类型可以是数值型、布尔型、字符串型等。一个数组可以是一维、二维或者多维,每维最多可以有个元素。数组的索引是从开场的,范围介于到之间,其中是数组中元素的个数。For循环For循环将衔接到总数N接线端的值作为执行次数的子程序框图。计数接线端可提供当前的循环总数,取值范围是到。 HYPERLINK lvhowto.chm:/Creating_For_Loops.html 创建For循环后,可 H

44、YPERLINK lvhowto.chm:/Using_Shift_Registers_to_R.html 运用移位存放器将值从上一个循环传送到下一个循环。如将数组衔接到For循环, HYPERLINK lvhowto.chm:/Auto_Indexing_.html 启用自动索引可读取和处置数组中的各个元素。也可配置For循环使其前往由循环生成的值所组成的数组,启用启用自动索引。循环框外面的数据可以经过数据通道进入循环框内,同样,循环框内的数据也可以经过数据通道传送到循环框外。数据通道是用连线工具衔接循环框内外的数据端口时,在框架上自动构成方形通道图标,图标空心阐明此时数据通道具有自动索引功

45、能,实心图标不能索引,For循环的数据通道默以为能自动索。本次设计中将采集到的数组送入For循环进展处置。For循环构造如图-所示。 图- For循环构造 图- 移位存放器函数移位存放器 移位存放器可用于将上一次循环的值传送至下一次循环。移位存放器以一对接线端的方式出现,分别位于循环两侧的边框上,位置相对。右侧接线端含有一个向上的箭头,用于存储每次循环终了时的数据。LabVIEW将数据从移位存放器右侧接线端传送到左侧接线端。循环将运用左侧接线端的数据作为下一此循环的初始值。该过程在一切循环执行终了后终了。循环执行后,右侧接线端将前往移位存放器保管的值。移位存放器可以传送任何数据类型,并和与其衔

46、接的第一个对象的数据类型自动坚持一致。衔接到各个移位存放器接线端的数据必需属于同一种数据类型。循环中可添加多个移位存放器。如循环中的多个操作都需运用之上一次循环的值,可以经过多个移位存放器保管构造中不同操作的数据值。本次设计中移位存放器传送的是一个初始化的数组,将满足条件的存入到该数组一次循环时,将该数组传送到左侧接线端,作为下一次循环的初始值。移位存放器函数如图-所示。 条件构造条件构造包括一个或多个子程序框图,或分支,构造执行时,仅有一个子程序框图或分支在执行。衔接至选择器接线端的值可以是布尔、字符串、整数,或枚举类型,用于确定要执行的分支。右键单击构造边框,可添加或删除分支。可运用标签工

47、具来输入条件选择器标签的值,并配置每个分支处置的值。当控制条件为布尔型数值时,有Ture和False两种选择框架,这是LabVIEW默许的选择框架方式。当控制条件为数值型时,选择器标签值为整数、,选择框架的个数可根据实践需求确定,最多可包含个条件。本次设计中假设有满足条件的i那么将其存入数组中,假设没有,进展下一次循环。条件构造面板如图-所示。 图- 条件构造 图- 初始化数组初始化数组该函数的作用是创建维数组,其中的每个元素都被初始化为“元素的值。经过定位工具可 HYPERLINK lvhowto.chm:/Resizing_Array_Functions.html 调整函数的大小,添加输出

48、数组的维数。连线板可显示该多态函数的默许数据类型。“元素是用于初始化“初始化的数组中一切元素的值。“元素可以是恣意类型的标量数据。“维数大小须为数值。如维数大小为,函数将创建空数组。维数组的“维数大小接线端必需为。“初始化的数组的数据类型与“元素一致。本次设计中,初始化一个数组,用来存放满足条件的。初始化数组函数面板如图-所示。索引数组索引数组函数经过设定索引值得到 维数组的元素或子数组,该函数功能为访问数组中的某个元素或子数组。数组是一个一维数组,索引功能为设定某一详细数值,索引后的结果.假设是数组的某一元素。假设数组是一个二维数组,那么索引功能增添为索引行和索引列,索引后的结果是数组的某一

49、子数组。本次设计中,用该函数来索引找到的离过零点前后两个点后计算频率。索引数组函数面板如图-所示。图- 索引数组. 运用层程序设计根据程序流程图-,从数据采集卡中读取关于的一维数组,读取的采样数为个,将一维数组送入循环中求得满足条件的,所以循环次数为次。初始化一个一维数组,将满足条件的的索引存入该初始化的数组。这里用条件构造来判别能否满足条件,假设满足,将存入初始化的数组,不满足,那么进展下一次循环。循环终了后得到一个关于的新的一维数组。确定过由正到负过零点前后两个采样点程序框图如下图-所示。图- 确定过由正到负过零点前后两个采样点程序框图用关于的一维数组中两个延续的元素索引关于的一维数组,就

50、得到了和,关于的一维数组中,的下一个数就是,的下一个数就是。为在时间内的采样数,关于的一维数组中两个延续的元素之间的差就是时间内的采样数。根据实验原理,采样频率由数据采集卡确定的,是一个知的定量,此时假设根据公式-将采样频率直接代入计算,就可以得到正弦波的频率。频率计算程序框图如图-(a)所示。 图-(a) 频率计算程序框图为了设计结果更加准确,这里将图-(a)的程序放入循环,可以计算多次求平均值。用“数组大小函数求关于的一维数组的大小,用作循环次数。初始化一个数组,用来存放每次循环后计算得到的频率。这里用移位存放器将关于频率的一维数组函数保管下来。最后用一维数组求和函数求关于频率的一维数组的

51、元素的和,求平均值,得到频率。频率计算程序框图如图-(b)所示。图-(b) 频率计算程序框图. DAQmx仿真. NI数据采集卡的驱动软件在基于DAQ插卡的虚拟仪器系统中,驱动软件起着非常重要的作用。他将DAQ插卡和计算机有效的交融成为一个DAQ仪器系统,完好的实现了仪器的数据采集、分析处置和显示输出等三大功能。目前,大多数DAQ插卡消费商都向用户提供了驱动软件或驱动程序驱动函数库,驱动程序将底层的、复杂的硬件操作隐蔽起来,为用户提供了更方便的软件调用接口,运用程序只需求调用随DAQ插卡提供方的现成驱动函数即可。同时还提供书记采集演示程序及其源代码。提到虚拟仪器软件的组成。大多数人首先想到的就

52、是运用程序层,就是主要的开发环境。它包括诸如LabVIEW、LabWindows/CVI(ANSIC)和Measurement StudioVisual Studio 编程言语之类的软件。测试执行层结合了运用程序层所开发的功能。接下去一层通常很容易被忽视,但它对于软件开发效率来说却是至关重要的。测和控制效力层包括与硬件通讯的驱动程序。丈量和控制效力必需能访问并发扬硬件功能和性能,它们也必需与一切其他的驱动和已成为处理方案一部分的众多模块化I/O 协同任务。数据采集(DAQ)是虚拟仪器获取信息必不可少的根本功能,DAQ是LabVIEW的中心,运用LabVIEW必需求掌握DAQ软件的开发和运用。N

53、I推出LabVIEW.后,将DAQ分为传统DAQ和DAQmx,使得本来非常强大的DAQ功能变得更加完善。它包含有很多DAQ卡的驱动,分别有各自的API函数。NI在世纪年代初次发布了传统NI-DAQ驱动。传统NI-DAQ经过提供对各种设备的扩展功能对已有的DAQ库进展了许多改良,这些改良包括双缓冲采集、对特定传感器类型提供内置标度,例如热电偶和应变计、信号调理、以及一个单一的且可与多种设备和操作系统(OS)协同任务的函数库。年代后期,NI-DAQ团队认识到坚持API与以前版本的兼容性的这个要求添加了向传统NI-DAQ添加新特性和设备的难度。此外,在长期的开展过程中,传统NI-DAQ的API产生了

54、许多需求处理的问题。NI-DAQ开发者难以直观地扩展API而且难以优化不断增长的客户运用范围。因此NI以为一个全新的API设计和体系构造可以协助 NI-DAQ开发者更轻松地添加新特性和新设备,处理许多现有的驱动问题,并且同时可以优化性能。DAQmx驱动软件功能远强于根本的数据采集驱动,它在数据采集和控制运用的开发中,表达出更高的效率和性能。DAQmx控制DAQ系统包括NI信号调理设备的每一方面,从配置,在LabVIEW中编程,直到低层操作系统和设备控制。经过具有即测即用功能的虚拟通道和DAQ助手(DAQ Assistant)快速搜集实践数据。利用丈量VI、函数、数据类型和分析功能集成,建立运用

55、程序。借助优化的DMA数据传输和单点I/O,丈量更快、更稳定。. DAQmx驱动函数运用DAQmx的VI和DAQ助手,建立模拟设备,经过模拟设备产生正弦波,编写数据采集通道,进展频率丈量,并和LabVIEW自带的频率丈量函数相比较。. DAQmx驱动函数引见引见函数之前,先明确几个名词:物理通道:衔接被测信号的实践端子对差分输入方式而言,每个物理通道对应两个端子。虚拟通道:是一组属性设置的集合,包含虚拟通道名、对应的物理通道、输入接线方式差分、RSE、NRSE、输入范围、缩放比例等。虚拟通道分为两种:部分和全局虚拟通道。部分虚拟通道。部分虚拟通道仅存在于某个DAQmx定义义务中;而全局虚拟通道

56、可以长期保管在MAX中且可被多个义务所运用。DAQmx义务:它是一个或多个虚拟通道的集合,此外,它还包含了定时、触发等属性。它代表了所要实施的一次信号丈量或信号的发生操作。DAQmx义务分为两种:一种是独立于程序而存在、可以被各个程序所运用,且可长期保管到的义务。另一种是仅存在于某程序运用的所谓暂时任。DAQmx数据采集选板。DAQmx一切的VI都位于All Functions模板的NI Measurement子模板的DAQmxData Acquistion子模板内,如图-所示。 图- DAQmx数据采集选板 图- DAQ Assistant选板DAQ助手由于DAQmx将传统DAQ VI进展了

57、整合,因此他的VI虽然总数上精简很多,但数量数上依然相当可观,NI公司由此专门设计了图形化的设置工具DAQ Assistant,用于简化用户操作。可以在DAQmx-Data Acquisition子模板内选择DAQ Assistant,如图-所示。DAQ助手可经过图形化界面让用户交互式地创建、编辑、运转NI-DAQmx虚拟通道和义务。每个NI-DAQmx虚拟通道由DAQ设备上的一个物理通道以及该物理通道的配置信息,比如输入范围和自定义缩放。一个NI-DAQmx义务就是一个包含虚拟通道、定时、触发信息、以及其他与采集和生成相关的属性集合。DAQ助手函数面板如图-所示。NI-DAQmx虚拟通道创建

58、NI-DAQmx虚拟通道创建函数可以创建一个虚拟通道并将它添加至义务,也可用于创建多个虚拟通道,并将它们都添加至一个义务中。假设没有指定某个义务,那么该函数自动创建一个义务。NI-DAQmx虚拟通道创建函数包含无数个的例程,这些例程对应虚拟通道执行的特定丈量或生成。NI-DAQmx虚拟通道创建函数面板如图-所示。 图- DAQ助手 图- NI-DAQmx虚拟通道创建NI-DAQmx触发 NI-DAQmx触发函数可用于对触发进展配置来执行指定操作。最常用的操作是开场触发和参考触发。开场触发用于启动采集或生成,参考触发那么用于在一组采集样本中创建预触发数据终了后和后触发数据开场前的位置。可对这两个

59、触发进展配置,使其发生在数字边沿、模拟边沿、或模拟信号进入或分开窗口时。NI-DAQmx触发函数面板如图-所示。NI-DAQmx定时NI-DAQmx定时函数用于对硬件定时的数据采集操作进展定时配置,包括指定操作是延续执行还是有限执行、选择采集或生成的样本数量以进展有限操作、以及需求时创建缓冲区。对于需求采样定时模拟输入,模拟输出,计数器的操作,NI-DAQmx定时函数的采样时钟例程可用于设置采样时钟源和采样速率,采样时钟源可以是内部也可以是外部的信号源。采样时钟可以控制采集或生成样本的速率。每个时钟脉冲将启动义务中每个虚拟通道的样本采集或生成。NI-DAQmx定时函数面板面板如图-所示。图-

60、NI-DAQmx触发 图- NI-DAQmx定时NI-DAQmx开场义务NI-DAQmx开场义务函数可以将一个义务显式转换成运转形状。在运转形状下,义务将进展指定的采集和生成。当NI-DAQmx读取函数运转而NI-DAQmx开场任函数未运转时,义务将隐式转换成运转形状或自动启动。这种隐式转换也会发NI-DAQmx写入函数在指定的自动开场输入驱动下运转但NI-DAQmx开场义务函数未运转时。虽然不一定需求,但包含硬件定时的采集或生成的义务最好运用NI-DAQmx开场义务函数来显式启动。而且,假设需求多次执行NI-DAQmx读取函数或NI-DAQmx写入函数比如在一个循环中,那么应运用NI-DAQ

温馨提示

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

评论

0/150

提交评论