您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > Labview > LabVIEW课程设计
LabVIEW课程设计题目:ExpressXY图绘制曲线姓名:但汉青专业班级:2012级信息技术02班学号:12051102052013年12月7日目录绪论..............................................1第一章前言......................................31.1课程设计的题目............................31.2课程设计要求..............................31.3课题分析..................................31.4设计目的..................................5第二章仪器方案设计.............................62.1解决问题的思路............................62.2前面板设计................................72.3源代码设计................................82.4程序运行及结果............................9第三章心得体会.................................10第四章参考文献.................................121绪论虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。自1986年问世以来,世界各国的工程师和科学家们都已将NILabVIEW图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、缩短了产品投放市场的时间,并提高了产品开发和生产效率。使用集成化的虚拟仪器环境与现实世界的信号相连,分析数据以获取实用信息,共享信息成果,有助于在较大范围内提高生产效率。虚拟仪器提供的各种工具能满足我们任何项目需要。美国国家仪器公司NI(NationalInstruments)最早提出的虚拟测量仪器(VI)概念,引发了传统仪器领域的一场重大变革,使得计算机和网络技术得以长驱直入仪器领域,和仪器技术结合起来。“软件即是仪器”这是NI公司提出的虚拟仪器理念的核心思想。从这一思想出发,基于电脑或工作站、软件和I/O部件来构建虚拟仪器。I/O部件可以是独立仪器、模块化仪器、数据采集板(DAQ)或传感器。虚拟仪器(virtualinstrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。2LabVIEW是一种程序开发环境,由NI公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言编写程序,产生的程序是框图的形式。LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。相对于传统的标准仪器来说,LabVIEW由于是基于软件的,所以提供了更大的灵活性。通过LabVIEW开发的虚拟仪器是由用户而不是仪器生产商定义仪器功能的。一台计算机、数采板卡和LabVIEW的结合就能够变成一个可配置的虚拟仪器来完成用户设定的任务。通过LabVIEW就可以用传统仪器几分之一的价格创建一个用户所需要的虚拟仪器。当需要改变这个虚拟仪器的时候,只几分钟的时间通过LabVIEW修改就可以了。为了便于使用,LabVIEW还集成了大量的函数库以及子程序来帮助完成绝大多数的编程任务。在使用这些子函数的时候,可以忘掉传统编程语言中的令人头痛的指针操作、内存分配等编程问题。除此之外,LabVIEW还包含了针对应用的数据采集(DAQ)、GPIB、串口、数据分析、数据显示、数据存储以及Internet网络通信的函数库。鉴于LabVIEW有诸多优点,这次我们将应用LabVIEW来完成一个十字路口交通灯系统的设计。3第一章前言1.1课程设计的题目用XY图绘制曲线1.2课程设计的要求系统应满足下列要求:A.给定横纵坐标的值,显示出相应的曲线B.横纵坐标的值可变,并且显示相应变化的曲线1.3课题分析1.xy图xy图也叫坐标图,用来绘制多变量函数曲线,如圆或具有可变时基的波形。Xy图可显示任何均匀采样或非均匀采样的点的集合。在xy图中显示多条曲线,只需将多个单条曲线(x,y捆绑数据)通过数组创建函数送给xy图显示即可。其接受的数据不要求水平坐标等间隔分布。2.波形图波形图用于显示测量值为均匀采集的一条或多条曲线。波形图仅绘制单变量函数,比如y=f(x),并且各沿x轴均匀分布。可接受多种类型和格式的数据(如数据类型包括数组,簇,波形数据。数据格式包括一维数组,多维数组,簇数组)。波形图是一个事后显示数据的图形控件,其要显示的数据全部到达后(即先将数据存放到一个数组中),一次4性送给波形图显示。1》波形图接受包含初值,步长、数据数组的簇。波形图的数据类型如果是簇,则簇的元素必须按照起始点,步长,波形数组数据的顺序排放,否则波波形图不能接受其数据,因为其数据类型不匹配。2》数组数据在波形图中显示注:波形图接收数组数据时,其默认起始点为0,步长为1,因此这两图都是显示一个周期的正弦波,但最终坐标值不一样,接受簇数组的为0+2*128=256,接收波形数组数据时为0+1*128=128。3》簇数组数据类型在波形图中的显示(通过创建数组函数)3.波形图标波形图标显示一条或条曲线的特殊波形显示控件,一般用来显示以恒定采样率采集得到的数据。与波形图不同的是,波形图标并不是一次性接收所有需要显示的数据,而是逐点地接受数据并逐点的显示数据,保留上一次数据的同时显示当前接受的数据。显示数据的范围取决于设置的缓冲区的大小,当超过其大小时,便舍弃最早的数据,相当于一个队列,遵循先进先出的原则。设置缓冲区的大小,可在波形图标上右击后选项“图标历史长度“设置。其最大容量是1024个数据点。5波形图标的波形点数超过图形界面时,波形图标有三种刷新模式:带状图标、示波器图标和扫描图。波形图标接受的数据类型和波形图相同,而显示相同波形时,二者接受的数据格式不一样。1.4设计的目的由于现代科技的发展,计算机已经深入到人类生产生活的各个方面,计算机已经正逐步取代传统的仪器设备。实现仪器的虚拟化和通用化。在显示均匀波形数据时通常使用波形图,其横轴默认为采样点序号,Y轴默认为测量数值,这是一种理想情况。但在大多数情况下,绘制非均匀采样数据或封闭曲线时无法使用波形图。因此,但数据以不规则的时间间隔出现或当要根据两个相互依赖的变量(如Y/X)时,就需要使用XY图,即笛卡尔图。XY图也是波形图的一种,它需要同时输入X轴和Y轴的数据,X和Y之间相互联系,不要求X坐标等间距,且通过编程能方便地绘制任意曲线。该系统通过ExpressXY图绘制曲线,实时的送往前面板显示。它可以绘制多值函数曲线,如圆,椭圆和双曲线等。6第二章仪器方案设计2.1解决问题的思路:XY绘制曲线:与波形图相似,XY图也是一次性完成波形的显示刷新。但XY图的输入数据类型相对来说比较简单。一般来说有两种:一是将生成的X,Y两组数据用“捆绑”函数打包成簇,然后将簇送入XY图,这样簇中的每一对数据都对应了一个数据点的X,Y坐标值;二是先将生成的每个点的X,Y坐标打包成簇,然后再将簇组成一个簇数组送入XY图中。当用XY绘制单条曲线时,有两种方法。一是先生成两组数据,然后再打包送入XY图,此时两个数据数组中具有相同序号的两个数组组成一个点的坐标,而且“捆绑”函数的第一行对应X轴,第二行对应Y轴。二是先将生成的两个随机数打包成簇,作为一个点的坐标,然后再组成一个簇数组送入XY图。与绘制单条曲线类似,绘制多条曲线时也同样有两种方法:一是先各自利用for循环生成两个一位数组后捆绑成簇,然后再将两个簇组成一个二维数组,送入XY图;二是先各自将生成的数据点坐标打包成簇,然后再各自利用for循环生成一维数组再组成二维数组,送入XY图。当X数组,Y数组的长度不一致时,在XY图中将以长度较短的数据组为参考,而长度较长的数据组多出来的数据7将在图中无法显示。在使用XY图来绘制曲线时,需要注意数据类型的转换。本题需要先将输入的数据转换成弧度值后才可以进行三角函数的计算。并且指定a,b的值来作为横纵坐标轴的半径长,当a,b的值相等时,绘制的曲线为圆,当a,b不相等时,绘制的曲线为椭圆。2.2前面板设计将ExpressXY图形显示控件放置在前面板上,与此同时会在程序框图中自动添加一个VI。由于它的X轴和Y轴接受的都是动态数据,因此在绘制曲线时只要将X,Y组数据与之相连,它将自动添加一个转换函数来将输入数据转换成动态数据类型。它无需像普通的XY图一样要先对X轴和Y轴坐标数据进行捆绑才能输入XY图进行曲线绘制。82.3源代码设计源代码设计有两种方法:第一种就是将生成的X,Y两组数据用“捆绑”函数打包成簇,然后将簇送入XY图,这样簇中的每一对数据都对应了一个数据点的XY坐标值。二是先将生成的每个点的XY坐标值打包成簇,然后再将簇组成一个簇数组送入XY图中首先,用for循环产生随机数,循环次数为360。然后,将生成的每一个随机数转换成弧度制接着,添加三角函数cos,sin:9最后,将所有线连接完毕,再将循环结构中捆绑的数组与XY图VI连线,源代码设计完毕。方法一:先将生成的两个数组捆绑打包,然后再送入方法二:先将生成的每个点的坐标值打包,再组成数组送入2.4程序运行经过仔细的检查后,确认程序无任何错误。则接下来,将窗口调到前面板,点击程序运行按钮,使程序开始正常运行,与此同时观察波形显示控件中显示的曲线是否是所要绘制的曲线1011第四章心得体会本来觉得这次课程设计也许好多人都设计不出,老师会放松些,但刚过去一天就听说有同学已经设计的差不多了,这给我施加了不小的压力,看来必须要自己动手了。尽管这个设计要求并不多,当真正是自己一步一步设计出的,当看到自己一步一步的成果,心里的那个喜呵呵真的要自己体会才知道。我想说:没有什么做不到的,不要畏惧,要敢尝试。当然,能够完成此课程设计,功劳不能归功于我一人,非常感谢老师的教导和指点还有同学的帮忙,才让我能够在有限的时间内完成课程设计。因为说真的刚开始打算设计时不是很自信,由于从来没有弄过类似的课程设计,感觉自己没有能力完成因为关于此课程设计的课程学的不怎么好,但最终还是做出来了,我真的感觉不可思议,所以我觉得和做任何事情都一样要有勇气尝试。其实我在设计时更多的是模仿了相关的资料和方法。在参考别人的东西时把它改成自己的东西,也不是不可的吧?站在巨人的肩膀上更容易成功就是这个道理。学会学习借鉴别人的东西也是一种本事!因为我并不承认别人的东西就是别人的,只要我们学到了就是自己的啦。共享快乐,学习快乐!只要你有创新的思想,这使我想到了日本人对创新的理解,组合即发明组合即创新。利用现有的东西造出新的东西。通过这门课不仅学到了基本的知识更重要领悟到了12新的思维方法,我觉得这是自己最大的收获。从这次的课程设计使我领悟到了一些做课程设计的技巧也是步骤:1.设计性课程设计最重要的是要有一条清晰设计思路,在设计前,老师已为我们准备好了参考格式或资料,相当于已经给了设计路,关键就是靠自己深入的思考各个步骤怎么设计的对每个步骤都要做到分析、思考设计,再
本文标题:LabVIEW课程设计
链接地址:https://www.777doc.com/doc-7028546 .html