开发背景
发动机状态监测一般通过检测其转子电流、转动力矩、旋转速度等参数来判别,但是,由于其状态参数均为动态变化的,很难通过常规的监测方法判别出健康状态。随着计算机接口技术和数字信号处理技术的发展,可以利用高速数据采集技术和数字信号处理技术,将其旋转时的声音和振动信号实时高速采集,并对发动机非定常失速过程即各物理量的变化过程及各时间点的状况,包括各个通道的时域,不同时间的频谱,各频谱分量的周向模态进行完整的记录和量测,然后进行综合评估,便是对发动机的状态监测的一种最为有效的方法。由于发电机旋转时的声音和振动信号的采集与发动机非定常失速过程的记录要求进行多通道、大容量数据的实时测量、采集和存储、高速多通道的FFT分析和可视化的数据显示,数据的采集速率至少要8~10MS/s,因此对于一套能实施可行的可用于对发电机状态监测系统而言,除了需要具有高速处理能力的计算机系统外,更为重要的是需要具有板载高速存储、同步锁存、高速且多路同步数据采集的DAQ硬件板卡。目前具有高达10MS/s以上高速且同步数据采集板卡并不多见,只有少数几家公司才拥有此项关键技术。研华公司目前推出的一款30MS/s同步数据采集多功能卡PCI-1714便是为适合于高高速数据采集与处理应用场合而设计的,正好满足此项要求。
PCI-1714特性
研华公司的高速数据采集卡PCI-1714是一款高速、高分辨率、板载高存储容量的PCI数据采集卡,配备四组模拟输入端,具备同步锁存和同步采集的功能。当四组模拟输入同时使用时,采样频率最高可达30MS/s。具备12 bits的分辨率,同时内含四个独立模拟数字转换器(ADC),可使四个信道同步采样,板载32k FIFO内存,允许使用者在做极速采样时,有足够的缓冲区可供暂存数据,以维持信号采集的速度及完整性。
最为重要的是PCI-1714提供板载自动校正功能,使用者只要通过软件指令,就可以启动PCI-1714上的自动校正功能,完成模拟输入信道的校正工作,不需要任何繁杂手工操作。
PCI-1714在触发数据采集方面,提供多种选择方式:触发的来源包括软件触发、内部时钟同步触发以及外部触发等,模拟触发功能提供多种触发条件的选择,数字触发则提供上升沿触发与下降沿触发两种选择。在多卡同步功能方面,PCI-1714可以接受外部输入时钟进行同步数据采集,所以使用者可以使用同一外部输入时钟达成多卡同步采集功能。可广泛用于语音、振动等信号的监测等方面的应用,还可用于诸如军事方面的雷达信号分析、超音波信号分析、数字广播信号分析等应用方面。
其特性总结为:
* 数据采样速率高达30 MS/s。
* 内含四个独立模拟数字转换器(ADC),可使四个信道同步采样。
* 板载32K先进先出(FIFO)高速缓存,允许使用者在做极速采样时,有足够的缓冲区可供暂存数据,以维持数据采集的速度及完整性。
* 提供多种输入范围,包含±5V、±2.5V、±1V、±0.5V等,使用者透过工具程序即可轻松完成设定。
* 研华专属的板卡装置识别码(Board ID),当客户同时插入多张板卡时,可做硬件组态设定,轻易辨识每块板卡。
* 高达六种触发模式,方便客户依需求自行设定。包含软件触发、Pacer、Post-Trigger、Pre-Trigger、Delay-Trigger及About-Trigger。
设计实施
发动机在正常时,其振动的声音及其自身的振动频谱是有规律的,但是一旦发动机出现异常时,其频谱便会出现变异和失真。因此,可以通过监测发动机转动时的声音及其自身振动信号来判别发动机的健康状态。因此,在发电机状态监测中,发动机转动时自身发出的声音的监测是一个关键,其次,为整个电机机身的振动监测。在旋转机械声音处理方面,据大多文献介绍,需计算、分析其频谱特性,但其前置信号的处理是一个难点,关键是带通滤波的设计,对于不同场合,其带通不同,后置的采集器要求也有所不同,滤波器的输出用A/D转换器以每秒8~9MS/s采样,处理器每连续存储200或128个取样数据为一帧信息,声音处理的框架图见图1所示:系统工作时,先由AD以8~9MS/s的采样率将声音输入的模拟声音信号转换成标准的PCM数字信号,再经过一些滤波存入数据缓冲池,当采样的数据达到一个语音帧时,高速处理计算机即进行编码处理,系统的关键是要分辨发电机叶片转动时,定子与转子电磁场交互切割发出的声音、以及在故障时与其他杂物碰撞的声音、还有与机壳内的污垢粉尘碰撞引起的声音等之间的区别。必要时也可将采集的声音信号再重构,即对编码后的数据将直接进行解码,解码后的重构语音数据经过声效芯片转换后,还原成模拟语音信号通过扬声器输出,以备监测专家试听,人工识别是哪种声音以判别发动机的故障。
软件实施
整个系统采用了Windows2000 操作系统平台,Visual C++ 为程序开发平台,在本系统中,数字信号处理是这个程序设计的关键,包含有大量的数据计算、频谱分析和三维图形显示。Visual C++具有极强的编译能力,但数据处理与图形的编辑能力较弱,Matlab是一种基于解释语言的编程环境,对数字信号处理以及图形的处理能力较强,因此,在本系统中,采用Visual C++进行数据采集、线程以及界面的设计与管理。数据采集和存储在前台运行,而让Matlab于Visual C++的后台运行,用于对采集的数据进行FFT、频谱分析以及三维图形显示。这一方法充分利用了Visual C++以及Matlab的优势。
软件实施过程中,还有一个关键,便是如何防止数据的丢失,数据丢失一般是由数据显示与数据采集之间的矛盾引起的,因为Windows2000是一个多任务、多线程的非实时系统,数据显示、图形显示必然会对要求实时高速数据采集产生一定的时延作用,造成数据丢失、声音的变异和失真,极大影响系统对发动机诊断的准确性。为克服这一缺憾,我们采用间隙高速数据采集的方式,即在某个时间段内让计算机集中高速采集一组实时数据,并将其暂存于数据缓存池中,然后停止数据采集,集中时间来处理数据、分析、数据输出和屏幕刷新显示等过程。这样即保证了信号的完整性,又满足了系统对信号处理的要求。实际上,在我们的试验中,发动机一旦有异常,其声音信号和振动信号会周期性出现较长时间,因此,间隙式的高速采集一般不会影响系统诊断的功能。
应用体会
基于PCI总线的高性能高速数据采集板卡的研制在基于PC系统的SCADA系统中一直是一个难点,因为高速数据采集板卡的研制不仅要求数据采集具有急速的信号采样频率,更为重要的是要求有较大的板载高速存储空间、信号的同步技术、高速数据锁存技术以及数据传输技术。研华公司的PCI-1714板卡,采样速率高达30MS/s、具有四路同步锁存、同步采集、同步存储,对采集的数据采用DMA传输方式等特性,满足了现代工业对一些语音、振动信号处理的要求,本系统的成功应用便是一个证实。