LabVIEW练习题

LabVIEW练习题
LabVIEW练习题

LabVIEW 课程设计题目

LabVIEW 课程设计题目包括:“基础题”和“设计题”两大部分。未曾选修过“虚拟仪器技术”的同学仅需完成“基础题”部分;选修过“虚拟仪器技术”的同学在完成“基础题”部分内容的基础上,必须选做“设计题”之一内容。

第一部分 基础题(必做)

1、用LabVIEW 的基本运算函数编写以下算式的程序代码:

()

()

32

1.8

2.738112531782;635316831007625102257281÷?×++×+?+÷?×+ 2、利用摄氏温度与华氏温度的关系9/)32(5?=°°F C 编写一个程序,

求华氏温度(F °)为,32°,64°,4°,6.98°,6°,104°,212°时的摄氏温度。

3、创建一个2行3列的二维数组控制件,为数组成员赋值如下: 00.600.500.400

.300.200.1

4、用数组创建函数创建一个二维数组显示件,成员为:

3

216542

165431654326

54321 编程将上述创建的数组转置为:

3

2162

1651

6546543

5432

4321

5、创建一个簇控制件,成员分别为字符型控制件姓名,数值型控制件学号,布尔型控制件注册。从这个簇控制件中提取出簇成员注册,显示在前面板上。

6、创建一个字符串显示件,程序运行后显示当前系统日期、时间和自己的班级、姓名。

7、将范围0—10的5个随机数转换为一个字符串显示在前面板上,要求保留2位小数,每个数之间用逗号分隔。

8、用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)

将这两个数组用数组显示件显示在前面板上。

9、产生100个随机数,求其最小值和平均值。

10、程序开始运行后要求用户输入一个口令,口令正确时滑钮显示件显示一个

0—100的随机数,否则程序立即停止。

11、编写一个程序测试自己在程序前面板上输入以下字符所用的时间,A virtual

instrument is a program in the graphical programming language.

12、编写计算以下等式的程序:

b

x m y x x y +×=+?=25123 X 的范围是0—100,y1和y2用数组显示件显示在前面板上。

13、编程求Josephus 问题:m 个小孩围成一圈,从第一个小孩开始顺时针方向

每数到第n 个小孩时这个小孩就离开,最后剩下的一个小孩是胜利者。求第几个小孩是胜利者。

14、猴子吃桃子,每天吃全部桃子的一半零一个,第十天剩下一个桃子,编程求

第一天猴子摘了多少个桃子。

15、编程求“水仙花数”

。“水仙花数”指一个3位数,它的各个数字立方和等于它本身。例如:333173371++=。

16、编程求成1000以内的“完数”

。“完数”指一个数恰好等于它本身的因子之和。例如:28=14+7+4+2+1

17、在一个chart 中显示3条曲线,分别用红、绿、蓝3中颜色表示范围0—1,

0—5和0—10的3个随机数。

18、在一个Graph 中用2种不同的线宽显示1条正弦曲线和一条余弦曲线。每条

曲线长度为128个点。正弦曲线X0=0,△X=1,余弦曲线X0=2,△X=10。

19、用一个Graph 显示下列计算的结果:

b

x m y x x y +×=+?=25123 X 的范围是0—100

20、用XYgraph 显示一个半径为10的圆。

21、产生一个又10行10列的二维数组,数组成员为0—100 的任意整型数,用

强度图显示出来。

22、在程序前面板上创建一个数值型控制件,为它输入一个数值:把这个数值乘

以一个比例系数,再由同一个控件上显示出来。

23、产生若干个周期的正弦波数据,以当前系统日期和自己的姓名为文件名,分

别存储为文本文件、二进制文件和电子表文件。再用windows 计事本或写字板将上述文件读出来。

24、将一组随机信号数据加上时间标记存储为数据记录文件,然后在LabVIEW 程序将存储

的数据读出并显示在前面板上。

25、产生矩形波脉冲数据并记录为波形文件。

26、计算节点3X Y =在区间[0,10]上的积分。

27、求一个矩阵的行列式,并计算它与另一个矩阵的乘积。

28、计算一个输入序列的均方根和标准方差。

29、计算函数)3cos()3sin(y x Z ×=的值并显示出函数曲线。

30、建立一个自变量序列和一个因变量序列,对其进行直线拟合,返回拟合参数。

第二部分设计题(5选1)

只给出大致任务的题目,其软件具体功能可自行设计并实现。

(1)设计一个VI程序模拟一个电压测量采样过程(随机数发生),从10ms开始每隔50ms采集一个点,共采集30个点,电压在采样前经过了一个信号处理电路的10倍衰减。要求程序的显示能够反映出实际的采样时间及电压值。

(2)设计一个VI程序,测量一个信号的电压值(可用随机数发生器模拟)并进行滤波处理,以前3点的平均值作为滤波方法,要求共测量30个点,不仅要显示出实际的信号波形,同时还要显示滤波后的信号波形。

(3)设计一个VI程序,实现按帐号和密码登陆的人机界。若输入的帐号和密码相符,则显示欢迎登陆对话框,按“确定”退出程序;若输入的帐号和密码不相符,则显示出错对话框,按“确定”返回程序。(4)虚拟相敏检波器的设计(具体方法见附录一)。

(5)虚拟数字示波器的设计(具体方法见附录二)。

附录一 虚拟相敏检波器的设计

一、设计目的:

1. 熟悉虚拟仪器的编程环境及数据操作中的各图标(端口)。

2、了解相敏检波器的工作原理、组成结构。

3、了解相敏检波器在微弱信号检测中的作用。

2. 运用LabVIEW图形编程语言的强大功能构建虚拟仪器相敏检波器。

二、设计原理:

信号处理是信号测试的一个重要环节,尤其对于伴随高强度噪声的信号的处理更是至关重要。无论是物理,化学,生物,还是天文,通信及电子技术等领域,都存在亟待检测的各种微弱信号,这些信号单独存在的概率相当小,往往被噪声深深覆盖淹没。对于伴随噪声的非周期微弱信号,通常采样滤波器减小系统的噪声带宽,对于深埋于噪声中的周期性信号,则采取锁相放大法,即使用相敏检波和低通滤波构筑的相敏检波器对被测信号进行相关检测。

相敏检波器由移相网络,乘法器,积分器,方波参考信号源(其频率与检测信号相同)构筑而成。移相网络的作用是使被测信号与方波参考信号同相,两种信号经乘法器和积分器运算后获得最大直流分量的全波整流信号,由于噪声的随机性,与参考信号同频同相的概率极小,经低通滤波器的积分运算后,高频分量的绝大部分噪声被滤除,因此,相敏检波器具有极强的抑制噪声的功能。相敏检波器仿真仪程序流程见图1。

图1 虚拟相敏检波器程序流程

三、所用设备

计算机、LABVIEW软件

四、设计步骤

4.1 前面板设计

⑴ 设置四个波形显示器,可同时观察方波参考信号,正弦被测信号,正弦波和随机噪声的叠加信号波形。执行四次Controls>>Graph>>Waveform Graph操作,调用图形控件Graph。

⑵ 设置一个输出显示型数字控件,显示相位差测量结果。

⑶ 设置四个数字控件,用于正弦波和方波发生器设置采样频率,采样点数,信号频率。

⑷ 设置一个旋钮型控件,用它来控制正弦波和方波信号的相位差。

⑸ 设置一个开关型控件,控制仪器的运行或关闭。

4.2 流程图设计

⑴ 调用Functions>>Structures>>while Loop,选择While循环结构,使整个程序周而复始地运行,按下停止按钮可中止程序的执行。

⑵调用Functions>>Signal Processing>>Signal Generation>>Sine Wave.VI, Square Wave.VI,Uniform White Noise.VI.作为正弦波和方波及随机噪声的信号发生器。

在前面板数字控件上设置正弦波和方波信号频率均为5Hz,振幅均为1。正弦波初相取默认值0度,方波参考信号相位由位于前面板的模拟电位器控制,电位器与方波发生器组建成移相网络。用于调整方波和正弦波信号的相位差。

设置随机噪声的幅度为100。

⑶ 调用Functions>>Signal Processing>>Filter>>Butterworth.VI。选择三个巴特沃斯滤波器,其中一个作为高通滤波器使用,其Low Cutoff Freq设为100,其他两个均作为低通滤波器使用,Low Cutoff Freq设为20。

⑷ 调用Functions>>Signal Processing>>Measurement>>Amplitude and phase Spectrum。VI.设置两个图标,与前面板上的电位器组合构建相位差计,有了相位差计就可以实时监控正弦波和方波参考信号的相位关系。

⑸ 调用Functions>>Cluster>>Bundle合成簇函数.设置四个图标,用于集合不同类型的数据成员。

⑹ 调用Functions>>Array>>Build Array.VI.并增加一个输入,将两个一维数组合并成一个二维数组。

⑺ 正确连线后流程图如图2所示(仅仅供参考)。

图2相敏检波器仿真仪流程图

4.3 虚拟相敏检波器的运行

随机噪声图标首先与巴特沃斯高通滤波器连接,滤波器的Low cutoff Freq 预设值为100,即滤除随机噪声中频率小于100的低频分量,生成高频噪声,尔后与正弦信号叠加,如图3(a)所示,叠加后的信号已不见正弦波的踪影,它完全被随机噪声笼罩。此时运用巴特沃斯低通滤波器对叠加信号进行预处理,低通滤波器的Low cutoff Freq 预设值为20,即滤除频率大于20Hz 的信号,由于随机噪声频率是大于100的高频信号,而正弦波的频率是5Hz ,所以叠加信号通过该级低通滤波器后,随机噪声基本滤除殆尽,正弦波清晰可见,它与方波信号进行模拟乘法运算,得到输入信号与参考信号的和频分量和差频分量。最后还须连接一个巴特沃斯低通滤波器,通过两次互相关运算,滤除信号的和频分量,相敏检波器最后检测的信号是正弦波和方波信号的差频电压。由于两种信号的振幅均为1,则方波参考信号展开为傅氏级数: ()(){}∑∞

=+++=022212sin 1214n r t f n n U ?ππ ⑴ 设正弦波信号的数学表达式为:

()112sin ?π+=t f U s ⑵ 则相敏检波器的输出电压为:

式中1f ,2f 分别是正弦波和方波信号的频率,n 是谐波数,21,??分别是正弦波和方波信号的初相角。

4.3.1 正弦波和方波参考信号同频同相

调节虚拟相敏检波器前面板的模拟电位器,使相位差计示值为0度,此时正弦波和方波参考信号的频率均为5Hz,相位也相同,从图1.3(a)我们可以清晰地看到虚拟相敏检波器输出的是全波整流信号,幅值为+1,而且盈含恒定分量的正极值。

图3 (a)正弦波和方波信号同频同相 (b)正弦波和方波信号同频反相 (c)正弦波和方波信

号同频相位差30度

在“相敏输出信号”的屏幕上我们丝毫看不到随机噪声的踪迹,随机噪声得到有效抑制。

从虚拟相敏检波器前面板也注意到一个现象,正弦波和方波参考信号同频同相时,方波相位旋钮的指针指向-45度,这意味正弦波相位也滞后45度,而不是原先的默认值0度,原因是正弦波和随机噪声的叠加信号通过巴特沃斯低通滤波器时相位要迁移滞后,这一现象是相频响应引起的相移,其公式是: 21)

