美章網(wǎng) 資料文庫 實(shí)時數(shù)據(jù)采集軟件設(shè)計(jì)范文

實(shí)時數(shù)據(jù)采集軟件設(shè)計(jì)范文

本站小編為你精心準(zhǔn)備了實(shí)時數(shù)據(jù)采集軟件設(shè)計(jì)參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

實(shí)時數(shù)據(jù)采集軟件設(shè)計(jì)

目前,人們對核能的開發(fā)和利用的力度越來越大,在這一過程中,不可避免地會產(chǎn)生核污染。長距離α測量系統(tǒng)突破了常規(guī)α探測的局限,能夠高效地探測儀器管道內(nèi)壁和不規(guī)則面α污染的嚴(yán)重程度,現(xiàn)已得到了廣泛的應(yīng)用[1]。隨著計(jì)算機(jī)成為人們?nèi)粘I罴肮I(yè)生產(chǎn)中不可缺少的設(shè)備,如何利用先進(jìn)的計(jì)算機(jī)技術(shù)對長距離α測量系統(tǒng)的測量數(shù)據(jù)進(jìn)行高效地處理已成為一個亟待解決的問題,國內(nèi)已有部分研究人員對此進(jìn)行了探索并取得了研究成果。羅召霞基于長距離α測量技術(shù)研制了一臺管道內(nèi)表面α活度監(jiān)測儀,并設(shè)計(jì)了相應(yīng)的數(shù)據(jù)采集軟件,能夠通過串口實(shí)時獲取數(shù)據(jù)并進(jìn)行圖形化顯示,但顯示的數(shù)據(jù)量有限,不能顯示數(shù)據(jù)變動的全貌;成毅等基于PDA設(shè)計(jì)了一種α測量軟件,能夠通過藍(lán)牙接收α測量儀器測得的能譜數(shù)據(jù)并進(jìn)行顯示,但由于其采用的是簡單的文本存儲方式,使得后期對于歷史數(shù)據(jù)的查詢與分析變得比較復(fù)雜。針對上述研究成果中的不足,本文利用長距離α測量系統(tǒng)提供的RS-232接口實(shí)現(xiàn)與計(jì)算機(jī)通信,從接口方案、實(shí)時數(shù)據(jù)動態(tài)顯示、數(shù)據(jù)統(tǒng)計(jì)分析、數(shù)據(jù)庫4個方面作出了改進(jìn)。

1系統(tǒng)體系結(jié)構(gòu)

根據(jù)所作的需求分析,構(gòu)建的系統(tǒng)體系結(jié)構(gòu)如圖1所示,主要是由長距離α測量系統(tǒng)、接口模塊、數(shù)據(jù)動態(tài)顯示與統(tǒng)計(jì)分析、數(shù)據(jù)庫4個部分組成。長距離α測量系統(tǒng)包括α污染測量儀、電離室、導(dǎo)氣管道、供電電源等,文獻(xiàn)[6]對這一部分進(jìn)行了詳細(xì)的闡述。接口模塊設(shè)計(jì)了兩種方式。一種是計(jì)算機(jī)帶有RS-232接口,可直接通過串口線進(jìn)行通信;另一種是計(jì)算機(jī)不帶RS-232接口而只有USB接口,需要RS-232轉(zhuǎn)USB接口線支持,這類轉(zhuǎn)接線通過USB接口連接計(jì)算機(jī),并安裝相應(yīng)的驅(qū)動程序后即可在所接計(jì)算機(jī)上虛擬出一個COM端口,實(shí)現(xiàn)硬件設(shè)備與計(jì)算機(jī)的串口通信。計(jì)算機(jī)接收到數(shù)據(jù)后,一方面用于實(shí)時動態(tài)顯示與統(tǒng)計(jì)分析,另一方面通過SQLite數(shù)據(jù)庫對其進(jìn)行存儲,方便歷史數(shù)據(jù)的查詢與導(dǎo)出。

2軟件功能模塊設(shè)計(jì)

