基于PCI6221数据采集卡的虚拟仪器系统组建张凯强Word格式文档下载.docx
《基于PCI6221数据采集卡的虚拟仪器系统组建张凯强Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于PCI6221数据采集卡的虚拟仪器系统组建张凯强Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
三、实验原理:
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数据采集卡,以****实验装置的下水箱液位传感器输出的1~5V电压信号为模拟输入信号,在MAX中观察模式输入信号与CB-68LP和PCI-6221的AIx(x为各实验小组组长学号的最后1位)通道的连接图(采用NRSE连线方式)。
2、根据观察到的连线方式,完成模式输入信号与CB-68LP的连线。
3、手动控制****实验装置的电磁阀,将控制信号设置为最大(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通道与****实验装置的电磁阀控制通道相连接;
因为电磁阀控制信号为4~20mA的电流信号,而PCI-6221只能输出电压信号,因此必须将电压信号通过转换电阻转换为电流信号。
6、用PCI-6221卡的AO0输出一个围为2.0~3.0V,步长为0.1V的电压值,观察电磁阀的开度与输出电压的关系。
五、实验截图
六、回答以下问题:
①在实验步骤3中,为何将每次采集100个点取平均后作为液位测量值,而不是每次采集1个点直接作为液位的测量值?
答:
每次采集100个点取平均值后作为液位的测量值与每次采集1个点直接作为液位测量值与每次采集1个点直接作为液位的测量值相比可大大的减少随白噪声带来的误差,提高测量的准确度。
以为白噪声是无处不在的,但是在一段较长的诗句围,白噪声的幅值平均为零,采样100个点取平均后可以近似消灭白噪声对测量结果影响。
而每次只采样一个点是不可能消除白噪声对测量结果的影响的。
②采集100个点的时间比采集1个点的时间要长,这对测量结果的影响是否很大?
为什么?
答:
影响不大。
因为采样频率为10000Hz,采样100个点的时间为10ms,在这10ms时间水箱液位的变化可近似为零,也就是说在10ms时间里水箱液位值可以看做是不变的。
所以测量值绝对能可靠的反映实际的液位值。
实验三基于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调节器增量输出值;
KC为PID调节器的比例系数;
KI为PID调节器的积分系数;
KD为PID调节器的微分系数;
k为采样序号(k=0,1,2,…);
e(k)为第k次采样时的偏差值;
e(k-1)为第k-1次采样时的偏差值;
e(k-2)为第k-2次采样时的偏差值;
u(k)为本次PID运算输出的控制信号,u0为上次PID运算输出的控制信号。
液位控制系统结构框图如下图所示:
控制器
电磁阀
水槽(液位)
液位测量装置
扰动
+
-
五、实验步骤
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值下系统的响应曲线,与纯比例控制的效果进行对比。
六、实验截图
七、回答以下问题:
①增量PID运算需要使用到上2次的偏差值即e(k-1)和e(k-2),在程序中该如何实现?
利用FOR循环的移位寄存器可以得到实现。
②你在程序中对液位进行采样的间隔取多少?
请说明理由。
2000ms.水箱液位控制属于慢过程,采样间隔过短会使得两次采集的偏差值很小,控制器(电磁阀)动作过于频繁可能会导致仪器损坏。
③你所编写的PID控制程序是否取得了较好的控制效果?
如果不能,请分析下原因。
没有取得较好的控制效果,增量PID运算不适合运用在对液位的控制。
因为增量PID适合运用在比较快速的响应上,比如电机转速;
可以改用位置PID运算对液位进行控制,能得到比较的控制效果。