/()(??????????=n n Q arctg ωωωωω? ⑷ 其中1n RC

ω=为特征角频率,Q 为等效品质因素。 4.3.2 正弦波和方波参考信号同频反相

调节电位器,使方波参考信号与正弦波的相位差示值180度,此时两个信号同频反相,虚拟相敏检波器的输出波形仍是全波整流波形,但幅度为-1,盈含恒定分量的负极值。见图3(b)。由此证明相敏检波器也具有鉴相特性。

4.3.3 正弦波和方波参考信号同频不同相

0121200121222cos{2[(21)][(21)]}(21)(21)cos{2[(21)][(21)]}n n U f n f t n n n f n f t n π??ππ

π??∞∞===?++?+?+++++++∑∑

调节方波相位电位器,使方波参考信号与正弦波的相位差示值分别为30度,如图3(c)所示。仿真仪输出的是交流信号,显然输出与两信号的相位差具有相关性,正弦波和方波参考信号同频不同相时虚拟相敏检波器输出信号中的恒定分量为:2??)

cos(21?。

4.3.4 正弦波和方波参考信号不同频率

仿真仪前面板“正弦波频率”,由原来的5Hz 上升为30Hz,调节“方波频率”,使其示值为3 Hz,采用以上方法分析虚拟相敏检波器输出信号。

五.设计报告内容:

1、分析相敏检波器的设计原理及其在微弱信号检测中的作用。

2、分析采用LABVIEW 设计移相器的方法,分析移相器及低通滤波器在相敏检波中的作用。

3、讨论采用LABVIEW 设计虚拟相敏检波器的方法,写出设计程序并分析程序功能。

4、分析参考信号(方波)和输入信号(正弦波)相位差为90度时相敏检波器输出信号。

5、分析参考信号(方波)和输入信号(正弦波)频率不同时的相敏检波器输出信号。

附录一 虚拟数字示波器的设计

一、电子示波器的工作原理

电子示波器的核心部件是阴极射线示波管(CRT)。示波管主要由电子枪、偏转系统和荧光屏三部分组成。电子枪产生电子束,经聚焦后高速打在荧光屏上,使得相应的部位产生荧光,偏转系统形成的电场,控制电子束打在荧光屏上的位置。涂有磷光物质的荧光屏就像画图的纸,电子枪产生的电子束就像是一支画笔,垂直偏转和水平偏转系统就像握笔的手,在荧光屏上真实、直观地描绘出一幅幅生动的波形图。电子示波器的工作原理如图1所示。

图 1 电子示波器工作原理

在不加任何偏转电压的情况下,电子枪产生的电子束将打在圆形荧光屏的中央位置,形成一个聚焦的光点。在X 轴偏转板X1、X2上施加电压时,水平电场将使光点在水平方向左、右运动;在Y 轴偏转板Y1、Y2上施加电压时,垂直电场将使光点在垂直方向上、下运动;如果X 轴偏转板和Y 轴偏转板上同时施加电压,则光点沿X 方向和Y 方向合成运动的方向偏转,如图1-1(b)所示,光点显示的最终位置和X 、Y 方向的电场力大小有关,即

z =。如,设sin y m u U t ω=,cos x m u U t ω=,示波管X 方向和Y 方向的偏转

灵敏度分别为S x 和S y ,假设S x =S y =1,则m z U ==,这说明光点运动的轨迹是半径为Um 的圆,以上的分析即为电子示波器的作为X-Y 显示仪使用的工作原理。如果只是要显示 Y 轴输入信号Uy 的波形,则应该在X 轴放大器输入由示波器内部产生的随时间t 线形变化的电压(常用锯齿波电压),此电压也称为“扫描电压”这种方式也叫做“扫描”工作方式,是电子示波器最大量使用的工作方式。其原理如图2 所示。

在图2中Y 方向施加正弦波电压,X 方向施加锯齿波电压,假如二者周期相等,则根据合成运动的分析,荧光屏上将显示出如图2所示的一个完整周期的正弦波形。并且由于锯齿波重复出现,所以正弦波的第2个周期、第3个周期……将重叠显示在荧光屏上相同的位置,形成稳定的波形。

如果Y 方向无任何电压,只在X 方向施加锯齿波电压,则将显示出一条水平线,称之为“扫描线”或“基时线” 。因为锯齿波的电压和时间成线形关系,而光点在水平方向的偏转距离又和电压成线形关系,所以水平方向的偏转距离就和时间成线形关系,这就是说在水平方向的单位距离将代表某一个单位时间,这就是“时间基准”的概念。有了时间基准就相当于有了一把时间尺,可以用它去测量被测波形的上升、下降时间、周期等时间参数。

图2 波形显示原理

二、虚拟数字示波器的设计

(一)前面板的设计

前面板程序用来提供用户与虚拟示波器的接口,它产生一个友好的图形界面,用于显示测量和处理的结果,另一方面,用户也可以通过控制前面板上的开关和按钮,模拟传统仪器的操作,通过键盘和鼠标,实现对虚拟示波器的控制。本文设计的虚拟示波器软面板如图3

所示。

图3 虚拟示波器前面板

这个前面板上包含了实时波形显示窗口,可以显示实时采样波形。右上边的暗框里面可

以直接得到采样数据的最大值、最小值、平均值、被测信号的频率。右边中间部分是信号调

整部分,它包括x轴调整和y轴调整两个旋钮,可以调整实时波形在屏幕上的显示效果。在

显示频域波形窗口的右边是一些按钮,包括保存波形,打开波形,频域分析。其中存储按钮

可以将波形自动的以电子表格的形式进行保存,并以每天的日期作为文件名称。另外面板上

还有通道选择框、工作方式和采样结束按钮,用于选择通道、进行波形显示或打开波形以及结束采样。

特别注意的是,在这里我们所选用的用来显示实时波形的窗口的VI是XY Graph。由于Waveform Chart和Waveform Graph的横坐标都是均匀分布的,因而在使用上有一定的限制,例如不能描绘出均匀采样得到的数据。而XY Graph的输入数据需要包含两个一维数组,并将两个数组组合成一个簇,使其分别包含数据点横坐标的数值和纵坐标的数值。

(二)程序设计

1 程序功能划分

根据示波器的工作原理和设计要求,可以将软件分为以下功能模块:数据采集、波形显示与控制、参数测量、及数据存储与回放等4大模块。接下来即可对每个模块进行程序设计,然后将各模块进行程序连接。

2 数据采集模块设计

数据采集主要包括模拟量的输入输出。模拟输入将是将电压、电流、温度、压力等物理量转换为数字量并传递到计算机中的过程;模拟输出则是将计算机中的数字量转换成模拟电压(或电流)输出到各种仪表或执行机构的过程。基于LabVIEW的数据采集系统如图4所示。

图4 基于LabVIEW的数据采集系统

在此,我们选用的数据采集硬件为PCI-DAQ数采卡。为了使数采卡正常工作,在软件驱动前必须根据需要对一些参数进行正确的设置。主要包括:

A、模拟信号输入

主要是设置信号的输入方式:单端还是双端,单极性还是双极性等。还要根据输入信号幅值和分辨率要求进行放大增益设置。此外,根据输入信号的不同极性设置合适的量程。

B、A/D转换

要设定信号输入的通道号,还要设定采样点数、采样速率、采样结果的输出方式(是放在一个数组中还是放在一个缓冲区内)、采样触发方式(外触发、定时触发、软件触发)等。

C、 D/A 转换

主要是设置D/A转换后输出模拟信号的通道号以及输出信号的幅值、数值刷新的速率等。

以上参数正确设置后,就可以利用LabVIEW自带的驱动程序,完成测试采集任务。

在把模拟信号连接到采集卡端子上时,有三种连接方法:

(1) 差分输入方式

输入信号的正负极分别接入DAQ设备的两个通道,所有输入信号各自有自己的参考点。此种接法能抑制接地回路的感应误差,而且也能在一定程度上抑制接收的环境噪声,是较理想的接法。这种测试系统较适合测量小于1V的低电平信号,且信号电缆较长或无护套,

环境噪声较大,任何一个输入信号要求单独的参考点等条件。

差分输入方式比单端输入方式多用一倍的通道。当所有的信号在信号源可以共享一个公共参考点,并且信号的电平值大于1V的较高电平,输入电缆较短(一般小于5米),或有合适的护套,无环境噪声时,就可以采用单端输入方式,单端输入方式分为参考单端输入方式和非参考单端输入方式。

(2) 参考单端输入方式

参考单端输入方式用于测试浮动信号,它把信号的公共参考点和测试仪器模拟输入地连接起来。

(3) 非参考单端输入方式

此种方法用于测试已经接地的信号,因为所有输入信号都已经接地,所以无须再和仪器放大器的模拟输入地连接。

信号连接完成后,就可以使用LabVIEW中的数据采集VI进行数据采集了。数据采集VI主要完成数据采集的控制,包括触发控制、通道选择控制、时基控制等,其中:(1)包括触发电平、触发斜坡控制;

(2)通道选择主要控制单通道或双通道测量;

(3)时基控制主要控制采集卡采样率和采样点数。

数据采集模块可以说是虚拟示波器的核心部分,只有将数据采集进来以后才能进行分析显示等工作。其实,数据采集就是把外界的模拟电信号(可能经过信号调理)通过A/D 转换成数字信号,或直接的数字量变成数组输入计算机。

在LabVIEW的流程面板中,在Functions/Data Acquisition/Analog Input中有所需要的模拟输入模块,如图5所示。

模拟输入模块分为4类:简易VIs、中级VIs、实用VIs和高级VIs。因为在示波器中要使模拟输入模块工作在很高的刷新率下,而且还要其他功能,特别是要使用触发功能,所以要使用中级VIs来进行数据采集。下面是对部分中级VIs的一些简单介绍。

AI Config模块,其作用是对模拟输入的器件和端口进行设置,同时,设置缓存区的大小。

AI Start模块,其作用是开始数据采集,同时,设置每个通道的采样率。这个模块还可以设置触发方面的内容。不过很可惜,这里设置的触发问题都是硬件触发的。

AI Read模块,其作用是从缓存区读入数据。这个模块同样也是有触发功能的,不过这个触发很像软件触发。

图5 模拟输入模块

因为在采集过程中,并不需要对硬件设置进行调整,所以也用不到高级VIs,于是数据采集模块的程序如下:使用AI Config 进行硬件的设置,AI Config在主循环的外边,这也就说明在程序运行后就不能更改缓存区的大小;然后是AI Strat 和AI Read,和模拟输出不

同的是,模拟输出是先将数据输到缓存区中,然后再开始转换,而模拟输入是先进行转换再读入缓存区。在程序的最后是使用AI Clear将硬件设置清除。数据采集模块程序如图6。

图6 数据采集模块

3 波形显示与控制模块

在通常情况的示波器中,显示波形都是利用锯齿波电压来扫描的,锯齿波在这里提供了一个时间的概念,有了锯齿波,就形成了以时间为参数的两个参数方程,一个是输入信号随时间变化的方程,另一个是锯齿波随时间变化的方程,两个方程合起来在就把输入信号随时间变化的情况变成了随空间(横坐标)变化的情况。在程序对于波形的显示过程中,横坐标代表时间,锯齿波实际上就是为每个采样点的数据匹配上一个时间的坐标。当然,我们在波形发生模块中有锯齿波发生器,但是他们所发生出来的是“实实在在的锯齿波” ,而我们所需要的其实是一个横坐标,所以这些锯齿波发生器在这里使用起来不是很方便。另外在进行双踪显示的时候,普通示波器只能有一个纵向扫描电压和一个横向扫描电压,所以要采用交替断续等方式来实现双踪显示,还可以使两个显示波形不仅来自不同的源,同时还可以用不同的频率进行扫描,完全和两个示波器一样。

在前面我们说过用于显示波形的模块-----XY Graph,它是输入一个一个点的二维坐标。所以,如果得到了1000个点的数据,那么想让这1000个数据显示在控件上就需要提供1000个横坐标信息。锯齿波发生模块如图7所示。

图7 锯齿波发生模块

在这个图中,For循环的作用是产生一组均匀的点来作为时间基准,,就好象是对时钟进行均匀的采样,只不过是在图象上。其余的部分,是为了给整个坐标加权,使之能更好的显示波形。图中的软件开关Knob用来调节1大格所代表的时间,相当于调节扫描速度。如果需要混合扫描,或者对数扫描,只需要对这个程序的加权部分进行更改就可以了。

当然,锯齿波发生器只能用来作为提供一个时间概念,不能用于产生波形。前面我们已经说过对于输入的数据波形,用一个正弦波来代替。并与用于调整纵向波形的y轴调整按钮相乘,然后与锯齿波发生模块形成的数组组合成一个簇,再在XY Graph上显示出来。这样我们就可以得到一个较为简单实用的波形显示与控制模块的程序。如图8所示。

图8 波形显示与控制模块

4参数测量模块

该模块主要模拟示波器 的参数测量功能,完成对于波形的幅值大小,电压参数值和波形的周期、频率等参数的测量并显示其测量结果。具体为,我们先将显示得到的波形分解为分别为横向和纵向(即x和y轴)的两个数组,由于幅值、电压等参数是与y轴有关的,故我们把用于测量其数值的VI与y轴上的数组向连。同样,对于要测量的周期、频率等是与x轴相关的,我们就将用于测量周期、频率的VI与x轴相连。

5 波形存储和回放模块

一个功能模块在主程序流程中的位置对模块程序的编制有很大的影响。首先因为功能模块不在主程序的关键流程之中,所以可以有不同的位置;然后是它所接受的数据组织方式是不同的,对于不同的组织方式编程是不同的。数据存储与回放模块就是这样。

如图4所示的示波器前面板,我们提供了“是否保存”和“是否打开”两个按钮。当按下“是否保存”按钮时,显示的波形将以电子表格的形式,根据每个点的位置在电子表格中用具体的数字保存起来。另外我们还事先设定了波形的保存路径,并以每天的日期作为文件名来保存。

在这里我们用的是底层函数来保存电子表格文件的,如图9所示。

图9 数据保存模块

程序中用 Open/Create/Replace File VI新建了一个文件*.xls,在 For循环中用Write File 函数将数据写入文件,最后用Close File函数关闭文件。

其中数据文件的格式为首先写入数据序号,然后加入一个TAB定位符号,接着写入正弦波幅值数据,最后行加上终止符号。每次循环将这样一行的数据写入文件,经过由原波形所含有点数的次数的循环,数据文件就按照电子表格文件的格式写好了。

因为保存的时候是以锯齿波所产生的时间变化为基准来保存的,所以在数据回放的时候就只能以保存时的锯齿波来扫描波形。

图10 波形回放模块

当按下“是否打开”按钮时,一旦开始读取波形数据操作,立刻就会弹出一个读取数据文件对话框,该对话框如图12所示,在该对话框中可以选择要读取数据文件的路径、文件名及文件类型等(我们这里限为电子表格文件)。该对话框完全仿照Windows风格,操作简便,可以很快将所需数据读出。

图11 读取数据文件时弹出的对话框

该功能尤其适用于因特殊原因不能实时处理数据,或数据对以后的研究具有重要的参考价值,此时可以先把数据保存下来,日后再把原来保存的数据文件读出来,这时读出的数据就和实时采集的数据一样,也能够进行自动参数测量,频谱分析等操作。

程序中采用的是Read From Spreadsheet File VI,在指定了读取文件的路径和读取数据的列数后, VI可以读取电子表格文件中的数据。需要注意的是Read From Spreadsheet File VI默认的读取数据定位符号是TAB,如果在写电子表格文件时用了其他的定位符号,则需要在Read From Spreadsheet File VI的delimiter数据端口加以设置。在这里我们设置为-1,意思为读取全部列数。然后我们提取出原电子表格的第二列,即为y轴的数据值,并与产生的锯齿波数组组成一个二维数组,最后在XY Graph上显示出来。另外,我们通过对x或y轴旋钮的设置,可对读出的波形进行调整。

该功能尤其适用于因特殊原因不能实时处理数据,或数据对以后的研究具有重要的参考价值,此时可以先把数据保存下来,日后再把原来保存的数据文件读出来,这时读出的数据就和实时采集的数据一样,也能够进行自动参数测量,频谱分析等操作。

程序中采用的是Read From Spreadsheet File VI,在指定了读取文件的路径和读取数据的列数后, VI可以读取电子表格文件中的数据。需要注意的是Read From Spreadsheet File VI默认的读取数据定位符号是TAB,如果在写电子表格文件时用了其他的定位符号,则需要在Read From Spreadsheet File VI的delimiter数据端口加以设置。在这里我们设置为-1,意思为读取全部列数。然后我们提取出原电子表格的第二列,即为y轴的数据值,并与产生的锯齿波数组组成一个二维数组,最后在XY Graph上显示出来。另外,我们通过对x或y轴旋钮的设置,可对读出的波形进行调整。

6模块连接、总体调试及所遇问题的解决办法

在模块都完成了之后就可以对模块进行连接了,在连接模块的时候可以分为很多步进行,先连接关键性的模块,在调试基本成功之后在连接其他功能模块。

我们需要将波形的显示、波形的存储和波形的回放放到一个选择结构中,并用一个总开关来控制。当开关扳向上时,可以进行正常的波形显示、参数测量、频域分析等。开关扳向下时,可以进行读取文件的操作。如图12所示。

(a)

(b)

图12 虚拟示波器程序框图

图(a) 、(b)为调试后的程序框图,由图中,我们可以发现,该框图由一个主VI和若干个子VI组成,使虚拟示波器是分层次和模块化的,即可以把主VI当作顶层程序,将其它子VI当作自身的子程序,这样用户就可以把一个复杂的应用任务分解为一系列的、多层次的子任务,并为每一个子任务设置一个子虚拟仪器(简称“子VI”),通过图标连接器供其上层调用。

Labview操作题

1.产生100个0-100之间的随机整数,将其显示在波形图上,并计算它们的平均值。(10分) 2.采用公式节点完成以下,a,b,c面板输入,计算的结果y送前面板显示。(10分) y=(tan(3a)+cos(12b))/(a+3c) 3.有一个VI程序,其程序框图如下:(15分)

请分析: ●对应该程序框图,起前面板共有几个控件? 2个 ●该程序完成什么功能? 12+22+32+……+n2>1000 计算最小的n值及对应该n值的该表达式的累加和。 ●程序在什么条件下结束? 表达式的累加和>1000 4. 建立一个VI,模拟滚动—个骰子(骰子可能取值1~6),跟踪骰子滚动后的取值出现次数,输入是骰子的滚动次数,输出应包括滚动后骰子所取各数值及其出现次数。要求最多只用一个移位寄存器实现功能。(15分)

5.编程求Josephus问题:m个小孩围成一圈,从第一个小孩开始顺时针方向每数到第n个小孩时这个小孩就离开,最后剩下的一个小孩是胜利者。求第几个小孩是胜利者。 6.编程求1000内的“完数”。“完数”指一个数恰好等于它本身的因子之和。例如 28=14+7+4+2+1 7.创建一个VI,实现对按钮状态的指示和按钮“按下”持续时间的简单计算功能,按下按钮时,对应的指示灯亮,对应的数字量显示控件中开始计时。松开按钮时,指示灯灭,计时停止。

8.温度报警程序,当温度值大于30则报警,小于-25则退出运行状态。 9.设计一评分程序,输入不同的分数会得到不同的评论。分数小于60,“警告”指示灯会亮起来,同时显示字符串“你没有通过考试!”;分数在60~99之间,“通过”指示灯会亮起来,同时显示字符串“你考试通过了!”;分数为100,“恭喜”指示灯会亮起来,同时显示字符串“你是第一名!”;如果输入为0~100以外的数字,会有错误提示,同时显示字符串“错误!”。

《LabVIEW语言及编程技术》习题库(答案)

《LabVIEW语言及编程技术》试题库 一、选择题: 1. 下面选项中,哪个是更新前面板显示控件的最好方法?[ B ] (A) 使用局部变量;(B) 直接连线到显示控件的接线端; (C) 使用功能全局变量;(D) 使用"值"属性节点。 2. 与局部变量相比,下面哪个描述表明了全局变量的优势?[ C ] (A) 全局变量自身不需要标签就可执行; (B) 全局变量遵循数据流模式,因此不会引起竞争情况; (C) 全局变量可以在两个独立的同时运行的VI之间传递数据; (D) 只有全局变量能传递数组数据,而局部变量不能。 3. 如存储的数据将被其他工程师通过Microsoft Excel分析。应使用哪种存储格式?[ B ] (A) TDM;(B) 用制表符(Tab)分隔的ASCII; (C) 数据记录;(D) 自定义二进制格式。 4. 创建一个数组的最高效方法是:[ A ] (A) 使用一个带自动索引的While循环; (B) 初始化一个数组并在While循环中替换其元素; (C) 在While循环中放置一个创建数组函数; (D) 使用一个带自动索引的For循环 5. 当连接输入被勾上时,下面程序框图中创建数组(Build Array)函数的输出是什么? [ C ] (A) 一维数组{1, 7, -4, -2, 3, 6};(B) 二维数组{{1, -4, 3, 0}, {7, -2, 6}};(C) 一维数组{1, -4, 3, 7, -2, 6};(D) 二维数组{{1, -4, 3}, {7, -2, 6}}。 6. 下面数组加法的计算结果是多少? [ B ]

(A) 一维数组{80, 20, 40, 10, -60};(B) 一维数组{120, 30}; (C) 一维数组{120, 30, -60};(D) 二维数组{{120, 90, 20}, {60, 30, -40}}。 7. 对于下面的程序框图,哪个描述是正确的?[ D ] (A) 循环会执行一次,计数接线端会输出数值0; (B) 循环不会执行,计数接线端会返回一个空数值(Null); (C) 循环会执行一次,计数接线端会输出数值1; (D) 循环会执行无限次,程序只能人为强制中止。 8. LabVIEW代码如何执行?[ C] A 代码顺序执行,依照图标在框图中放置的位置 B 代码从右到左,由上到下顺序执行。 C 代码以数据流的方式执行。 D 代码并行执行和顺序执行同时进行。 9. 下面的框图程序执行后,输出的波形图显示为下列哪个图形?[ B ] 程序框图

LabVIEWCLAD模拟试题(卷)(中文)

1. 在何处向VI添加的说明信息会显示在“显示即时帮助”弹出窗口? a. 使用VI属性说明信息窗口 b. 在即时帮助窗口中输入 c. 在前面板上创建一个自由标签 d. 编辑LabVIEW帮助文件 2. 连线可以在并行执行的循环间传递数据吗? a. 可以 b. 不可以 3. 下列关于选项卡控件的描述,正确的是? a. 选项卡控件的输出值是选中的选项卡标签的ASCII值 b. 选项卡控件是一种枚举型控件 c. 选项卡控件的输出值是选项卡上的控件簇 d. 选项卡控件的输出值是前面板上控件的Tab键顺序 4. 运行DataSocket VI之前必须先启动哪个服务器? a. HTTP服务器 b. DataSocket服务器 c. FTP服务器 d. OPC服务器 5. 强制转换点表示: a. 数据类型一致 b. 对数据执行多态运算 c. 创建一个数据缓冲区,处理数据转换 d. 数值超出围,应进行强制转换 6. 下列关于程序框图的表述,正确的是? a. 循环将执行一次,计数接线端 将输出值1 b. 循环将执行一次,计数接线端将输出值0 c. 循环将执行无穷次,需中止程序 d. 循环不执行,计数接线端将输出空值 7. 下列不能用于传递数据的是? a. 信号量 b. 队列 c. 通知器 d. 局部变量 8. 下列接线端中控制For循环执行次数的是? a. b. c. d. 9. 在VI前面板上有一个控件,需在运行时修改其属性。最佳方法是? a. 创建一个隐式属性节点,选择要修改的属性 b. 创建一个控件引用,将引用传递至属性节点,选择要修改的属性 c. 创建一个至控件的共享变量,选择要修改的属性 d. 创建一个局部变量,选择要修改的属性 10. 公式节点可进行下列哪种运算? a. 基本编程指令Input和Print b. 在公式节点中嵌套子VI c. 与C语言类似的前后递增(++)和递减(--) d. 嵌套式公式节点结构 11.更新前面板显示控件的最佳方法是? a. 使用“值”属性节点 b. 直接连线显示控件接线端 c. 使用局部变量 d. 使用功能局部变量 12.下列哪个函数按照元素的自有标签组合簇元素? a. 按名称解除捆绑 b. 解除捆绑 c. 按名称捆绑 d. 捆绑 13. 选择连接输入时,程序框图上“创建数组”函数的输出是? a. 一维数组{1, -4, 3, 7, -2, 6} b. 一维数组{1, 7, -4, -2, 3, 6}

LabVIEW练习题

LabVIEW 课程设计题目 LabVIEW 课程设计题目包括:“基础题”和“设计题”两大部分。未曾选修过“虚拟仪器技术”的同学仅需完成“基础题”部分;选修过“虚拟仪器技术”的同学在完成“基础题”部分内容的基础上,必须选做“设计题”之一内容。 第一部分 基础题(必做) 1、用LabVIEW 的基本运算函数编写以下算式的程序代码: () () 32 1.8 2.738112531782;635316831007625102257281÷?×++×+?+÷?×+ 2、利用摄氏温度与华氏温度的关系9/)32(5?=°°F C 编写一个程序, 求华氏温度(F °)为,32°,64°,4°,6.98°,6°,104°,212°时的摄氏温度。 3、创建一个2行3列的二维数组控制件,为数组成员赋值如下: 00.600.500.400 .300.200.1 4、用数组创建函数创建一个二维数组显示件,成员为: 3 216542 165431654326 54321 编程将上述创建的数组转置为:

3 2162 1651 6546543 5432 4321 5、创建一个簇控制件,成员分别为字符型控制件姓名,数值型控制件学号,布尔型控制件注册。从这个簇控制件中提取出簇成员注册,显示在前面板上。 6、创建一个字符串显示件,程序运行后显示当前系统日期、时间和自己的班级、姓名。 7、将范围0—10的5个随机数转换为一个字符串显示在前面板上,要求保留2位小数,每个数之间用逗号分隔。 8、用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) 将这两个数组用数组显示件显示在前面板上。 9、产生100个随机数,求其最小值和平均值。 10、程序开始运行后要求用户输入一个口令,口令正确时滑钮显示件显示一个 0—100的随机数,否则程序立即停止。

