第一篇:labVIEW课程小结
labVIEW课程设计--朱鹏
南通大学电气工程学院
labVIEW课程设计
课程小结
姓 名: 朱 鹏
班 级: 电 097 班
学 号: 0912002171 labVIEW课程设计--朱鹏
目 录
第一部分 基础题
第一题(1)................................................1(2)...............................................2 第二题...................................................2 第三题...................................................3 第四题...................................................4 第五题...................................................5 第六题...................................................6 第七题...................................................7 第八题...................................................8 第九题...................................................9 第十题..................................................11 第十一题................................................12 第十二题................................................13 第十三题................................................15
第二部分 设计题
第一题..................................................16 第三题..................................................18
第三部分 心得体会........................................19 第一部分 基础题 labVIEW课程设计--朱鹏
第一题:
用LabVIEW的基本运算函数编写以下算式的程序代码:
2857x21007-683;
102-2563163253(2)178
13817.2-8.132(1)
解答:(1)
一、前面板截图:
二、程序框图截图:
三、设计过程:
在前面板添加一个数值显示控件,命名为“结果”。在程序框图中添加 加,减,乘,除函数,数值型常量,按上图连接,运行得出结果。
(2)
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板添加一个数值显示控件,命名为“结果”。在程序框图中添加 加,减,乘,除函数,数值型常量,按上图连接,运行得出结果。
第二题:
利用摄氏温度与华氏温度的关系C=5(F-32)/9编写一个程序,求华氏温度F为32、64、4、98.6、6、104、212时的摄氏温度.解答:
一、前面板截图:
二、程序框图截图: labVIEW课程设计--朱鹏
三、设计过程:
在前面板添加一个数值输入控件,命名为“华氏温度值”,添加一个数值显示控件,命名为“摄氏温度值”。在程序框图中添加公式节点并添加输入输出,转换公式为C=5*(F-32)/9 ,按上图连接,运行得出结果。
第三题:
用数组创建函数创建一个二维数组显示件,成员为:
编程将上述创建的数组转置为:
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板添加数组,在数组中添加数值型显示控件,并拉到四行六列,命名为“输入数组”。用同样的方法在前面板添加两个数组输出,命名为“显示数组”和“转置后数组”。在程序框图中添加二维数组转置控件,按上图连接,运行得出结果。
第四题:
创建一个簇控制件,成员分别为字符型控制件姓名,数值型控制件学号,布尔型控制件注册。从这个簇控制件中提取出簇成员注册,显示在前面板上。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板中添加两个簇,分别命名为“输入簇” “输出簇”,在输入簇中添加字符串输入控件,数值型输入控件和布尔确定按钮,在输出簇中添加相应的输出控件。在程序框图中添加“按名称接触捆绑”和“捆绑”,按上图连接,运行得出结果。
第五题:
创建一个字符串显示件,程序运行后显示当前系统日期、时间和自己的班级、姓名。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板中添加四个字符串输出控件,分别命名为“当前系统日期”“时间”“班级”“姓名”,在程序框图中添加“获取日期/时间字符串”控件获取系统日期和时间,添加字符串常量“电097”“朱鹏”,按上图连接,运行得出结果。
第六题:
将范围0—10的5个随机数转换为一个字符串显示在前面板上,要求保留2位小数,每个数之间用逗号分隔。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板添加字符串输出控件,命名为“所得字符串”,在程序框图中添加for循环结构,循环五次,用随机函数发生器产生0~1的随机数,用乘法函数获得0~10的随机数,添加“数组至电子表格字符串转换”控件和“格式化写入字符串”控件,“%.2f,”设置格式,保留两位小数,第七题:
用for循环产生4行100列二维数组,数组成员如下:
1,2,3………100
100,99,98………..1 6,7,8………….105 105,104,103………6
从这个数组中提取出2行50列的二维数组,成员如下:
50,49,48…………1 56,57,58…………105
将这两个数组用数组显示件显示在前面板上。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板添加数组,在数组中添加数值显示控件,拉到四行一百列,命名为“数组”,同理添加“子数组”。在程序框图中添加for循环,循环100次,通过“创建数组”控件输出数组,再通过“数组子集”获得子数组,按上图连接,运行得出结果。
第八题:
产生100个随机数,求其最小值和平均值。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板中添加三个数值显示控件,分别命名为“平均值”“最大值”“最小值”。在程序框图中添加for循环,循环100次,通过“数组元素相加”和除法函数获得平均值,通过“数组最大值与最小值”获得最大值和最小值。
第九题:
程序开始运行后要求用户输入一个口令,口令正确时滑钮显示件显示一个0—100的随机数,否则程序立即停止。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程: labVIEW课程设计--朱鹏
在前面板中添加字符串输入控件,命名为“请输入口令”,数值显示控件,命名为“随机数”。在程序框图中添加条件循环,为真时通过随机函数发生器乘一百获得0~100的随机数,为假时通过“单按钮对话框”和“停止”输出ERROR。按上图连接,运行得出结果。
第十题:
编写一个程序测试自己在程序前面板上输入以下字符所用的时间,A virtual instrument is a program in the graphical programming language.解答:
一、前面板截图:
二、程序框图截图:
labVIEW课程设计--朱鹏
三、设计过程:
在前面板中添加字符串显示控件,命名“输入字符串”,布尔确定按钮,命名“输入完成”,数值显示控件,命名“所需时间”。在程序框图中添加层叠式顺序结构并添加至三帧,在第一帧中添加时间计数器,并添加顺序局部变量,第二帧中,字符串输出,布尔确定按钮,第三帧中,时间计数器,减函数和除函数,数值显示。按上图连接,运行得出结果。
第十一题:
在一个chart中显示3条曲线,分别用红、绿、蓝3中颜色表示范围0—1,0—5和0—10的3个随机数。labVIEW课程设计--朱鹏
解答:
一、前面板截图:
二、程序框图截图:
三、设计过程:
在前面板中添加波形图表,并建立三条曲线“0~1红”“0~5绿”“0~10蓝”。在程序框图中添加for循环结构,用随机函数发生器获得0~1的随机数,再通过乘法函数获得0~5和0~10的随机数,添加捆绑将三个随机数波形在一个波形图标中显示。按上图连接,运行得出结果。
第十二题:
用一个Graph显示下列计算的结果: y1=x*x*x-x*x+5;y2=m*x+b,X的范围是0—100 labVIEW课程设计--朱鹏
解答:
一、前面板截图:
二、程序框图截图:
三、设计过程:
在前面板中添加波形图表,幅值设置成0~1000000,并建立两条曲线“y1”“y2”,添加两个数值输入控件分别命名为“m”“b”。在程序框图中添加for循环结构,在for循环结构中添加公式节点,以“m”“b”作为输入,y1=x*x*x-x*x+5;y2=m*x+b;添加输出y1、y2,通过捆绑将y1、y2波形由波形图表输出。按上图连接,运行得出结果。labVIEW课程设计--朱鹏
第十三题:
用XYgraph显示一个半径为10的圆。
解答:
一、前面板截图:
二、程序框图截图:
三、设计过程:
在前面板中添加XY图。在程序框图中添加for循环,循环次数为360,即360度一周,在for循环结构中乘法、除法函数,正弦、余弦,循环结果乘上2π/360通过正弦余弦捆绑后再乘上10后在XY图中输出图形。按上图连接,运行得出结果。labVIEW课程设计--朱鹏
第二部分 设计题 设计题第一题:
设计一个VI程序模拟一个电压测量采样过程(随机数发生),从10ms开始每隔50ms采集一个点,共采集30个点,电压在采样前经过了一个信号处理电路的10倍衰减。要求程序的显示能够反映出实际的采样时间及电压值。
解答:
一、前面板截图:
二、程序框图截图: labVIEW课程设计--朱鹏 labVIEW课程设计--朱鹏
三、设计过程:
在前面板中添加一个波形图表,幅值改为电压值,时间改为采样时间;水平进度条滑动杆,用于显示采集进度;布尔确定按钮、布尔停止按钮,用于开始和停止采集;一个数值输入控件输入电压上限值,三个数值显示控件,分别输出报警计数值、时间和电压值。在程序框图中添加一个while循环,在while循环中用确定、停止控制采集开始和停止,在while循环中添加条件结构,分支选择器接布尔确定,在条件结构中添加层叠式顺序结构,第一帧中添加for循环结构,循环次数为30,通过随机函数发生器产生模拟电压值,并输出波形,添加条件结构,分支选择器接电压上限与电压值的比较结果,若电压值超过电压上限,报警计数加1,若没超过则报警计数不变,通过等待控件产生50ms的延时。第二帧中添加单按钮对话框和停止控件,输出“30个点采样完毕”。按上图连接,运行得出结果。
设计题第三题:
设计一个VI程序,实现按帐号和密码登陆的人机界。若输入的帐号和密码相符,则显示欢迎登陆对话框,按“确定”退出程序;若输入的帐号和密码不相符,则显示出错对话框,按“确定”返回程序。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板中添加两个字符串显示控件,命名为“账号”“密码”。在程序框图中添加条件结构,分支选择器连接账号和密码分别和设定值比较是否相等后逻辑与后的结果,若为真,通过单按钮对话框输出“欢迎登陆”,若为假,通过单按钮对话框输出“账号或密码错误”。
第三部分 心得体会
通过一星期的LabVIEW课程设计,对一学期来学习的LabVIEW的基本操作和编程技巧有了进一步的掌握,LabVIEW作为一门新式的以图形化编程的语言,不仅提供了简单易学的编程方法,而且提供了海量的可调用的模块,涉及到各个方面。LABVIEW应用领域广泛,我们可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。这些工具包几乎覆盖了所需的所有功能,在这些工具包的基础上设计程序相对于其他编程方法显得容易多了,这也让我对这门课程产生了更加浓厚的兴趣。LabVIEW包含多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计等工作。在设计机电设备之前,可以现在计算机上用LabVIEW搭建仿真原型,验证设计的合理性,找到潜在的问题。使用LabVIEW进行软件模拟,可以达到同样的效果,使我们获得实践的机会,labVIEW课程设计--朱鹏
同是也大大缩短程序开发时间。
通过一个学期的学习,我深刻地体会到LabVIEW的高效,对这种编程语言有很大的兴趣。在课程设计的这样一星期里,我把教材又看了一遍,还在网上查了不少资料,从中学到了大量的技巧。不过在设计过程中也越来越感到,LabVIEW入门很容易,深入做下去,完成一个像样的工程,还得懂得各方面的知识,进一步的学习和掌握。这是一门实践性很强的课程,很多知识是从书上看来的,而且看完之后,自己还觉的不错,觉得自己已经掌握的很好了,但真到实际做东西的时候,就会觉得困难重重,这时再去查书,便有了对知识的更深层次的理解。
第二篇:LabVIEW FPGA编程小结
LabVIEW FPGA编程小结
NI PXI-7813R为FPGA卡,板卡上引出4个端口,每个端口有40路引脚,共160路DIO,使用LabVIEW FPGA模块进行编程控制。当FPGA程序复杂度变大或是使用的DIO端口数增多时,可能面临的主要问题包括FPGA空间不够用以及实际循环时间过长等。之前编写的 FPGA程序示意图如下,采集循环与输出循环独立,均采用控件形式与RT程序通讯,两块板卡均使用了近120路DIO口。基于7813R板卡编程实践及涉及到的几个瓶颈问题,简要做了一下总结:
1)使用FIFO还是使用控件?
FPGA与RT通讯时,常用的方法是使用读写FIFO或是使用输入输出控件。这两者的特点是:
a)两者在速度上无明显差别。这是建立在不使用For循环的基础上的,但实际中FIFO通常都要配合For循环来使用,For循环相当于串行操作,当同类端口较多时,使用for将导致循环时间变长,故运行速度上FIFO并没有多少优势。b)FIFO使用合理时不丢数,而控件不能保证。
通过配置FPGA与RT中读写FIFO的超时以及FIFO大小,读写方式等手段,通常可保证FIFO传递数据不丢数(可能要经过多次尝试);而使用控件则可能会有丢数的情况。当不严格要求每次while循环都不丢数时,可考虑使用控件,例如对DO输出的配置,用户可能很久才会去配置一次,而且配置后不会要求马上生效,稍微晚几个循环周期(us级)再使配置生效也不会有很大影响,这种时候使用读取控件值是合理的。c)FIFO可使用的数据类型有限,而控件几乎无限制。
就7813R而言,FIFO只能传递指定的几种类型的数据,而使用控件时,可使用包括簇数组在内的自定义控件。
所以,还是根据实际需要来选择吧,虽然这句话跟没说一样~ 2)用不用For循环?
端口较多时,很容易就遇到连续几个都是要求采集脉宽的,而另外连续几个要求采集电平即可。这时候很自然想到使用For循环对多个端口一起进行操作,例如下图:
如上面所说,使用FOR循环相当于使端口操作(上图中所说的操作是指将采集到的布尔转成U32数值)变为串行;另外,要使用For,通常就得配合数组操作,例如上图中创建数组等,这样就更加导致循环时间变长。当发现循环时间不满足使用要求时,这种处理方法可能就不能使用了,每一路单独处理就省掉了创建数组及For,节省了循环时间,但这样又使重复代码变多,工作量加大。
3)怎么使用子VI?
输出脉冲时,脉冲的产生可以封装成一个子VI,供多路端口进行使用;采集脉宽时,脉宽采集可以封装成一个子VI供多路端口进行调用。然而,默认情况下,子VI的执行是串行的(因为并没有设置VI属性为“可重入执行”),子VI在同一时间内只能被一路端口所占用,可能导致的结果是循环时间变长,精度降低。如果设置子VI为可重入执行,又可能导致FPGA空间占用率过高,编译无法通过。我想到的一种折中的办法是:使用几个程序框图一样的子VI(功能完全一样,将子VI多另存为几个所生成)来代替原先一个子VI,替换之后,相当于减少了串行运行的子VI数量,循环用时减少明显。下图中使用6个子VI A,如果用2个B与2个C替换其中的4个A,循环时间可能减少为原来的1/3。
While循环方式1:子VI A子VI A子VI A子VI A子VI A子VI AWhile循环方式2:子VI A子VI A子VI B子VI B子VI C子VI C
4)精打细算
这一点可能只会在FPGA空间不够用时才会被重视,下图是逻辑片不够用时导致的FPGA编译失败错误:
因此,当资源有限时,尽量使用能满足使用要求的最小长度的数据类型来实现,能使用U16满足要求的坚决不用U32!另一方面,暂时还没有发现数据类型变长时对FPGA循环运行时间产生明显影响。
5)循环延时考虑
脉冲输出及采集均需要根据实际循环时间来计算,若参与运算的值不是实际的循环时间,输出或采集的结果自然不会准确。例如可配置脉冲或电平输出的端口,若输出电平,其算法简单,所需时间较少,而配置为脉冲输出时,算法复杂。配置为单路脉冲输出可能不会有明显的影响循环时间,但当多路脉冲一起输出时,可能影响到循环时间增加1~2us甚至更长。故实际配置循环时间时,需按照可能的最复杂算法进行运行测试,并依此来设置循环时间,以保证循环时间的确定性已经算法运算的正确性。
总而言之,设计时还是应该根据实际需要,综合考虑数据完整性、FPGA板卡资源大小、循环时间等因素,已达到满意效果。
第三篇:LabView实训小结
实训小结
这次的Labview实训,我们小组做了关于高度定位的问题,利用实验器材与Labview工程软件结合来模拟高度定位。首先我们小组必须知晓硬件连接和使用,检测并安装需要应用到的VISA软件,思考程序的设计,提出流程方案,并按照设计的需要按部就班。这次的Labview实训,我们小组做了关于高度定位的问题,利用实验器材与Labview工程软件结合来模拟高度定位。首先我们小组必须知晓硬件连接和使用,检测并安装需要应用到的VISA软件,思考程序的设计,提出流程方案,并按照设计的需要按部就班。其次,分工任务,硬件连接、编程、课程报告三个方面,每个方面由二个人负责主要任务,各个工序大家相互探讨、协作,请教同学和老师解决遇到的问题。再次,我们小组六个同学齐心协力,相互请教,让整个过程的设计确保每个成员都弄到清楚为止。
本次的传感器课程设计已经接近尾声了,我要把我在实训中的感受写下来给大家分享艰辛与喜悦。出于本周有两门课程设计,早上就是Labview课程设计,下午就轮到了VB课程设计,总之两门加起来就很匆忙,很劳累了。晚上回到寝室还要熬夜作战编程,自我感觉真的很疲倦,有的时候,做着做着就倒在床上睡着了……。中午饭都来不吃,买了些面包都要同学代买,就连老师也是来不及吃饭,体验到了工程设计人员的艰苦奋斗。但在同时也体会到了成果时候的快乐,加深了同学们之间的友谊,领略到每个小小收获的满意笑容。真所谓苦中作乐!
对于本次课程设计的完成,虽然学到的东西并不是很多,但实属不易,辛勤的耕耘换来了比较满意的答案,与同学共享了大家的欢乐。在此,我要感谢同学们的相互帮助,团结协作。还有老师的耐心指导以及没时间好好吃饭的精神,值得我去敬佩与学习。为以后的学习生活奠定了一定的基础。相信通过了本次的传感器课程设计,大家会更有信心面对社会的挑战!
第四篇:LabVIEW编程技术实训小结
LabVIEW编程技术实训小结
7月23号到8月10号,我们进入NI实验室进行了为期三个星期的labview编程技术实训。在此期间,在各位学长的指导下,我们学到了很多关于labview的知识。这期间我们学习的内容包括:
一,虚拟仪器的基本概念和特点,虚拟仪器的基本构成及相应的硬件设备,以及LabVIEW简介,运行机制,操作模板,帮助和初步操作等。
二,各种程序结构包括循环结构、分支结构、顺序结构、公式节点和反馈节点。
三,数组、簇结构和波形数据。
四,图形显示,包括Graph控件、Chart控件、XY Graph、Express XY Graph 和其他图形的表达与显示。
五,字符串和文件I/O,包括字符串、件I/O节点简介、文本文件的输入输出、电子表格文件的输入输出、二进制文件的输入和输出、数据记录文件的输入输出、波形文件的输入输出以及利用Express VIs进行文件的输入和输出操作。六,LabVIEW程序设计技巧,包括局部变量和全局变量、属性节点和VI属性设置。
LabVIEW是美国国家仪器公司(National Instruments,以下简称NI公司)研制的一个功能强大的开发平台,于1983年4月问世,主要是为仪器系统的开发者提供一套能够快捷地建立、检测和修改仪器系统的图形软件系统,1986年推出的LabVIEW for Macintosh引发了仪器工业的革命。1990年1月,LabVIEW正式推出,它提供了图形编译功能,使得LabVIEW中的VI(虚拟仪器)可以与编译C语言以一样的速度运行。1992年,LabVIEW的多平台版本问世,使它可以在Windows、Macintosh以及Sun Solaris等平台上运行。1993年,LabVIEW 3.0版本开发完成,同时提供给用户的是一个应用系统生成器(Application Builder),它使得LabVIEW的VI变成一个可以独立运行的程序。经过十多年的发展,我们今天看到的LabVIEW已经成为一个具有直观界面、便于开发、易于学习且具有多种仪器驱动程序和工具库的大型仪器系统开发平台。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,被视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通信的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数,是一个功能强大且灵活的软件,利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言又称为“G”语言,它与C、Pascal、Basic等传统编程语言有着诸多相似之处,如相似的数据类型、数据流控制结构、程序调试工具以及层次化、模块化的编程特点等。但二者最大的区别在于,传统编程语言用文本语言编程,而LabVIEW使用图形语言(即各种图标、图形符号、连线等),以框图的形式编写程序。用LabVIEW编程无需具备太多编程经验,因为LabVIEW使用的都是测试工程师们熟悉的术语和图标,如各种旋钮、开关、波形图等,界面非常直观形象,因此LabVIEW对于缺乏丰富编程经验的测试工程师们来说无疑是个极好的选择。
LabVIEW作为一个面向最终用户的工具,它可以增强构建科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径,使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
正是因为labview庞大的功能和它的广泛的用途以及考虑到进公司能达到公司对我们的要求,学校才在暑期给我们安排了这项学习内容,以便于我们打好基础。学之前,心里有着一丝害怕和担忧,因为潜意识里认为labview很难很难,就跟C 语言似的,到了学的时候才发现比我想象的有趣,因为都是图形语言,看着也简单点,做的过程中,像是在造房子,挺有趣的。
首先我了解了使用labview开发平台编制的程序称为虚拟仪器程序,简称为VI。VI包括三部门:程序前面板、框图程序和图标/连接器。每一个程序前面板都对应这一段框图程序。框图程序用labview图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面的控制和显示传递数据,节点被用来实现函数和功能调用,框图被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。
Labview还有一个很大的优点,就跟C语言似的,可以具体显示错误的地方。如果一个VI程序存在语法错误,则在面板工具条上的运行按钮将会变成一个折断的箭头,表示程序不能被执行。这时这个按钮被称作错误列表。点击它,则labview弹出错误清单窗口,点击其中任何一个所列出的错误,则出错的对象或端口就会变成高亮。在labview的工具条上有一个画着灯泡的按钮,点亮可以使程序以比较慢的速度运行,没有被执行的代码灰色显示,并显示数据流线上的数据值。这样,我们就可以在根据数据的流动状态跟踪程序的执行。为了查找程序总的逻辑错误,我们也可以使框图程序一个节点一个节点地执行,使用断点工具可以在程序的某一地点终止程序执行,用探针或者单步方式查看数据。
有点复杂的东西在于labview里面有很多很多相似的图标,甚至功能都相似,而且几乎每个图标都可以输出好多东西,这样容易让人弄混。不过这就要提到labview的另一个大优点了,那就是点击帮助里的显示及时帮助,并把鼠标移动到需要帮助的图标上,就可以显示对这个图标的简单介绍,当然,点击详细帮助信息,就可以显示很具体的说明,这样有助于在没人指导的情况下,自己可以简单的进行自学。
当指导老师问及我们学的怎么样的时候,我很兴奋的回答:不是很难,挺有意思的。老师说,这刚学的都是入门,所以比较简单,但是要想真正学好,还是要下很多功夫的。学到后期,就印证了老师说的话,果然不能小看这门语言!
到了后期学长们给我们布置一些小程序让我们自己编,编的过程中,我们都积极思考,这个时候才发现labview比我想象的难多了,确实不能小看,看学长运行给我们看的时候,觉得程序蛮简单的,可到自己编的时候,就遇到好多问题,运行的效果可能跟自己想要的差很多。也或者,即使编出来了,程序框图里的东西太多太混乱,别人轻易看不懂。在以后学习labview的过程中,得小心谨慎,认真对待!
在这三个星期的学习过程中,不仅有各位学长的精心讲解和耐心指导,还有各老师给我们做的讲座。我们不仅学到了关于labview的很多知识,也在思考的过程中锻炼加强了我们的思维能力。总之,这次学习中,我的收获颇为丰富,既学习了,也体验到学习这门课程的乐趣,尤其是在自己编出一个程序的时候,心里产生的那种自豪感。这样,即使再苦再累,也都是值得的!
第五篇:labview心得
LABVIEW学习心得
这学期的课程设计,主要讲授了一些LabVIEW的基本操作和编程技巧,LabVIEW作为一门新式的以图形化编程的语言,不仅提供了简单易学的编程方法,而且提供了海量的可调用的模块,子vi,涉及到各个方面。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LABVIEW有很多优点,尤其是在某些特殊领域其特点尤其突出。
首先在测试测量方面:LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。
控制与测试是两个相关度非常高的领域,从测试领域起家的LabVIEW自然而然地首先拓展至控制领域。LabVIEW拥有专门用于控制领域的模块----LabVIEWDSC。除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程序。使用LabVIEW可以非常方便的编制各种控制程序。
除了以上两种应用领域,LabVIEW还包含了多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计等工作。在设计机电设备之前,可以现在计算机上用LabVIEW搭建仿真原型,验证设计的合理性,找到潜在的问题。在高等教育领域,有时如果使用LabVIEW进行软件模拟,就可以达到同样的效果,使学生不致失去实践的机会。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试
根据一些项目统计,完成一个功能类似的大型应用软件,熟练的LabVIEW程序员所需的开发时间,大概只是熟练的C程序员所需时间的1/5左右。所以,如果项目开发时间紧张,应该优先考虑使用LabVIEW,以缩短开发时间。
我对这一门高效简单的编程语言有很大的兴趣。一口气就把发的讲义看完了,又从图书馆中借了一些高级应用的书,还在网上搜过NI公司举办的研讨会。从中学到了大量的技巧。也越来越感到,LabVIEW入门很容易,如果要深入做下去,完成一个像样的工程,就必须懂得各方面的知识,需要了解与电脑通信的各种协议,pci,pxi,gpib,还有现今流行的USB,就算用别人做的卡,用别人编写好的驱动程序,自己也要动各种调用约定,因为他们的卡并不为LabVIEW一种编程语言所做,好在LabVIEW本身提供了各种方法可以方便的调用。需要学会使用数据库,需要用别的编程语言别写可供LabVIEW能调用的模块。
这是一门实践性很强的课,很多知识是从书上看来的,而且看完之后,自己还觉的不错,觉得自己已经掌握的很好了,但真到实际做东西的时候,就会觉得困难重重,这时再去查书,便有了对知识的更深层次的理解,其实在这方面更应该感谢网络给我们带来的方便,有任何问题,上网搜一下,很多问题都可以迎刃而解,而且很多网友都有自己独特的见解,在他们的讨论中看到了很多有用的东西。而且我们能感受到学院老师对这门课的重视,也能看到这门课的发展前景,即使我们在以后的工作中不在这方面发展,这门课留给我们的学习思想和技术技能都是很宝贵的。
学以促用,用以促学,我们感觉这也是这门课教给我们的重要知识。带着问题学习才能学到真正的知识。
在这学期的学习中我们学到了很多,也认识到我们需要学的东西更多,仅凭现在学到的东西是远远不够的,要想在这方面作出一些成绩,必须继续学下去。