以VisualStudio2010作為軟件開發(fā)工具,基于C#語言開發(fā)。結(jié)合系統(tǒng)體系結(jié)構(gòu)的劃分,設(shè)計(jì)軟件的功能模塊如圖2所示。該軟件功能模塊主要由數(shù)據(jù)接收模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)顯示模塊、數(shù)據(jù)查詢模塊和數(shù)據(jù)分析模塊5個部分組成。數(shù)據(jù)接收模塊完成接口數(shù)據(jù)的接收。數(shù)據(jù)存儲模塊具備數(shù)據(jù)庫存儲以及導(dǎo)出至EXCEL表格保存2種功能,雙備份確保數(shù)據(jù)不會丟失。數(shù)據(jù)查詢模塊包括EXCEL查詢與數(shù)據(jù)庫查詢,其中EXCEL查詢方式可以直接打開相應(yīng)文件查看,也可以將數(shù)據(jù)導(dǎo)入軟件中進(jìn)行查看。數(shù)據(jù)顯示模塊包括表格實(shí)時記錄與圖形動態(tài)顯示,其中圖形動態(tài)顯示能夠?qū)⑺鶞y量數(shù)據(jù)全部顯示且畫面不會出現(xiàn)遲滯現(xiàn)象。數(shù)據(jù)分析模塊是利用統(tǒng)計(jì)學(xué)原理對所測量的數(shù)據(jù)作出分析。

3軟件各功能模塊的具體實(shí)現(xiàn)

3.1數(shù)據(jù)接收模塊

3.1.1數(shù)據(jù)接收接口①計(jì)算機(jī)若有RS-232串口,則可用RS-232串口線連接長距離α測量系統(tǒng)與計(jì)算機(jī),并在計(jì)算機(jī)端通過SerialPort類完成串口的相關(guān)設(shè)置(端口號、波特率等),即可實(shí)現(xiàn)串口通信。②計(jì)算機(jī)若無串口而只有USB接口,則需要由RS-232轉(zhuǎn)USB接口線支持。轉(zhuǎn)接線一端是RS-232接口,用于連接長距離α測量系統(tǒng);另一端是USB接口,用于連接計(jì)算機(jī),在網(wǎng)上下載相應(yīng)的驅(qū)動程序并安裝,即可在計(jì)算機(jī)端虛擬出一個串口。對于虛擬串口的相關(guān)信息的獲取有兩種方式:一種是通過查看設(shè)備管理器;另一種是通過編程實(shí)現(xiàn),WMI有一個類(Win32_PNPEntity)可以返回“設(shè)備管理器”中所有設(shè)備的信息[7],通過虛擬串口的標(biāo)志符“ProlificUSB-to-SerialCommPort”進(jìn)行字符串搜索,即可定位到設(shè)備管理器信息中的虛擬串口,最后通過字符串操作提取出端口號COM*。在設(shè)計(jì)時,采用編程獲取虛擬串口信息。若在設(shè)備管理器信息中檢索時能夠返回虛擬串口信息,則說明接入計(jì)算機(jī)的是RS-232轉(zhuǎn)USB接口線,并將通信端口設(shè)置為虛擬端口號,否則,將通信端口設(shè)置為默認(rèn)物理端口COM2。通過這種方式,無論采用RS-232串口線還是RS-232轉(zhuǎn)USB接口線接入計(jì)算機(jī),軟件都能夠自動識別并完成對串口的設(shè)置。

3.1.2數(shù)據(jù)接收原理DotNet提供了SerialPort類進(jìn)行串口通信,讀取串口數(shù)據(jù)時有兩種方式:一種是新建一個線程用于實(shí)時讀取串口,該方式是線程每隔一定時間就讀取串口,而不論此時串口是否有接收到數(shù)據(jù);另一種是事件觸發(fā)方式,該方式以數(shù)據(jù)到達(dá)為觸發(fā)事件,觸發(fā)時通知主線程,然后再進(jìn)行數(shù)據(jù)讀取。由于線程實(shí)時讀串口相的接收數(shù)據(jù)的效率低于事件觸發(fā)方式,故設(shè)計(jì)時采用事件觸發(fā)方式。SerialPort類封裝屏蔽了很多通信細(xì)節(jié),因此使用非常方便。事件觸發(fā)方式的編程實(shí)現(xiàn)方法是只需為SerialPort類的DataReceived事件綁定一個函數(shù),然后在該函數(shù)中調(diào)用適合的方法,從而實(shí)現(xiàn)對串口數(shù)據(jù)的讀取[8]。

