摘要:該文在分析了各種數據采集報警子系統基本功能的基礎上,給出了報警子系統一般組成,設計并實現了基于Labview的報警子系統的主要模塊。
關鍵詞:labview;數據采集;報警系統
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)27-7674-02
Design of Data Acquisition Alert Subsystem Based Labview
QIN Yong-ping1, SUN Qing2, LI Zhe3
(1.Teaching and Section of Computer, Artiliery Academy, Hefei 230031,China; 2.luwan Section Bureau of Education, Shanghai 200020, China; 3.Graduate Department, Artiliery Academy, Hefei 230031, China)
Abstract: This paper analysed the function of somedata acquisitionalertsystems,then the constitution of alert subsystem was provided , and designed and realized the alert subsystem by labview develop environment.
Key words: labview; data acquisition; alert system
報警子系統是各種數據采集、監測監控、虛擬儀器系統的重要組成部分,功能完善的報警子系統有利于用戶及時發現故障、及時分析處理。Labview是基于G語言的革命性的圖形化開發語言,用來進行數據采集和控制、數據分析和數據表達。它的目標是簡化程序的開發工作,讓工程師和科學家能充分利用PC機的功能,快速簡便地完成自己的工作。本文對多個基于Labview數據采集、監測監控系統的報警子系統進行了分析研究,從中提取出帶有一定普遍性的基本功能、基本模塊,并給出設計、實現方法。
1 報警子系統的主要模塊
這里主要把報警子系統分成如下幾個模塊:報警參數設置、聲光報警、報警信息存儲、報警信息回放等。實際系統可根據需要進行選擇。如圖1所示。
2 報警子系統的設計與實現
2.1 報警參數設置
報警參數要求長期保存,避免每次啟動時重新輸入,本系統中報警參數存儲在Access表中,如圖2所示,每個信號可設置最大值及最小值。
在主程序中利用Application Control節點以動態調用方式打開并運行修改報警參數的SubVI “參數設置.vi”,框圖程序見圖3。
“參數設置.vi” 框圖程序見圖4,其中訪問數據庫采用LabSQL完成. 該框圖程序中使用的主要節點如下:ADO Connection Create.vi創建一個Connection對象; ADO Connection Open.vi打開一個Connection對象; ADO Connection Execute.vi執行指定的查詢等功能;SQL Fetch Data.vi 返回Recordset對象的數據;ADO Recordset Open.vi 打開Recordset對象;ADO Set Field.vi 修改某一個記錄的值等。
2.2 聲光報警
燈光報警是報警子系統的核心,當某采集數據超出設定值時相應報警紅燈亮并閃爍,框圖程序見圖5。首先取得報警參數,然后隨時對采集數據進行跟蹤,當超出設定范圍時紅燈閃爍報警,采集數據恢復正常時自動停止。
需要時在燈光報警的同時給出語音報警,為便于用戶及時判斷故障位置,對于每一種故障給出相應的語音報警,為此應事先為每一種故障錄制專門的語音報警文件,供程序調用。框圖程序見圖6,本程序采用Microsoft Multimedia控件實現聲音文件的播放,程序中Microsoft Multimedia控件MCI.mci在前面板上設置為不可視,也無需設置其按鈕屬性,“Property Node”節點用于設置“DeviceType”、”FileName”、“Command”屬性。另外,直接播放只能播放一遍語音文件,為了重復播放報警語音,對語音播放長度進行計數,超過設定計數值時方可關閉MCI.mci且重播,語音長度計數設定值根據語音文件長度進行調整。故障消除后報警語音自動停止,也可隨時按下語音開關關閉語音。
2.3 報警信息存儲
發生故障時除了聲光報警,還應進行報警信息存儲,以便用戶進行故障分析。為了便于故障分析、處理,應將故障點前后一段時間內信息進行保存,實現方法如下:利用一個數組移位保存最近一段時間內信息;當故障發生時繼續用該數組移位保存故障點后指定時間內信息(故障點后信息個數為數組長度的一半);存儲信息包括故障數據及其它相關的正常數據,這樣便于全面分析。框圖程序見圖7,其中數組“分流電流”長度為2000,故障點后采集數據為1000個。數據保存在內存數組中,需要時可存入硬盤。
2.4 報警信息回放
報警信息回放利用一個SubVI“回放.vi”以圖形的形式顯示數據,調用框圖程序見圖8,其中將上面保存好的故障點數組及時間作為參數傳遞給SubVI“回放.vi”。SubVI“回放.vi” 框圖程序見圖9。
3 結論
上述報警子系統的設計思想由多個數據采集系統綜合而成,實踐證明其基本包含了報警系統的主要功能,它不僅能有效地給出聲光報警,還綜合考慮了故障點前后數據的相關性,同步存儲故障點前后一段時間內的各種信息,并可以隨時回放故障點的相關信號波形, 全面、直觀地進行故障分析,還可便于以后建立數據倉庫,實現輔助決策。實踐證明該設計思想和實現方法有效,對于數據采集、監測監控、虛擬儀器系統的開發有一定的參考價值和指導意義。
參考文獻:
[1] 楊樂平,李海濤,楊勇,等.LabVIEW高級程序設計[M].北京:清華大學出版社,2003.
[2] 汪敏生.LabVIEW基礎教程[M].北京:電子工業出版社,2002.
[3] 秦永平,裴斌,盧勝.基于labview的監測系統設計與實現[J].微計算機信息,2005(3):54-55.