)[5]
该模板用来给前面板设置各种所需的输出显示对象和输入控制对象。
每个
图标代表一类子模板。
如果控制模板不显示,可以用Windows菜单的Show
ControlsPalette功能打开它,也可以在前面板的空白处,点击鼠标右键,
以弹出控制模板。
<3)功能模板(FunctionsPalette>[5]
只有打开了流程图程序窗口,才能出现功能模板。
该模板上的每一个顶层
图标都表示一个子模板。
若功能模板不出现,则可以用Windows菜单下的
ShowFunctionsPalette功能打开它,也可以在流程图程序窗口的空白处点
击鼠标右键以弹出功能模板。
8/38
第三章测试系统的硬件部分简述
3.1数据采集系统的测试装置
图3.1车用氧传感器数据采集系统的测试装置
这是就车用氧传感器数据采集系统的测试装置<如图3.1),我们用2个
阀门来控制煤气的输入,绝大部分的煤气是通过主阀门而进入的,空气通过另一个阀门进入。
当计算机中发出上升测试信号,则打开辅助阀门,增加空气的输入,从而由浓燃状态向稀燃状态转变,便可以测试它的上升响应特性;当计算机中发出下降测试信号,则关闭辅助阀门,减少空气的输入,从而由稀燃状态向浓燃状态转变,便可以测试它的上升响应特性。
而我本次设计所要做的就是数据采集的那部分,并进行分析研究。
[5]
首先完成熟悉LABVIEW编程环境,完成数据采集软件和方法的建立,然后完成数据采集板卡、待测传感器以及PC机的连接,建立如图所示的系统,并完成数据采集板卡的驱动。
其次将软件和硬件结合,根据设计要求,修改数据采集程序,直到测试获得符合要求的结果,完成整个采集系统的设计。
框图如下<如图3.2)所示:
9/38
图3.2整个采集系统框图[1]
3.2数据采集卡的选择
根据氧传感器在汽车发动机控制系统使用的技术要求及氧传感器自身的技术性能,对氧传感器电性能的测试装置的设计提出了如下技术指标:
1、
电压测量范围:
-1000mv-1000mv
2、
电压测试精度:
1mv
3、
电压测试相对误差:
小于0.1%
4、
响应时间测试范围:
0-9999ms
5、
响应时间测试精度:
1ms
6、
响应时间测试相对误差:
小于2%
根据以上的技术指标,我们选择了NI公司的DAQPCI-6010数据采集板卡
<如图3.3),及其配套线缆和端子盒,根据数据采集卡6010的各项指标能满
足这些要求,且与所用的编程软件Labview同属NI公司出品,兼容性比较
高。
10/38
图3.3DAQPCI-6010数据采集板卡
数据采集板卡性能指标:
16个模拟输入通道<8个差分通道),2个模拟输出通道;
10条数字线<6条数字输入,4条数字输出);
2个32位80MHz计数器/定时器;
采样率单通道200k多通道33.3k
37针D-Sub连接器节省了80%连接成本;
基本功能,M系列升级,实现更好的DAQ性能。
包括NI-DAQmx、VILoggerLite数据记录软件和其它测量服务
NIPCI-6010卡价位低、性能可靠,是各种OEM产品或实验室自动化、研
究、设计验证测试和生产测试等简单应用的理想选择。
11/38
第四章测试系统的软件设计
4.1软件设计的总体思路与结构
首先,根据系统要求的功能将整个系统程序功能模块化,编程实现各个功能模块各自的功能。
其次,再将各个功能模块整合成一个完整的程序。
总体的功能模块结构图如下:
4.2各功能模块程序设计
4.2.1显示模块
将采集到的数据经过滤波后,把0.3v~06v之间的数据以波形格式显示出
来,这样方便于我们观察氧传感器的上升响应和下降响应过程。
具体程序如图
4.2。
12/38
图中为与门;
为波形显示器,在程序前面板中为显示器图标;
为case结构,默认有ture和false两个case量。
为while循环结构,当按下stop键后循环结束。
首先将数据同时与0.3和0.6比较,再将得到的两个逻辑值相与作为case结构的条件输入,当数据大于0.3并且小于0.6时,与门输出的是ture信号,这样case量ture启动,数据流通入case结构,输入波形显示器,从而完成了所需要的波形显示。
4.2.2最大值与最小值模块
用“数组最大值最小值”函数来实现采集数据中最大值与最小值的提取。
程序如图4.3。
13/38
图4.3最大最小值基本程序
图中为“数组最大值最小值”函数,判别一个数组中的最大值与最小
值;
为“数据大小”函数,判别两个数据的较大值与较小值;
为数据显示量,用作在前面板中显示;
为移位寄存器,它可以套嵌在while循环结构,for循环结构中,实现将上一循环的值储存并进入下一个循环中。
在这个模块中,运用“数组最大值最小值”函数得到每一次循环中的最大值与最小值,并将它分别储存到两个移位寄存器中,参与下一循环的比较,这样累计就得出了最后的最大值与最小值,实现了此模块的功能。
4.2.3上升时间与下降时间模块
上升时间模块与下降时间模块的设计相对比较复杂些。
由于上升时间模块
与
下降时间模块的设计思路,程序流程图,和程序代码都基本相同,所以这里就
只以上升时间模块为例进行详细的分析。
以下是上升时间模块子程序流程图<图4.4)和程序代码<图4.5):
14/38
图4.4上升时间模块子程序流程图
图4.5上升时间模块子程序
15/38
图中,为for循环结构,与N连接的数是循环次数;
为延时子vi;
为时钟计数器,精确到ms;
是代表的一个局部变量,两个的值是完全相同的;
根据流程图与程序代码,我们对上升时间模块子程序作如下的分析:
由于上升响应时间是指电压从0.3v升到0.6v所用的时间,因此,将数据
不停的与0.3作比较,当出现数据大于0.3时,读取时钟计数器时间值T1,
当数据继续上升至大于0.6时,再读取时钟计数器时间T2,将两个时间值相
减,便得到了上升时间T=T2-T1。
几点重要说明:
(1)我们可以看到数据在与0.3和0.6比较时,分别进行了3次比较,即当
前
数据,延时1ms后的数据,延时2ms后的数据,同时进行比较,只有当3个比较结果均为真时才认为真,这样做的目的在于可以一定程度上防止了数据干扰。
至于延时所产生的误差完全可以忽略,因为我们所要的上升时间值一般在几百毫秒,2ms的延时并不会影响效果。
(2)程序中使用了两个全局变量与,这两个全局
变量的作用就在于实现“只读取时钟计数器一次”,也就是当数据第一次大于0.3<或0.6)时读取时间值的动作只进行一次,这样才可以正确的得到上升时间值。
当一次测试结束后,在主程序中会将这两个全局变量清零,使得可以进行反复的测试而不需要测试一次后停止整个程序再开始程序进行下一次的测试。
(3)程序中的另一个全局变量是我们测试所需要的值,把他设成
全局变量是因为我们要在主程序中显示这个数值,而只有全局变量才能在子程序与主程序之间进行数据的交流。
16/38
4.2.4控制信号输出模块
控制信号输出模块的功能是,结合主程序中过程选择按纽,输出相应的高电平或者低电平,进而控制硬件系统中的电磁阀离合动作。
从而达到测试过程自动化效果。
以下是模块的程序图<图4.6):
图4.6控制信号输出模块程序
图中,表示一个任务,可以对其进行任务的设置,具体在调试章
节中会讲到;
是数据采集系统常用的程序,分别是任务开始子程序,数
据写入子程序,任务结束子程序。
其中中可以自主选择数据类型,通道类型等,在我们这个程序中,选择了单通道,数字量,单点输出类型。
程序中,当过程选择为ture时,如图,写入1,即采集卡输出为高电平;当过程选择为false时,如图,写入0,即采集卡输出为低电平。
这样,就实现了用软件中的“过程选择”按纽就能控制硬件系统中通气管电磁阀的开关控制。
4.2.5储存模块
储存模块要实现的功能主要包括:
(1)可以输入保存路径;
(2)储存的数据建立excel表格文件,并带有表头“产品编号、最大电压
17/38
(3)可以输入每次保存的数