3.1.3數(shù)據(jù)接收過程由于長距離α測量系統(tǒng)的測量數(shù)據(jù)是以字節(jié)格式向計(jì)算機(jī)發(fā)送數(shù)據(jù),故適合采用調(diào)用ReadByte()方法從串口中接收數(shù)據(jù)。當(dāng)數(shù)據(jù)接收速度大于數(shù)據(jù)處理速度時,會出現(xiàn)數(shù)據(jù)丟失。為了避免這種情況,在接收數(shù)據(jù)后并不立即處理,而是將接收到的數(shù)據(jù)存入隊(duì)列中。當(dāng)隊(duì)列不為空時,即從隊(duì)列中取出數(shù)據(jù)進(jìn)行處理。由于隊(duì)列采用先進(jìn)先出方式,因此從隊(duì)列中取出數(shù)據(jù)時可以保持?jǐn)?shù)據(jù)的原有順序[9]。下面以測量本底電流(無污染源的情況下測量得到的數(shù)據(jù))為例,說明數(shù)據(jù)的接收流程,如圖3所示。從串口接收到數(shù)據(jù)后存入隊(duì)列,當(dāng)隊(duì)列不為空時,即從隊(duì)列中取出首字節(jié),判斷其是否為數(shù)據(jù)包的標(biāo)志字節(jié)“0x42”,若不是,繼續(xù)取出下一個字節(jié)進(jìn)行判斷,直至取到“0x42”;然后從隊(duì)列中取出連續(xù)的4個字節(jié)(高位在前),即完成一個完整數(shù)據(jù)包的獲取;最后通過進(jìn)制轉(zhuǎn)換算法將這4個字節(jié)數(shù)據(jù)轉(zhuǎn)換得到一個十進(jìn)制數(shù)據(jù),即為最后的結(jié)果。

3.2數(shù)據(jù)顯示模塊

3.2.1表格實(shí)時記錄在獲取數(shù)據(jù)并轉(zhuǎn)換為十進(jìn)制結(jié)果后,需要將數(shù)值進(jìn)行前端顯示,在此采用DotNet自帶的DataGridView表格控件對數(shù)據(jù)進(jìn)行實(shí)時記錄。通過控件提供的方法Insert(行索引,當(dāng)前時間,測量值)將數(shù)據(jù)插入到行索引處,并調(diào)用Refresh()方法即可顯示新插入的數(shù)據(jù)。

3.2.2圖形化動態(tài)顯示為了直觀地了解測量結(jié)果的增減變動情況,軟件添加了圖形顯示的功能。設(shè)計(jì)時有三種方案。第一種方案采用商業(yè)的報表開發(fā)工具內(nèi)含的統(tǒng)計(jì)圖表功能,其優(yōu)點(diǎn)是功能全面,缺點(diǎn)是商業(yè)控件是收費(fèi)的,會增加軟件的開發(fā)成本;第二種方案是采用DotnetCharting圖形控件,其優(yōu)點(diǎn)是控件免費(fèi),水晶式效果炫目,圖表效果好;缺點(diǎn)是性能稍差、不支持縮放;第三種方案是采用ZedGraph圖形控件,可用于創(chuàng)建折線圖、餅圖、柱狀圖,其優(yōu)點(diǎn)是控件免費(fèi)并且代碼開源,可以修改代碼以適應(yīng)具體的需求,性能較好,支持縮放和拖動功能;缺點(diǎn)是圖表效果稍差。由于軟件是需要對實(shí)時數(shù)據(jù)進(jìn)行顯示,對性能要求較高,因此采用第三種方案。ZedGraph圖形控件綁定了PointPairList數(shù)據(jù)集,實(shí)現(xiàn)時,指定該數(shù)據(jù)集顯示的圖樣形式為折線圖,當(dāng)DataGirdView表格中有數(shù)據(jù)更新時,將更新的數(shù)據(jù)點(diǎn)(時間,測量值)添加至該數(shù)據(jù)集,并調(diào)用坐標(biāo)適應(yīng)方法AxisChange()與更新方法Refresh(),即可在圖形面板上動態(tài)地顯示測量結(jié)果的變動的情況[10]。

