基于PCI-6221数据采集卡的虚拟仪器系统组建-张凯强
- 格式:doc
- 大小:760.00 KB
- 文档页数:9
实验二基于PCI-6221数据采集卡的虚拟仪器系统组建
张凯强
0902100202
一、实验目的:
1、了解PCI-6221数据采集卡的功能。
2、掌握如何在MAX中设置DAQ通道,以及览阅PCI-6221的设备属性、与附件的连线方式等。
3、学习使用VI程序控制PCI-6221卡进行数据采集。
二、实验环境:
软件:中文Windows2000xp,LabVIEW 8.2.1或以上版本,NI MAX7.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引脚上。
可使用NI MAX观察模拟输入信号与CB-68LP和PCI-6221的AIx(x为各实验小组组长学号的最后1位)通道的连接方式,,方法如下:
①在MAX中创建NI DAQmx任务,任务属性为“模拟AIx通道电压输入”、“NRSE接线方式”:.
②点击NI DAQmx任务属性界面中的“连线图”,即可观察到连线方式(以AI0通道的连线方式为例),如下图所示:
(2)模拟输出信号的连接。
I/O连接板的22号引脚为模拟输出信号AO0的正端,54和55号引脚作为输出通道的地参考。
DA输出信号范围:双极性为±5V,单极性为0-10V。
3、LabVIEW8.2.1中涉及到模拟输入和模拟输出的操作函数在函数模板中的“测量I/O”>>“DAQmx-数据采集“子模板中。
本次实验中,需要使用以下几种函数对PCI-6221卡进行操作:
(1)对单通道模拟输入的操作:
·DAQmx Creat Virtual Channel.VI:用于创建一个或一批虚拟通道,在其“物理通道”端口选择PCI-6221所对应的设备号,并设置好通道、输入上下限、接线方式等参数;
·DAQmx Timing.VI:用于设置通道的采样频率、采样时钟源、采样模式等参数;
·DAQmx Start.VI:用于启动一个输入/输出任务,当启动后PCI-6221即可按设定的方式
将数据采集/输出发送到计算机的缓存中;
·DAQmx Read.VI:用于从缓存中读出所采集到的数据;
·DAQmx Stop.VI:停止数据采集任务;
·DAQmx Clear.VI:用于清除DAQmx任务并释放缓存。
(2)对模拟输出的操作:
·DAQmx Write.VI:用于向缓存中写入需要输出的数据;当写入缓存后,使用DAQmx Start.VI启动任务,PCI-6221即可按设定的方式将数据从缓存中发送到计算机的AO通道;
·DAQmx Wait Until Done.VI:该VI用于确保在任务结束前输入或输出数据的操作已完成,通常用于有限采样(Finita Samples)的输入或输出操作。
四、实验内容:
1、利用NI MAX配置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的单容水箱液位控制
系统
张凯强
0902100202 一、实验目的:
学习如何利用LabVIEW开发平台设计一个单回路的单容水箱液位控制系统,使用PID控制算法使液位保持在值上。
二、实验环境:
软件:中文Windows2000xp,LabVIEW 8.2.1或以上版本,NI MAX7.4或以上版本。
硬件: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 控制算法,其计算公式为:
C I
D 0
()[()(1)]()[()2(1)(2)]()()u k K e k e k K e k K e k e k e k u k u k u ∆=--++--+-⎧⎨=∆+⎩ 式中,△u ( k ) 为PID 调节器增量输出值;K C 为PID 调节器的比例系数;K I 为PID 调节器的积分系数;K D 为PID 调节器的微分系数; k 为采样序号( k = 0,1, 2, … );e ( k ) 为第k 次采样时的偏差值;e ( k - 1)为第k -1次采样时的偏差值; e ( k -2) 为第k -2次采样时的偏差值;u (k )为本次PID 运算输出的控制信号,u 0为上次PID 运算输出的控制信号。
液位控制系统结构框图如下图所示:
五、实验步骤
1、 参照实验二的方式将液位传感器信号通过CB-68LP 与PCI-6221的AIx ( x 为各实验
小组组长学号的最后1位)进行连接;将PCI-6221的AO0通道与A3000高级过程
控制装置的电磁阀控制端口相连接。
2、 在LabVIEW 中编写PID 控制程序:
① 前面板设计
前面板要求能够显示当前的采样电压值及其对应液位值(液位值用图形方式进行
显示),能够通过输入控件设置液位设定值和K C 、K I 、K D 这三个参数值和,还能
将当前液位值、设定值和PID 控制信号u 的曲线在同一个波形图表中进行显示。
② 程序框图设计
程序框图使用While 循环,按照实验二的设置对当前液位值进行采样,并计算出
偏差值e (k );根据e (k ),按照增量PID 控制算法计算出控制信号u (k ),按照实验
二的设置将u (k )通过PCI-6221的AO0通道输出到电磁阀的控制端口以对进水流量
进行控制。
③ 注意事项
当停止程序时,设计一个VI ,将电压“0”输出到PCI-6221的AO0通道,以防止AO0
通道长期保持高电压状态。
4、 运行程序,在纯比例控制下(K I =0、K D =0),给液位设定值加入阶跃信号(注意:
只有当系统稳定后才能加入新的阶跃信号),观察并记录在不同的K C 值下系统的
响应曲线,记录下最佳响应曲线对应的K C 值。
5、 加入积分作用,在PI 状态下整定系统,观察并记录在不同的K I 值下系统的响应曲
线,与纯比例控制的效果进行对比。
六、实验截图
七、回答以下问题:
①增量PID运算需要使用到上2次的偏差值即e ( k - 1)和e ( k - 2),在程序中该如何实现?
答:利用FOR循环的移位寄存器可以得到实现。
②你在程序中对液位进行采样的间隔取多少?请说明理由。
答:2000ms.水箱液位控制属于慢过程,采样间隔过短会使得两次采集的偏差值很小,控制器(电磁阀)动作过于频繁可能会导致仪器损坏。
③你所编写的PID控制程序是否取得了较好的控制效果?如果不能,请分析下原因。
答:没有取得较好的控制效果,增量PID运算不适合运用在对液位的控制。
因为增量PID 适合运用在比较快速的响应上,比如电机转速;可以改用位置PID运算对液位进行控制,能得到比较的控制效果。