《虚拟仪器基础实验》指导书Word格式.docx
《《虚拟仪器基础实验》指导书Word格式.docx》由会员分享,可在线阅读,更多相关《《虚拟仪器基础实验》指导书Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
![《虚拟仪器基础实验》指导书Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/23/346ca5de-c518-4396-b926-449f6115c038/346ca5de-c518-4396-b926-449f6115c0381.gif)
2、熟悉数字滤波器的使用方法;
3、熟悉谐波失真分析VI的使用方法。
二、实验原理:
1、信号的频谱分析是指用独立的频率分量来表示信号;
将时域信号变换到频域,以显示在时域无法观察到的信号特征,主要是信号的频率成分以及各频率成分幅值和相位的大小,LabVIEW中的信号都是数字信号,对其进行频谱分析主要使用快速傅立叶变换(FFT)算法:
·
“FFTSpectrum(Mag-Phase).vi”主要用于分析波形信号的幅频特性和相频特性,其输出为单边幅频图和相频图。
“FFT.vi”以一维数组的形式返回时间信号的快速傅里叶运算结果,其输出为双边频谱图,在使用时注意设置FFTSize为2的幂。
“AmplitudeandPhaseSpectrum.vi”也输出单边频谱,主要用于对一维数组进行频谱分析,需要注意的是,需要设置其dt(输入信号的采样周期)端口的数据。
2、数字滤波器的作用是对信号进行滤波,只允许特定频率成份的信号通过。
滤波器的主要类型分为低通、高通、带通、带阻等,在使用LabVIEW中的数字滤波器时,需要正确设置滤波器的截止频率(注意区分模拟频率和数字频率)和阶数。
3、“HarmonicDistortionAnalyzer.vi”用于分析输入的波形数据的谐波失真度(THD),该vi还可分析出被测波形的基波频率和各阶次谐波的电平值。
三、实验内容:
(1)时域信号的频谱分析
设计一个VI,使用4个SineWaveform.vi(正弦波形)生成频率分别为10Hz、30Hz、50Hz、100Hz,幅值分别为1V、2V、3V、4V的4个正弦信号(采样频率都设置为1KHz,采样点数都设置为1000点),将这4个正弦信号相加并观察其时域波形,然后使用FFTSpectrum(Mag-Phase).vi对这4个正弦信号相加得出的信号进行FFT频谱分析,观察其幅频和相频图,并截图保存。
(2)数字滤波器VI的使用
对步骤
(1)中由4个正弦波形相加得出的时域波形,再叠加上一个幅值为5V的白噪声波形(采样频率都设置为1KHz,采样点数都设置为1000点),使用FFTSpectrum(Mag-Phase).vi观察其频谱,然后使用一个巴特沃斯带通滤波器滤除其中的10Hz、30Hz和100Hz的频率成份,观察滤波之后的时域波形,并分析其频谱,截图保存。
(3)谐波失真分析
假设波形x(t)为使用1个SineWaveform.vi(正弦波形)生成的频率为10Hz,幅值为1V的正弦波形,使用HarmonicDistortionAnalyzer.vi对波形y(t)=x(t)+0.1x2(t)+0.2x3(t)进行谐波失真分析,观察基波频率、谐波失真度THD和各阶次谐波电平(最高3次谐波),截图保存。
(4)曲线拟合
在对量程为10MPa的压力传感器进行标定时,传感器输出电压值与压力值之间的关系如题下表所示,请使用曲线拟合VI(Linearfit.vi,在“数学”模板中)求出电压与压力之间的最小二乘关系式,并给出均方误差。
测量次数I
1
2
3
4
5
压力xi(MPa)
8
10
电压yi(V)
10.046
20.090
30.155
40.125
50.074
四、实验报告
1、提交电子文档和打印稿,将本次实验的实验目的、实验步骤记录于该文档中。
2、将本次实验的VI程序的前面板运行结果和程序框图粘贴在文档中。
3、回答以下问题:
①在实验步骤
(2)-②中,能否使用带通滤波器完全滤除白噪声信号?
请简述原因;
②滤波器的阶数对滤波效果有何影响?
该如何设置滤波器的阶数?
硬件实验部分(设计性实验)
实验二基于PCI-6221数据采集卡的虚拟仪器系统组建
一、实验目的:
1、了解PCI-6221数据采集卡的功能。
2、掌握如何在MAX中设置DAQ通道,以及览阅PCI-6221的设备属性、与附件的连线方式等。
3、学习使用VI程序控制PCI-6221卡进行数据采集。
二、实验环境:
三、软件:
中文Windows2000xp,LabVIEW8.2.1或以上版本,NIMAX7.4或以上版本。
四、硬件:
微型计算机、数据采集卡PCI-6221(68Pin)、连接器CB-68LP、电流-电压转换器。
五、实验原理:
1、PCI-6221卡将作为本次实验的数据采集卡,本实验主要使用其AI和AO通道,VI程序通过它来实现虚拟仪器的模拟信号采集和输出功能,下面就对它的功能予以介绍。
PCI-6221卡是基于PCI总线的高性能、多功能的数据采集卡。
它有16个单端输入或8个差分输入,1个16位的逐次逼近式ADC,2个以电压输出的16位DAC。
PCI-6221的I/O分布如下图所示:
所有I/O连接板引脚由五组引脚组成:
模拟输入信号引脚、模拟输出信号引脚、数字I/O信号引脚、定时I/O信号引脚和电源信号引脚。
在本实验中只用到了Aix(x为0~15)模拟输入和AO0模拟输出通道,下面对其进行介绍。
(1)模拟输入信号AIx的连接。
模拟输入信号与PC-6221卡的连接方式取决于PCI-6221卡的模拟输入电路的配置方式和输入信号源的类型。
在本实验中,计算机与模拟输入信号源(****实验装置的下水箱液位传感器输出的经电流-电压转换后的1~5V电压信号)与PCI-6221卡具有1个公共的参考点(AISENSE),但该参考点并非为地电压,所以采用无参考地的单端测量接线方式(使用NRSE方式)。
输入信号连接在PCI-6221卡AIx通道上,而信号的参考点应连接在PCI-6221卡的AISENSE引脚上。
可使用NIMAX观察模拟输入信号与CB-68LP和PCI-6221的AIx(x为各实验小组组长学号的最后1位)通道的连接方式,,方法如下:
①在MAX中创建NIDAQmx任务,任务属性为“模拟AIx通道电压输入”、“NRSE接线方式”:
.
②点击NIDAQmx任务属性界面中的“连线图”,即可观察到连线方式(以AI0通道的连线方式为例),如下图所示:
(2)模拟输出信号的连接。
I/O连接板的22号引脚为模拟输出信号AO0的正端,54和55号引脚作为输出通道的地参考。
DA输出信号范围:
双极性为±
5V,单极性为0-10V。
3、LabVIEW8.2.1中涉及到模拟输入和模拟输出的操作函数在函数模板中的“测量I/O”>
>
“DAQmx-数据采集“子模板中。
本次实验中,需要使用以下几种函数对PCI-6221卡进行操作:
(1)对单通道模拟输入的操作:
DAQmxCreatVirtualChannel.VI:
用于创建一个或一批虚拟通道,在其“物理通道”端口选择PCI-6221所对应的设备号,并设置好通道、输入上下限、接线方式等参数;
DAQmxTiming.VI:
用于设置通道的采样频率、采样时钟源、采样模式等参数;
DAQmxStart.VI:
用于启动一个输入/输出任务,当启动后PCI-6221即可按设定的方式将数据采集/输出发送到计算机的缓存中;
DAQmxRead.VI:
用于从缓存中读出所采集到的数据;
DAQmxStop.VI:
停止数据采集任务;
DAQmxClear.VI:
用于清除DAQmx任务并释放缓存。
(2)对模拟输出的操作:
·
DAQmxWrite.VI:
用于向缓存中写入需要输出的数据;
当写入缓存后,使用DAQmxStart.VI启动任务,PCI-6221即可按设定的方式将数据从缓存中发送到计算机的AO通道;
DAQmxWaitUntilDone.VI:
该VI用于确保在任务结束前输入或输出数据的操作已完成,通常用于有限采样(FinitaSamples)的输入或输出操作。
六、实验内容:
1、利用NIMAX配置PCI-6221数据采集卡,以A3000实验装置的下水箱液位传感器输出的1~5V电压信号为模拟输入信号,在MAX中观察模拟输入信号与CB-68LP和PCI-6221的AIx(x为各实验小组组长学号的最后1位)通道的连接图(采用NRSE/RSE连线方式)。
2、根据观察到的连线方式,完成模式输入信号与CB-68LP的连线。
3、手动控制A3000实验装置的电磁阀,将控制信号设置为最大(20mA),使流量最大(则下水箱液位将不断上升直到最大值),从PCI-6221卡的通道AIx中对下水箱液位数据进行采集(在While循环中进行有限采样,循环间隔为100ms,采样速率设置为10kHz,每次采集100个点,然后对这100个点取平均值,将平均值的范围强制在1~5V(即平均值低于1V就设置为1V,平均值高于5V就设置为5V),并转换为对应的液位值(0~100,即1V对应液位0,5V对应液位100,以此类推)后,使用波形图表将液位值曲线显示出来,观察曲线与实际的下水箱液位之间的关系。
4、将液位值曲线及其对应的采样时间保存在一个文本文件中。
5、将PCI-6221卡的AO0通道与A3000实验装置的电磁阀控制通道相连接;
因为电磁阀控制信号为4~20mA的电流信号,而PCI-6221只能输出电压信号,因此必须将电压信号通过转换电阻转换为电流信号。
6、用PCI-6221卡的AO0输出一个范围为1.0~5.0V,步长为0.1V的电压值,观察电磁阀的开度与输出电压的关系。
七、实验报告:
1、提交电子文档和打印稿,将本次实验的实验目的、实验步骤记录于该文档中。
2、将本次实验的VI程序的前面板运行结果和程序框图粘贴在文档中。
3、回答以下问题:
①在实验步骤3中,为何将每次采集100个点取平均后作为液位测量值,而不是每次采集1个点直接作为液位的测量值?
②采集100个点的时间比采集1个点的时间要长,这对测量结果的影响是否很大?
为什么?
实验三基于LabVIEW和PCI-6221的单容水箱液位控制系统
学习如何利用LabVIEW开发平台设计一个单回路的单容水箱液位控制系统,使用PID控制算法使液位保持在值上。
二、实验环境:
软件:
硬件:
A3000高级过程控制系统、微型计算机、数据采集卡PCI-6221(68Pin)、连接器CB-68LP、电流-电压转换器。
三、实验系统的系统流程图
四、实验原理
1、基本原理
本实验采用PC+LabVIEW软件作为液位控制器(LC),将液位控制在设定高度上。
将液位传感器(LT)输出的4~20mA电流信号转换为1~5V电压信号后,使用PCI-6221数据采集卡的AIx通道进行采集并上传到计算机(具体的连线方法和采样设置请参照实验二进行),然后在LabVIEW程序中编写PID控制程序,根据P、I、D参数进行PID运算,将PID运算结果(即控制信号u)经PCI-6221的AO0通道输出到电磁阀,控制电磁阀调节水箱的进水流量,从而达到使液位值稳定在设定值上的目的。
2、位置/增量式PID控制算法
本实验的对象属于慢速的过程控制,因而采用位置式PID控制算法,其计算公式为:
式中,△u(k)为PID调节器增量输出值;
Kp为PID调节器的比例系数;
KI为PID调节器的积分系数;
KD为PID调节器的微分系数;
k为采样序号(k=0,1,2,…);
e(k)为第k次采样时的偏差值;
e(k-1)为第k-1次采样时的偏差值;
u(k)为本次PID运算输出的控制信号,u0为上次PID运算输出的控制信号。
提示:
对于电机转速等运动控制,适合采样增量式PID控制算法,其计算公式为:
KC为PID调节器的比例系数;
e(k-2)为第k-2次采样时的偏差值;
液位控制系统结构框图如下图所示:
五、实验步骤
1、参照实验二的方式将液位传感器信号通过CB-68LP与PCI-6221的AIx(x为各实验小组组长学号的最后1位)进行连接;
将PCI-6221的AO0通道与A3000高级过程控制装置的电磁阀控制端口相连接。
2、在LabVIEW中编写PID控制程序:
①前面板设计
前面板要求能够显示当前的采样电压值及其对应液位值(液位值用图形方式进行显示),能够通过输入控件设置液位设定值和KC、KI、KD这三个参数值和,还能将当前液位值、设定值和PID控制信号u的曲线在同一个波形图表中进行显示。
②程序框图设计
程序框图使用While循环,按照实验二的设置对当前液位值进行采样,并计算出偏差值e(k);
根据e(k),按照增量PID控制算法计算出控制信号u(k),按照实验二的设置将u(k)通过PCI-6221的AO0通道输出到电磁阀的控制端口以对进水流量进行控制。
③注意事项
当停止程序时,设计一个VI,将电压“0”输出到PCI-6221的AO0通道,以防止AO0通道长期保持高电压状态。
4、运行程序,在纯比例控制下(KI=0、KD=0),给液位设定值加入阶跃信号(注意:
只有当系统稳定后才能加入新的阶跃信号),观察并记录在不同的KC值下系统的响应曲线,记录下最佳响应曲线对应的KC值。
5、加入积分作用,在PI状态下整定系统,观察并记录在不同的KI值下系统的响应曲线,与纯比例控制的效果进行对比。
六、实验报告:
2、将本次实验的VI程序的前面板和程序框图粘贴在文档中。
3、将纯比例控制时,不同的KC值(至少3个)下系统的响应曲线粘贴在文档中。
4、将PI控制时,不同的KI值下系统的响应曲线粘贴在文档中。
5、回答以下问题:
①增量PID运算需要使用到上2次的偏差值即e(k-1)和e(k-2),在程序中该如何实现?
②你在程序中对液位进行采样的间隔取多少?
请说明理由。
③你所编写的PID控制程序是否取得了较好的控制效果?
如果不能,请分析下原因。