

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