3.3數(shù)據(jù)存儲模塊

3.3.1數(shù)據(jù)庫存儲軟件采用SQLite數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行存儲,該數(shù)據(jù)庫無需任何初始化配置文件,無安裝卸載過程,也不存在服務(wù)器實(shí)例的啟動與停止,操作方便、易于維護(hù)。數(shù)據(jù)存儲結(jié)構(gòu)的設(shè)計(jì)有兩種方案。一種方案是將需要存儲的信息(測量起始時間、測量時間間隔、電流測量值等)存儲在一個表中。其優(yōu)點(diǎn)是表設(shè)計(jì)簡單,查詢操作的編程容易;缺點(diǎn)是存在數(shù)據(jù)冗余。另一種方案是根據(jù)表中數(shù)據(jù)的關(guān)系,設(shè)計(jì)出不同的表,用于存儲不同的數(shù)據(jù)。其優(yōu)點(diǎn)是減少數(shù)據(jù)冗余,優(yōu)化了數(shù)據(jù)表;缺點(diǎn)是設(shè)計(jì)復(fù)雜。為了使數(shù)據(jù)存儲更有效率,設(shè)計(jì)中采用第二種方案。根據(jù)所需存儲的信息,設(shè)計(jì)的數(shù)據(jù)庫E-R圖如圖4所示。其中,測量信息表中的內(nèi)容包括測量起始時間、測量結(jié)束時間、測量用時、測量時間間隔等,目標(biāo)電流記錄表與本底電流記錄表是根據(jù)長距離α測量系統(tǒng)所測的不同內(nèi)容作出的相應(yīng)記錄。

3.3.2EXCEL表格保存為避免測量數(shù)據(jù)發(fā)生丟失,除采用數(shù)據(jù)庫存儲外,還通過將DataGridView表格數(shù)據(jù)導(dǎo)出至EXCEL表格的方式進(jìn)行保存。實(shí)現(xiàn)時,新建EXCEL工作表,并將DataGridView表格中的數(shù)據(jù)一行一行地寫入工作表中[11]。需要特別注意的是,每一次的導(dǎo)出操作,在新建EXCEL工作表后都會創(chuàng)建EXCEL.EXE進(jìn)程,所以在寫入操作完成之后,需要銷毀EXCEL.EXE進(jìn)程,否則,隨著導(dǎo)出操作次數(shù)的增加,該進(jìn)程會不斷地消耗內(nèi)存。

3.4數(shù)據(jù)分析模塊長距離α測量系統(tǒng)測得的電流值本質(zhì)是由α粒子衰變得來,理論上,對放射性核衰變的測量結(jié)果滿足正態(tài)分布規(guī)律,每次測量值總是在其平均值上下漲落[12]。因此,為了掌握所測數(shù)據(jù)是否可靠,在軟件中加入對數(shù)據(jù)的統(tǒng)計(jì)分析功能,即計(jì)算出一組數(shù)據(jù)中每個數(shù)據(jù)所出現(xiàn)的頻率,通過ZedGraph圖形控件繪制出這組數(shù)據(jù)的頻率直方圖,再與正態(tài)分布曲線作對比,可直觀地看出這組數(shù)據(jù)是否近似滿足正態(tài)分布;將這組數(shù)據(jù)置信區(qū)間(N珚±σ,N珚±2σ,N珚±3σ)的實(shí)驗(yàn)概率與理論概率進(jìn)行比較,綜合分析所測數(shù)據(jù)的可靠性。

