最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法與流程

文檔序號:12462658閱讀:1335來源:國知局
一種基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法與流程

本發(fā)明屬于計算機數(shù)據采集與處理技術領域,具體涉及一種基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法。



背景技術:

計算機技術和總線技術的發(fā)展使得以PC機為中心的實時監(jiān)控系統(tǒng)在現(xiàn)代測試工程中扮演著越來越重要的角色。隨著操作系統(tǒng)和處理器并行處理能力的不斷提高,人們對實時監(jiān)控系統(tǒng)的功能和復雜程度也提出了更高的要求。當一個復雜的實時監(jiān)控系統(tǒng)工作時,人們不僅希望能實現(xiàn)必要的監(jiān)視、控制功能,而且希望有一套可靠、有效的機制用于實現(xiàn)現(xiàn)場數(shù)據的實時記錄,以達到數(shù)據備份,事后數(shù)據分析,用戶操作評估,輔助定排故等目的。

實時監(jiān)控系統(tǒng)工作時,用戶希望能夠毫無遺漏地記錄全面的現(xiàn)場信息,包括總線數(shù)據、日期時間、用戶操作動作等。但由于PC機磁盤空間有限,為適應長期記錄的需要,還希望存儲文件能盡可能小。此外,由于需要和系統(tǒng)監(jiān)控同時進行,數(shù)據記錄進程應盡可能少地占用系統(tǒng)資源,以免影響主體監(jiān)控功能的實現(xiàn)。

現(xiàn)有的以PC機為平臺的實時監(jiān)控系統(tǒng)數(shù)據記錄方法一般存在以下弊端:①多采用文本形式存儲數(shù)據,文件I/O效率低、占用磁盤空間大,長時間連續(xù)記錄時會出現(xiàn)數(shù)據阻塞、數(shù)據丟失、死機等現(xiàn)象;②記錄信息不全面,大多未記錄用戶在監(jiān)控界面操作控件的動作;③普遍采用定時循環(huán)程序結構記錄數(shù)據,當總線波特率發(fā)生改變時,可能會造成總線數(shù)據丟失,程序自適應能力差。且記錄用戶操作動作時,需要在循環(huán)中不斷輪詢用戶界面控件的狀態(tài),程序框架繁瑣,輪詢過程會消耗可觀的CPU處理時間,如果用戶執(zhí)行太快,還可能遺漏用戶的輸入,程序響應能力弱。



技術實現(xiàn)要素:

本發(fā)明的目的在于提供一種基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法,克服或減輕現(xiàn)有技術的至少一個上述缺陷。

本發(fā)明的目的通過如下技術方案實現(xiàn):一種基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法,其特征在于,包括如下步驟:

步驟一:使用LabVIEW語言創(chuàng)建“數(shù)據記錄文件”格式的文件;

步驟二:在步驟一所述的文件中定義實時監(jiān)控系統(tǒng)所需記錄的不同數(shù)據類型的元素;

步驟三:實時記錄實時監(jiān)控系統(tǒng)事件發(fā)生時步驟二中各元素的數(shù)據;

步驟四:當記錄的數(shù)據達到預設要求時保存該文件,同時創(chuàng)建新的“數(shù)據記錄文件”格式的文件記錄后續(xù)數(shù)據;

步驟五:當實時監(jiān)控系統(tǒng)所需元素記錄完成后,篩選并刪除步驟四中各文件中的空白文件。

優(yōu)選地是,所述實時監(jiān)控系統(tǒng)所需記錄元素的類型為日期時間、數(shù)據幀類型、有效數(shù)據幀、開關組狀態(tài)、模塊上電時間。

優(yōu)選地是,所述實時監(jiān)控系統(tǒng)事件為該實時監(jiān)控系統(tǒng)接收到有效通訊數(shù)據幀、用戶改變該實時監(jiān)控系統(tǒng)界面開關狀態(tài)。

優(yōu)選地是,所述步驟四的單個記錄文件中記錄數(shù)超過25000條或者記錄時長超過1小時。

本發(fā)明所提供的一種基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法的有益效果在于,能全面記錄實時監(jiān)控系統(tǒng)的各種信息;“數(shù)據記錄文件”格式文件I/O效率高,占用磁盤空間小,能夠滿足長期數(shù)據記錄的需要;程序框架簡單,運行時占用CPU資源少,效率較高;程序自適應能力強,響應速度快,不會丟失數(shù)據及遺漏用戶的操作;可應用于以PC機為平臺的實時監(jiān)控系統(tǒng)中,用來實時存儲各種現(xiàn)場數(shù)據。

附圖說明

圖1為本發(fā)明基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法的記錄文件數(shù)據結構示意圖;

圖2為本發(fā)明基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法的流程圖;

圖3為本發(fā)明基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法的程序框圖。

具體實施方式

為使本發(fā)明實施的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行更加詳細的描述。在附圖中,自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

下面結合附圖對本發(fā)明的基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法做進一步詳細說明。

