摘 要:燃氣輪機正在向自動化、智能化的方向發(fā)展,附加設備增多,運行時采集的參數(shù)量也不斷增加,對數(shù)據(jù)監(jiān)測與記錄設備提出了更高的要求,針對燃氣輪機在運行時長期、可靠存儲數(shù)據(jù)的需求,對PC/104模塊與VxWorks操作系統(tǒng)進行了研究,并設計了一款船用燃氣輪機數(shù)據(jù)記錄儀,在試驗和試航中取得了良好的效果。
關鍵詞:數(shù)據(jù)記錄儀;PC/104;VxWorks;燃氣輪機
引言
燃氣輪機以其優(yōu)良的動態(tài)性能,在艦船動力系統(tǒng)中占有重要的地位。隨著艦船事業(yè)向自動化、智能化的不斷進步和發(fā)展,監(jiān)測的數(shù)據(jù)量也不斷增加,而且工作環(huán)境比較惡劣,因此對船用燃氣輪機數(shù)據(jù)監(jiān)測與記錄設備提出了更高的要求。船用數(shù)據(jù)記錄儀是用來記錄其各種信息的存儲設備,一旦船舶發(fā)生事故,這個存儲設備能抵制住各種惡劣的環(huán)境并保存下來,以便記錄的數(shù)據(jù)能被取回分析。船用燃氣輪機數(shù)據(jù)記錄儀則是主要針對艦船動力主設備燃氣輪機運行時各個參數(shù)的采集與數(shù)據(jù)記錄,一旦發(fā)生燃氣輪機故障,能立刻對已記錄的運行數(shù)據(jù)進行分析,找出故障原因,恢復燃機的正常運行,因此,為了滿足燃氣輪機在運行時長期、可靠存儲數(shù)據(jù)的需求,用來記錄燃氣輪機運行參數(shù)的數(shù)據(jù)記錄儀扮演著至關重要的角色,在故障分析、經(jīng)驗總結及責任判明等方面提供了有力的依據(jù)。
以往的數(shù)據(jù)記錄儀多采用Windows或者DOS操作系統(tǒng),或多或少存在著死機、數(shù)據(jù)丟包等故障現(xiàn)象。文章設計了一種基于PC/104模塊與VxWorks操作系統(tǒng)的船用燃氣輪機數(shù)據(jù)記錄儀,這種數(shù)據(jù)記錄儀采用了專門為嵌入式控制而定義的工業(yè)控制總線,各模塊之間連接緊固、不易松動,適用于強烈振動的惡劣環(huán)境,同時憑借高性能的微內核wind,保證了系統(tǒng)資源的合理分配,提高了系統(tǒng)的可靠性,充分發(fā)揮了體積小,抗沖擊,抗振動,實時可靠的優(yōu)點,為現(xiàn)場數(shù)據(jù)的實時性、真實性提供了保障,是一款新型的船用數(shù)據(jù)記錄儀,該船用數(shù)據(jù)記錄儀已通過試驗驗證,并正式投入使用。
1 工作原理
文章設計的燃氣輪機數(shù)據(jù)記錄儀主要實現(xiàn)了將燃氣輪機運行時的各個參數(shù)進行了采集、分類、壓縮、存儲、刪除等功能。為了完成以上各功能,采用了PC104總線嵌入式工控機作為硬件核心,VxWorks操作系統(tǒng)作為軟件設計平臺的模式進行。
燃機控制系統(tǒng)不斷將燃機控制系統(tǒng)采集的模擬信號和數(shù)字信號通過RS422送往PC/104模塊,PC/104在VxWorks操作系統(tǒng)中通過Tornado軟件設置計算緩存大小并將數(shù)據(jù)分類、壓縮存儲在DOM盤中,在存儲過程中,若發(fā)現(xiàn)數(shù)據(jù)超限,將自動刪除最早日期的文件以保證新數(shù)據(jù)的記錄。
2 硬件電路設計
數(shù)據(jù)采集的應用在當今工業(yè)化、信息化相對發(fā)達的時代極為廣泛,并且作用日益明顯,而PC104總線規(guī)范結構更是為了滿足當今的工業(yè)控制領域的需要應運而生[1],因此該船用燃氣輪機數(shù)據(jù)記錄儀使用PC104總線嵌入式工控機作為核心,由以下幾部分組成:主控制板、最終存儲器、電源、擴展口模塊及報警模塊等,同時還可以根據(jù)測試或檢驗的需要通過處理器主板上的接口外接鼠標鍵盤和顯示器。
主控制板采用PC/104作為主控制器,包含:PC/AT母板、CPU、可編程計數(shù)/定時器、DMA通道、中斷通道、內存、串行借口、固態(tài)盤等。PC/104模塊功耗較低,且結構緊湊,集成度高,安裝方便,模塊化結構能夠滿足多種應用的要求。
電源由主電源和備用電源組成,主電源由燃機控制系統(tǒng)提供,備用電源由電池提供,當燃機控制系統(tǒng)供電出現(xiàn)異常時自動切換到備用電源供電,并立刻將當前數(shù)據(jù)進行保存。
數(shù)據(jù)記錄儀與燃機控制系統(tǒng)通過標準RS422串行總線進行通訊,接收燃機控制系統(tǒng)采集到的數(shù)據(jù),存儲在軍用DOM盤中。
3 軟件設計
VxWorks操作系統(tǒng)是一種具有微內核、高性能、可伸縮的嵌入式實時操作系統(tǒng)(RTOS),該操作系統(tǒng)具有良好的有效性、兼容性、可裁減性以及互操作性,廣泛應用在通信、軍事、航空等高精尖技術及實時性要求極高的領域中[2],同時因為軟硬件的緊密結合,作為能完成一種或多種特定功能的計算機系統(tǒng),特別適用于要求實時的和多任務的應用體系。因此,文章設計的燃氣輪機數(shù)據(jù)記錄儀在VxWorks平臺上配合Tornado集成開發(fā)環(huán)境使用C語言編寫了系統(tǒng)控制程序,實時接收燃機控制系統(tǒng)通過RS422串口發(fā)送來的燃機運行數(shù)據(jù),并將數(shù)據(jù)進行分類處理、壓縮、存儲以及刪除等功能。為了使各個環(huán)節(jié)正常工作互不影響,使用了多線程的編程思想,各部分的程序同時運行,從而保證記錄儀能夠長期穩(wěn)定可靠的運行,軟件結構設計如下:
(1)程序初始化子程序:該部分主要包括RTC時鐘的初始化,根據(jù)配置文件對相應的串口進行初始化等。
(2)串口讀取子程序:該部分采用select機制讀取燃機控制系統(tǒng)裝置發(fā)來的數(shù)據(jù),并將接收到的數(shù)據(jù)交給數(shù)據(jù)解析模塊進行處理。
(3)串口寫入子程序:該部分向燃機電子監(jiān)控裝置發(fā)送數(shù)據(jù)包,請求對方發(fā)送燃機運行數(shù)據(jù)。
(4)數(shù)據(jù)協(xié)議解析子程序:該部分根據(jù)協(xié)議規(guī)則,對串口收到的數(shù)據(jù)進行解析,并對模擬量和開關量進行處理分類。
(5)數(shù)據(jù)記錄子程序:該部分以1Hz的頻率將運行數(shù)據(jù)實時記錄到文件中。
(6)數(shù)據(jù)壓縮子程序:該部分負責將前一天的數(shù)據(jù)文件進行壓縮,以節(jié)省CF卡的空間,同時標注好正確的存儲路徑、文件名、時間等相關信息,便于文件的掃描和查詢。
(7)文件掃描刪除子程序:定時器定期掃描磁盤的剩余空間,刪除沉舊文件,保證足夠可用的磁盤空間,同時保持著當前系統(tǒng)的最新的數(shù)據(jù)記錄。
數(shù)據(jù)記錄儀多線程編程的系統(tǒng)結構圖如圖2所示。
周期性檢查磁盤剩余空間的程序如下:
Void periodic_delete(){
struct statfs st;
unsigned long long blocksize,totalsize,freesize;
int fd=open(\"/\",O_RDONLY,0);
FOREVER{
if(fstatfs(fd,st)==OK){
blocksize=st.f_bsize;
freesize=(blocksize*st.f_bfree)>>20;
if(debug){
cout<<\"free size:\"< } if(freesize delete_file(); } } else{ cout<<\"fstatfs error\n\"< } taskDelay(sysClkRateGet()*DELETE_PERIOD); } Close(fd); 4 結束語 PC/104嵌入式計算機模塊為系統(tǒng)設計者們提供了整套低成本、高可行性、能迅速配置成產品的結構化模塊。[3]VxWorks實時操作系統(tǒng)則提供了良好的可靠性和卓越的實時性。[4]船用數(shù)據(jù)記錄儀融合了PC/104和VxWorks嵌入式的優(yōu)點,監(jiān)控穩(wěn)定性好、精度高,為艦船動力裝置的正常運行提供了保障,具有廣闊的應用前景。 參考文獻 [1]胡長碧,張冰,胡煜.基于PC/104的數(shù)據(jù)記錄儀的設計與應用[J].航海工程,2008. [2]陳蜀 ,李鶴鳴,余瑞鋒.船舶數(shù)據(jù)記錄儀的主程序設計[J].船海工程,2006. [3]張廣瑩,徐麗娜,鄧正隆.PC/104嵌入式計算機的應用[J].自動化技術與應用,2000(19). [4]高磊,郝成,閆尚敏.基于VxWorks的數(shù)據(jù)采集存儲系統(tǒng)設計[J].數(shù)字技術與應用,2011. 作者簡介:孫倩(1986-),女,工程師,研究方向:硬件電路研發(fā),數(shù)據(jù)采集。