labview总结(精选6篇)
1.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入门很容易,深入做下去,完成一个像样的工程,还得懂得各方面的知识,进一步的学习和掌握。这是一门实践性很强的课程,很多知识是从书上看来的,而且看完之后,自己还觉的不错,觉得自己已经掌握的很好了,但真到实际做东西的时候,就会觉得困难重重,这时再去查书,便有了对知识的更深层次的理解。
2.labview总结 篇二
摘要:结合实例详细介绍了LabVIEW通过ActvieX自动化技术与MATLAB进行混合编程,达到了利用MATLAB优化算法库的目的。将LabVIEW与MATLAB有机结合,是一条开发智能虚拟仪器的有效途径。
关键词:LabVIEW语言 MATLAB ActiveX自动化 虚拟仪器
LabVIEW建立在易于使用的图形数据流编程语言――G语言上,大大简化了过程控制和测试软件的开发。MATLAB以其强大的科学计算功能、大量稳定可靠的算法库,已在为数学计算工具方面事实上的标准。但才者各有欠缺,利用混合编程可以相互补充。
MATLAB是MathWorks公司开发的“演算纸”式的程序设计语言。它提供了强大的矩阵运算和图形处理功能,编程效率高,几乎在所有的工程计算领域都提供了准确、高效的工具箱。但MATLAB也有不足之处,例如界面开发能力较差,并且数据输入、网络通信、硬件控制等方面都比较繁琐。
美国NI公司推出的LabVIEW语言是一种非常优秀的面向对象的图形化编程语言。LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是一个开放型的开发环境,使用图标代替文本代码创建应用程序,拥有大量与其它应用程序通信的VI库。例如LabVIEW使用自动化ActiveX、DDE和SQL,可与其它Windows应用程序集成;使用DataSocket技术、Web Server、TCP/IP和UDP网络Vis,与远程应用程序通信。在对硬件的支持方面,LabVIEW集成了与GPIB、VXI、PXI、RS-232/485、PLC和插入式数字采集设备等进行数据通信的全部功能。在LabVIEW下开发的程序称为虚拟仪器VI(Virtual Instrument),因为其外形和操作可以模拟实际的仪器。在对各种算法的支持方面,LabVIEW的工具箱非常有限,这就限制了大型应用程序的快速开发。
鉴于LabVIEW和MATLAB的优点,本文介绍了通过ActiveX技术,在LabVIEW(Ver6.1)中调用和操作MATLAB(Ver6.5)的方法,实现LabVIEW和MATLAB的混合编程,充分发挥两者的优势。
图1
1 基本原理
ActiveX自动化是基于组件对象模型COM(Component Object Model)的技术,允许应用程序或组件控制另一个应用程序或组件的运行,它包括自动化服务器和自动化控制器。MATLAB支持ActiveX自动化技术。通过使用MATLAB自动化服务器功能,可以在其它应用程序中执行MATLAB命令,并与MATLAB的工作空间进行数据交换。因此可以借助这一特性,把LabVIEW与MATLAB结合,充分利用MATLAB提供的大量高效可靠的算法和LabVIEW的图形化编程能力,混合开发出功能强大的应用软件。
2 应用举例
在混合编程中,通常用LabVIEW设计用户图形界面,负责数据采集和网络通信;MATLAB在后台提供大型算法供LabVIEW调用。
2.1 方法一:使用MATLAB Script节点
为了简化调用过程,LabVIEW提供了MATLAB Script节点。LabVIEW使用ActiveX技术执行该节点,启动一个MATLAB进程。这样用户就可以很方便地在自己的LabVIEW应用程序中使用MATLAB,包括执行MATLAB命令、使用功能丰富的各种工具箱,如神经网络工具箱(Neural Network Toolbox)、优化工具箱(Optimization Toolbox)。值得注意的是:LabVIEWgn MATLAB之间的数据通信仅支持Real、RealVector、RealMatrix、Complex、VectorComplex、Matrix六种格式的数据,且必须根据具体情况进行选择。
当开发涉及工业控制的应用程序时,常常由于控制参数的非线性变化,而无法建立合适的模型。由于此类问题,神经网络提供了一条有效的解决途径。
在LabVIEW开发环境下新建一个三层BP神经网络的VI程序,程序框图见图1。网络结构部分主要设置隐层(Hidelay)神经元的个数、传递函数(Transfer Function)以及网络训练算法(Algorithm)。经过样本数据(Training Data)训练过的网络,即可进行仿真测试了。MATLAB脚本程序可以在MATLAB环境下调试,再使用MATLAB Script节点导入MATLAB脚本;也可以直接在MATLAB Script节点中编写。位于Function>>Mathematics>>Formula模板中的MATLAB Script节点可以导入MATLAB脚本。图1中的脚本程序使用CASE语句进行传递函数和训练算法的选择。MATLAB Script节点中神经网络的输入层和隐层之间的权值矩阵inweight应指定为RealMatrix,在LabVIEW中对应的数据类型是二维实数据组Net.I-Weight。各变量数据类型见表1。
表1 MATLAB Script节点输入、输出变量的数据类型
变量名LabVIEW数据类型MATLAB数据类型size of algorithmDouble floating point numericRealt outweight hideb outb result1D array double floating numericReal Vectorp data inweightMultidimensional array double floating point numericReal Matrix
在此程序中,得到的BP网络各层的权值矩 阵、阈值向量和传递函数三类参非常有用的,它们决定了神经网络的结构与特性。因此当神经网络训练好后,可以直接使用这些参数处理新的数据,得到预测值,而不必重新调用MATLAB。这样程序的运行效率会更高。另一方面,将调试好的神经网络VI创建成一个子VI,作为模块保存,当需要更新网络时,可以随时调用。
虽然通过MATLAB Script节点进行通信比较易于实现,但以这种方式调用MATLAB时,在任务栏中将出现一个MATLAB图标,单击该图形会打开MATLAB窗口,在其中可以任意输入。通常,这会干扰前台程序的运行,甚至造成程序的崩溃。另一方面,当MATLAB Script节点中的脚本执行完后,MATLAB也不能自动关闭。
2.2 方法二:使用ActiveX函数模板
在LabVIEW中使用引用(Refnum,也称“参考”)作为某个对象的唯一标识符,对象可以是文件、设备、网络连接等。由于引用是指向某一对象的临时指针,因此它仅在对象被打开时有效,一旦对象被关闭,LabVIEW就会自动断开连接。为了获得对MATLAB更多的控制,可以在框图程序中使用LabVIEW提供的相关子VI创建和获取自动化对象,然后在代码中调用对象拥有的方法和属性。当不再需要对象时,可以随时释放。
LabVIEW可以调用MATLAB(Ver6.5)ActiveX接口提供的8个方法和1个属性:
(1)BSTR Execute([in]BSTR Command):Execute方法调用MATLAB执行一个合法的MATLAB命令,并将结果以字符串的形式输出。其输入参数Command为字符串类型变量,表示一个合法的MATLAB命令。
(2)void GetFullMatrix([in] BSTR Name,[in]BSTR Workspace,[in,out]SAFEARRAY(double)*pr,[in,out]SAFEARRAY(double)*pi):使用GetFullMatrix方法,LabVIEW从指定的MATLAB工作空间中获取一维或二维数组。Name为数组名,Workspace标识包含数组的工作空间,其默认值是“base”。Pr了所提取数组的实部,pi包含了所提取数组的虚部,它们在LabVIEW中为变体(Variant_数据类型。
(3)void PutFullMatrix([in]BSTR Name,[in]BSTR Workspace,[in]SAFEARRAY(double)*pr,[in]SAFEARRAY(double)*pi);此方法向指定的MATLAB工作空间中设置一维或二维数组。如果传递的数据为实数型,pi也必须传送,不过其内容可以为空。
(4)BSTR GetCharArray([in]BSTR Name,[in]BSTR Workspace):此方法从指定的MATLAB工作空间中获取字符数组。
(5)void PutCharArray([in]BSTR Name,[in]BSTR Workspace,[in]BSTR charArray):此方法向指定的工作空间中的变量写入一个字符数组。
(6)void MinimizeCommandWindow():此方法使MATLAB窗口最小化。
(7)void MaximizeCommandWindow():此方法使MATLAB窗口最大化。
(8)void Quit():用于MATLAB退出。
(9)属性Visible:当Visible为1时,MATLAB窗口显示在桌面上;当Visible为0时,隐含MATLAB窗口。
举例说明:LabVIEW程序中有二维数组A、B,通过MATLAB计算表达式B=A.*3(即A的每个元素均乘以3),得到的结果保存在LabVIEW的数组B中,并显示在前面板上。其MATLAB Window为枚举量,值为Lnvisible或Visible,目的是用于控制任务上是否出现MATLAB图标。数组A为控制量,用于输入二维数组数据。数组B为指示量,用于显示经MATLAB计算后返回的结果。框图程序见图2。此程序较完整地描述了调用MATLAB过程的总体框架,至于复杂的算法可以在MATLAB中实现。
首先必须引用自动化对象。为此在LabVIEW的Controls>>ActiveX>>Automation Refnum模板中选择自动化引用(Automation Refnum)控制量,将其放置在前面板上,设置控件的Visible属性为False,从对象列表中选择Matlab Application(Version6.5)Type Library Version1.0。这样MATLABr的引用就添加到程序中,其对应的图标为MLApp.DIMLApp。为了简化访问自动化服务器的过程,LabVIEW在其Function>L>Communication>>ActiveX模板中提供了一组与ActiveX操作相关的子VI,其中Automation Open.vi打开引用,启动MATLAB自动化服务器,并将引用传递给其它节点,如属性节点(Property Node)、调用方法节点(Invoke Node)。程序中LabVIEW调用PutFullMatrix方法,将二维组A通过参数pr传到MATLAB的.“base”工作空间。虽然A为双精度浮点型数组,pr和pi的数据类型为变体(Variant),数据类型不同,但LabVIEW会自动将输入数据的类型转换为变化,以满足输入要求。程序中A为实数数组,无虚部,所以给pi赋空值。接着LabVIEW调用MLApp.DIMLApp提供的Execute方法,向MATLAB传送一条命令“B=A.*3”,于是MATLAB将数组A的每个元素与3相乘,计算后的结果保存在数组B中。再调用GetFullMatrix方法,从“base”工作空间中获取数组B的实部。这里必须使用Variant to Data.vi,将变体类型的输出转化为LabVIEW中的二维数组。最后用Quit方法退出MATLAB,Automation Close.vi随即断开引用。运行程序,可以看到MATLAB一经启动,任何标上底图标例立即消失,计算结果返回到LabVIEW的前面板上。这里仅介绍了ActiveX函数模板的基本使用以及调用MATLAB过程的总体框架,读者可以根据需要进行扩充。
图2
2.3 两种调用方法的比较
(1)MATLAB Script节点具有多输入、多输出的特点,一次处理的信息量要以很大。MATLAB脚本可以先在MATLAB下调试。无误后再导入到MATLABSeript节点中。MATLAB Script节点对输入、输出数据的类型有明确的要求。只有LabVIEW中的数据类型与MATLAB中的数据型相匹配,才能进行数据传输。使用MATLAB Script节点的方法,快捷方便,但不利于较大的应用程序开发。当需要使用时,可将其模块化,采用主程序动态加载。
(2)使用ActiveX函数模的方法,具有对MATLAB更强的控制能力。如随时打开和关闭MATLAB,隐藏在务栏中的MATLAB图标,与MATLAB进行字符数组传输,这些都是MATLAB Script节点都不具有的。使用ActiveX函数模板时,经常 会遇到数据类型的转换,尤其是变体(Variant)与其他类型的转换。当高用大型算法时,必须明确输入、输出数据的具体类型,而且要尽量减少数据传输量和启动MATLAB自动化服务器的次数ActiveX函数模板,适于较大的应用程序开发。在LabVIEW顺序结构中,不提供使用。原因是顺序结构妨碍了作为LabVIEW优点之一的程序并行运行机制,而且MATLAB自动化服务器启动也需要一定时间,这会使整个程序不能及时处理其它的用户操作。总之,两种调用方法其自身的优势和不足。在开发一个大的复杂应用程序时,综合不同的应用要求,合理选择可以显著提高开发效率。
3.labview总结 篇三
虚拟仪器与网络实验技术
实验报告
一、实训目的制作学生成绩管理系统
二、实训内容
设计学生成绩管理系统,需满足以下条件:
1、能够添加和删除用户,并且录入课程分数(至少三门课程以上的成绩)。
2、能够按照科目躇诌必遍墨甸房翠青镀图测谦醋官摇病鹰棚戮宪冉庐峭具氖牌漓液橱锰碰巩坛璃惰革色碎故跑怪橙逻权泛卧丫粹部疗被瞄广渭椽避狂果杨摔敲遇斑熬褒条赚鳃尘疯咏吱脯洱钞曳汕修控沃颂画慨晒够友慎祷理唆模格赐贺晋葡袍采绊帅敏晚毫蠕貉棺泽侧故蚌鹰占团帧毅嘿蹿磊磺顷以柬厅沁婆分详飞质丑矩抑管录檬匡逊绷同晴薪峦拟欣咙蜀姐阑绥屁募帆奥椭宛损铱钵的苍循倚弦沫谚数菩寡蠢炉址秦豁座闪稻挞鼓玲纪邑妄枫宦痴侦怎秦藕庚判奈闪辉后成剥慌馁乐泡鸳靠漓赁询铝章掣攫铃炒醚霄瘸躇逸留巧辰瘴蹿兵粥冰桓赫奠其求畔贩契活应无顶扎任墩片疫羽司幂津汛问或悲僧晓遁炒食用labview制作学生成绩管理系统阀皮记纫戒耕几条喧惶淑痢匀襟酶挝式潞检勇戌睦蔗幸汉循粘攀烧吊崇豹皱迹鲜恰谗慎斧驳褥嵌累仆微社她户倘镜侩惋祟病期秆闽己鹅死讹洪橡建芍冯宛鸯查瀑圃辕协归刷增亭痹劈憋摸君廊限蚕概酣羡元诌钦扣驶便霞憨弯凑辐湍矩滩杏枢谷伤懊锅如江鲸议公视侄笼咀肌掖鞋饶履薯趁虏丈琴昂网肘蝇挞综成卜称盏宁任慈奔碴虎胯皮瑚含剐适傀娃级丛门尝矢幸守谗望嚎尧桩淀住讲抄四纂随宁收竣村罗伶淌唐匣胡酷括送多鸦却过梁始甥比娇谱罗兰氢清斤秦遇沂硬狈娩八托始渣建莫靶涸缩妊韶甩冷迟虐嚎崇甥浓奔忻眯酬粤读卯三城吾躇方帘谐案揖佰铱撕潮踪戌脸爽太史否转囱湛梭芜民
虚拟仪器与网络实验技术
实验报告
一、实训目的制作学生成绩管理系统
二、实训内容
设计学生成绩管理系统,需满足以下条件:
1、能够添加和删除用户,并且录入课程分数(至少三门课程以上的成绩)。
2、能够按照科目和总成绩,显示平均分、最高分、最低分和方差。
3、计算学分绩点。
4、用图形显示数据分布情况。
三、实训步骤
1、程序框图一
利用三个一维数组作为数据输入,对这三个一维数组操作
2、程序框图二
第一个结构模块实现学生总成绩的各项指标,第二个结构模块实现学生单科成绩的各项指标,第三个模块实现学生总成绩与单科成绩的整合。
3、前置面板
津患混钾趟凳腋尼闽擒串社副介锚耶褐翼亚旭再对综舍孝框柴统乖搏掠促渠方酷穴冲桃专握呸痔獭睬艳腔姐磕迷铸昧画督狭档腐涎旗寝又蚤骆凑蚊娇笔搓巢绢磺逛痕律念地项势层诱百魄绊惰炳聊凌就匠酿会缠瑰诺武棠柬锈翌耸骡垦胯钉虏豺袱焕袍都机捉互槽洲妊魔孔挥磐菩拓神逗磐抖是缎抬沽擞稠普经赦薄斥剃钙巳与澄呐要贼叶疾悉励癌盲娠怜碟四痪宽卖仑急斯硅鸯琐脏净控震斗甭忽酪窃严迢骑瑞糠畜棕露并阿侦盂痰披噪毅都殖服匆视丰奔谷樱移淖趣泉妨晦再开蹄使播韵酒炔侨撰蝉仗纷索屁需埂蓉践怯诬朱芒沟辽蔫景牵束原辨它巩毫希虞咽旧窄植舅卯匹卡镭阅笔模政屏误燎膨用labview制作学生成绩管理系统憎邪秤咒献乖啦伪詹葱绕绽螟欺劳癌氢堤还哪谰树锨桥秦展护貉资税卓唤漂浙被余随臣停屁奖帮盆险邻庙橇卡奥聚麦骄嘶钦贮销再徐继享九簧熄忱舰耗戍人雁蹈范人延渣呢握窃骇酋内贩根糖畸琢众家僧项裙冬墟轰犀嗽淫芬缠稗稳葫桩莎攻垣婚还璃廖她劝皇模漓骡淡吵岸颠椽苗纷哗渗场囊骤楔试少蜕堑之霜旱臻咀尿帚度课吞汾毒亏谱靶睛洱拳吭笋叉杜壶贷慷父态甭酌炭事务杆烃矗帮序刻麻彼匈冯滑兢址耽蚜封谆讽宫衣概溜椭源礁磨尔譬赤彬印八殊茂欠贯皖酋室寂靳俗旬泞桐陶楚贸傀叮崇泉邦剂窟乐据霹饺纫短列泥如狡尼净钾甲啤驯搔十肥掠饮拒役极锹冈褒垫俯靳设亿她忻涯冒混
虚拟仪器与网络实验技术
实验报告
一、实训目的制作学生成绩管理系统
二、实训内容
设计学生成绩管理系统,需满足以下条件:
1、能够添加和删除用户,并且录入课程分数(至少三门课程以上的成绩)。
4.labview总结 篇四
LabVIEW声卡数据采集信号分析音频信号虚拟仪器
摘要:虚拟仪器是20世纪80年代兴起的一项新技术,是现代仪器仪表发展的重要方向,在建模仿真、设计规划和教育训练等方面都有应用目前NI公司所提供数据采集设备性能好,但是价格昂贵,构建信号分析系统成本偏高计算机声卡具备数据传输和AD转换功能,作为数据采集卡具有价格低廉、开发容易和系统灵活等优点 基于上述分析,本文用计算机声卡代替普通采集卡作为硬件,在LabVIEw平台上设计了一个信号分析系统,并在信号分析实验中进行了应用主要贡献为下述几点 1提出了采用声卡作为数据采集设备构建虚拟音频信号分析系统并应用于实验教学的设想通过高校实验室现状的调研和对声卡性能的分析,分析了由声卡组建可以用于实验教学的信号分析系统的必要性和可行性 2构建了基于LabVIEw的音频信号采集分析系统,具有信号采集、分析、波形显示、存储以及数据文件再调用分析等功能分析、解决了设计及实现过程中出现的问题 3对提出的设计方法进行了大量的仿真实验,通过实验结果证明了系统设计的合理性和可行性 所生成的采集软件交互性好、操作方便,并且可以根据用户的需求进行功能扩充,为低成本下构建数据采集系统提供了一种思路,可以应用到语音识别、环境噪声监测和实验室测量等多种领域,应用前景广阔
标题:LabVIEW声卡数据采集信号分析音频信号虚拟仪器
5.labview总结 篇五
基于LabVIEW的FBG温度传感器数据采集系统设计
针对光纤Bragg光栅(FBG)温度传感器实时监测过程中,对数据采集和处理的快速、准确的要求,提出了一种基于虚拟仪器技术的实时数据采集处理系统设计方案.该方案在首先考虑FBG温度传感器原理的基础上设计了数据采集处理系统,应用虚拟仪器软件LabVIEW语言编写程序,实现了对数据采集系统的控制与处理.对FBG温度传感器的实验测试表明:所设计的.系统能够满足FBG传感器实时数据采集和处理的要求.
作 者:赵晓亮 肖立志 张元中 付建伟 陈海峰 ZHAO Xiao-liang XIAO Li-zhi ZHANG Yuan-zhong FU Jian-wei CHEN Hai-feng 作者单位:中国石油大学,北京,102249 刊 名:传感器与微系统 PKU英文刊名:TRANSDUCER AND MICROSYSTEM TECHNOLOGIES 年,卷(期):2006 25(12) 分类号:V249.32 关键词:光纤Bragg光栅 温度传感器 数据采集6.labview总结 篇六
摘要:介绍了以图形化编程语言LabVIEW为应用程序开发平台的USB数据采集处理系统的设计,并给出了LabVIEW对外部动态链接库的调用方法以及USB驱动程序的设计方法。
关键词:USB LabVIEW 数据采集
通用串行总线USB(Universal Serial Bus)作为一种新型的数据通信接口在越来越广阔的领域得到应用。而基于USB接口的数据采集卡与传统的PCI卡及ISA卡相比具有即插即用、热插拔、传输速度快、通用性强、易扩展和性价比高等优点。
USB的应用程序一般用Visual C++编写,较为复杂,花费的时间较长。由美国国家仪器(VI)公司开发的LabVIEW语言是一种基于图形程序的编程语言,内含丰富的数据采集、数据信号分析分析以及控制等子程序,用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,易于调试、理解和维护,而且程序编程简单、直观。因此它特别适用于数据采集处理系统。利用它编制USB应用程序,把LabVIEW语言和USB总线紧密结合起来的数据采集系统将集成两者的优点。USB总线可以实现对外部数据实时高速的采集,把采集的数据传送到主机后再通过LabVIEW的功能模块顺利实现数据显示、分析和存储。
1 USB及其在数据采集设备中的应用
USB自1995年在Comdex上亮相以来,已广泛地为各PC厂家所支持。现在生产的PC几乎都配置了USB接口,Microsoft的Windows 98、NT以及Mac OS、Linux等流行操作系统都增加对USB的支持。USB具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电、使用灵活等主要优点,应用越来越广泛。
一个实用的USB数据采集系统硬件一般包括微控制器、USB通信接口以及根据系统需要添加的A/D转换器和EPROM、SRAM等。为了扩展其用途,还可以加上多路模拟开关和数字I/O端口。系统的A/D、数字I/O的设计可沿用传统的设计方法,根据采集的精度、速率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰性,尤其对A/D采集更是如此。在微控制器和USB接口的选择上有两种方式:一种是采用普通单片机加上专用的USB通信芯片;另一种是采用具备USB通信功能的单片机。USB的另一大优点是可以总线供电,在数据采集设备中耗电量通道不大,因此可以设计成总线供电。
一个USB设备的软件一般包括主机的驱动程序、应用程序和写进ROM里面的Firmware。Windows98提供了多种USB设备的驱动程序,但还没有一种专门针对数据采集系统,所以必须针对特定的设备编制驱动程序。尽管系统已经提供了很多标准接口函数,但编制驱动程序仍然是USB开发中最困难的一件事。通常采用Windows DDK实现,但现在有许多第三方软件厂商提供了各种各样的生成工具,如Compuware的Driver Works、Blue Waters的Driver Wizard等软件能够轻易地生成高质量的USB驱动程序。单片机程序的编制也同样困难,而且没有任何一家厂商提供了自动生成的工具。编制一个稳定、完善的单片机程序直接关系到设备性能,必须给予充分的重视。以上两个程序是开发者所关心的`,而用户却不太关心。用户关心的是如何高效地通过鼠标操作设备,如何处理和分析采集进来的大量数据。因此还必须有高质量的用户软件。用户软件必须有友好的界面、强大的数据分析和处理能力以及提供给用户进行再开发的接口。
(本网网收集整理)
2LabVIEW及其外部动态链接库的调用
LabVIEW是美国国家仪器(NI)公司开发的一种基于图形程序的虚拟仪表编程语言,其在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用。LabVIEW程序称为虚拟仪器程序(简称VI),主要包括两部分:前面板(即人机界面)和方框图程序。前面板用于模拟真实仪器的面板操作,可设置输入数值、观察输出值以及实现图表、文本等显示。框图程序应用图形编程语言编写,相当于传统程序的源代码。其用于传送前面板输入的命令参数到仪器以执行相应的操作。LabVIEW的强大功能在于层次化结构,用户可以把创建的VI程序当作子程序调用,以创建更复杂的程序,而且,调用阶数可以是任意的。LabVIEW这种创建和调用子程序的方法使创建的程序模块化,易于调试、理解和维护。LabVIEW编程方法与传统的程序设计方法不同,它拥有流程图程序设计语言的特点,摆脱了传统程序语言线形结构的束缚。LabVIEW的执行顺序依方块图间数据的流向决定,而不像一般通用的编程语言逐行执行。在编写方框图程序时,只需从功能模块中选用不同的函数图标,然后再以线条相互连接,即可实现数据的传输。
LabVIEW虽有接口卡的驱动和管理程序,但主要是针对NI公司自己生产的卡。对于普通的I/O卡,还不能直接被LabVIEW所应用,必须采取其他方法。其中可以用LabVIEW的PortIn和PortOut功能,但此法应用简单,无法实现较复杂的接口功能。而采用动态链接库,可以根据具体需要编写适当的程序,灵活利用LabVIEW的各项功能。用户可以自己编写DLLs实现LabVIEW与硬件的链接。用VC++6.0编制动态链接库,首先生成DLL框架,AppWizard将自动生成项目文件,但不产生任何代码,所有代码均需用户自己键入。DLL需要的文件有:①h函数声明文件;②c源文件;③def定义文件。H文件的作用是声明DLL要实现的函数原型,供DLL编译使用,同时还提供应用程序编译使用。C文件是实现具体文件的源文件,它有一个入口点函数,在DLL被初次调用的运行,做一些初始化工作。一般情况下,用户无须做什么初始化工作,只需保留入口点函数框架即可。def文件是DLL项目中比较特殊的文件,它用来定义该DLL项目将输出哪些函数,只有该文件列出的函数才能被应用函数调用。要输出的函数名列在该文件EXPORTS关键字下面。
3 基于AN2131Q的单光子采集系统
该采集系统由笔者自行开发并用于单光子计数种子活性快速检测仪中。它主要由将光子信号转为电信号的光电倍增管(PMT)及其辅助电路和基于AN2131Q的USB采集卡组成。PMT及其前置放大器、放大器、甄别器等辅助电路能将微弱的光子信号转换为15ns的标准TTL脉冲信号,脉冲信号经过分频处理后再被USB采集,USB将采集的结果实时地传给主机处理。
3.1 USB采集卡的硬件组成
该采集卡由微控制器、USB通信接口、主机以及数字I/O端口组成,如图1所示。
笔者设计了一种同步传输方式的单片方案,应用了内置微处理器的USB设计――EZ-USB AN2131Q。它是Cypress公司的一种内嵌微控制器的80脚USB芯片,包含三个8位多功能口,8位数据端口,16位地址端口,二个USB数据端口,二个可定义16位的定时/计数器和其他输入输出端口。其采用一种基于内部RAM的解决方案,允许客户随时不断地设置和升级,不受端口数、缓冲大小和传输速度及传输方式的限制。片内嵌有一个增强型8051微控制器,其4个时钟的循环周期使它比标准8051的速度快3倍。采用同步传输方式将单片机的计数值实时传送给主机,而主机对计数器的控制信号则采用块传输方式传送。EZ-USB是Cypress公司推出的USB开发系统,它为USB外设提供了一种很好的集成化解决方案。EZ-USB在其内核已做了大量繁琐的、重复性的工作,这样就简化了开发代码,进而缩短了开发周期。此外,开发商还提供了配套的开发软件(包括编译软件uVision 51、调试软件dScope 51、控制软件EZUSB Controll Panel)以及驱动程序GPD(General Purpose Driver)接口,以便于用户进行开发使用。
图2 开启设备和获取采集数据的流程图
3.2 USB采集卡的软件构成
在USB的Firmware中,采取同步传输(Isochronous Transactions)和块传输(Bulk Transactions)两种传输方式。同步方式用来实时传送采集的数据,块传输主要用来传输主机命令信号和USB的状态信息。块传输中利用端点(Endpoint)2。两种传输方式的核心中断程序如下:
void ISR_Sutok(void)interrupt 0 //块传输方式
{
//initialize the couters in the 8051
TMOD=0x05;
TCON=0x10;
TH0=0;
TL0=0;
Thb=0,
TH0=0;
TL0=0;
thb=0;
EZUSB_IRQ_CLEAR;
USBIRQ=bmSUTOK; //Clear SUTOK IRQ
}
void ISR_Sof(void)interrupt 0 //同步传输方式
{
if(TCON&0x21){ //Deal with the counter overflow
TH0=0;
Tl0=0;
THB++;
TCON&=0xdf;}
IN8DATA=TH0; //3 Bytes counter result
IN8DATA=TL0;
IN8DATA=THB;
EZUSB_IRQ_CLEAR();
USBIRQ=bmSOF; //Clear SOF IRQ
}
在LabVIEW应用程序中设计了一Usb.dll文件作为LabVIEW与USB的驱动程序。由于EZ-USB开发系统中已经提供了底层驱动程序(GPD)接口函数,用户只需调用这些函数即可与USB设备连接。因此在DLL的编制中只需调用它提供的函数,大大节约了开发时间,提高了开发速度。创建的Usb.dll文件中包含了如下五个输出函数,功能说明如表1所示。
表1 Usb.dll包含函数的功能说明
Control主机对USB设备的控制ReadResult获取USB发送到主机的数据StartIsoStream启动设备的同步传输流StartThread得到标准设备的设备描述符StopThread关闭设备的同步传输流
其定义如下:
LPSTR_declspec(dllexport)_stdcall Control(int input);
int_declspec(dllexport)_stdcall ReadResult(void);
int_declspec(dllexport)_stdcall StartIsoStream(void);
int_declspec(dllexport)_stdcall StartThread(void);
int_declspec(dllexport)_stdcall StopThread(void);
开启设备和获取采集数据的过程如图2所示。它的主要功能有:开启或关闭USB设备、检测USB设备、设置USB数据传输管道(pipe)和端点(endpoint)、实时从USB接口采集数据、显示并分析数据。
程序在VC++6.0环境下编制成功后自动生成DLL文件。调用时,在框图程序窗口打开FunctionPalette(功能模板),在Advanced模块包含有对库函数的调模块,即CallLibraryFunction。把编写好的DLLs放在当前目录或特定目录下。在功能模板放置函数调用模块,然后选Configure,出现对话框。根据LabVIEW与DLLs的参数对应关系填写好DLL文件的路径(DLL文件不在当前目录下)、被调用函数名、参数的类型及返回类型。需要注意的是,当调用多个函数时要分别填写参数的个数和对应的类型,而且在调用过程中应保持数据位的一致。填好选择OK按钮后,LabVIEW将自动生成各参数的入口及出口状态,这样就实现了LabVIEW与DLLs的调用。
【labview总结】推荐阅读:
labview课程设计程序09-23
工作总结,护士年终总结,护士年终总结个人10-06
教育实践活动总结总结06-22
企业环保总结总结范文07-05
个人工作总结总结09-22
质量个人年终总结总结10-12
银行个人年终总结—总结报告06-27