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