(完整word版)LabVIEW大作业

LabVIEW技术大作业 题目:基于LabVIEW的巴特沃斯窗函数滤波器的设计学院:信息与通信工程学院 专业:通信工程 班级:通信081班 学号:2008026121 姓名:王美玲

一、 虚拟仪器及LabVIEW 的相关介绍 虚拟仪器(virtual instrument )是基于计算机的仪器。计算机与仪器的密切结合是目前仪器发展的一个重要方向。这种结合有两种方式,一种方式是将计算机装入仪器,典型的例子就是所谓智能化的仪器。随着计算机功能日益强大以及体积的日益减小,这类仪器的功能也越来越强大,目前已经出现含有嵌入式系统的的仪器。另一种方式是将仪器装入计算机,以通用计算机硬件及操作系统为依托,实现各种仪器的功能。虚拟仪 主要是这种方式。常见的虚拟仪器组建方案: 二、虚拟仪器的特点 (1)尽可能采用通用的硬件,各种仪器的差异主要是软件。 (2)可以充分发挥计算机的能力,有强大的数据处理功能,可以创造出强大的仪器。 (3)用户可以根据自己的需要定义和制造各种仪器。 虚拟仪器实际上是一个按照仪器需求组织的数据采集系统,其研究中涉及的基础理论主要是数据采集和数字信号处理。在这领域中使用比较广泛的计算机语言和开发环境就是美国NI 公司的LabVIEW 。 三、LabVIEW 的简介 LabVIEW (laboratory virtual instruments engineering workbench )是一种图形化的编程语言环境,它广泛的被工业界、学术界和研究实验室所接受,被公认是标准的数据采集和仪器控制软件。LabVIEW 不仅提供了与遵从GPIB ,VXI ,RS-232和RS-485协议的硬件及数据采集卡通信的全部功能,还内置了支持TCP/IP ,ActiveX 等软件标准的数据库函数,而且其图形化的编程界面使编程变得生动有趣。LabVIEW 是一个功能强大且灵活的软件。 以LabVIEW 为代表的图形化语言程序,又称为“G ”语言。使用这种语言编程时,基本上不需要编写程序代码,而是“绘制”程序流程图。LabVIEW 尽可能利用工程技术人员所熟悉的术语、图标和概念,因而它是一种面向最终客户的开发工具,可以增强工程人员构建自己的科学和工程系统的能力,可以实现仪器编程和数据采集系统提供便捷途径。 利用LabVIEW ,可以产生独立运行的可执行文件。LabVIEW 的真正的32位编译器,像其他软件一样,LabVIEW 提供了Windows 、UNIX 、Linux 和Macintosh 等多种版本。 四、基于LabVIEW 的巴特沃斯传函数滤波器的设计的系统原理介绍 数字信号处理现在已经发展到各个领域都需要的程度,医学、军事、以及工业设计等方面都应用很广泛。在数字信号处理的理论基础上最重要的是滤波的功能。滤波器的种类有许多,根据幅频特性分为低通滤波、高通率波、带通滤波和带阻滤波根据信号不同可以分为数字滤波器和模拟滤波器。根据种类不同,有巴特沃斯滤波器、切比雪夫滤波器、模拟滤波器和巴塞尔滤波器等。滤波器设计的理论和设计方法已经相当发展的相当成熟,而且有多种典型的模拟滤波器供我们选择,根据自己掌握的知识本次试验采用的是巴特沃斯滤波器,可以实现高通、低通、带通和带阻的滤波的功能。选择巴特沃斯被 测 对 象 信号调理 数据采集 卡 数据处理 虚拟仪器面板