一種基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法,包括如下步驟:

步驟一:使用LabVIEW語言創(chuàng)建“數(shù)據記錄文件”格式的文件。

當實時監(jiān)控系統(tǒng)開始工作時,首先在當前應用程序目錄下以“日期+時間+XXX數(shù)據記錄”為文件名創(chuàng)建并打開一個文件,并定義該文件的格式,該文件的格式為“數(shù)據記錄文件”格式。

所述“數(shù)據記錄文件”是LabVIEW特有的一種二進制文件類型,它以相同的結構化記錄序列存儲數(shù)據(類似于電子表格),每條數(shù)據記錄可由任何數(shù)據類型組成,非常適用于需要記錄復雜數(shù)據類型的場合。該文件類型相比文本文件占用磁盤空間更小,文件I/O效率更高。在創(chuàng)建記錄文件時,LabVIEW按順序給每個記錄分配一個記錄號,僅通過查詢序列號就可隨機訪問記錄,因此可在后期方便地查閱記錄文件,拓展回放功能。

步驟二:在步驟一所述的文件中定義實時監(jiān)控系統(tǒng)所需記錄的不同數(shù)據類型的元素。

實時監(jiān)控系統(tǒng)所需記錄元素的類型選擇日期時間、數(shù)據幀類型、有效數(shù)據幀、開關組狀態(tài)、模塊上電時間等其他需要記錄的數(shù)據類型。

步驟三:實時記錄實時監(jiān)控系統(tǒng)事件發(fā)生時步驟二中各元素的數(shù)據。

實時監(jiān)控系統(tǒng)事件選擇為實時監(jiān)控系統(tǒng)接收到有效通訊數(shù)據幀、用戶改變該實時監(jiān)控系統(tǒng)界面開關狀態(tài)以及其他實時監(jiān)控系統(tǒng)發(fā)生的狀況。

檢測實時監(jiān)控系統(tǒng)事件的發(fā)生,當事件發(fā)生時,程序立即響應,并按已定義的格式組裝各現(xiàn)場數(shù)據后寫入當前文件中,若事件未發(fā)生,程序一直處于等待狀態(tài)。

通過實時監(jiān)控系統(tǒng)事件來響應特定的用戶操作,更接近于自然規(guī)律,不必輪詢前面板即可確定執(zhí)行了何種操作。事件可以來自于用戶界面、外部I/O或者用戶自定義事件。事件程序框架簡單,不僅可減少程序對CPU的需求,還可保證對用戶的所有交互都能作出響應,提高了程序的自適應能力和響應能力。

步驟四:當記錄的數(shù)據達到預設要求時保存該文件,同時創(chuàng)建新的“數(shù)據記錄文件”格式的文件記錄后續(xù)數(shù)據。

當單個文件中記錄數(shù)到達一定數(shù)目或記錄時間到達一定時長時,具體為單個記錄文件中記錄數(shù)超過25000條或者記錄時長超過1小時。保存并關閉當前文件,而后創(chuàng)建并打開新文件以保存后續(xù)記錄。此舉是為了防止單個記錄文件過大而占用過多的內存開銷。該步驟不會破壞整體數(shù)據流盤結構。

所述“數(shù)據流盤”結構是一種文件操作結構,即在循環(huán)之前放置打開/創(chuàng)建/替換文件程序,在循環(huán)內部放置讀出/寫入文件程序,在循環(huán)之后放置關閉/刪除文件程序。這種結構避免了重復開關文件的系統(tǒng)占用,節(jié)省了內存資源,提高了程序效率。

步驟五:當實時監(jiān)控系統(tǒng)所需元素記錄完成后,篩選并刪除步驟四中各文件中的空白文件。

工作結束時,程序自動遍歷本次工作產生的所有歷史記錄文件,若為空文件,則刪除。這種設計剔除了無用的文件,清理了磁盤空間,也節(jié)省了后期用戶查找文件的時間。

下面通過一個實施例詳盡闡述。該實施例需要對雷達電源單元工作過程中的產生的有效通訊幀數(shù)據、用戶操作開關動作、通訊幀類型、各電源模塊上電時間以及系統(tǒng)日期時間進行記錄。

實施例中的記錄文件數(shù)據結構如圖1所示,圖1中每一行都是一條記錄,每條記錄都按順序對應了一個記錄號,每條記錄都由4個不同數(shù)據類型的元素組成,包括:

101:日期時間,字符串型,格式為“年月日時分秒”;

102:數(shù)據幀類型,8位無符號整數(shù)型,記錄的是從總線接收到的通訊幀的類型,包括工作狀態(tài)幀、故障數(shù)據幀、使用記錄數(shù)據幀等;

103:有效數(shù)據幀,8位無符號整型數(shù)組類型,59個元素,記錄的是電源單元的系統(tǒng)狀態(tài)和參數(shù);

