基于圖靈開物組態軟件實現高速大容量數據采集
1 引言
隨著計算機技術的飛速發展和自動化技術的廣泛應用,通用監控組態軟件逐步蓬勃發展起來并涌現出一些極具競爭力的產品。組態軟件作為一種連續過程控制的通用監控平臺極大的縮短了計算機監控系統軟件的開發周期、增強了軟件產品的穩健性,顯著提高了經濟效益。
組態軟件自從出現以來,一直以其通用性、易用性的優點深得廣大工程技術人員的青睞,但是組態軟件的連續慢變過程監控的特點使它很難滿足中高頻信號的測試需求。在組態軟件的發展過程中,對于高速大容量數據采集的需求逐漸明朗起來。
2 總體方案設計
一般的,高速大容量數據采集需要處理三個方面的問題,即高速數據采集、批量數據存盤和實時數據顯示。但是由于在組態軟件運行過程中需要同時處理很多任務,使得組態軟件對于實時性要求很高的場合不能很好的滿足,而高速大容量數據采集又必須使數據采集獲得更高的優先權,從而保證實時不間斷數據采集。綜合考慮高速大容量數據采集的需求和組態軟件的特殊性可選用一種折中的方案,即高速大容量數據采集,非實時數據顯示,從而既保證了高速大容量數據信號的采集,又不至于占用太多的CPU時間。
高速大容量數據采集分為兩部分,即在組態軟件的硬件設備驅動程序中實現高速大容量數據采集,然后在組態環境下利用插件等形式將數據文件展開。
3 高速大容量數據采集
板卡類設備性能穩定、使用便捷、采樣速度高,是高速數據采集系統中常用的外部設備。在開物2000組態軟件中數據采集部分主要在硬件設備的驅動程序中實現。考慮到高速數據采集系統的特殊性,在驅動程序中建立了一個寫標簽,在執行寫標簽的過程中將完成兩部分工作,即高速大容量數據采集和批量數據存儲。為了提高數據采集的優先權并有效降低CPU的占用率,在數據采集時使用了FIFO(First In First Out)、中斷和DMA(Direct Memory Access)等技術并使數據采集程序運行在內核模式。當執行寫標簽時,驅動程序將初始化板卡設備,主要包括設定采樣長度和采樣頻率,然后觸發板卡設備進行數據采集,并將采集到的數據存儲到板卡的FIFO中,當FIFO中的數據半滿時,將產生一個中斷信號,然后通過DMA方式將FIFO中的數據存儲到內存區域。當采樣長度達到預定的要求時,停止板卡設備的數據采集,并將內存區域的數據寫入數據文件,從而完成高速大容量的數據采集和存儲。
4 非實時數據顯示
基于組態軟件很難實現中高頻信號實時波形的顯示,一般需采用非實時數據波形回放的方法。為了滿足數據波形回放的要求,基于圖靈開物環境開發了數據采集插件。圖靈開物中的插件類似于ActiveX控件,但與ActiveX控件相比,圖靈開物中的插件結構小巧,運行安全可靠,具有更強的功能,并且由于其僅在使用時被動態加載,可以有效的節省系統資源。
數據采集插件功能豐富,可以滿足數據波形回放的多種功能要求,如打開數據文件、保存數據文件、波形放大、縮小、自定義縮放、設置和打印輸出等各種功能。在數據采集插件中通過設置工程值和測量值的最大最小值可以實現數據量綱的轉換。
5 工程實例
基于上面提到的方案,在螺栓應力測試系統中取得了很好的實驗效果。實驗過程中需要測量的高速信號為螺栓的動態應力變化。在實際實驗過程中基于圖靈開物環境建立寫標簽“WRITE_FILE0”,代表板卡設備第0通道的數據信號,設定采樣長度為8192點,采樣頻率為5000Hz。
在圖靈開物組態環境中實現板卡類設備數據采集非常方便。例如可以建立一個數據采集按鈕,點擊按鈕就可以完成數據的采集,如果需要基于一定的條件進行數據采集則可以通過腳本語言來實現。例如 If AD0.Value<=3.5 then WRITE_FILE0.Value=True,使用非常方便。下圖給出了整個實驗系統的數據波形,從圖中可以看出,數據波形還原完好,沒有任何失真現象,很好的跟蹤了螺栓應力的動態變化,滿足了系統的測試要求,取得了良好的實驗效果,同時也驗證了本文提出的高速大容量不間斷數據采集方案的正確性。
6 結束語
本文綜合考慮組態軟件和高速大容量不間斷數據采集的要求,提出了實時數據采集,非實時數據顯示的解決方案,很好的滿足了中高頻信號的測試需求,擴展了圖靈開物組態軟件的使用范圍,對于高速大容量數據采集具有一定的指導意義。
文章版權歸西部工控xbgk所有,未經許可不得轉載。