虚拟仪器LABVIEW大作业

LABVIEW回声探测器实验作业 安 徽 工 业 大 学 电气信息学院 自动化093

回声探测器 LabVIEW是由美国国家仪器公司创立的功能强大而又灵活的仪

器和分析软件应用开发工具。它是一种基于图形化的、用图标来代替文本行创建应用程序的计算机语言。在以PC为基础的测量和工控软件中,LabVIEW的市场普及率仅此次于C++/C语言。LabVIEW已经广泛地被工业界、学术界和研究实验室所接受,被公认为是标准的数据采集和仪器控制软件,LabVIEW使用的编程语言是G语言。G语言用图表表示函数,用连线表示数据流向。这次编程所用的是较新版本的LabVIEW 8.5。 一.设计目的:该实验基于labview8.5虚拟平台,使用图形语言编程,由回声发生器子VI产生回声信号,通过回声探测器进行探测分析。本实例利用两个波形图来分别显示回声信号和回声探测信号,并对这两个信号进行比对分析。 本实验设计主要内容包括三个部分:回声产生部分,回声探测部分,和结果显示部分。 回声探测器实例的前面板如图1:

图1 1.程序框图主要功能模块介绍:如图2回声探测器实例的程序框图 主要有四个功能模块组成,分别为回声产生子Vi功能模块,回声探测功能模块,结果显示功能模块,While循环功能模块,下面对每个功能块实现的具体处理功能和任务进行详细介绍。 图2 1>.回声产生子VI功能模块 回声产生子VI功能模块用来产生回声信号,此子VI命名为 回声产生器.vi, 图3给出了回声 产生子VI功能图

