国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

VB在環(huán)境監(jiān)測系統(tǒng)中的應(yīng)用

2013-06-01 09:20:20朱凌云
自動化儀表 2013年3期
關(guān)鍵詞:繪制編程對象

羅 婷 朱凌云

(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海 201620)

0 引言

Visual Basic(VB)編程語言具有眾多的優(yōu)點,易于學(xué)習(xí),因此常常被應(yīng)用于監(jiān)控系統(tǒng)的上位機軟件設(shè)計。在上位機軟件系統(tǒng)的實現(xiàn)過程中,主要需要解決的問題包括記錄的管理、實時曲線的顯示、歷史數(shù)據(jù)的保存和查看等。本文通過對VB語言的深入研究和學(xué)習(xí),設(shè)計了一個環(huán)境監(jiān)控系統(tǒng)的上位機軟件。針對設(shè)計過程中的3種關(guān)鍵技術(shù),以下分別給出詳細(xì)的實現(xiàn)方法。這3種技術(shù)分別為基于ADO的Access訪問方法、繪制曲線的方法以及與Excel的連接方法。最后,給出了這些關(guān)鍵技術(shù)在環(huán)境監(jiān)測系統(tǒng)中的實際應(yīng)用情況。

1 VB關(guān)鍵技術(shù)

1.1 基于ADO的Access數(shù)據(jù)庫訪問

ActiveX Data Object(ADO)技術(shù)是由 Microsoft公司開發(fā)的最新的數(shù)據(jù)訪問接口技術(shù),ADO是建立在基于低層數(shù)據(jù)訪問接口OLEDB技術(shù)上的數(shù)據(jù)對象,它是數(shù)據(jù)訪問對象(data access object,DAO)和遠(yuǎn)程數(shù)據(jù)對象(remote data object,RDO)的后繼產(chǎn)物[1]。在 VB中,通常有2種方法可以實現(xiàn)對ADO的操作[2],一是通過ADO Data控件非編程訪問方式,二是利用ADO對象編程來訪問各種類型數(shù)據(jù)庫。

在此舉例說明第二種方法,即編程訪問Access數(shù)據(jù)庫。假設(shè)存在一個名為“hjmonitoring”的數(shù)據(jù)庫,同時該數(shù)據(jù)庫中有一張“admin”表,該表含有 users、passwords和rname這3個字段。訪問數(shù)據(jù)庫的關(guān)鍵語句如下。

使用VB設(shè)計上位機軟件時,常常需要使用數(shù)據(jù)庫保存一些數(shù)據(jù)記錄(當(dāng)數(shù)據(jù)量不大時,常采用Access數(shù)據(jù)庫),同時也要求在監(jiān)控界面上方便地查看這些記錄。因此,必需利用編程方法訪問數(shù)據(jù)庫。

1.2 利用VB繪制曲線

在監(jiān)控軟件中,圖形最能給人直觀的感受,因此,采用VB語言編程,實現(xiàn)實時圖形繪制十分必要。繪制實時圖形的方法較多,在此結(jié)合設(shè)計系統(tǒng)時所涉及到的二維曲線的實時繪制,采用一種較簡單的Line方法繪制實時曲線[5]。

Line方法是結(jié)合實測得到的數(shù)組數(shù)據(jù)進(jìn)行曲線的繪制。該方法必須在窗體或者圖片框等容器內(nèi)使用。實際使用時,常采用PictureBox控件作為容器,但首先要設(shè)置其Autodraw屬性為true,以保證在界面刷新時所繪圖形不會被消隱。

使用Line方法得到的是位圖圖像,圖像的大小和所定義的容器的大小一致。

假設(shè)Timer控件的Interval參數(shù)值設(shè)為1000,即每隔1 s刷新一次;監(jiān)測環(huán)境中CO2氣體的濃度隨時間變化,使用GetCO2Percent()函數(shù)來采集CO2實時濃度值,則繪制實時曲線的程序[6]如下。

如果要查看歷史曲線,首先提取歷史數(shù)據(jù)并存放到數(shù)組CO2_CSh(N1)中(注:取數(shù)據(jù)方法將在下一部分VB與Excel連接中做詳細(xì)說明),然后再繪制曲線。繪制曲線的程序如下。

