西北工业大学硕士学位论文第四章频...

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西北工业大学顸士学位论文第_二章起薄架液压加载测试系统的PXI总线体系结构
独特的优点:一是保证系统中的每个模块有一根唯一确定的触发线,这在较大的系统中,可以消除在一根触发线上组合多个模块功能这样的要求,或者人为地限制触发时间;二是每个模块槽中的单个触发点具有的低时延性能,保证了系统中每个模块间非常精确的触发关系。

41局部总线
Pxl局部总线是每个仪器模块插槽与左右相邻槽互连的链状总线。

该局部总线具有13线的数据宽度,可用于在模块之问传递模拟信号,也可以进行高速边带通信,而不影响PCI总线的带宽。

局部总线信号的分布范围包括从高速TTL信号到高达42V的模拟信号。

5)PCI性能
除了PxI系统具有多达8个扩展槽(1个系统槽和7个仪器模块槽),而绝大多数台式PcI系统仅有3个或4个PcI扩展槽这点差别外,PxI总线与台式PcI规范具有完全相同的PcI性能。

而且,还可利用PcI.PCI桥技术扩展成多台PⅪ系统。

具有的PCI性能还包括:
◆33MHz性能;
◆32bit和64bit数据宽度;
◆132MB/s(32bit)和264MB/s(64bit)的峰值数据吞吐率;
◆即插即用功能。

图2.3PXI总线电气性能
(3)软件规范
像其他的总线标准体系一样,PxI定义了保证多厂商产品互操作性的仪器级(即硬件)接口标准。

与其他规范所不同的是PxI在电气要求的基础上还增加了相应的软件要求,以进一步简化系统集成。

这些软件要求形成了PXI的系统级(即软件)接口标准。