回声信号 图3 该子Vi主要用来产生回声信号,可将该模块产生的信号输入相应的波形图和回声探测功能模块中。另外,该子VI可以通过改变输入控件的参数来产生不同的信号。 2>.回声探测功能模块 回声探测功能模块的功能是通过“快速希尔伯特变换”,“实部虚部至极坐标转换”和“自然对数”等一系列函数节点的运算,将回声产生子VI功能模块产生的回声信号信息特征探测出来,“快速希尔伯特变换”函数变换是在FFT函数进行傅立叶变换的基础上执行离散希尔伯特变换的。其调用路径是“函数——信号处理——变换——快速希尔伯特变换”。 “实部虚部至极坐标转换”函数是将一复数坐标的直角坐标形式转换成极坐标形式,本例利用该函数将两个直角坐标系的数组转换为极坐标形式,其调用路径是“函数——编程——数值——复数——实部虚部至极坐标转换”。 “自然对数”函数是计算输入数值的自然对数值,其调用路径是

(完整word)labview常见习题大全,推荐文档

1. 10.21 产生100个随机数,求其最小值和最大值以及平均值 2. 10.22 用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) 将这2个数组用数组显示件显示在前面板. 3. 10.23 程序开始运行时候要求用户输入一个口令,口令显示正确时候滑钮显示件显示0---100的随机数,否则程序立即停止. 4. 10.24 编写一个程序,在前面板上放3个按钮,当按下某个按钮时,输出按钮的编号. 5. 10.25 编写计算以下等式的程序: y1=x3-x2+5 y2=m*x+b x的范围是0---10。 y1和y2用数组显示件显示在前面板。 6. 10.26 编程求Josephus(约瑟夫环)问题:m个小孩子围成一圈,从第一个小孩子开始顺时针方向数数字,到第n个小孩子离开,这样反反复复,最终只剩下一个小孩子,求第几个小孩子留下? 7. 10.27 猴子吃桃子问题,每天吃完全部的桃子一半又一个,到第10天的时候还剩下一个,编程求第一天桃子的总数. 8. 10.28 编程求1000以内的所有水仙花数,"水仙花数"指一个三位数,它的各位数字的立方和等于她本身.例如:371=3*3*3+7*7*7+1*1*1; 9. 10.31 编程求1000以内的"完数","完数"是指一个数恰好等于它本身的因子之和,例如28=14+7+4+2+1; 10. 11.1 在一个chart中显示3条曲线,分别用红,绿,蓝3种颜色表示范围0-1,0-5,0-10的3个随机数. 11. 11.2 在一个Graph中用2种不同的的线宽显示1条正弦曲线和一条余弦曲线,每条曲线长度为128个点.正弦曲线x0=0,Dealt x=1,余弦曲线x0=2,Dealt x=10. 12. 11.3 用XY Graph显示一个半径为1的圆 13. 11.4 产生一个10行10列的二维数组,数组成员为0--100的数字,并用强度图显示. 14. 11.5 画出Labview图形显示,以及放大缩小功能,以及在此图标上添加可改变的labVIEW字体样式. 15. 11.6 在前面板创建数值型控件,输入一个数值,在乘以一个比列系数,然后还在同一个控件中显示出来.(局部变量用法) 16. 11.7 编写一个程序,用labview的信号生成函数产生一个三角波并显示在chart上,在编写例外一个程序读出数据显示在chart上,调节2者的程序运行的时间,比较波形的差异.(全局变量) 17. 11.8 编写一个程序,用labview的信号生成函数产生一个三角波并显示在chart上,在编写例外一个程序读出数据显示在chart上,调节2者的程序运行的时间,比较波形的差

