欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

文檔序號(hào):12462658閱讀:1281來(lái)源:國(guó)知局
一種基于LabVIEW的實(shí)時(shí)監(jiān)控系統(tǒng)數(shù)據(jù)記錄方法與流程

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



背景技術(shù):

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

附圖說(shuō)明

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

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

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

具體實(shí)施方式

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

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

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

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

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

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

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

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

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

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

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

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

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

當(dāng)單個(gè)文件中記錄數(shù)到達(dá)一定數(shù)目或記錄時(shí)間到達(dá)一定時(shí)長(zhǎng)時(shí),具體為單個(gè)記錄文件中記錄數(shù)超過(guò)25000條或者記錄時(shí)長(zhǎng)超過(guò)1小時(shí)。保存并關(guān)閉當(dāng)前文件,而后創(chuàng)建并打開(kāi)新文件以保存后續(xù)記錄。此舉是為了防止單個(gè)記錄文件過(guò)大而占用過(guò)多的內(nèi)存開(kāi)銷(xiāo)。該步驟不會(huì)破壞整體數(shù)據(jù)流盤(pán)結(jié)構(gòu)。

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

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

工作結(jié)束時(shí),程序自動(dòng)遍歷本次工作產(chǎn)生的所有歷史記錄文件,若為空文件,則刪除。這種設(shè)計(jì)剔除了無(wú)用的文件,清理了磁盤(pán)空間,也節(jié)省了后期用戶(hù)查找文件的時(shí)間。

下面通過(guò)一個(gè)實(shí)施例詳盡闡述。該實(shí)施例需要對(duì)雷達(dá)電源單元工作過(guò)程中的產(chǎn)生的有效通訊幀數(shù)據(jù)、用戶(hù)操作開(kāi)關(guān)動(dòng)作、通訊幀類(lèi)型、各電源模塊上電時(shí)間以及系統(tǒng)日期時(shí)間進(jìn)行記錄。

實(shí)施例中的記錄文件數(shù)據(jù)結(jié)構(gòu)如圖1所示,圖1中每一行都是一條記錄,每條記錄都按順序?qū)?yīng)了一個(gè)記錄號(hào),每條記錄都由4個(gè)不同數(shù)據(jù)類(lèi)型的元素組成,包括:

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

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

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

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

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

106:模塊上電時(shí)間,16位無(wú)符號(hào)整型數(shù)組類(lèi)型,8個(gè)元素,記錄的是8個(gè)電源模塊單次上電時(shí)間。

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

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

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

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

203:等待事件的發(fā)生,虛線(xiàn)框中所示為事件結(jié)構(gòu)對(duì)應(yīng)的內(nèi)容,每個(gè)循環(huán)僅能觸發(fā)一個(gè)事件;

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

205:“用戶(hù)改變界面開(kāi)關(guān)狀態(tài)”事件發(fā)生,該事件屬于用戶(hù)界面事件,是用戶(hù)在操作用戶(hù)界面開(kāi)關(guān)時(shí)產(chǎn)生的,事件發(fā)生后程序立刻響應(yīng)此事件,進(jìn)入步驟207;

206:“超時(shí)”事件發(fā)生,該事件是程序等待一定時(shí)間仍沒(méi)204、205事件發(fā)生時(shí)觸發(fā)的,事件發(fā)生后程序立刻響應(yīng)此事件,進(jìn)入步驟208;

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

208:當(dāng)單個(gè)記錄文件中記錄數(shù)超過(guò)25000條或者記錄時(shí)長(zhǎng)超過(guò)1小時(shí),進(jìn)入209,否則進(jìn)入210;

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

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

211:保存并關(guān)閉當(dāng)前記錄文件;

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

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

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

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

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

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

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

框架304:條件結(jié)構(gòu),處于框架302中,用于判斷記錄數(shù)是否超過(guò)25000條或者記錄時(shí)長(zhǎng)是否超過(guò)1小時(shí);

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

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

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

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
高雄县| 东丽区| 越西县| 蒙城县| 洞头县| 嘉义县| 芜湖县| 鄯善县| 澄江县| 林西县| 信丰县| 越西县| 桐柏县| 余庆县| 通海县| 海盐县| 甘南县| 左权县| 图片| 九龙县| 开江县| 新余市| 平谷区| 江达县| 洪泽县| 博乐市| 孟州市| 大新县| 库车县| 绥中县| 闸北区| 宜丰县| 睢宁县| 嘉善县| 格尔木市| 明星| 慈利县| 楚雄市| 酉阳| 定远县| 新乡市|