1.3 VB 與 Excel的連接

在監(jiān)控軟件中,還有一個應(yīng)用很廣泛的連接對象——Excel。

在VB中,可以通過調(diào)用Excel事件的方法完成報表的制作[7-8]。利用 Excel實現(xiàn)數(shù)據(jù)報表制作的關(guān)鍵在于如何根據(jù)報表要求的格式將數(shù)據(jù)快速準(zhǔn)確地輸出到Excel。

微軟的Excel對象模型包括128個不同的對象,其中最重要也是使用最多的4個對象分別介紹如下。①Application對象,它處于Excel對象層次結(jié)構(gòu)的頂層,表示Excel自身的運行環(huán)境;②Workbook對象,它直接處于Application對象的下層,表示一個Excel工作簿文件;③Worksheet對象,它包含于Workbook對象,表示一個Excel工作表;④Range對象,它包含于Worksheet對象,表示Excel工作表中的一個或多個單元格。

在VB中,可以通過對這些對象進(jìn)行直接控制,實現(xiàn)數(shù)據(jù)的輸入輸出。Excel中還定義了一個類“cell”,這個類所代表的就是Excel的一個單元格。通過給cell賦值,就可以實現(xiàn)對Excel表格的某個單元格寫入數(shù)據(jù)。

下面給出使用Excel對象時的常用編程語句。

2 VB在環(huán)境監(jiān)測系統(tǒng)中的應(yīng)用

2.1 系統(tǒng)組成

系統(tǒng)主要應(yīng)用在對人類生命安全存在威脅的環(huán)境中,如密閉環(huán)境、地下等。該系統(tǒng)的工作流程為:測得環(huán)境內(nèi)各種氣體的濃度數(shù)值,然后系統(tǒng)按照適宜人類生存的各種氣體濃度的標(biāo)準(zhǔn)值對環(huán)境進(jìn)行凈化處理;待人們進(jìn)入環(huán)境凈化工作后,系統(tǒng)繼續(xù)實時監(jiān)測該環(huán)境,在PC機上顯示出各種氣體濃度的實時曲線。如果某氣體值超標(biāo),監(jiān)控系統(tǒng)會馬上報警,提示環(huán)境內(nèi)的工作人員撤退。

本系統(tǒng)的下位機主要由溫度傳感器、噪聲傳感器以及多種氣體濃度測量傳感器組成[9],這些傳感器信號經(jīng)過數(shù)據(jù)采集卡的自動采集,通過USB口傳送至上位機進(jìn)行分析和處理。本系統(tǒng)的組成框圖如圖1所示。

圖1 系統(tǒng)組成框圖Fig.1 Composition of the system

系統(tǒng)的上位機監(jiān)控軟件組成框圖如圖2所示。

圖2 監(jiān)控軟件組成框圖Fig.2 Configuration of the monitoring software

對于該監(jiān)控軟件,系統(tǒng)用戶管理和氣體標(biāo)準(zhǔn)管理頁面涉及到VB和數(shù)據(jù)庫連接的技術(shù);實時監(jiān)控曲線涉及到利用VB繪制曲線的技術(shù);氣密性監(jiān)測、環(huán)境凈化管理以及查看歷史記錄既涉及到VB和數(shù)據(jù)庫連接的技術(shù),又涉及到VB和Excel連接的技術(shù)。

系統(tǒng)用戶管理界面與氣體標(biāo)準(zhǔn)管理頁面類似,通過在監(jiān)控界面的相關(guān)操作,使得數(shù)據(jù)庫中的“admin”表得到修改,包括查看記錄、添加記錄、修改記錄和刪除記錄4種操作。

2.2 實時監(jiān)控曲線界面

環(huán)境監(jiān)控涉及到的參數(shù)較多,具體包括溫度、噪聲、壓力、濕度、CO2、CO、O2、NO、H2S、CH4這 10 種檢測信號,所以監(jiān)控界面上同時放置有10個PictureBox控件用來顯示曲線。監(jiān)測開始后,顯示界面就會實時顯示各個氣體濃度的動態(tài)變化過程。同時,界面上有兩條濃度上下限標(biāo)準(zhǔn)值直線,若濃度超出范圍,系統(tǒng)會發(fā)出報警聲。此外,點擊任意PictureBox,可實現(xiàn)對應(yīng)位置參數(shù)曲線圖的放大。N2濃度實時監(jiān)測曲線如圖3所示。