虚拟仪器试卷(含答案)

虚拟仪器试卷(满分100分) 一、填空题。(本题共10小题,15个填空,每空1分,共15分。) 1、一个完整的VI包括三个部分:( )。 2、LabVIEW有四种类型的节点:()、()、结构和代码接口。 3、因为For循环的常用来处理数组,所以数据出口的自动索引默认为()。 4、而While循环的数据出口的自动索引默认为()。 5、使用两个For循环,把其中一个嵌套在另一个中可以生成一个二维数组。外层的For循环产生()元素,而内层的For循环产生()。 6、利用()可以方便地从复杂的待测信号中分离出某一特定频率的信号。采样间隔是指()。 7、虚拟仪器最核心的思想是(),从而降低系统成本,增强系统功能与灵活性。8、如果没有现成的数据采集卡,我们也可以利用LabVIEW中的 ()功能实现数据采集。 9、Sequence结构有()两种方式。 10、框图程序是由()、()和()组成的可执行代码。 二、单项选择题。(本题共5小题,每个小题有四个选项,从中选出正确的选项,每小题2分,共10分。) 1、当一个函数的error in带有错误信息时,下列哪种说法是正确的。() A、该函数会对错误信息进行处理 B、该函数不会作任何操作,而是直接将错误信息传递给error out,且不会将自身函数发生的错误加进去。 C、该函数将会发出错误信息警告,且使程序终止运行。 D、该函数会直接将错误信息传递给error out。且会将自身函数发生的错误也一并加进去。 2、下列哪种说法是错误的?() A、虚拟仪器采用的是面向对象和可视化编程技术。 B、在程序运行的过程中波形的可见性是不可以改变的。 C、在LabVIEW中,VI程序的运行是数据流驱动的。 D、在创建子程序时,可以使用连线工具给前面板的控制器和指示器分配端口。 3、下列说法中哪种说法是正确的?() A、While循环只有在条件端口接收到的值为True时才停止循环 B、While循环不满足条件,1次也不执行 C、For循环当N<1时,1次都不执行 D、For循环可以嵌套,而While循环不可以嵌套 4、当数据采集卡组态成DIFF模式时,将使用差分连接方式,使用这种连接方式下列哪种说法是错误的?() A、可以减少尖峰噪声 B、增加噪声抑制 C、增大了尖峰噪声 D、增加共模信号抑制 5、下列哪种总线产品对PCI总线产品完全兼容。() A、PXI总 线 B、GPIB 总线 C、VXI总 线 D、 RS-232串口总线 三、简答题。(本题共三个小题,每个小题5分,共15分。)

labview复习重点总结

Labview复习题 一、填空 1. 所有的LabVIEW 应用程序,即虚拟仪器(VI),它包括前面板、流程图以及图标/连结器三部分。 2. LabView有三种操作模板,分别是控件模板、函数模板和工具模板。 3. CIN节点需要调用*.lsb格式文件,这种文件可以通过Visual C++来生成。 4. 虚拟仪器设计中连线为虚线时表示数据类型不匹配出错,当RUN按钮显示为折断的箭头时,表示程序有错误发生。 5.在LabView中局部变量主要用于程序内部传递数据,全局变量主要用于程序之间传递数据。 6. 程序框图由端口、节点和连线组成的可执行代码。 7、数组是相同类型的数据元素的集合,数据元素的类型可以是任意的,可以创建数值数组、布尔数组、字符数组和簇数组。 8、数据采集系统由被测参数→传感器→信号调理→数据采集卡→计算机组成。 9、Labview支持文本文件,二进制文件,数据记录文件,波形文件,测试数据文件等格式的文件输入和输出。 10、数据采集卡性能指标有输入通道数,输出通道数,采集位数,采集速度等。 11、循环边框上的数据出口为一个小方块,称为移位寄存器,具有存贮数据功能,对FOR 循环而言第一次循环时布尔型数据出口值为false。 12、虚拟仪器在使用数据采集卡之前必须运行专用软件MAX进行配置,如设置通道名,输入输出类型,测量类型等。 13、LabVIEW概念是一种用图标代替文本行创建应用程序的图形化编程语言。 14、传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。它用图标表示函数,用连线表示数据流向。 15、LabVIEW程序为称为VI,扩展名默认为.vi。 16、程序框图是图形化源代码的集合,这种图形化的编程语言也称为G语言。 17、虚拟仪器系统是由计算机、应用软件和仪器硬件三大要素构成的。计算机与仪器硬件又称为VI的通用仪器硬件平台。 18、LabVIEW程序被称为VI(Virtual Instrument),即虚拟仪器。 LabVIEW的核心概念就是“软件即是仪器”,即虚拟仪器的概念。 19、LabVIEW程序包括前面板(用户界面)和后面板(程序框图)。它有3种选板:控件选板(为前面板添加控件),仅用于编辑前面板;函数选板(在程序框图中添加函数或数据等),仅用于编辑程序框图;工具选板(选择各种编辑工具,前面板和后面板都要用到)。 20、控件选板中的基本常用控件可以以现代(modern)、经典(classic)和系统(system)三种风格显示。 21、前面板中的一些控件既可以作为输入控件也可以做作为显示控件。右击控件,选择Change to Indicator(转换为显示控件)或Change to Control(转换为输入控件)可以进行输入控件与显示控件之间的切换。 22、程序框图中的控件对象实际上是前面板相应控件的接线端。 23、LabVIEW中的程序框图节点是指带有输入和输出接线端的对象,类似文本编程语言中的语句、运算符、函数和子程序。LabVIEW中的节点主要包括函数、结构、Express VI、子VI 等。

虚拟仪器考试题及部分答案(仅供参考)

1.产生一个值为0.0~100.0之间的随机数,然后除以一个在程序前面板中输入的数。当输 入的数值为零时,前面板上放置的指示灯点亮,提示除法无效。 2.生成10~20之间的随机数,并将由每次生成的随机数的曲线显示在波形图表中。 3. 输入三角形的三边长,求三角形的面积 4. 分别利用For循环的移位寄存功能和反馈节点两种方法求0+5+10+15+…+45+50的值(等差数列的和)

当按钮被松开时,显示“按钮被松开”。 6. 设计一评分程序,输入不同的分数会得到不同的评论。分数小于60,“警告”指示灯会亮起来,同时显示字符串“你没有通过考试!”;分数在60~99之间,“通过”指示灯会亮起来,同时显示字符串“你考试通过了!”;分数为100,“恭喜”指示灯会亮起来,同时显示字符 串“你是第一名!”;如果输入为0~100以外的数字,会有错误提示,同时显示字符串“错误!”。

7. 建立一个实现计算器功能的VI。前面板有数字控制器用来输入两个数值,有数值指示器用来显示运算结果。运算方式有加、减、乘、除,可用一个滑动条实现运算方式的设定。 8. 用顺序结构实现数值匹配:输入1~100之间的任意1个整数,然后系统随机产生1~100之间的整数,直到和预先输入的整数一样,然后输出匹配的次数和时间。

9. 设计一个VI,用移位寄存器对连续产生的随机数进行100次累加,用累加值除以循环次数100,求这些随机数的平均数。再判断平均数是否在0.45~0.55范围内,如果在此范围内则点亮指示灯,并计算程序运行所耗的时间。提示:可以用“比较”子模板中的“判定范围并强制转换”函数判断数的范围。 10. 编写一个程序,测试自己在程序前面板上输入一段文字“LabVIEW是图形化的编程语言”所用的时间。 11. 建立一个VI,把包含10个随机数的一个数组的元素顺序颠倒过来,再将数组最后5个元素移到数组前端形成新的数组。

