油噴霧閥監(jiān)測裝置的開發(fā)與設(shè)計(jì)
關(guān)鍵詞:噴霧閥;系統(tǒng)設(shè)計(jì);控制;多線程;抗干擾
前言
在船舶動力工程設(shè)計(jì)中,有一個(gè)重要的裝置,即油的噴霧閥,其性能的好壞直接影響著柴油發(fā)電機(jī)的發(fā)電效率和性能。本文在廣泛分析噴霧閥噴吹過程的基礎(chǔ)上,設(shè)計(jì)了噴霧閥性能監(jiān)測裝置。該裝置借助壓力變送器、加速度變送器等,通過計(jì)算機(jī)采集噴霧閥出口的壓力、氣包壓力、標(biāo)靶加速度信號,能實(shí)時(shí)在線評估噴霧閥的性能品質(zhì),適應(yīng)各種不同結(jié)構(gòu)與尺寸的噴霧閥監(jiān)測需求。
監(jiān)測的狀態(tài)量主要有:
噴霧閥出口的壓力波形及其上升速率();噴吹令標(biāo)靶產(chǎn)生的加速度波形 ; 穩(wěn)壓氣包內(nèi)壓力變化波形;噴吹氣量(△Q);電噴霧時(shí)間(te)。
監(jiān)測原理及監(jiān)測過程的實(shí)現(xiàn)
空壓機(jī)為穩(wěn)壓氣包提供壓縮空氣,通過調(diào)壓閥調(diào)節(jié)至需要壓力,由計(jì)算機(jī)向噴霧閥發(fā)出開啟指令噴霧噴吹(延時(shí)設(shè)定時(shí)間關(guān)閉,電噴霧時(shí)間可調(diào)),在計(jì)算機(jī)向噴霧閥發(fā)送開啟指令的同時(shí)啟動采樣程序,采集氣包壓力、噴霧閥出口的壓力(全壓)、標(biāo)靶加速度信號,并將采樣數(shù)據(jù)存入計(jì)算機(jī),對采樣數(shù)據(jù)進(jìn)行處理分析,實(shí)時(shí)在線繪制噴霧閥出口壓力、穩(wěn)壓氣包內(nèi)壓力變化及標(biāo)靶加速度波形圖。通過分析以上圖形,可評估噴霧閥性能品質(zhì)的優(yōu)劣。裝置的主要功能如下:
1)信號采集功能:主要完成包括噴霧閥出口的壓力、氣包壓力、標(biāo)靶加速度信號等在內(nèi)的實(shí)時(shí)采集,且采樣頻率可調(diào);
2)屏幕顯示功能:以曲線和數(shù)字方式分別顯示各通道數(shù)據(jù)趨勢曲線以及分析后的數(shù)據(jù)和譜線數(shù)據(jù);
3)存儲和回放功能:完成采集數(shù)據(jù)和分析數(shù)據(jù)的存儲、回放分析、信號分離并進(jìn)行數(shù)據(jù)的時(shí)域和頻域分析;
4)噴霧閥性能評定功能:通過對輸入標(biāo)定數(shù)據(jù)的分段擬合進(jìn)行數(shù)據(jù)修正。
系統(tǒng)配置
為滿足檢測裝置對控制系統(tǒng)的設(shè)計(jì)要求,我們選用了Advantech的IPC-610P型工業(yè)控制計(jì)算機(jī)(PCA6180主板、256MSDRAM、PIII 1GH CPU)作為主控制器,完成人機(jī)交互、實(shí)時(shí)數(shù)據(jù)采集、分析、存貯、圖形繪制與打印等任務(wù);WP系列的一體化(傳感器和變送器合二為一)壓力變送器、CA-GT系列的一體化加速度變送器分別變送氣包壓力、噴霧閥出口壓力和標(biāo)靶加速度電信號;高性能、高采集速率的數(shù)據(jù)采集板卡PCL-818HD用來采集三個(gè)變送器的標(biāo)準(zhǔn)電信號,同時(shí),由于要在電磁閥開啟的同時(shí)啟動采樣線程,選用三菱PCL協(xié)助主控制器來控制電磁閥的開啟、延時(shí)、關(guān)閉等動作,其驅(qū)動由繼電器輸出板卡PCL-725來完成。
PCL-818HD 能保證在所有增益(x 1, 2, 4 或 8, 可編程)和輸入范圍內(nèi)都有 100kHz 采樣速率和轉(zhuǎn)換速度。它有一個(gè) 1 K 的 FIFO(先進(jìn)先出)緩沖器以獲得更快的數(shù)據(jù)傳輸和 Windows 下更好的性能。這正是本系統(tǒng)選用該板卡的重要依據(jù)。同時(shí)為提高信號的抗共模干擾的能力,本系統(tǒng)采用差分模擬量輸入方式。
為了提高整個(gè)控制系統(tǒng)的抗干擾能力,選用繼電器隔離的數(shù)字輸入輸出板卡PCL-725,其板上的八個(gè) SPDT 繼電器非常適合本系統(tǒng)電磁閥的開/關(guān)控制。每個(gè)繼電器旁邊的紅色 LED 用來顯示繼電器的開/關(guān)狀態(tài)。
模擬量輸出板卡PCL-728,能輸出-10V~+10V的模擬信號,實(shí)時(shí)控制變頻器的反、正轉(zhuǎn),PCL-728采用光隔離措施,提高系統(tǒng)的抗干擾能力。
為保證噴霧閥動作的可靠性及獲得噴霧閥不同開啟時(shí)間,噴霧閥的開啟延時(shí)采用日本三菱公司的FX2N系列的可編程控制器(PLC)進(jìn)行控制。噴霧閥電磁閥的開啟延時(shí)由PLC內(nèi)部定時(shí)器自動延時(shí),延時(shí)時(shí)段為20ms、30ms、50ms,延時(shí)時(shí)段的選擇通過改變PLC的外部輸入點(diǎn)的地址來實(shí)現(xiàn)。系統(tǒng)框圖見圖1所示。
圖1 系統(tǒng)框圖
監(jiān)測系統(tǒng)中幾項(xiàng)關(guān)鍵技術(shù)
A/D觸發(fā)方式的選擇
因?yàn)榭刂瞥绦蜻\(yùn)行于Windows平臺,而Windows是一多任務(wù)、多用戶的而非實(shí)時(shí)操作系統(tǒng),在高速數(shù)據(jù)采集時(shí)有可能會丟失數(shù)據(jù),數(shù)據(jù)的丟失意味著測試數(shù)據(jù)不完整。為滿足控制系統(tǒng)的高速數(shù)據(jù)采集的需要,保證采集數(shù)據(jù)的連續(xù)性、完整性,采用了定時(shí)器同步觸發(fā)A/D與FIFO數(shù)據(jù)傳輸方式相結(jié)合的方法,大大提高了系統(tǒng)的采樣頻率和數(shù)據(jù)的可靠性,改善了在Windows環(huán)境下數(shù)據(jù)傳輸?shù)男阅堋?BR>多種應(yīng)用程序的無縫連接技術(shù)
Visual C++是Windows平臺下強(qiáng)大的應(yīng)用程序開發(fā)環(huán)境,MATLAB是一個(gè)功能強(qiáng)大的數(shù)值計(jì)算和結(jié)果可視化的軟件。假如將MATLAB和Visual C++結(jié)合起來,取長補(bǔ)短無疑是一個(gè)有效的途徑。本設(shè)計(jì)利用MATLAB Compile (編譯器),將MATLAB函數(shù)編譯成可以脫離MATLAB環(huán)境使用的C函數(shù),在Visual C++中將此C函數(shù)編譯成動態(tài)連接庫,在Visual C++中加載這個(gè)動態(tài)連接庫,這種方法能實(shí)現(xiàn)兩者之間的無縫連接,僅需利用相關(guān)的MATLAB應(yīng)用程序接口(API)函數(shù)編寫一個(gè)C語言的接口函數(shù)即可。
多線程的數(shù)據(jù)采集軟件設(shè)計(jì)
由于整個(gè)應(yīng)用程序需要在較短的時(shí)間內(nèi)完成數(shù)據(jù)采集、去噪聲、數(shù)據(jù)整理與分析、壓力數(shù)據(jù)實(shí)時(shí)圖表顯示、數(shù)據(jù)分析計(jì)算以及數(shù)據(jù)存儲與管理等任務(wù),如果僅使用單線程模型來設(shè)計(jì)系統(tǒng),就不能很好地完成數(shù)據(jù)采集和分析的任務(wù),因此考慮采用多線程模型,利用多個(gè)線程分別完成各項(xiàng)任務(wù)。
本系統(tǒng)通過并行設(shè)計(jì)充分利用Win32 操作系統(tǒng)的多任務(wù)特點(diǎn)將不同的任務(wù)分布到各個(gè)線程中,使各個(gè)任務(wù)同步進(jìn)行而互不影響。系統(tǒng)中的主線程負(fù)責(zé)創(chuàng)建用戶界面、接收消息等工作。另外,由于Win32 系統(tǒng)是搶先式系統(tǒng),為了保證數(shù)據(jù)的采集不被其他線程中斷就要開辟一個(gè)優(yōu)先級較高的線程來采集數(shù)據(jù)。同時(shí),為保證系統(tǒng)硬件相關(guān)部分和硬件不相關(guān)部分的相互獨(dú)立,將采集模塊做成動態(tài)鏈接庫,采集到的數(shù)據(jù)存入內(nèi)存池中,然后調(diào)用動態(tài)鏈接庫中的相應(yīng)函數(shù)定時(shí)獲取內(nèi)存池中的數(shù)據(jù)。由于數(shù)據(jù)的分析、存儲和性能在線評估耗時(shí)較多,且各個(gè)任務(wù)所占用的時(shí)間段不同,故將其分別置于不同的線程中,在數(shù)據(jù)采集的同時(shí)進(jìn)行數(shù)據(jù)的分析存儲和各通道的巡回監(jiān)視,各個(gè)線程(數(shù)據(jù)采集線程、數(shù)據(jù)分析與處理線程以及數(shù)據(jù)動態(tài)顯示線程)中所要完成的工作并行進(jìn)行,線程間的通信可以通過消息響應(yīng)函數(shù)PostMessage 來實(shí)現(xiàn)。
由于本系統(tǒng)是一個(gè)工業(yè)化的連續(xù)運(yùn)行的實(shí)用系統(tǒng),系統(tǒng)的可靠性非常重要,必須協(xié)調(diào)以下工作:
1)注意釋放內(nèi)存, 在系統(tǒng)的調(diào)試過程中避免線程阻塞。在Windows環(huán)境下若有某個(gè)任務(wù)持續(xù)長時(shí)間運(yùn)行時(shí),會導(dǎo)致所占用的存儲空間逐漸膨脹,因此有時(shí)會因內(nèi)存自由空間的過少而出現(xiàn)有關(guān)線程阻塞的現(xiàn)象,甚至出現(xiàn)死機(jī),故在開發(fā)程序的過程中,必須考慮有效措施使程序能自動釋放內(nèi)存。
2)注意節(jié)約占用CPU的時(shí)間。系統(tǒng)規(guī)定數(shù)據(jù)采集線程和數(shù)據(jù)處理線程的優(yōu)先級為最高,其余任務(wù)必須注意節(jié)約占用CPU的時(shí)間,否則會降低系統(tǒng)的運(yùn)行效率。
3)合理規(guī)劃線程內(nèi)容,控制線程個(gè)數(shù)。雖然系統(tǒng)采用多線程模型可以有效地提高采集和監(jiān)控效率,但系統(tǒng)中所擁有的線程不能太多。因?yàn)榭蛇\(yùn)行的線程越多,對所有線程輪詢一次所需的時(shí)間越長,系統(tǒng)延時(shí)越大。同時(shí)系統(tǒng)的吞吐量將相對減少,當(dāng)系統(tǒng)總的延時(shí)超過一定的限制時(shí),系統(tǒng)將變得不可使用。
4) 合理解決數(shù)據(jù)緩沖區(qū)的并發(fā)和同步。多線程應(yīng)用程序基于優(yōu)先級的可搶先調(diào)度和不可預(yù)測性,使得其同步問題變得非常重要。如何正確、高效地實(shí)現(xiàn)多線程系統(tǒng)中各個(gè)線程之間的通信,使得相關(guān)線程之間能夠?qū)εR界區(qū)的訪問達(dá)成同步,對提高多線程數(shù)據(jù)采集系統(tǒng)的效率有著重要的作用。在本系統(tǒng)中,采用事件Event方法,用于封鎖對一個(gè)資源的訪問直到出現(xiàn)了某些線程或進(jìn)程的信號即指定一個(gè)指定事件的信號。使用事件同步一般用CreateEvent 創(chuàng)建事件,WaitForMultiObject等待事件的發(fā)生,SetEvent 標(biāo)記一個(gè)事件的發(fā)生,ResetEvent 清除事件發(fā)生的標(biāo)記。由于CPU的運(yùn)行速度遠(yuǎn)高于采集卡采集數(shù)據(jù)的速度,因此,數(shù)據(jù)處理線程的大部分時(shí)間是在等待讀取緩沖區(qū)的數(shù)據(jù),不會因?yàn)閬聿患疤幚砭彌_區(qū)的數(shù)據(jù)而使數(shù)據(jù)采集線程因等待緩沖區(qū)的釋放造成采集數(shù)據(jù)的丟失。這樣線程之間較好地實(shí)現(xiàn)了對數(shù)據(jù)緩沖區(qū)訪問的并發(fā)和同步。
控制系統(tǒng)軟件設(shè)計(jì)
整個(gè)控制系統(tǒng)軟件基于Windows 9X操作系統(tǒng)平臺,人機(jī)交互的應(yīng)用程序采用編程功能強(qiáng)大的Visual C++,并輔以多線程編程技術(shù)以及和具有強(qiáng)大數(shù)值計(jì)算和處理功能的Matlab進(jìn)行無縫連接技術(shù),完善和彌補(bǔ)了Visual C++的功能。程序采用面向?qū)ο蟮脑O(shè)計(jì)方法,增強(qiáng)了應(yīng)用程序的實(shí)用性、可靠性。整個(gè)程序流程框圖見圖2所示。
圖2 程序流程框圖
系統(tǒng)抗干擾措施
在本實(shí)時(shí)控制系統(tǒng)中,必須采用各種抗干擾手段來抑制干擾對測量結(jié)果的影響。其主要干擾有:部分電氣的脈沖型干擾、繼電器開斷產(chǎn)生的隨機(jī)型脈沖干擾、傳感器以及變送器自身噪聲等,這些干擾進(jìn)入監(jiān)測系統(tǒng)主要通過(1)從系統(tǒng)的工頻電源進(jìn)入,(2)通過電磁耦合,(3)通過監(jiān)測元件進(jìn)入。為獲得較好的試驗(yàn)結(jié)果,本設(shè)計(jì)采取以下抗干擾措施:
共模抑制技術(shù)
為提高系統(tǒng)的抗干擾性能,系統(tǒng)采用差分輸入方式,差分輸入可使來自設(shè)備震動、以及變送器的白噪聲干擾相互抵消,實(shí)現(xiàn)共模抑制電噪聲。
模擬地隔離技術(shù)
為了使控制系統(tǒng)防止外界干擾,除了供電系統(tǒng)采用隔離變壓器以外,在過程與過程通道之間也采取隔離方法,使其計(jì)算機(jī)系統(tǒng)與外界的過程控制器和變送儀表之間沒有公共地線,而是采用繼電器隔離方式,以提高系統(tǒng)的抗干擾能力。
數(shù)字濾波處理技術(shù)
在數(shù)據(jù)處理過程中,對于采樣信號中的各類噪音和失真采取了軟件濾波與硬件濾波相結(jié)合的方法,首先通過模擬低通濾波器(硬件濾波)濾去5Hz的噪音,對于低于5Hz的噪音則采取軟件方法進(jìn)行濾波。
1)對采集到的數(shù)據(jù)實(shí)行五點(diǎn)三次平滑法濾波
2)在信號采集中,常有系統(tǒng)誤差,而這些誤差主要是由系統(tǒng)噪音引起的,與當(dāng)時(shí)實(shí)驗(yàn)的條件如溫度、儀器老化時(shí)間等因素有關(guān),所以在正式采樣之前需進(jìn)行全程背景噪音扣除,以消除系統(tǒng)噪音,在正式采樣之前先進(jìn)行一次與正式采樣相同條件的空采樣,得到的數(shù)據(jù)全部是背景噪音,在正式采樣中將剛才的背景噪音全程扣除。
3)在采集信號中,常有“毛刺”干擾,根據(jù)經(jīng)驗(yàn),確定出兩次采樣輸入信號可能出現(xiàn)的最大偏差ΔH,兩次采樣值之差若超過此偏差值且又持續(xù)時(shí)間很短,則表明該輸入信號是干擾“毛刺”,應(yīng)該去掉,若小于此偏差值,可將信號作為本次采樣值。
經(jīng)過以上軟硬結(jié)合的濾波,微伏級的信號可正確分辨,大信號也不會失真,效果顯著。
結(jié)語
系統(tǒng)設(shè)計(jì)采用了較為先進(jìn)的設(shè)計(jì)方案,并加入了多種硬件和軟件抗干擾措施,同時(shí),在軟件設(shè)計(jì)時(shí),充分考慮了Windows操作系統(tǒng)的特點(diǎn),應(yīng)用了多種應(yīng)用程序無縫連接以及多線程編程技術(shù),保證了系統(tǒng)設(shè)計(jì)的先進(jìn)性,提高了系統(tǒng)的穩(wěn)定性以及自動化水平。
參考文獻(xiàn)
1 吳道虎.高速數(shù)據(jù)采集可靠性的研究,電子技術(shù)應(yīng)用.2002.6
2 Davis etc.學(xué)用Visual C++,北京:清華大學(xué)出版社.1999.6
3 徐士良.計(jì)算機(jī)算法方法,北京:清華大學(xué)出版社.1998.6
4 Advantech handbook.1999.7
作者簡介:吳道虎,博士,主要研究網(wǎng)絡(luò)控制及其安全,計(jì)算機(jī)先進(jìn)的檢測技術(shù)等;李興華,博士,主要從事系統(tǒng)工程、系統(tǒng)可靠性等方面的研究工作。
評論