基于LabVIEW的科学计算器概要.docx
- 文档编号:29621911
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:31
- 大小:814.11KB
基于LabVIEW的科学计算器概要.docx
《基于LabVIEW的科学计算器概要.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的科学计算器概要.docx(31页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的科学计算器概要
内容摘要:
本次毕业论文是基于LabVIEW的科学计算器,主要是使用LabVIEW虚拟仪器开发环境设计出一款简易计算器,使它达到两个数之间的四则运算和求倒数、求开方、取负值等一些基本简单的运算。
并对这些运算的实现过程中出现的一些问题使用LabVIEW程序进行解决。
编程的主体思想是对一个运算过程的完整表述:
首先输入第一个数据,存储并显示;再是对运算类型进行输入并存储;然后输入第二个数据,存储并显示;最后按“=”得出结果或者是按其他运算符号继续进行连续的运算。
关键词:
LabVIEW科学计算器虚拟仪器四则运算。
Abstract:
ThispaperisbasedontheLABVIEWscientificcalculator,mainlytheuseofLABVIEWvirtualinstrumentdevelopmentenvironmenttodesignasimplecalculator,toachieveanumberoftwofouroperationsandreciprocal,squareroot,negativeforsomebasicsimplearithmetic.AndsolvesomeoftheproblemsintheimplementationprocessoftheseoperatorspracticalLABVIEWprogram.Themainideaistoprogrammingformulationofanoperationalprocessiscomplete:
Thefirstinputdata,storageanddisplay;thentooperationtypeinputandstored;andthentheseconddatainput,storageanddisplay;finally,accordingtothe"="resultsorbyotheroperationstocontinue.
Keywords:
LabVIEWScientificcalculatorVirtualinstrumentArithmetic.
1.绪论
1.1论文的研究背景
本课题是基于LabVIEW的科学计算器的设计,所涉及到的主要思想就是虚拟仪器的应用。
它完美的体现了仪器与计算机的结合,本论文就是体现在计算机里面装入仪器,这种方法以计算机为基础,从而实现计算器在计算机中实现全部功能。
虚拟仪器的使用领域与研究范围也越来越广泛,大到航天航空工业,小到个人随身的携带品都会使用到虚拟仪器。
1.2仪器的发展背景
世界上被称为第一代的仪器叫做模拟仪器。
这种仪器主要通过模电技术去实现,通过指针的方式来表现最后的结果。
随着科学技术的发展,数字仪器慢慢的取代了虚拟仪器,成为了被人们心目中的第二代仪器,数字仪器的主要功能就是实现模数转换,将原本是模拟信号的测量最终转化为数字信号的测量,并输出结果。
就现在看来,数字仪器的使用也相当广泛。
随着人们的思想不断进步,第二次仪器革命也就到来,从而第三代仪器-智能仪器被推出,智能仪器中包含了微处理器,它不仅可以进行自动测量,而且还具有一定的数据处理方面的能力,因而可以取代部分脑力方面的劳动。
但是这种智能仪器无论是应用方面还是开发方面,灵活性很不足,因为它全部功能都是以固态的形式而存在,不能像软件那样随便的拓展。
不足就必须会有改进,不久以后,由现代计算机技术和测量技术相结合的而成的产物,从而诞生了我们现在所称的虚拟仪器,它的诞生可以说得上是在传统仪器的基础上一次巨大的变革,从而奠定了将来仪器的发展方向。
1998年,虚拟仪器产品陆续上市,从此以后,虚拟仪器产品更是快速的增多。
纵观仪器的发展史,我们可以发现仪器领域已经历了两次伟大的技术革命。
分别是:
由数字电子的发展从而引起的一次革命,和由微型处理器的应用从而引起的另一次革命。
第一次仪器革命使仪器的形态从模拟仪器时代进入了数字化仪器时代;第二次仪器革命使数字化仪器时代仪进入了智能仪器时代。
就目前看来,仪器将进入虚拟仪器时代,这次仪器革命是由计算机的发展而引起,计算机的进步就体现在它的软件和硬件之上。
1.3虚拟仪器的发展及未来前景
虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。
逐渐走向成熟的虚拟仪器从提出想法到目前技术上有很大的发展,直接表现出传统工业的革命中计算机技术的重大突破。
从虚拟仪器的历史来看,大致经过了三个发展进程。
使用计算机增强传统仪器的功能是第一进程。
由于树立了GPIB总线标准,使计算机不再拥有独立的功能,让它和其他计算机之间的交流得以实现。
如果用户需要用计算机操作仪器,达到两者之间协同工作,仅仅需要将GPIB和RS-232将其与计算机联结就可以实现操作。
在这一阶段虚拟仪器几乎是直线上升的发展。
开放式的仪器构成是第二进程。
其中plug-inPCDAQ和VXI仪器总线标准的建立使得这两大技术性的进步出现在仪器硬件上。
这些新技术使虚拟仪器的发展有了很大的提高,不仅处理了在上一个阶段内在供应方面以及设定仪器功能方面的不同,并且开放了仪器的构成,使之为广大用户所了解。
虚拟仪器框架得到了广大群众的认同与好评,最终采用是第三阶段。
因为软件领域一般采用面向对象的编程思想,所以开发了框架封装任何用户构建虚拟仪器需要知道的东西,使用户的操作更为便捷。
硬软件所涉及的行业直接导致了很多的行业有了自己的准则,某些虚拟仪器平台也就成为了该行业的权威准则工具并得到认可。
至此,人们也逐渐认识到了框架对于虚拟仪器的重要性,若想要实现一般仪器所具有的功能,例如:
数据采集方面,框架就是实现目的的重点。
自从NationalInstruments公司率先提出虚拟仪器概念至今已有20多年.在这20多年里,NI逐步改革了全世界工程师和科学家们测量和自动化的方法.今天,全世界的工程师和科学家们正在成千上万个应用系统中使用“虚拟仪器”,从而达到了缩短开发时间、提高产品品质并降低生产成本的共同目的.同时,虚拟仪器技术也正在趋于成熟和完善.此外,互联网也已经使数据共享进入了新的阶段,加速了虚拟仪器的新网络技术及远程计算技术的发展,而这些技术是传统独立仪器不可能实现的.虚拟仪器技术很好地利用了互联网的功能,因此,可以将来自测量或控制设备中的数据直接发布到Web网页上,或是用手持式的数字助理工具读取数据,甚至还可以将数据输出到手机上.使用虚拟仪器技术,可以使用互联网的强大功能远距离控制的仪器设备,或是与远在其它办公地点甚至其它国家的同事合作处理一个项目.未来的这种连通水平将会更高,届时将赋予模块化新的定义.随着互联网和无线技术的不断发展,工程师们不仅能够重新使用模块化的组成部分,还可以更方便地在全球范围内共享知识和经验——巩固开发过程每个阶段工程师们的努力成果.商业科技的发展浪潮将会继续,同时也会将虚拟仪器技术推向新的水平.因此,性能的提高将会更容易实现,从而节省宝贵的开发及系统集成时问,同时又比传统仪器测量方案成倍降低成本.没有人能够准确地预测未来的虚拟仪器将会发展到怎样的程度,但是有一点可以肯定——Pc机与其相关的科技将会是虚拟仪器技术的核心,而有了它的帮助将会更成功。
总之虚拟仪器技术,使现代测控的系统更灵活、更紧凑、更经济、功能更强大无论是测量、钡4试、计量或是工业过程控制和分析处理,还是其他更为广泛的测控领域,虚拟仪器都是理想的高效率的解决方案.随着计算机技术的不断发展,虚拟仪器技术也会在各领域中发挥其重要作用,他将在促进科技进步.创造良好的社会效益和巨大的经济效益方面发挥卓越的作用,并表现出强大的生命力,它必然会对科技发展和工业生产产生不可估量的影响。
2虚拟仪器及LabVIEW的介绍
2.1虚拟仪器的介绍
虚拟仪器(virtualinstrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
框图2-1反映了常见的虚拟仪器方案。
图2-1常见的虚拟仪器方案
2.2虚拟仪虚拟仪器的主要特点
虚拟仪虚拟仪器的主要特点有:
(1)尽可能采用了通用的硬件,各种仪器的差异主要是软件。
(2)可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
(3)用户可以根据自己的需要定义和制造各种仪器。
虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。
使用LabVIEW软件,用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEWReal-Time工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。
普通的PC有一些不可避免的弱点。
用它构建的虚拟仪器或计算机测试系统性能不可能太高。
目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。
每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。
这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。
VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。
虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。
目前使用较多的是IEEE488或GPIB协议。
未来的仪器也应当是网络化的。
2.3虚拟仪器开发平台LabVIEW的介绍
1986年,美国国家仪器公司的工程师杰夫·考度斯基(JeffKodosky)的在苹果电脑上发表了LabVIEW的程序,LabVIEW是一种程序开发环境,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试,图2-2为LabVIEW标志。
2-2LabVIEW标志
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一种用图标代替文本行创建应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。
VI指虚拟仪器,是LabVIEW的程序模块。
2.3.1LabVIEW的界面介绍
本次实验本人使用的是现在都比较普遍的版本LabVIEW8.5,图2-3便是LabVIEW8.5的开始界面:
图2-3LabVIEW8.5的开始界面
2.3.2虚拟仪器开发平台LabVIEW8.5的程序构成与模块简介
LabVIEW的核心是VI(G语言编写的程序)。
该环节包含三个部分:
程序前面板(FrontPanel)、程序框图(BlockDiagram)以及图标/连接端口(Icon/Connector)。
1.前面板(FrontPanel)
我们与用户交流要通过前面板来实现,前面板就类似于传统仪器的面板,当然面板上就会有开关,旋钮,表头,图形,图表等对象,这些对象可分为两类:
用户输入和显示输出。
前面板的界面如图2-4:
图2-4前面板界面
前面板的控件图2-5:
图2-5前面板的控件组
如图2-6所示的是一个正弦函数VI的前面板。
图2-6前面板显示的正弦波VI
2.程序框图(BlockDiagram)
程序框图和前面板是一一对应的,前面板上的输出与输入功能都由后台的程序框图控制操作着,图2-7为LabVIEW的程序框图界面。
图2-7程序框图
LabVIEW8.5提供了3大类操作选板,即控件模板、控制模板和工具模板,这些选板主要集中反映了该软件的功能与特征。
图2-8为程序框图的部分功能模块:
图2-8程序框图的功能模块
2.4LabVIEW的特点与发展
LabVIEW跟传统编译程序有很大的区别。
当程序员们在使用传统的编程程序打程序代码时,LabVIEW却推出了以图形代替代码的全新设计理念。
它是的开放性特别高,这使得程序员们在组建仪器的系统过程中大大的简化了程序的设计。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
LabVIEW的工作原理为框图程序发出指令给前面板。
在前面板中,有一个类似于输出装置的元件。
数据就是由它传送给虚拟仪器的框图程序。
框图程序自己也会产生数据。
最终,框图程序中的所有数据都由指示器显示。
当指示器与输出元件都被放置在前面板上时,LabVIEW的框图程序中会产生终端。
它不能被直接删除;只有当对应的输出元件与指示器被删除时,控件才能被删除。
LabVIEW依附的概念为模块化程序设计。
它的设计理念是把程序进行模块化分解,通过不断的分解,从而达到把大问题转化成许多个小问题,再进行逐一解决,最后把解决后的小问题进行组合。
这样最终形成了解决问题的VI。
这样使得程序图形化的设计在编程上简单、直观,开发的效率也有了很大的提高。
LabVIEW广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。
像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。
由于LabVIEW具备如此多的优点,使得它在许多科学领域都有特别突出的表现。
比如测试测量、控制、仿真、儿童教育、快速开发、跨平台等。
3计算器的介绍
3.1计算器的起源
中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。
这种算筹多用竹子制成,也有用木头,兽骨充当材料的。
约二百七十枚一束,放在布袋里可随身携带。
直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。
17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了计圆柱型对数算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。
1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是只能做加减计算。
1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。
此后,一直要到20世纪50年代末才有电子计算器的出现。
3.2计算器的功能类型
根据表现形式可分实物形态的计算器与软件形式的计算器
实物计算器,此类计算器一般是手持式计算器,便于携带,使用也较方便,但一般情况下,功能较简单,也不太方便进行功能升级.也有少部功能强大的图形式手持计算器,但由于价格最贵,在平板电脑与智能手机普及的情况下,不建议购买最贵的多功能手持计算器.
软件形式的计算器.此类计算器以软件存在,能在PC电脑或者智能手机,平板电脑上使用.此类计算器功能多,功能可以通过软件升级进行扩展.随着平板与智能手机有普及,软件形式的计算器的应用会越来越多,最终有望取代传统的手持式计算器.
软件形式的计算一般可分为三类:
常见计算器,专用计算器,综合功能计算器.
常见的计算器又有四类:
1算术型计算器——可进行加、减、乘、除等简单的四则运算,又称简单计算器。
一般都是实物计算器
2科学型计算器——可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。
可以是软件,也可以是实物。
3程序员计算器——专门为程序员设计的计算器,主要特点是支持And,Or,Not,Xor:
最基本的与或非和异或操作,移位操作Lsh,Rsh:
全称是LeftShift和RightShift,也就是左移和右移操作,你需要输入你要移动的位数(不能大于最大位数)RoL,RoR:
全称是RotateLeft和RotateRight,对于RoL来讲,就是向左移动一位,并将移出的那位补到最右边那位上,RoR类似
4统计计算器--为有统计要求的人员设计的设计的计算器,可以是软件,也可以是实物。
4.总体设计
4.1设计思路与流程图
创建3个字符串显示控件。
分别命名为num1,num2,num3,它们的作用主要是:
1、当第一个输入数据时,存储在num1中
2、第二个输入数据时,存入num2中
3、将其赋给num3,并使num2为空,以便输入的数据存入num2
4、所有的运算是在num1和num3间进行
5、运算结果都赋给result,同时赋给num1,用于下一次的运算
创建布尔开关按钮change,change1,change2,change3,其中:
1、Change的真假用来判断是第一个数据还是第二个数据
2、change1的功能是在输入=,运算完后,不需要初始化即可进行下一次运算
3、change2用来去掉数据小数末尾的0
4、change3用来保证backspace键仅对输入的数据有效,对运算结果无效
创建2个数值显示控件type1,type2,并分别在其后面板的属性——数据类型——表示法中选择U8其中:
1、type1用来存储运算符号
2、type2用来保证连续“+、-、*、/”的正确性
3、所有的运算结果都赋给result
4、result经过去零处理后得到result1,将数据显示在前面板上。
根据要求作出程序流程图如图4-1:
图4-1程序流程图
4.2键入感应
1.在前面板中建立一个簇
;
2.在簇中建立一个布尔量;
3.对布尔量进行复制,分别用来表示0-9十个数字键、小数点键、等号键、加减乘除四个键、反号键、开方键、倒数键、清零键、退出键;一共21个键;
4.然后通过
将簇中各元素按产生的顺序组成一个一维数组;这样使得每个键对应着各个数字;
每当按下一个键时,都会通过
查找出对应的键并把结果连接到一个case结构,然后执行对应case结构中的程序,一个键的感应过程就这样被完成,如图4-2:
图4-2键的感应
4.3数字的读入
4.3.1数字1~9的键入
图4-3数字读入程序图
具体赋给哪个操作数通过布尔量change的状态决定,该布尔量状态在输入运算类型键后改变。
这里要注意的是:
在第二个数键入时,要把结果赋给num3,最终是在num1和num3之间进行运算运算,这样做是为了在一种运算结束后能实现连续的运算。
4.3.2数字0的键入
当第一次输入0时,与上述真的情况相同,现在就零输入时的多零问题进行设计。
虽然以多个零开头不影响输出的结果,但考虑到显示形式的正确性,只在小数点前显示一个零。
当数据输入后,通过连接字符与00比较,若不等,数据直接输出(图4-4)。
若相等,则直接输出0(图4-5)。
图4-4
图4-5
4.4操作类型
当按下运算类型键时,存储对应的数字序号到type;以按下“=”号时进行运算类型的确定。
操作类型默认为“空”。
在此操作类型case中同时执行对change状态转换。
在其中再用一个case结构用于实现“+、-、*、/”的连续运算,(图4-6):
图4-6操作类型程序图
这里要特别注意的是:
在第二个数据被键入时,结果要赋给num3,最终的运算是在num1和num3之间进行。
这样做的目的是在一次运算结束后能实现下次运算的持续。
4.5常用键的设置
4.5.1小数点(.)
小数点键的输入与数据的输入类似,要看change3的状态
。
另外需考虑到:
每个数据中最多只能有一个小数点。
输入(图4-7):
图4-7小数点键入程序
4.5.2等号键
当两次数据与关系符号都被确定后,按下“=”键,结果就被现实出来。
为了防止结果存在多零显现,所以需设置
状态。
等号键也需要分为四种情况,分别是加、减、乘、除后。
(图4-8、4-9、4-10、4-11):
图4-8加后键的等式设置
图4-9减后键的等式设置
图4-10乘后键的等式设置
图4-11除后键的等式设置
4.5.3清零键C
清零就是对输入的数据或者结果进行赋空字符,显示框中显示0。
change、change1复位F状态,type1、type2赋0。
具体情况如图4-12:
图4-12清零键C的设置
4.5.4退出键CE
在17键的case中首先对显示框赋空字符,然后终止程序。
即以不显示任何字符退出程序图4-13:
图4-13退出程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 科学 计算器 概要