labview经典练习题

一、数组及簇的建立与显示 1、产生100个数的数组,以及加5后的数组;产生200个数的数组; 2、100个数的数组,以及加5后的数组相加后显示; 3、100个数的数组,以及加5后的数组建立数组,加横坐标显示,点之间间隔为2; 4、加5的100个数的数组与200个数的数组建立数组,并显示。 二、自动路径的设立 1、使用展开顺序结构,第一帧为快速vi产生信号,并进入while循环观察信号; 2、第二帧,使用数字为文件名,制定:D:\DATA\为保存路径,保存分辨位数:3.

三、数据产生及保存 1、折叠顺序结构,第一帧产生两个带噪声的三角波、三角波,使用基本函数发生器,噪声 分别用均匀白噪声以及高斯白噪声。建立为数组。 2、第二帧选择观察通道并显示;提取两个通道的数组值打包为两维数组; 3、第三帧,分别保存为波形文件以及文本文件。

四、应变测量 程序说明: 1、利用数据采集节点采集2个通道的信号。 2、信号进入while进行处理; 3、选择观察通道,本题设为两个通道; 4、提取信号的数据数组并显示; 5、选择滤波与否,滤波频率设为100hz; 6、提取信号的直流分量。 7、提取最大的波形段信号; 8、选择是否保存或直接退出。

五、 应变测量信号的读取 1、读取采集的冲击信号; 2、信号进入while 进行处理; 3、选择观察通道,本题设为两个通道; 4、提取信号的数据数组并显示; 5、选择滤波与否,滤波频率设为100hz ; 6、提取信号的直流分量。 7、提取最大的波形段信号; 设定保存路径与文件名:D:\DATA\学号

六、悬臂梁固有频率测试 1、采集两个通道的数据信号; 2、进入while循环,并选择观察通道显示; 3、低通滤波; 4、去除直流分量; 5、加窗; 6、求自功率谱; 7、设置横向坐标系,显示功率谱。

labview常见习题复习题考试题

labview常见习题复习题考试题——答案 1. 10.21 产生100个随机数,求其最小值和最大值以及平均值 2. 10.22 用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) 将这2个数组用数组显示件显示在前面板. 3. 10.23 程序开始运行时候要求用户输入一个口令,口令显示正确时候滑钮显示件显示0---100的随机数,否则程序立即停止. 4. 10.24 编写一个程序,在前面板上放3个按钮,当按下某个按钮时,输出按钮的编号. 5. 10.25 编写计算以下等式的程序: y1=x3-x2+5 y2=m*x+b x的范围是0---10。 y1和y2用数组显示件显示在前面板。 6. 10.26 编程求Josephus(约瑟夫环)问题:m个小孩子围成一圈,从第一个小孩子开始顺时针方向数数字,到第n个小孩子离开,这样反反复复,最终只剩下一个小孩子,求第几个小孩子留下? 7. 10.27 猴子吃桃子问题,每天吃完全部的桃子一半又一个,到第10天的时候还剩下一个,编程求第一天桃子的总数. 8. 10.28 编程求1000以内的所有水仙花数,"水仙花数"指一个三位数,它的各位数字的立方和等于她本身.例如:371=3*3*3+7*7*7+1*1*1; 9. 10.31 编程求1000以内的"完数","完数"是指一个数恰好等于它本身的因子之和,例如28=14+7+4+2+1; 10. 11.1 在一个chart中显示3条曲线,分别用红,绿,蓝3种颜色表示范围0-1,0- 5,0-10的3个随机数. 11. 11.2 在一个Graph中用2种不同的的线宽显示1条正弦曲线和一条余弦曲线,每条曲线长度为128个点.正弦曲线x0=0,Dealt x=1,余弦曲线x0=2,Dealt x=10. 12. 11.3 用XY Graph显示一个半径为1的圆 13. 11.4 产生一个10行10列的二维数组,数组成员为0--100的数字,并用强度图显示. 14. 11.5 画出Labview图形显示,以及放大缩小功能,以及在此图标上添加可改变的labVIEW字体样式. 15. 11.6 在前面板创建数值型控件,输入一个数值,在乘以一个比列系数,然后还在同一个控件中显示出来.(局部变量用法) 16. 11.7 编写一个程序,用labview的信号生成函数产生一个三角波并显示在chart 上,在编写例外一个程序读出数据显示在chart上,调节2者的程序运行的时间,比较波形的差异.(全局变量) 17. 11.8 编写一个程序,用labview的信号生成函数产生一个三角波并显示在chart

labview常见习题

labview常见习题 1.产生100个随机数,求其最小值和最大值以及平均值 2.用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) 将这2个数组用数组显示件显示在前面板. 3.程序开始运行时候要求用户输入一个口令,口令显示正确时候滑钮显示件显示0---100的随机数,否则程序立即停止. 4.编写一个程序,在前面板上放3个按钮,当按下某个按钮时,输出按钮的编号. 5.编写计算以下等式的程序: y1=x3-x2+5 y2=m*x+b x的范围是0---10。 y1和y2用数组显示件显示在前面板。 6.编程求Josephus(约瑟夫环)问题:m个小孩子围成一圈,从第一个小孩子开始顺时针方向数数字,到第n个小孩子离开,这样反反复复,最终只剩下一个小孩子,求第几个小孩子留下? 7.猴子吃桃子问题,每天吃完全部的桃子一半又一个,到第10天的时候还剩下一个,编程求第一天桃子的总数. 8.编程求1000以内的所有水仙花数,"水仙花数"指一个三位数,它的各位数字的立方和等于她本身.例如:371=3*3*3+7*7*7+1*1*1; 9.编程求1000以内的"完数","完数"是指一个数恰好等于它本身的因子之和,例如28=14+7+4+2+1; 10.在一个chart中显示3条曲线,分别用红,绿,蓝3种颜色表示范围0-1,0-5,0-10的3个随机数. 11.在一个Graph中用2种不同的的线宽显示1条正弦曲线和一条余弦曲线,每条曲线长度为128个点.正弦曲线x0=0,Dealt x=1,余弦曲线x0=2,Dealt x=10. 12.用XY Graph显示一个半径为1的圆

LabVIEW大作业

第二部分LabVIEW大作业 一、用0-100的随机数代替摄氏温度,将每500ms采集的温度的变化波形表示出来,并设定上下限,温度高于上限或者低于下限分别点亮对应的指示灯。并将其上下限也一并在波形中表示出来。 答案: 前面板 框图程序 二、(1)创建一个VI子程序,该子程序的功能是用公式节点来产生一个模拟压力,其计算公式是P=80+18.253V+1.244V*V。V是1到5的随机数。 (2)调用(1)的子程序,每0.5秒测量一次压力,共测量20次,将当前的压力值在波形中表示出来,并求出压力的最大值、最小值和平均值。

(1) 前面板框图程序 (2) 前面板框图程序 三、设计一个VI来测量温度(温度是用一个20到40的随机整数来代替),每隔0.25秒测一次,共测定5秒。在数据采集过程中,VI将在波形Chart上实时地显示测量结果。采集过程结束后,在Graph上画出温度数据曲线,并且把测量的温度值以文件的形式存盘, 存盘格式为: 点数时间(S) 温度值(度) 1 0.25 78 2 0.50 85

前面板 框图程序 D盘文件.txt中储存的内容为: 四、创建一个VI程序,该VI程序实现的功能是: (1)、创建一个程序使之产生0-10的随机整数,并将其做成子VI。 (2)、调用(1)中所产生的子VI并判断其产生的随机数是否等于0,如果等于0,则点亮指示灯。同时,另外设置一个开关来控制指示灯的可见性。(要求每0.2秒产生一个随机数并用一个开关来控制随机数的产生。)

(1) 前面板框图程序 (2) 前面板框图程序 五、(1)创建一个程序,分别用Chart和Graph来表示随机数产生的曲线。 (2)创建一个程序,此程序可以获得波形数据中的最后一个数据的时刻,获得波形数据中波形延续的时间,改变波形数据的时间间隔。 答案: (1) 前面板

Labview大作业1

Labview大作业 1、用0-100的随机数代替摄氏温度,将每500ms采集的温度的变化波形表示出来,并设定上下限,温度高于上限或者低于下限分别点亮对应的指示灯。并将其上下限也一并在波形中表示出来。 2、(1)创建一个VI子程序,该子程序的功能是用公式节点来产生一个模拟压力,其计算公式是P=80+18.253V+1.244V*V。V是1到5的随机数。 (2)调用(1)的子程序,每0.5秒测量一次压力,共测量20次,将当前的压力值在波形中表示出来,并求出压力的最大值、最小值和平均值。 3、设计一个VI来测量温度(温度是用一个20到40的随机整数来代替),每隔0.25秒测一次,共测定5秒。在数据采集过程中,VI将在波形Chart上实时地显示测量结果。采集过程结束后,在Graph上画出温度数据曲线,并且把测量的温度值以文件的形式存盘, 存盘格式为: 点数时间(S) 温度值(度) 1 0.25 78 2 0.50 85 4、创建一个VI程序,该VI程序实现的功能是: (1)、创建一个程序使之产生0-10的随机整数,并将其做成子VI。 (2)、调用(1)中所产生的子VI并判断其产生的随机数是否等于0,如果等于0,则点亮指示灯。同时,另外设置一个开关来控制指示灯的可见性。(要求每0.2秒产生一个随机数并用一个开关来控制随机数的产生。) 5、(1)创建一个程序,分别用Chart和Graph来表示随机数产生的曲线。 (2)创建一个程序,此程序可以获得波形数据中的最后一个数据的时刻,获得波形数据中波形延续的时间,改变波形数据的时间间隔。 6、创建VI程序,实现常用仪器仪表功能: 在交流毫伏表、频率计、信号发生器、频率特性测试仪、示波器中任选一个完成。 要求提交电子稿和打印稿,并附带VI程序。 打印稿要求A4纸打印,要有封皮,封皮格式见下页。

