虚拟仪器设计技术实践教程3,保存该代码并运行程序看是否符合测量要求。4.编辑该代码就可完成些复杂的测量任务。2)测量系统设计(1)单通道采集系统设计:设计一个能采集正弦波的系统。实验步骤:在MAX中,右击数据邻居(DataNeighborhood),选择新建(CreateNew),再在新建(CreateNew)窗口中,选择NI-DAQmx任务(NI-DAQmxTask),在向导中选alaloginput下的voltage,然后选devl下的aio,输入名称,例如MyVoltageTasko,最后finish,就创建了一个任务。接着在出现数据的采集助手设置面板的acquisitionmode里选continuous(连续采样),把平台前面板上functiongenerator的manual开关向上拨,量程调到50hz,幅度别调太大,参考表1.2在万用板上把ai0和func-out信号连上ach0-和ground连上,按下设置面板的test按钮,看是否出现正弦波,行的话就保存。打开labview,在前面板添加一个DAQmxTaskName控件,从它的下拉列表中选择一个已配置好的任务如MyVoltageTasko,在右键菜单中选择generatecode里的exampleandconfiguration,在原理图中就产生了任务所需的所有代码。去掉while循环上的两个register(寄存器),把断线连上。点击第一个vi,按下ctrl键+h键,会出现它的信息,有名字,各管脚名字等,可以得知它叫untitled,把untitled也删掉。DAQmxRead的多态选择analog->singlechannel->multiplesamples->waveform。在原理图上加入DAQmxCreateVirtualChannelvi,多态选择alaloginput下的voltage,根据它的信息设置最小量程(minimumvalue)为-10,最大量程(miximumvalue)为10,物理通道(physicalchannels)为ai0.。在原理图上加入DAQmxtimingvi,多态选sampleclock,根据它的信息设置rate为10o0,samplemode为continuoussamples,最后DAQmxCreateVirtualChannelvi连上DAQmxtimingvi,DAQmxtimingvi连上DAQmxstarttaskvi。运行后在前面板应该能看到采集的正弦波。(2)多通道采集系统设计:设计一个二路采集系统,通道可选择。(选做)可以在单通道采集系统的基础上进行修改,DAQmxRead的多态选择支持多通道的方式,物理通道的设置具体参见LabVIEW中关于DAQmxCreateVirtualChannel的physicalchannels的帮助。(3)模拟输出系统设计·有限数据输出:设计出一个可调电压源,范围-5v到+5v。实验提示:理解设计单通道采集系统设计的方法,按照其方法进行设计,在max中创建一个模拟输出电压测量任务,设置面板的acquisitionmode里选nsamples,用DAQmxCreateVirtualChannelvi创建一个模拟输出电压的通道,多态选择alalogoutput。在DAQmxwritevi的date端添加一个直流电压信号,可不用DAQmxtimingvi。·连续波形数据输出:用SineWaveformvi设计出一个正弦信号发生器。实验提示:按照设计单通道采集系统设计的方法进行设计,需用到DAQmxtimingvi,多态设置为usewaveform,SineWaveformvi的输出端连到DAQmxtimingvi的waveform端和DAQmxwrite控件的date端(前提是类型一致)。8
虚拟仪器设计技术实践教程 8 3.保存该代码并运行程序看是否符合测量要求。 4.编辑该代码就可完成些复杂的测量任务。 2)测量系统设计 (1)单通道采集系统设计:设计一个能采集正弦波的系统。 实验步骤: 在 MAX 中,右击数据邻居(Data Neighborhood),选择新建(Create New),再在新建 (Create New)窗口中,选择 NI-DAQmx 任务(NI-DAQmx Task),在向导中选 alalog input 下的 voltage,然后选 dev1 下的 ai0,输入名称,例如 MyVoltageTask0,最后 finish,就 创建了一个任务。接着在出现数据的采集助手设置面板的 acquisition mode 里选 continuous(连续采样),把平台前面板上 function generator 的 manual 开关向上拨,量 程调到 50hz,幅度别调太大,参考表 1.2 在万用板上把 ai0 和 func-out 信号连上 ach0-和 ground 连上,按下设置面板的 test 按钮,看是否出现正弦波,行的话就保存。 打开 labview,在前面板添加一个 DAQmx Task Name 控件,从它的下拉列表中选择一个 已配置好的任务如 MyVoltageTask0,在右键菜单中选择 generate code 里的 example and configuration,在原理图中就产生了任务所需的所有代码。 去掉 while 循环上的两个 register(寄存器),把断线连上。点击第一个 vi,按下 ctrl 键+h 键,会出现它的信息,有名字,各管脚名字等,可以得知它叫 untitled,把 untitled 也删掉。DAQmx Read 的多态选择 analog->single channel->multiple samples->waveform。 在原理图上加入 DAQmx Create Virtual Channel vi,多态选择 alalog input 下的 voltage, 根据它的信息设置最小量程(minimum value)为-10,最大量程(miximum value)为 10, 物理通道(physical channels)为 ai0.。在原理图上加入 DAQmx timing vi,多态选 sample clock,根据它的信息设置 rate 为 1000,sample mode 为 continuous samples,最后 DAQmx Create Virtual Channel vi 连上 DAQmx timing vi,DAQmx timing vi 连上 DAQmx start task vi。运行后在前面板应该能看到采集的正弦波。 (2)多通道采集系统设计:设计一个二路采集系统,通道可选择。(选做) 可以在单通道采集系统的基础上进行修改,DAQmx Read 的多态选择支持多通道的方 式,物理通道的设置具体参见 LabVIEW 中关于 DAQmx Create Virtual Channel 的 physical channels 的帮助。 (3)模拟输出系统设计 ·有限数据输出:设计出一个可调电压源,范围-5v 到+5v。 实验提示: 理解设计单通道采集系统设计的方法,按照其方法进行设计,在 max 中创建一个模拟输 出电压测量任务,设置面板的 acquisition mode 里选 n samples,用 DAQmx Create Virtual Channel vi 创建一个模拟输出电压的通道,多态选择 alalog output。在 DAQmx write vi 的 date 端添加一个直流电压信号,可不用 DAQmx timing vi。 ·连续波形数据输出:用 Sine Waveform vi 设计出一个正弦信号发生器。 实验提示: 按照设计单通道采集系统设计的方法进行设计,需用到 DAQmx timing vi,多态设置为 use waveform,Sine Waveform vi 的输出端连到 DAQmx timing vi 的 waveform 端和 DAQmx write 控件的 date 端(前提是类型一致)
实验三虚拟函数发生器的设计和虚拟示波器的使用实验三虚拟函数发生器的设计和虚拟示波器的使用3.1实验目的1)了解并掌握如何使用虚拟仪器完成信号分析2)了解DAQ的使用方法3)掌握创建子VI的方法3.2预习要求1)掌握一般函数发生器和示波器的使用方法2)了解采样定理,频率混叠现象产生的原因和处理方法。3.3实验内容1)利用LabVIEW设计一简易虚拟函数发生器。该函数发生器具有普通函数发生器的基本功能:能够产生正弦波、方波和三角波。信号的幅度、频率、初始相位、直流偏移量、占空比(只对方波)可调。设计完虚拟函数发生器之后,利用DAQ和NIELVIS设备,并通过示波器观察信号波形,记录相关数据进行比较,分析采样频率和采样点数对信号的影响。2)使用NIELVIS提供虚拟示波器观察信号函数波形。使用NIELVIS实验平台上提供的函数发生器产生信号波形,通过DAQ采集数据,利用虚拟示波器观察波形记录数据进行比较。3)创建自行设计的虚拟函数发生器为一子VI,可用于其他VI。方法是鼠标右键点击窗口右上的图标,修改其中的Editicon和Showconnector两个属性。4)选做:完成上述内容后可利用LabVIEW提供的自相关计算模块完成函数发生器输出波形的自相关计算,显示计算结果和相关波形。3.4实验提示1)参考前面板设计如图3.1所示。添加采样频率和采样点数的控件,用于观察采样频率和采样点数对信号的影响。图中右上图标处用于创建子VI。部分实验程序框图如图32所示。这里需要强调说明的实验本身目的并不仅仅是去完成一个函数发生器的设计,而是通过设计了解LabVIEW的编程方法和信号分析。事实上,在LabVIEW中已经存在一个功能完善的基本函数发生器模块(位于Signalprocessing/WaveformGeneration中,如图3.3所示),在ExpressVI中也存在一个功能完善的函数发生器。图3.3所示的模块其实也是利用LabVIEW中最基本的波形发生模块完成的,可以双击该模块看到该模块的程序框图,如图3.4所示。可以注意到本次设计的程序框图3.2是图3.4的简化。LabVIEW提供的基本函数发生器模块综合考虑了多种情况,设计较为复杂,而本次要求设计的一个简易函数发生器目9
实验三 虚拟函数发生器的设计和虚拟示波器的使用 9 实验三 虚拟函数发生器的设计和虚拟示波器的使用 3.1 实验目的 1)了解并掌握如何使用虚拟仪器完成信号分析 2)了解 DAQ 的使用方法 3)掌握创建子 VI 的方法 3.2 预习要求 1)掌握一般函数发生器和示波器的使用方法 2)了解采样定理,频率混叠现象产生的原因和处理方法。 3.3 实验内容 1)利用 LabVIEW 设计一简易虚拟函数发生器。 该函数发生器具有普通函数发生器的基本功能:能够产生正弦波、方波和三角波。信号 的幅度、频率、初始相位、直流偏移量、占空比(只对方波)可调。 设计完虚拟函数发生器之后,利用 DAQ 和 NI ELVIS 设备,并通过示波器观察信号波 形,记录相关数据进行比较,分析采样频率和采样点数对信号的影响。 2)使用 NI ELVIS 提供虚拟示波器观察信号函数波形。 使用 NI ELVIS 实验平台上提供的函数发生器产生信号波形,通过 DAQ 采集数据,利 用虚拟示波器观察波形记录数据进行比较。 3)创建自行设计的虚拟函数发生器为一子 VI,可用于其他 VI。方法是鼠标右键点击 窗口右上的图标,修改其中的 Edit icon 和 Show connector 两个属性。 4)选做:完成上述内容后可利用 LabVIEW 提供的自相关计算模块完成函数发生器输 出波形的自相关计算,显示计算结果和相关波形。 3.4 实验提示 1)参考前面板设计如图 3.1 所示。添加采样频率和采样点数的控件,用于观察采样频 率和采样点数对信号的影响。图中右上图标处用于创建子 VI。部分实验程序框图如图 3.2 所示。这里需要强调说明的实验本身目的并不仅仅是去完成一个函数发生器的设计,而是通 过设计了解 LabVIEW 的编程方法和信号分析。事实上,在 LabVIEW 中已经存在一个功能 完善的基本函数发生器模块(位于 Signal processing/Waveform Generation 中,如图 3.3 所示), 在 Express VI 中也存在一个功能完善的函数发生器。图 3.3 所示的模块其实也是利用 LabVIEW 中最基本的波形发生模块完成的,可以双击该模块看到该模块的程序框图,如图 3.4 所示。可以注意到本次设计的程序框图 3.2 是图 3.4 的简化。LabVIEW 提供的基本函数 发生器模块综合考虑了多种情况,设计较为复杂,而本次要求设计的一个简易函数发生器目
虚拟仪器设计技术实践教程的是让同学们了解LabVIEW编程中的一些基本方法,比如case结构的使用方法,LabVIEW中位于Signalprocessing/SignalGeneration下的正弦波、方波和三角波产生模块的使用,以及LabVIEW的图像显示方法:并掌握如何利用DAQmx将设计的虚拟函数发生器产生实际输出的模拟信号(此部分要结合实验二)。此外,其实本次设计要求利用的LabVIEW中位于Signalprocessing/SignalGeneration下的正弦波、方波和三角波产生模块也是一个子VI(相当与文本语言中的函数),双击也可查看其程序框图,如图3.5所示。该程序框图不可更改,本身是通过调用C语言编写的DLL实现。Ex3_FunctionGenerator.vi00×文件)编辑)查看)项目)操作)工具)窗口)帮助H)0虚拟函数发生器采样点数采样频率0Hz)1.5-200100001频率 (Hz)幅度(V)21000.50-延时选择(ms)直流偏移V)6O0-0.5初始相位占空比()-1-050=1.5-波形选择-2-A00.0050.010.015正弦波0.02周期(s)STOP<>图3.1实验三前面板参考设计国采样点数888888888888888888正达默认132幅度V顺率(Hz)回4深样频率0Hz酒R初始相位数组SGFDBL7直流偏移VS4YaveformA占空比()18店to波形选择dtabe00:00:00.000+YTYY-MM-DD诞时选择(s)口口TE图3.2部分实验程序框图10
虚拟仪器设计技术实践教程 10 的是让同学们了解 LabVIEW 编程中的一些基本方法,比如 case 结构的使用方法,LabVIEW 中位于 Signal processing/Signal Generation 下的正弦波、方波和三角波产生模块的使用,以 及 LabVIEW 的图像显示方法;并掌握如何利用 DAQmx 将设计的虚拟函数发生器产生实际 输出的模拟信号(此部分要结合实验二)。此外,其实本次设计要求利用的 LabVIEW 中位 于 Signal processing/Signal Generation 下的正弦波、方波和三角波产生模块也是一个子 VI(相 当与文本语言中的函数),双击也可查看其程序框图,如图 3.5 所示。该程序框图不可更改, 本身是通过调用 C 语言编写的 DLL 实现。 图 3.1 实验三前面板参考设计 图 3.2 部分实验程序框图