基于LabVIEW的摩擦磨损试验机智能测控系统

来源:电子工程世界 作者:—— 时间:2010-06-29 07:00

3.3 Block Diagram设计

  3.3.1 数据采集程序设计

  在数据采集部分,将压力、温度设定为一个采集任务,通过多路模拟量采集程序来完成,此采集程序主要有MAI Config.vi,MAI Volgagen In.vi和SplitlD Arrav.vi,Device open.vi及Device Close.vi模块构成,其结构如图5(a)所示。可总共进行8路模拟信号的同时采集,其采集的数组由Index Array模块进行分离,此处只使用其中的前四路,包括三路温度和一路压力信号。转速和转矩则分别进行采集,它们通过频率采集电路来完成,程序中用到的主要模块有CounteRFrea Start.vi,Counter Freq Read.vi和Counter Reset.vi,Deviceopen.vi及Device Close.vi,其采集周期设定为200 ms,具体结构见图5(b)。

  3.3.2 数据处理程序设计

  为了提高本测量系统的抗干扰性能和减小测量数据的误差,在软件里采取程序滤波的方法,通过计算机软件来提高信噪比。

  (1)递推平均滤波法:采集几个周期的数据,并求其平均值,作为采集的数据。

  (2)中值滤波法:将每次采集的数据与前一个的数据做比较,当两数值之间差大于一定范围时则认为是干扰信号,此时采用上次的数值作为本次采集的结果,否则采用本次采集数据。

  笔者通过利用LabVIEW中的移位寄存器来实现了平均滤波算法,具体实现方法如图6中递推平均滤波所示。先求取10个数的和,再求其平均数。

  对于中值滤波算法的实现,利用别一般的模块实现起来比较繁琐,如果能用C语言来处理,就变得很简单。经过多次尝试,终于实现了在LabVIEW中嵌入C语言的方法,利用LabVlEW中的公式节点作为切入点,实现调用C语言进行处理。利用C语言的强大的数据处理能力,能很方便的完成一些复杂的算法。程序实现如图7中中值滤波所示,将采集的数据先利用Build Array模块转变成数组,再将数组作为公式节点的输入,C程序首先对采集的数据进行了两次求平均处理,之后又按照中值滤波算法进行处理。相应的C语言程序附如图7所示。

相关文章

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子