4軟件測試

為測試軟件各功能模塊的實(shí)現(xiàn)情況以及運(yùn)行的穩(wěn)定性,設(shè)置測量時間間隔為1s,總耗時4h,共計(jì)接收14402個數(shù)據(jù)點(diǎn),測試得到的效果圖如圖5所示。圖5(a)展示了測量數(shù)據(jù)的圖形化動態(tài)顯示;圖5(b)展示了測量數(shù)據(jù)的表格記錄過程;圖5(c)是對這次測量數(shù)據(jù)所做的統(tǒng)計(jì)分析,在圖中除了給出頻率直方圖與正態(tài)分布曲線的比對之外,還列示了各類指標(biāo)數(shù)據(jù)(平均值,均值等)。根據(jù)這些數(shù)據(jù),可得到該組測量數(shù)據(jù)的置信分布情況,如表1所示。通過對圖樣中頻率直方圖與正態(tài)分布曲線的對比,并考慮表1中試驗(yàn)概率相對于理論概率的偏差程度,可知,這組數(shù)據(jù)近似滿足正態(tài)分布,可靠性較高。從測試結(jié)果來看,軟件滿足了設(shè)計(jì)的要求,各功能模塊能夠有效地工作且運(yùn)行穩(wěn)定。

5結(jié)束語

針對目前α測量數(shù)據(jù)采集軟件所存在的不足,本文設(shè)計(jì)了一種長距離α測量系統(tǒng)實(shí)時數(shù)據(jù)采集軟件。該軟件融合了RS-232串口與RS-232轉(zhuǎn)USB接口兩種方式,能夠自動識別接口并進(jìn)行相關(guān)設(shè)置,并通過ZedGraph圖形控件實(shí)現(xiàn)了實(shí)時數(shù)據(jù)的動態(tài)顯示;采用SQLite數(shù)據(jù)庫與Excel表格對數(shù)據(jù)進(jìn)行雙備份,通過對存儲結(jié)構(gòu)的設(shè)計(jì),優(yōu)化了存儲效率;此外,運(yùn)用統(tǒng)計(jì)學(xué)知識對測量數(shù)據(jù)進(jìn)行分析,判定了該組數(shù)據(jù)的可靠性。最后,通過測試實(shí)例,驗(yàn)證了所設(shè)計(jì)軟件的實(shí)用性及穩(wěn)定性。

作者:劉瑤 庹先國 鄭洪龍 單位:西南科技大學(xué)國防科技學(xué)院

主站蜘蛛池模板: 你懂的在线免费观看| 国产粗话肉麻对白在线播放| 久久久999国产精品| 欧美人与性动交另类| 伊人色综合久久大香| 老熟妇乱子伦牲交视频| 国产成人无码a区在线观看视频免费 | 18禁美女裸体网站无遮挡| 男女一边摸一边做爽爽毛片| 国产亚洲自拍一区| 亚洲欧美日韩丝袜另类| 国产高清一区二区三区| 久久夜色精品国产欧美乱| 欧美人七十二式性视频教程一| 偷自拍亚洲视频在线观看| 美女被免费网站在线视频免费| 国产在线精品国自产拍影院同性| 毛片手机在线观看| 成人免费福利视频| 久久九九国产精品怡红院| 最近2019中文字幕高清字幕| 亚洲日韩精品欧美一区二区| 特黄特色大片免费播放| 国产性生交xxxxx免费| 337p日本欧洲亚洲大胆精品555588| 无码av大香线蕉伊人久久| 久久综合给合久久狠狠狠97色| 欧美在线xxx| 亚洲欧美日韩久久精品第一区| 男人和女人爽爽爽视频| 公交车上被弄进走不动| 美女内射无套日韩免费播放 | 国产做a爰片久久毛片a| 国产探花在线视频| 宅男666在线永久免费观看| 丰满少妇大力进入| 日本熟妇乱人伦XXXX| 亚洲激情综合网| 男人j进入女人j内部免费网站 | 日韩av一中美av一中文字慕| 亚洲av最新在线观看网址|