2015年labview大作业题(赵京)

2015虚拟仪器课程大作业题目及要求 一、要求说明 1.大作业请在第10周周五之前上交,作为总成绩60%的考核成绩(总成绩=平时成绩20%+上机成绩20%+大作业成绩60%)。 2.每人的大作业(每位同学具体需完成的大作业见附件1)附一份说明文档,写明编程思路、运行结果(前面板、程序框图、运行结果均截图),并打印出来交给学委,收齐后交到行政楼708。 3.VI保存为相应题号(如:作业A题1),vi保存版本不高于LabVIEW 2011,每位同学的所有程序均放在同一个文件夹下,文件夹命名为姓名+学号并交给学委,学委统一收好后打包为rar文件发到zhaojinghello@https://www.360docs.net/doc/0213695351.html,。 4. 大作业评分标准:

1.猴子吃桃子问题,每天吃完全部的桃子一半又一个,到第10天的时候还剩下一个,编程求第一天桃子的总数。(15分) 2.创建一个VI,实现对按钮状态的指示和按钮“按下”持续时间简单计算功能,按下按钮时,对应的指示灯亮,对应的数字量显示控件中开始计时。松开按钮时,指示灯灭,计时停止。(15分) 3.设计一评分程序,输入不同的分数会得到不同的评论。分数小于60,“警告”指示灯会亮起来,同时显示字符串“你没有通过考试!”;分数在60~99之间,“通过”指示灯会亮起来,同时显示字符串“你考试通过了!”;分数为100,“恭喜”指示灯会亮起来,同时显示字符串“你是第一名!”;如果输入为0~100以外的数字,会有错误提示,同时显示字符串“错误!”。 (15分) 4.采用labview模拟一个数据选择器。(前面板设计如下图所示)(20分) 5.设计一个VI来测量温度(采用随机数模拟0~100的温度并保留2位小数),每隔0.25秒测一次,共测定10秒。在数据采集过程中,VI将在波形Chart上实时地显示测量结果。采集过程结束后,在Graph上画出温度数据曲线,并且把测量的温度值以文件的形式存盘,使用记事本打开文件检查结果是否正确。保存格式如下:(20分) 6.利用随机数发生器仿真两个采样信号。一个0到5V的采样信号,每200ms采一个点,共采集50个点,另一路电压信号的范围为5到10V,采样间隔是50ms,共采100个点。采样完成后,将两路采样信号显示在同一个Waveform Graph中。(15分)

LabView考试试题

一、填空 1. VI 虚拟仪器的三个主要组成部分是_前面板 _、_程序框图 _和_图标 _。 2. LabView 有三种操作模板,分别是_控件模板 _、 _函数模板 _和_工具模板 _。 3. CIN 节点需要调用 __*.lsb_ _ 格式文件,这种文件可以通过__Visual C++ __来生成。 4. 虚拟仪器设计中连线为虚线时表示—数据类型不匹配出错_,当RUN按钮显示为折断的箭头时,表示程序 ___有错误发生 __。 5. 在 LabView 中 _局部变量 _主要用于程序内部传递数据, _全局变量 _主要用于程序之间传递数据。 6. 程序框图由 _端口_、_节点_和_连线_组成的可执行代码。 二、选择 1. 当一个函数的 error in 带有错误信息时,下列哪种说法是正确的( D ) A 该函数会对错误信息进行处理。 B 该函数不会作任何操作,而是直接将错误信息传递给error out ,且不会将自身函 数发生的错误添加进去。 C 该函数会发出错误警告,且使程序终止运行。 D 该函数直接将错就错传递给 error out ,且会将自身函数发生的错误加进去。 2. 下列哪种说法是错误的( B ) A 虚拟仪器采用的是面向对象和可视化编程技术。 B 在程序运行的过程过程中波形的可变性是不可改变的。 C 在 LabView 中, VI 程序的运行时数据流动的。 D 在创建子程序时,可以使用连线工具给前面板的控制器和指示器分配端口。 3. 下列哪种说法是对的( C ) A While 循环只有条件端口接收到的值为 True 时才停止循环。 B While 循环不满足条件时,一次也不执行循环。 C For 循环当N<1时,一次也不循环。 D For 循环可以嵌套, While 循环不可以嵌套。 4. 当数据采集卡组态成 DIFF 模式时,将使用差分连接方式,使用这种连接方式下列说 法错误的是( C ) A 可以减少尖峰噪声 B 增加噪声抑制 C 增大尖峰噪声 D 增加共模信号抑制 5. 下列哪种总线产品对PCI总线完全兼容。(A) A PXI 总线 B GPIB 总线 C VXI 总线 D RS232 串口 三、简答 1. For 循环和 While 循环的区别是什么?使用中它们各自适用于什么场合 ? 答: For 循环规定了循环次数,其条件选择是根据计数器计数次数是否达到循环次数而决定结束循环的条件;而 While 循环不规定循环次数,其条件选择是根据选择器端子的条件是否得以满足而决定结束循环的条件。 For 循环适合于有限次数的循环操作,而 While 循环适合于根据程序运行过程中逻辑关系或在程序执行中人为地决定循环次数。 2. 什么是 VISA? VISA 有什么特点? 答:VISA 是虚拟仪器软件结构(Virtual Instrument Software Architectuere)的简称,是由 VXI plug & play 系统联盟所统一制定的 I/O 接口软件标准及其相关规范的总称。一般称这个 I/O 函数库为 VISA 库(用于仪器编程的标准 I/O 函数库)。 VISA 函数库驻留于计算机系统中,是计算机与仪器之间的标准软件通信接口,用以实现对仪 器的控制

(完整word版)LabView考试试题

一、填空 1. VI虚拟仪器的三个主要组成部分是_前面板_、_程序框图_和_图标/连接器_。 2. LabView有三种操作模板,分别是_控件模板_、_函数模板_和_工具模板_。 3. CIN节点需要调用__*.lsb__格式文件,这种文件可以通过__Visual C++__来生成。 4. 虚拟仪器设计中连线为虚线时表示___数据类型不匹配出错_,当RUN按钮显示为折断的箭头时,表示程序___有错误发生__。 5. 在LabView中_局部变量_主要用于程序内部传递数据,_全局变量_主要用于程序之间传递数据。 6. 程序框图由_端口_、_节点_和_连线_组成的可执行代码。 二、选择 1. 当一个函数的error in带有错误信息时,下列哪种说法是正确的( D ) A 该函数会对错误信息进行处理。 B 该函数不会作任何操作,而是直接将错误信息传递给error out,且不会将自身函数发生的错误添加进去。 C 该函数会发出错误警告,且使程序终止运行。 D 该函数直接将错就错传递给error out,且会将自身函数发生的错误加进去。 2. 下列哪种说法是错误的(B)

A 虚拟仪器采用的是面向对象和可视化编程技术。 B 在程序运行的过程中波形的可变性是不可改变的。 C 在LabView中,VI程序的运行时数据是流动的。 D 在创建子程序时,可以使用连线工具给前面板的控制器和指示器分配端口。 3. 下列哪种说法是对的( C ) A While循环只有条件端口接收到的值为True时才停止循环。 B While循环不满足条件时,一次也不执行循环。 C For循环当N<1时,一次也不循环。 D For循环可以嵌套,While循环不可以嵌套。 4. 当数据采集卡组态成DIFF模式时,将使用差分连接方式,使用这种连接方式下列说法错误的是( C ) A 可以减少尖峰噪声 B 增加噪声抑制 C 增大尖峰噪声 D 增加共模信号抑制 5. 下列哪种总线产品对PCI总线完全兼容。(A ) A PXI总线 B GPIB总线 C VXI总线 D RS232串口 三、简答 波形图和波形图表有什么区别? 波形图是显示一组或多组数据的显示器,即用于显示测量值为均匀采集的一条或多条曲线;波形图连接的往往是数组控件。 波形图表是显示一个或多个数据轨迹的显示器,即显示一条或多条曲线的特殊数值显示控件,一般用于显示以恒定速率采集到的数据;波形图表连接的是数值控件。 XY坐标图用来绘制多变量函数曲线,可显示任何均匀采样和非均匀采样的点的集合

相关文档
最新文档