西安交通大学检测技术技术专题实验报告Word文档下载推荐.docx
《西安交通大学检测技术技术专题实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西安交通大学检测技术技术专题实验报告Word文档下载推荐.docx(48页珍藏版)》请在冰点文库上搜索。
在DRVI中设计李沙育图形很简单,用两片数
字信号发生器芯片产生同
图6、李沙育图形实验演示系统
频的正弦波信号,然后用一片旋钮芯片控制其中一个数字信号发生器芯片的相位,最后用一片X-Y曲线显示芯片显示李沙育图形就可以了。
转动旋钮就可以产生出不同相位差的正弦波信号合成的李沙育图形。
三、实验内容
设计一个李沙育图形实验演示系统,显示两路正弦波信号在不同相位差下的李沙育图形。
设计一个李沙育图形实验演示系统,显示两路正弦波信号在不同频率差下的李沙育图形。
四、实验仪器和设备
计算机 1台
DRVI快速可重组虚拟仪器平台1套
打印机 1台
五、实验运行界面截图
六、思考题
1.什么是虚拟仪器,其本质特征是什么?
虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。
虚拟仪器从本质上说是一个集成的软硬件概念。
2.什么是基于组件的应用软件开发,它和传统的基于编程语言的应用软件开发有什么区别和特点?
基于组件的开发是一种软件开发范型。
它是现今软件复用理论实用化的研究热点,在组件对象模型的支持下,通过复用已有的构件,软件开发者可以“即插即用”地快速构造应用软件。
特点:
这样不仅可以节省时间和经费,提高工作效率,而且可以产生更加规范、更加可靠的应用软件。
3.简述DRVI可重构虚拟仪器平台的工作原理。
直接在以软件总线为基础的面板上通过简单的可视化插/拔软件芯片和连线,就可以完成对
仪器功能的裁减、重组和定制,快速搭建一个按应用需求定制的虚拟仪器测量系统。
实验二学用SignalVBScript编程语言
了解DRVI可重构虚拟仪器平台中提供的嵌入式SignalVBScript语言,掌握用Signal VBScript语言产生测试信号、绘制曲线和进行信号分析的方法,掌握根据所学知识,用Signal VBScript设计自定义软件模块的方法。
二、SignalVBScript简介
SignalVBScript是在网页设计中常用的VBScript编程语言的基础上针对测试技术课程教学需要而扩展的一个内嵌在DRVI可重构虚拟仪器平台中的在线编程语言,教师和学生可以像设计网页中的
VBScript、JavaScript小程序那样用SignalVBScript设计小程序来扩展
DRVI功能,同时也可以对所学知识进行检验和实践。
如果您已经了解 VBScript 或 Visual Basic,会很快熟悉 Signal
VBScript。
即使没有学过这两种语言也可以通过下面的介绍快速学会简单的程序设计。
2、SignalVBScript变量和数据类型
与其它编程语言不同,VBScript 只有一种数据类型,称为
Variant。
Variant是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。
Variant用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。
用户在编程时不需要定义变量类型,变量类型在第一次对该变量赋值时由初始值确定。
例如下面是一段VBScript程序代码:
Dima,ba=2.5
b="
Hi"
其中Dim为变量申明语句,变量a初始化为数字量,b初始化为字符串。
不同类型的变量不能在一起直接运算,可以用CStr函数将数字量转换为字符串,或用CDbl函数将字符串转换为数字量。
3、数组变量
数组变量和普通变量是以相同的方式用Dim声明的,唯一的区别是声明数组变量时变量名后面带有括号 ( )。
下例声明了一个包含5个元素的一维数组:
DimA(5)
虽然括号中显示的数字是5,但由于在VBScript中所有数组都是基于
0的,所以这个数组实际上包含6个元素。
在数组中使用索引为数组的每个元素赋值,如下所示:
A(0)=1
A
(1)=2
...
A(5)=6
与此类似,使用索引可以检索到所需的数组元素的数据。
例如:
x=A(3)
数组并不仅限于一维,声明多维数组时用逗号分隔括号中每个表示数
组大小的数字。
在下例中,Table变量是一个有6行和11列的二维数组:
DimMyTable(5,10)
4、VBScript运算符
VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符,如下表所示。
算术运算符
比较运算符
逻辑运算符
描述
符号
求幂
^
等于
=
逻辑非
Not
负号
-
不等于
<
>
逻辑与
And
乘
*
小于
逻辑或
Or
除
/
大于
逻辑异或
Xor
整除
\
小于等于
逻辑等价
Eqv
求余
Mod
大于等于
逻辑隐含
Imp
加
+
对象引用比较
减
—
字符串连接
&
5、使用条件语句
使用条件语句可以控制程序的流程,可以编写进行判断和重复操作的
VBScript代码。
在VBScript中可使用以下条件语句:
If...Then...Else语句 和 SelectCase语句使用If...Then...Else进行判断的例程:
If b=0Then
Else
c=1
c=2
EndIf
使用SelectCase进行判断例程:
SelectCasevalue
Case0
Case1
value=1
value=2
CaseElse
value=4
EndSelect
6、使用循环语句
循环用于重复执行一组语句。
循环可分为三类:
一类在条件变为
False之前重复执行语句,一类在条件变为True之前重复执行语句,另一类按照指定的次数重复执行语句。
在VBScript中可使用下列循环语句:
Do...Loop:
当(或直到)条件为True时循环。
For...Next:
指定循环次数,使用计数器重复运行语句。
使用Do循环例程:
DoWhileNum>
10Num=Num-1
…Loop
使用For...Next例程:
Forj=1To10Step2
…Next
7、使用过程
VBScript中,过程被分为两类:
Sub过程和Function过程。
Sub过程是包含在Sub和EndSub语句之间的一组VBScript语句,执行操作但不返回值。
Sub过程可以使用参数(由调用过程传递的常数、变量或表达式)。
如果Sub过程无任何参数,则Sub语句必须包含空括号()。
SubConvertTemp(data)temp=data/128
EndSub
Function过程是包含在Function和EndFunction语句之间的一组
VBScript语句。
Function过程与Sub过程类似,但是Function过程可以返回值。
Function过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。
Function返回值的数据类型总是Variant。
FunctionCelsius(fDegrees)
Celsius=(fDegrees-32)*5/9EndFunction
8、常用VBScript标准函数
Abs函数:
返回一个数字的绝对值。
调用方法:
a=Abs(-100)
Atn函数:
返回一个数字的弧正切值(arctangent)。
a=Atn
(1)*180/3.14
CDbl函数:
返回已转换成Double型的字符串的值。
a=Abs("
12.5"
)
Cos函数:
返回一角度(弧度)的余弦值。
a=Cos(60*(3.14/180))
CStr函数:
返回已转换成字符串的数字量的值。
a=Cstr(2.56)
Exp函数:
返回e(自然对数的底数)的某次方。
a=Exp
(1)
Int函数:
返回数字的整数部分。
a=Int(3.25)
Log函数:
返回一个数字的自然对数。
a=Log(12)
Rnd函数:
返回一个随机数(0到1)。
a=Rnd()
Round函数:
返回已进位到指定小数位的数字。
a=Round(2.75678,2)
Sgn函数:
返回指出数字之正负号的整数。
a=Sgn(-11)
Sin函数:
返回一个角度(弧度)的正弦值。
a=Sin(60*(3.14/180))
Sqr函数:
返回一个数字的平方根。
a=Sqr(9)
Tan函数:
返回一个角度的正切值。
a=Tan
(1)
9.SignalVBScript扩展的软件总线读写函数
Document.Getline函数:
读取单变量型软件总线数据线的值。
值=Document.Getline(线号)
Document.Setline函数:
设定单变量型软件总线数据线的值。
Document.Setline线号,设定值
Document.GetArrayInterval函数:
读取数组型数据线的数据点间隔值。
数据点间隔=Document.GetArrayInterval(数组型数据线
号)
Document.getArrayStart函数:
读取数组型数据线的起始点坐标。
数据点间隔=Document.getArrayStart(数组型数据线号)
Document.getarrayline函数:
读取数组型数据线上的波形或频谱数据到数组中。
Document.getarrayline 数组型数据线号,读取点数,数组
名
注意:
对于VBScript,其变量初始化为VARIANT不定型,该函数中使
用的数组是Double型,使用前先需对其进行Double赋值,强制转换为
Double类型,如下所示:
Dimdata(2048),data1(2048)
ForK=0To2047
data(k)=0.00001
Next
Document.getarrayline1,2048,data
Document.SetArrayInterval函数:
设定数组型数据线的数据点间隔。
Document.SetArrayInterval数组型数据线号,数据点间隔
Document.setArrayStart函数:
设定数组型数据线的起始点坐标。
Document.setArrayStart数组型数据线号,起始点坐标
Document.setarrayline函数:
用数组值设定数组型数据线上的波形或频谱数据。
Document.setarrayline 数组型数据线号,读取点数,数组
10.SignalVBScript扩展的图形函数
Document.Write函数:
在(x,y)用色彩c写字符Str。
色彩用16进制
RGB表示,大红为0xFF0000。
Document.Writex,y,c,"
Hi..."
Document.DrawLine函数:
在(x1,y1)到(x2,y2)间用色彩c画一条直线。
Document.DrawLinex1,y1,x2,y2,c
Document.drawbar函数:
用色彩c填充(x,y)到(x+w,y+h)的矩形区域。
Document.drawbarx,y,w,h,c
Document.Fillcircle函数:
用色彩c填充(x,y)为圆心,r为半径的圆形区域。
Document.Fillcirclex,y,r,c
Document.Circle函数:
用色彩c以(x,y)为圆心,r为半径画圆。
Document.Circlex,y,r,c
Document.Rectangle函数:
用色彩c以(x,y)和(x+w,y+h)为端点画矩形。
Document.Rectanglex,y,w,h,c
Document.Arc函数:
用色彩c以(x,y)为圆心,r为半径,a1、a2为起始角和终止角画圆弧。
Document.Arcx,y,r,a1,a2,c
用SignalVBScript中的数学函数产生一个幅值为800,频率100Hz的正弦波信号。
信号采样频率取10000Hz,用图形函数绘出信号波形,代码如下。
或者用DRVI中的波形显示组件显示信号波形。
RemVBSCRIPT
Dimwave(128)pi=3.141
amp=800dt=0.001
Fori=0To15t=2*pi*100*i*dtwave(i)=amp*Sin(t)
用DRVI搭建一个简单的实验系统,如图1
Document.DrawLine20,120,400,120,0
Document.DrawLine20,20,20,220,0
Document.Write24,20,0,"
1000"
Document.Write24,210,0,"
-1000"
Document.Write10,113,0,"
0"
Document.Write300,128,0,"
0.03"
f=100/1000
Fori=0To14x1=20+i*20y1=120-wave(i)*fx2=20+(i+1)*20
y2=120-wave(i+1)*fDocument.DrawLinex1,y1,x2,y2,12
所示。
图2、用SignalVBScript绘制信号波形
用Signal VBScript中的图形函数绘制一件,用于显示单变量测量值。
个温度计或仪表盘虚拟仪器
控
图3、用SignalVBScript绘制虚拟仪器显示元素
下面是用VBScript编制的一个温度计绘制程序代码段,自己用DRVI
搭建一个简单的实验系统。
Subtempature(x,y,max,min,v)Fori=0To10
Document.DrawLinex+30,y+i*15,x+35,y+i*15,0Next
Document.Writex,y-5,0,Cstr(max)Document.Writex,y+145,0,Cstr(min)Document.drawbarx+45,y,26,150,1Document.Fillcirclex+45+12,y+150+13,16,12h=v*150/(max-min)
Document.drawbarx+45,y+150-h,26,h,12EndSub
1.计算机 1台
2.DRVI快速可重组虚拟仪器平台 1套
3.打印机 1台
1、如何用SignalVBScript设计自定义组件,以实现特定的运算或扩展DRVI功能?
通过程序的逻辑实现芯片的功能,再将多个芯片以需要的方式进行组合,即可实现特定的运算或拓展DRVI功能
2、用DRVI设计一个简易电子琴,用自定义Signal VBScript组件
产生A、B、....、O琴键对应的131、147、 、523Hz的纯音信
号。
图3、用DRVI设计的简易电子琴
实验三环境监测综合实验台应用实验
通过本实验让学生了解环境监测中常用传感器的种类和用法。
二、环境监测综合实验台简介
环境监测实验模块由温度传感器、湿度传感器、光传感器、声传感器、二氧化碳传感器、酒精传感器和K型热电偶构成,可完成实验室一些基本环境参量的测量。
为便于使用,将这些传感器安装在一个综合实验模块上。
环境监测实验模块配置如下表所示,实际内容以环境监测实验模块产品说明书为准。
环境监测实验模块详细配 置
1
DRWZ-5-B型温度传感器
5
DRZS-5-A型声传感器
2
DRSD-5-A型湿度传感器
6
DRCO2-12-A型二氧化碳传感器
3
DRGS-12-A型光传感器
7
DRKTC-5-A型K型热电偶套件
4
DRJJ-5-A型酒精传感器
8
……
三、实验原理
1、热电阻测温原理
物质的电阻率随温度变化而变化的物理现象称为热电阻效应。
大多数金属导体的电阻随温度的升高而增加,电阻增加的原因可用其导电机理说明。
在金属中参加导电的为自由电子,当温度升高时,虽然自由电子数目基本不变(当温度变化范围不是很大时),但是,每个自由电子的动能将增加,因此,在一定的电场作用下,要使这些杂乱无章的电子作定向运动就会遇到更大的阻力,导致金属电阻随温度的升高而增加,其变化关系可由
下式表示:
图2金属电阻-温度特性曲线
Rt=R0[1+a(t-t0)]
式中:
Rt、R0分别为热电阻在t℃和t0℃时的电阻值,α为热电阻的电阻温度系数
(1/℃)。
从上式可见,只要α保持不变(常数),则金属铂(PT1000)电阻Rt将随温度线性地增加,
如图28.1所示。
其灵敏度系数K为:
K=1
R0
dRt=a
dt
显然,α越大,灵敏度K就越大,纯金属的电阻温度系数α为
0.3%~0.6%/℃。
但是,绝大多数金属导体,α并不是一个常数,它也随着温度的变化而变化,只能在一定的温度范围内,把它近似地看作为一个常数。
不同的金属导体,α保持常数所对应的温度不相同,而且这个范围均小于该导体能够工作的温度范围。
根据热电阻效应制成的传感器叫热电阻传感器,简称热电阻。
热电阻按电阻—温度特性不同,可分为金属热电阻(一般称热电阻)和半导体热电阻(一般称热敏电阻)两大类。
实验所用温度传感器属于铂热电阻传感器。
铂的物理、化学性能非常稳定,尤其是耐氧化能力很强,并且在很宽的温度范围内(1200℃以下)均可保持上述特性。
电阻率较高,易于提纯,复制性好,易加工,可以制成极细的铂丝或极薄的铂箔。
其缺点是:
电阻温度系数较小,在还原性介质中工作易变脆,价格昂贵。
由于铂有一系列突出优点,是目前制造热电阻的最好材料。
在1968年国际实用温标(IPTS-68)中,规定在
-295.34~630.74℃温度范围内,以铂热电阻作为标准仪器,传递从
13.81K到903.89K温度范围内国际实用温标