图4 上图的信号经过中值滤波器之后的波形
对信号作了一定预处理之后,我们采用Signal Processing软件包里提供的小波分析的动态库来捕捉压力波变化的特征点。将含有负压波信号的数据通过两通道滤波器,分为低频概貌和高频细节两路输出,负压波的位置就是高频细节当中最小值对应的索引值。图5为图2所示信号的高频结果。因为我们仅分析信号,不作重构,所选择参数设计更为灵活的双正交的滤波器组,而不必考虑对偶滤波器组是否收敛。利用Wavelet and Filter Bank Design Tookit提供的Design Panel 和1D Test Panel,我们在现场对于不同的信号可以方便地调整滤波器参数,观察滤波效果,大大提高了应用的效率。
图5 图2的信号通过两通道滤波器后的高频结果
三,系统的软件设计
以沧州-临邑长输管线的泄漏监测系统为例介绍一下整个系统的设计。
系统的组成如图6,由安装于沧州、东光、德州和临邑的四套装置和沧州处调度室的中心计算机组成。各站的装置包括各种传感器、计算机、信号调理装置、信号采集卡和调制解调器等。
因为管道全线长180公里,两座泵站之间的距离一般是60公里左右,所以只能通过电话网络实现数据通信。LabVIEW的函数库里没有现成的函数可供调用,我们综合运用Serial Port VIs,In Port, Out Port 和Call Library Function调用自己编写的动态链接库,控制调制解调器实现远程的数据通信,各个子站的数据都可以实时传到中心站,线路中断能够自动重新连接。主程序每一分钟调用一次泄漏判断子程序,该子程序综合运用负压波法、压力梯度法和流量差法分析采集到的工况数据,判断是否有泄漏发生。
沧州站和沧州处调度室仅有几百米的距离,两台计算机之间建立了以太网,使用TCP/IP实现数据传输。现场还有其他PLC系统,我们用DDE实现LabVIEW和Excel之间的数据交换,作为与其他系统的接口。
用户对系统的操作都设计为菜单操作,包括参数设置、文件处理、历史数据、泄漏定位和退出系统等几项。每一项菜单还有报警、都通过VI Server的方法动态调用,这样既节省内存,又使程序结构清晰,模块化好。