PxI的软件要求包括支持MicrosoftwindowsNT和98这样的标准操作系统框架,要求所有仪器模块带有配置信息和支持标准的工业开发环境(如NI的LabvIEw、Labwindows/cvI和Microsoft的vc/c十+、VB和Borland的C+十等),
话北工业大学{{页士学位论文第二章起落架液压加载测试系统的PxI总线体系结构的连接,铜缆最长距离为10米;MxI_4通过光缆实现这一对卡之间的连接,光缆最长距离为200米。

外置控制器有两种连接方式,一种是菊花链式连接,另一种是星型连接,如图2—4所示。

星型连接的数据传输率要高于菊花链式,但星型连接因PC机内插槽有限,所以其机箱扩展能力要低于菊花链式。

2.2.3默I仪器模块
图2.4星型和菊花链式连接
PxI系统具有多达7个仪器模块槽。

插在仪器模块槽内的PxI模块有数字万用表DMM、数据采集设备DAQ、信号发生器、高速数字I/O以及开关模块等。

本测试系统中主要运用的PxI模块是高速数据采集设备DAQ。

随着技术的进步,DAQ的采样速率越来越快。

M提供的PxI-5112采样率已经达到了100MS,S。

为实现高速连续采集,大部分DAQ设备都设计有FIF0电路,FIF0电路作为ADc输入的缓存,以保证进行连续数据采集时不丢失数据。

另外,为了保证高速数据吞吐率,很多DAQ设备都具有DMA(directmemory
access,直接内存访
堕垫工业大学硕士学位论文第二章起薄架液压加载测试系统的PxI总线体系结构
图2-5作为插入式DAQ设备的前端信号调理
图2—6外置DAQ,通过并口与计算机相连
图2—7外置DAO,通过串口与计算机相连
由于基于PⅪ总线的起落架液压加载测试系统欲测试的信号路数达224个,另外还需具备扩展能力(包括测量通道数的扩展和PxI模块化仪器功能的扩展),最适合该测试系统的结构就是scⅪ系统作为插入式DAQ设备的前端信号调理,所以下面将着重介绍该结构。

图2.8中显示的即为该结构下,DAQ设备控制多个scⅪ机箱的架构图。

西北工业大学硕士学位论文第二章起落架液压加载测试系统的PxI总线体系结构
图2—8多信号调理机箱架构
这种架构下,必需用到两个转换适配器SCxI—1346和SCxI一1349。

SCXI.1346用于连接上级信号调理机箱和下级信号调理枫箱,其接口如图2.9所示。

SCxI.1349用于最后一级信号调理机箱与上一级信号调理机箱相连。

其结构类似于SCxI.1346,只是少了与下级机箱相连的接口。

两适配器之间通过68针的屏蔽电缆线相连实现电气连接。

图2-9SCXI一1346接口
14
图2.15测试系统正面图
24
图2.16测试系统背面内部图
2.5本章小结
本章里首先给出了衡量一个传感器性能的标准。

其次,介绍了PxI总线的规范、PxI仪器模块、scxI系统及sCxI总线的工作原理。

最后,搭建了一个满足性能需求的基于PXI总线的起落架液压加载测试系统的硬件平台。

两北工业大学硕士学位论文第三章测试系统软件设计
因为它们对于试验数据的管理具有重要作用。

试验参数的设置可以通过表格、列表栏或下拉菜单等形式让用户输入或者选取。

设置好的参数可以存储在文本文档中,也可以存储在数据库中。

参数性质不同,适合其存储的媒介也就不同。

诸如试验代号、通道设置等参数比较复杂,数据量大而且在数据的长期管理中不可忽略,所以这类参数适合存储于数据库中。

而诸如采样率、缓存大小等参数实时性比较强,所以这类参数比较适合存储于文本文档。

LabVIEw函数库中有专门的函数模块用于文本文档的读写操作,也有一个专门的数据库包用于LabVIEW和数据库的连接。

用于文本文档的读写操作的程序框图如图3—2和图3.3所示。

首先是通过ODen/CreateFile.vi与文档建立连接,这个连接可以是打开一个己存在文件或者新建一个文件。

建立连接后,执行写或者读的操作。

写操作比较简单,只需将参数以字符型数组的形式存储。

因为参数是以字符数组的形式存储在.讧t文件中,所以在读操作时,要定义参数类型为字符型以及数组维数的大小。

在执行完读写操作后,要通过CloseFile.vi来释放内存空间。

在本测试软件里,用文本文档来存储的参数数组元素有:每次从缓存区读取数据的个数、从缓存区读取数据的次数、超过指定范围的报警次数(包括超过最大值的次数和低于最小值的次数)等。

在该测试软件里,将试验代号以全局变量传递,然后绑定在参数的存储路径中,在采集程序运行完毕后通过sequence结构运行文档写操作程序,这样实现了每次试验参数文档的自动命名,以及试验参数的自动存储。

图3.3用于文本文档读操作
28
西北工业大学硕士学位论文第三章测试系统软件没计
用于数据库连接的程序包括数据插入,查询以及修改等。

执行插入功能的程序框图如图3—4所示。

首先要在控制面板借理工具/数据源建立~个与数据库关联的数据源(ODBC)。

然后通过DBT001sOpenConnection.vi与该数据源相连,这样就可以对该数据库中的数据表进幸亍操作。

因为数据库表里各列的数据类型可以是字符型,也可以是长整型,所以插入数据表的数据都以簇的形式插入。

簇是LabvIEW里一种特定的数据格式,它类似于C语言中的结构体,它里面的数据成员可以是字符型、长整型,也可以是数组。

图3—4数据插入数据表程序框图
图3—5中是能够执行sQL语句进行复杂查询的程序框图。

其原理也是先与
数据库建立连接,然后执行sQL语句功能,最后再释放内存。

因为数据库里将数据以变体型(Ⅶiant,一种非常灵活的类型,它可以存储数字、字符型,串、数组、对象等各种数据。

)来存储,而且数据表是二维的,所以要将数据库里查询出来的数据进行字符型或者其它参数类型的类型转换(DatabaseⅥ砸antToData),转换后的参数以二维数组的形式存在。

图3.5执行SQL语句的程序框图
在本测试系统中与数据库有关的参数设置主要是试验代号的输入与通道配置表的输入,界面分别如图3—6和图3—7所示。

图3—6中的试验代号、地点、日期等参数在左击“保存”键后都以图3.4的方式存入数据库。

通道配置是指确定某一具体的测试使用仪器中的哪些信号调理通道以及确定接入这些通道的传感器,并对每路信号设定一个别称及监控范围。

通道及传感器所对应的参数均存储在数据库中。

一旦在通道配置表里进行了通道和传感器的选择并存储进数据库中,那么在相应的试验代号下进行数据采集以及数据回放时,就会以图3.5的方式从数据库中调出相应的通道配置参数。

由于测试通道很多,很容易出现通道和传感器的选择错误,而且有时根据试验内容的改变需要调整个别通道或传感器。

所以通道配置表晕要考虑操作的方便性。

比如图3.7中通道选取采用windows下多选文件的方式:ctrl+鼠标左击;传感器选择采取的方式为:鼠标左击待选传感器,然后左击“添加传感器”按钮,若需要更换某通道所接传感器,则左击待删除传感器,然后左击“删除传感器”按钮,而且通道配置表里刚被删除的传感器所在位置以空格出现,以待传感器的添加。

若需要增加一个通道,则只需左击“添加行”,与传感器相关栏就会以空格形式出现。

若要减少一个通道,则只需左击“删除行”,那么与该通道所有相关内容均被删除。

在图3.6和图3—7所示中都有“导入上次信息”按钮,它用于导入上次试验所输入内容,这样方便于对试验输入信息的部分修改,而不用重新完全输入做重复性的劳动,从而可以大大减少试验准备的工作量。

图3—6试验代号输入界面图
因为通道配置表能实现的功能很强大,所以其编程也就变得很复杂,其程序如图3-8所示。

通道和传感器的选择及修改功能需要利用Listbox控件的多选和单选属性并灵活地结合CaSe结构、移位寄存器、数组的绑定、索引、添加与删除、控件的属性节点及局部变量来实现。

“导入上次信息”的功能需要通过全局
图3.8通道配置表背面程序框图
3.2.2数据采集模块
数据采集是LabVIEW的核心技术之一,也是LabvIEW与其他编程语言相比的优势所在。

使用LabVIEw的DAQ技术,可以编写出强大的DAQ应用软件。

模拟信号数据采集是LabVIEw的DAQ中一个主要功能,为用户提供了功能强大而且方便快捷的模拟信号采集解决方案。

在LabVIEw里用于模拟信号数据采集的程序分初级、中级以及高级三大模块。

初级采集程序仅仅只是表面层接口的程序,它能执行基本的模拟量输入与输出、数字I/O等。

它简单易用,但其能实现的功能自然也就有限。

图3.9中为多通道的初级采集程序框图。

其主要输入参数有设备号、通道地址、采样点数、采样率,还有输入信号幅值等。

图3—9多通道初级采集程序框图
其中设备号、通道地址的设定都要与MAx里的设定一致。

MAx(MeasurementalldAutomationExplorcr)是一个集成到windowsExplorer的工具,用户可以利用这个工具管理NI公司的仪器设备。

在MAx里,每个PxI卡(包括采集卡)都有一个设备号,每个机箱也有它们自己的ID,这些设备号和ID都是在添加设备时设定的。

输入信号幅值以及scXI卡的设置都在MAx里设置。

通道地址设置格式为:obx!scy!mdz!i。

其中obx中的x表示模拟信号将使用DAQ卡上的第x+1个通道进行A,D转换。

外接的第一个scxI机箱的模拟信号将使用DAO卡的第一个通道,即x的值为O;外接的第二个scⅪ机箱的模拟信号将使用DAO卡的第二个通道,即x的值为1。

依次类推。

但对于本系统由于采用的是PxI—1011混合机箱,DA0卡上有一个专门的通道通过背板总线与其scxI予系统相连,但其地址中x的值仍为0。

scy中的y表示SCXI机箱的ID。

PXI一101l机箱中SCXI予系统的机箱ID记为1,其外接的第一个SCxI机箱ID为2,外接的第二个ScxI机箱ID为3。

mdz中的z表示SCXl机箱中的第z个插槽,若是第一个槽,z为1。

i表示模拟信号位于其所在sCXI卡上的第i个通道,若是
第一个通道,i为O。

通道地址输入参数的数据类型为字符串数组,所以采集函
数根据该字符串数组里的内容按顺序进行多通道数据采集。

采样率默认值为1000scaIlS/s,表示一秒内每通道都采1000个点。

幅值上、下限值默认值为MAx里的设置,若在程序里也进行了设置,则以程序为准。

可以发现,图3.9中程序里的while循环是为了实现连续采集的目的。

但在两次循环之间,DAQ设备并没有工作,这样会导致一部分信号的丢失。

这种情况对于大部分的连续信号采集要求来说是不能容忍的。

通过缓存技术可实现真正意义上的信号连续采集。

特别是在中高速长时间连续数据采集时,缓存技术的应用显得更加有必要。

要实现缓存技术的应用,需要采用中级采集程序模块。

如图3—10所示:在AIConfig.vi的参数设置里不仅有设备号、通道地址列表、输入幅值设置等,还有关于缓存区的设置:缓存区的大小及缓存区的个数。

一般缓存区个数设成一个就可以了,缓存区的大小设成采样率的4~5倍。

在AIstan.vi里可以设置采样率。

当将其内一个参数:numberofscaIlstoacquire设成O时,DAQ将一直执行数据采集操作直到用户按下停止采集按钮。

AIRead.vi负责将缓存区里的数据读取出来,它有一个参数:numberofscaIlstoread表示一次从缓存区里读取的数据个数(每次读x个点,是指对每个通道读x个点)。

缓存区大小设成采样率的4~5倍主要是使得连续采集数据时,不会发生缓存数据溢出的情况。

这也就使得numberof
read的大小不宜设得过大,以及在数据采集时执行的分析功能要相对减scansto
少,因为数据显示和分析都要花去时间。

尽量要做到1s内将缓存区内采集了ls的数据都读取出来,并执行完显示、分析及存储操作。

在停止采集后,还要调用AIcle缸vi来释放DAO设备占用的相关资源。

图3.10中级采集程序框图
本测试系统用scxI—1126对流量传感器输出的脉冲信号进行调理,此时就需要高级采集程序模块里的AITriggerConng.vi来对SCxI一1126卡进行设置,如图3—11所示。

其主要参数有:triggefmode、triggertype、triggercondition、triggerlevel、和additional打iggerspecification。

将triggermode设成打开状态;triggertype设成SCⅪtllresh01dsettings;triggercondition设成默认的nochaIlge状态,表示只要信号不小于触发电平,就能触发SCxI一1126内的脉冲计数器对输入的脉冲信号进行计数。

触发电平由triggerlevel和additionaltriggerspeci丘cation内第一个参数、vindowsize来共同决定。

触发电平处在(triggerlevel—windowsize,埘ggerlevel)这个区间范围内。

若是传统的NI.DAQ,则触发电平处在(triggerlevel.windowsize,triggerlevel+谢ndowsize)这个区间范围内。

一般将triggerlevel设在信号极限幅值一半的附近。

本测试系统中流量传感器输出脉冲为幅值是4.5V的TTL电平。

只要将triggerlevel设成2.5v,windowsize设成0.05v即可有效的获取输入脉冲,同时能够很好的滤除干扰脉冲。

因为本测试系统中使用了两种信号调理卡:scⅪ一1125和sCⅪ.1126,其中SCXI.1126需要设定触发模式,雨SCXI一1125不需要。

所以必须通过一个For循环和一个case结构来辅助实现中级采集函数和高级采集函数之间的切换,如图3—11中所示。

实现这一功能的前提是要使测试系统先全部扫描sCxI.1125,然后再扫描ScxI.1126,否则将使得用于切换的程序变得很复杂。

图3—1l起落架液压加载采集程序框图(高级)
西北工业大学硕士学位论文第三章测试系统软件设计3.2.3数据处理模块
数据处理模块包括数据的显示、数据的存储与读取以及数据调用。

(1)数据的传感器图标式显示
数据的显示方式有数字式显示、曲线式显示以及传感器图标式显示。

LabVIEw的一大特色就在于它的传感器图标式显示。

它含有丰富而且形象的仪器面板和按钮,从而能够定制出逼真的仪器面板,使得人机界面变得更加友好。

在一个测试过程中,我们总希望能够在电脑上看到传感器布置在待测点,而且能实时地显示试验数据。

在试验原理图上布置传感器并实时地显示试验数据,这在LabvIEW开发的应用程序中可以经常见到。

但可以发现,它们都有一个缺点,那就是它们都是固定不变的。

它们不能随着试验内容的改变而变换传感器的布局。

因为有时候试验中所使用的传感器个数以及传感器所在位置需要不断改变,所虬本系统在实现数字式显示、曲线式显示及传感器图标式显示的同时,还在程序上做了很大的改进,实现了分布着传感器的试验背景图随试验内容的改变而改变这一特殊功能。

要实现这个特殊功能必须解决三个问题:一是用来表征传感器的显示控件能够在程序运行中移动;第=是用来表征传感器的显示控件的个数随着试验所需个数的变化而变化,显示的内容也随着它代表的传感器的变化而变化;第三是布置好的背景图信息能够保存和恢复。

下面就来解决这三个问题。

l,)在LabVIEw程序运行过程中实现控件的动态移动
有两种方法能够使得控件在LabvIEw程序运行过程中实现动态移动。

这两种方法均是通过控制前面板控件的位置属性来实现控件的移动的。

a.实现控件动态移动的简单方法
要在LabvIEw程序运行过程中实现控件的动态移动,最简单的办法就是:先在后面板对要移动的控件生成一个位置(Position)属性节点,选择AllElements;然后将Position节点转换成写的状态;第三步就是在该节点的输入端生成一个控制型的簇,这个簇里包含了LeR和T0口两个变量;程序运行后只需将相应坐标输入Len和T0p即可。

背面板程序如图3.12所示,前面板图3.13所示。

图3—12背面板程序(直接输入位嚣参数)
西北工业大学硕士学位论文第三章测试系统软件设计
图3一13前面板程序(直接输入位置参数)
也可以用两个slide型数字控件绑定后输入Position属性节点。

背面板程序如图3.14所示,前面板如图3.15所示。

图3-14背面板程序(SIide型控件输入参数)
图3.15前面板程序(S1ide型控件输入数)
虽然上述方法简单易行,但其也有它的缺点,那就是:控件移动起来不是特别方便;一旦需要移动多达几十、上百个控件时,那么程序将变得很庞大。

所以这种简单方法很难满足实际需要。

b.利用动态注册事件的方法来实现控件的移动
所谓事件是指发生了某种事情的通知。

在LabVIEw6.1以后的版本中才开始有了对事件进行处理的能力,这些事件包括鼠标(单击、双击等)、键盘事件、菜单事件、窗口事件等。

在事件驱动程序中,一般是用一个循环等待事件发生,然后按照为这个事件指定的程序代码对事件进行响应,以后再回到等待事件状态。

使用事件设置,可以达到用户在前面板的操作与程序框图同步执行的效果。

西北工业大学硕士学位论文第三章测试系统软件设计
如果不使用事件,程序必须不断查询前面板控件的状态,随时检查它的变化,这样不仅浪费CPU的时间,还可能检查不出过快的变化。

事件注册就是指定在发生哪些事件时让LabVIEw进行通知。

采用事件注册的方式,可以避免生成不需要的事件。

LabVIEW支持静态注册和动态注册两种方式。

动态注册事件克服了静态注册事件不能在程序运行中改变对事件的处理方式的局限性,并集成了VIserver技术,从而允许在程序运行申使用应用程序、VI或控件的参考号指定发生事件的对象,控制何时发生何种事件。

事件函数在ApplicationContr01一>Events函数子模板内。

处理动态注册事件一般需要以下4步:
·取得生成事件的哪个对象的VISever参考号;
·连接VIServer参考号到注册事件节点进行对象的事件注册;
·将事件结构放在一个while循环中处理事件;
·用取消事件注册函数停止事件发生。

当将一个VIRefnum连入注册事件节点(RegisterforEvents),选择Mousemove事件进行注册。

将欲被移动控件的参考号连入注册事件节点,然后选择MouseDown?和Mouseup事件。

再将事件注册节点的事件注册参考号输出参数Eventregrefhumout连接到事件结构的动态事件端口。

在事件结构里分别编辑这三种事件所对应的操作。

具体程序如图3.16所示:
图3.16背面板程序(动态注册事件方法移动控件)其中动态注册事件的另两个子框图程序如图3.17、图3.18所示
西北工业大学硕士学位论文第三章测试系统软件设计
图3—17鼠标移动事件程序
图3.18鼠标释放事件程序
对上述程序需要说明的是:
·每个控件的参考号是根据其在前面板上创建的先后顺序来决定的。

所以最先在面板上连续拖入n个待移动的控件,确保这n个控件的参考号连续,然后就可以通过一个数组索引从前面板所有控件参考号中索引出该n个待移动控件的参考号。

·事件结构由一个或多个Case予框架构成。

在EventS们cture框架的左内侧有一个事件数据节点。

该节点的端口数目和数据类型根据事件的不同而不同。

通过该节点可以获得事件的相关信息,例如鼠标的坐标、鼠标按钮的编号、键盘按键、事件发生时间等。

用户可以根据这些进行事件编程。

在EventStnlcture框架的右键菜单中选择EditEventHandledbyThiscase…,可以弹出EditEvents对话
39
西北工业大学硕士学位论文鼐三章测试系统软件设计
殊的采集数据表现形式。

它是一种簇数据结构,包括tO、dt和array三个元素。

t0表示该波形的起始时间;dt表示点与点之间的间隔,即采样率的倒数:arrav存放着这条波形的所有点。

一个通道就有一个波形数据,多通道则以波形数组形式存在。

多通道采集时,whjle循环每循环一次,AIRead.vi就从缓存区读取pemad个点,波形数组里的t0记录第一个点所代表的时间,dt记录采样率,而且arrav包含元素的个数都为peHead个。

通过wjveformstoF舱vi作为一条记录存储在某个文件里。

下一次循环时,将作为另一个读取记录进行存储,此时的tO也就随之改变。

wavefo玎11stoFile.vi主要有三个参数:存储的波形文件路径、波形数据输入接口以及决定波形数据是追加还是覆盖形式存储。

在本测试系统里,通过wavefomstoFile.vi实现数据的存储,还将试验代号以全局变量的形式传递,然后通过字符组合绑定到路径参数里,实现波形数据文件的自动命名和自动存储。

(3)数据的调用
通过调用Readwaveform矗omFile.vi,然后连接要读取波形文件的路径就可实现波形数据的读取。

唯一需要注意的是它还有一个输入参数:recorderso彘et,它表征了前面所述的存储运行次数(等于。

脑et十1),也是AIRead.vi从缓存区读取数据的次数。

然后将读出来的多条记录整合成一条完整的波形曲线,如图3.19所示。

图3。

19波形数据重组程序框图
经过整合后的波形数组即是经过恢复的原信号。

但需要清楚的一点是从AlRead.vi里读到的波形数据单位并不是原始信号的物理单位,而是输入SCXI信号的单位,即位于接口端子与信号调理卡之间信号的单位。

对于本系统中输入scxI.1125的模拟信号,AIRead.vi读到的是电压值;而对于scxI一1126,AIRead.vi读到的是频率值。

所以一般先对读出来的信号进行单位转换成原始信号的物理单位,然后再进行存储。

除非采样率非常高,为了保证采集的连续性,才
42
西北工业大学硕士学位论文第三章测试系统软件设计
会在波形数组重组后进行单位转换。

本测试系统中对数据分析的过程一般是先从列表里选择试验代号,然后选择通道,再回放数据。

这个过程就是有选择地对波形数组里的成员进行恢复,既可单通道也可多通道回放数据,其界面如图3—20所示,背面程序如图3—19所示。

图3。

20选择回放通道图
然后是通过游标对Gra曲图中的数据段进行操作(如滤波、频谱分析等),游标是一个能够方便地索引出待操作数据点的工具。

将游标锁定在某条曲线上,可探查到曲线上每一个数据点的横、纵坐标值。

图3—21中所示为回放两通道数据界面,可通过两个游标截取中间的数据段进行相应分析。

图3—21回放两通道数据界面
在本测试系统中的分析主要包括:标记特征点、频谱分析、特征图(压力-
43。

相关文档
最新文档