104:開關組1狀態(tài),8位無符號整數(shù)型,記錄的是用戶界面上8個電源模塊開關按鈕的狀態(tài);

105:開關組2狀態(tài),8位無符號整數(shù)型,記錄的是用戶界面上8個系統(tǒng)工作開關按鈕的狀態(tài);

106:模塊上電時間,16位無符號整型數(shù)組類型,8個元素,記錄的是8個電源模塊單次上電時間。

該記錄文件由于采用二進制格式保存數(shù)據,每條記錄占用磁盤空間僅為97字節(jié),若采用文本格式(文本或電子表格)保存這些數(shù)據,最大占用空間達251字節(jié)。

圖2所示,是本發(fā)明專利基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法實現(xiàn)流程圖。本實施例中,采用圖1所示“數(shù)據記錄文件”格式來存儲數(shù)據。本流程采用數(shù)據流盤結構來提高文件I/O的效率,引入事件驅動機制來提高程序的自適應能力及響應能力,具體流程包括如下操作:

201:實時監(jiān)控系統(tǒng)開始工作后,首先在當前應用程序目錄下以“日期+時間+XXX數(shù)據記錄”為文件名創(chuàng)建并打開一個記錄文件;

202:按圖1所示格式定義記錄文件格式;

203:等待事件的發(fā)生,虛線框中所示為事件結構對應的內容,每個循環(huán)僅能觸發(fā)一個事件;

204:“接收到有效通訊數(shù)據幀”事件發(fā)生,該事件屬于用戶自定義事件,有效通訊數(shù)據幀是監(jiān)控系統(tǒng)從通訊總線得到的,事件發(fā)生后程序立刻響應此事件,進入207;

205:“用戶改變界面開關狀態(tài)”事件發(fā)生,該事件屬于用戶界面事件,是用戶在操作用戶界面開關時產生的,事件發(fā)生后程序立刻響應此事件,進入步驟207;

206:“超時”事件發(fā)生,該事件是程序等待一定時間仍沒204、205事件發(fā)生時觸發(fā)的,事件發(fā)生后程序立刻響應此事件,進入步驟208;

207:按圖1定義的“數(shù)據記錄文件”格式組裝數(shù)據,并寫入記錄文件中;

208:當單個記錄文件中記錄數(shù)超過25000條或者記錄時長超過1小時,進入209,否則進入210;

209:程序自動保存并關閉當前記錄文件,并跳至201重新新建一記錄文件以保存后續(xù)記錄;

210:監(jiān)控系統(tǒng)是否要結束工作,結束進入211,否則跳至203等待新的事件觸發(fā);

211:保存并關閉當前記錄文件;

212:遍歷本次工作產生的所有歷史記錄文件,若無空文件則結束數(shù)據記錄流程,否則跳至步驟213;

213:刪除查找到的空歷史記錄文件,結束數(shù)據記錄流程。

采用本實施例所示過程,對一套雷達電源單元進行長達20天的連續(xù)數(shù)據記錄實驗,無數(shù)據丟失、阻塞、死機現(xiàn)象,操作用戶界面開關流暢,無遺漏用戶操作現(xiàn)象,記錄結束后共得到記錄文件987個,總大小2.21G,無空白文件。若采用以往文本數(shù)據記錄的方式進行該實驗,經常會出現(xiàn)卡死,數(shù)據丟失,用戶頻繁操作時遺漏用戶輸入的現(xiàn)象,記錄結束后共得到1300多條記錄,有許多空白記錄,總大小高達6.13G。因此采用本發(fā)明所述方法能夠極大地節(jié)省磁盤空間,且不會造成數(shù)據丟失,可靠性好,程序響應能力強。

圖3所示,是本發(fā)明專利基于LabVIEW的實時監(jiān)控系統(tǒng)數(shù)據記錄方法對應的程序框圖??驁D中給出了該實施例的程序框架結構,具體為:

框架301:順序結構,使用該結構來搭建實施例的整體數(shù)據流盤結構。共分為三部分,第一部分實現(xiàn)記錄文件的創(chuàng)建/打開,第二部分實現(xiàn)記錄文件的寫入/再創(chuàng)建,第三部分實現(xiàn)記錄文件的關閉/刪除;

框架302:while循環(huán)結構,處于框架301的第二部分,在該循環(huán)中實現(xiàn)記錄文件的循環(huán)寫入和再創(chuàng)建;

框架303:事件結構,處于框架302中,用于檢測“接收到有效通訊數(shù)據幀”以及“用戶改變界面開關狀態(tài)”事件的發(fā)生;

框架304:條件結構,處于框架302中,用于判斷記錄數(shù)是否超過25000條或者記錄時長是否超過1小時;

框架305:for循環(huán)結構,處于框架301的第三部分,用于遍歷單次工作產生的所有歷史記錄文件,并刪除空記錄文件。

該實施例程序框架簡單、清晰,實現(xiàn)容易,且采用LabVIEW圖形化語言編程,程序可讀性、可移植性強。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1