圖3 N2濃度實時監(jiān)測圖Fig.3 Real-time monitoring of N2concentration

2.3 輸出報表

在實時監(jiān)測過程中,大量的氣體濃度數(shù)據(jù)會被保存到Excel表格中,以便測試后查看記錄時調(diào)用。同時,在監(jiān)測過程中系統(tǒng)也會對這些數(shù)據(jù)做分析處理,每隔30 min自動輸出一張格式工整的測試分時報表。具體測試分時報表界面如圖4所示。

圖4 測試分時報表界面圖Fig.4 Interface of time sharing report of testing

3 結(jié)束語

通過分析可知,使用VB語言編制監(jiān)控程序簡單易行,設(shè)計界面美觀,具有較大的實際應(yīng)用意義。目前,該監(jiān)控程序已經(jīng)應(yīng)用于地下環(huán)境監(jiān)控系統(tǒng)中。

[1]張磊.VB中用ADO對象動態(tài)訪問Access[J].長春師范學(xué)院學(xué)報,2004,23(2):36 -39.

[2]莫禮平,張兆海.VB中基于ADO的數(shù)據(jù)庫訪問方法[J].電腦開發(fā)與應(yīng)用,2004,17(6):33 -34.

[3]周威.在VB.Net中用ADO訪問Access數(shù)據(jù)庫的方法[J].嘉興學(xué)院學(xué)報,2005,17(3):39 -41.

[4]張良,何也熙.Matlab、Access和VB.NET混合編程方法的研究和應(yīng)用[J].計算機工程與設(shè)計,2009,30(5):1232 -1235.

[5]喬文剛,汪友龍,李宣,等.關(guān)于用VB實現(xiàn)實時測試曲線的動態(tài)顯示研究[J].機床與液壓,2009,39(1):126 -127.

[6]關(guān)維娟,陳清華.利用VB編程實現(xiàn)實時數(shù)據(jù)曲線繪制[J].信息技術(shù),2005(10):76 -78.

[7]王福杰,潘宏俠.基于VB的二維實時曲線顯示設(shè)計[J].電腦開發(fā)與應(yīng)用,2005,18(11):30 -32.

[8]魏彩喬,王曉光,焦?jié)M囤.基于VB和EXCEL的復(fù)雜數(shù)據(jù)報表輸出[J].華北航天工業(yè)學(xué)院學(xué)報,2005,15(1):3 -7.

[9]安子良,孔令超,肖立中.基于VB、Matlab和Access的石油井架應(yīng)力測量系統(tǒng)[J].化工自動化及儀表,2011,38(6):597 -600.

猜你喜歡
繪制編程對象
Art on coffee cups
神秘來電
睿士(2023年2期)2023-03-02 02:01:09
編程,是一種態(tài)度
少先隊活動(2021年2期)2021-03-29 05:41:04
元征X-431實測:奔馳發(fā)動機編程
編程小能手
紡織機上誕生的編程
放學(xué)后
童話世界(2018年17期)2018-07-30 01:52:02
攻略對象的心思好難猜
意林(2018年3期)2018-03-02 15:17:24
基于熵的快速掃描法的FNEA初始對象的生成方法
區(qū)間對象族的可鎮(zhèn)定性分析
灵山县| 东海县| 茂名市| 旬邑县| 改则县| 南漳县| 全椒县| 合山市| 丰原市| 南安市| 砚山县| 崇文区| 桦川县| 孝感市| 怀集县| 荆门市| 三明市| 定远县| 交口县| 稷山县| 台北县| 赫章县| 岗巴县| 榕江县| 夏津县| 连山| 阜南县| 准格尔旗| 昭苏县| 分宜县| 洱源县| 怀远县| 广河县| 青田县| 龙里县| 延庆县| 巴林左旗| 通榆县| 迁安市| 观塘区| 通道|