亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VB串口通信的實時水位數(shù)據(jù)采集軟件設(shè)計

        2013-11-06 08:10:25安徽水利水電職業(yè)技術(shù)學(xué)院機電工程系安徽合肥231603
        關(guān)鍵詞:設(shè)置數(shù)據(jù)庫信息

        唐 振 (安徽水利水電職業(yè)技術(shù)學(xué)院機電工程系,安徽 合肥 231603)

        基于VB串口通信的實時水位數(shù)據(jù)采集軟件設(shè)計

        唐 振 (安徽水利水電職業(yè)技術(shù)學(xué)院機電工程系,安徽 合肥 231603)

        根據(jù)水位數(shù)據(jù)監(jiān)測的需求,介紹了Visuanl Basic串口通信和Access 2003數(shù)據(jù)庫,詳細闡述了基于Visual Basic程序設(shè)計的實時水位數(shù)據(jù)采集軟件界面和基于Access 2003的數(shù)據(jù)存儲實現(xiàn)過程。功能測試表明,利用該軟件可以準確地存儲每個水位監(jiān)測點的數(shù)據(jù)并實時顯示采集數(shù)據(jù),同時能對超出警戒水位的數(shù)據(jù)進行警報,適用于Windows平臺下的水位數(shù)據(jù)采集與監(jiān)控。

        Visual Basic;串口通信;數(shù)據(jù)采集;實時顯示;Access 2003

        中國水資源豐富,分布廣泛,但同時中國又是個缺水的國家,每年中國的旱澇災(zāi)害均造成大量的財產(chǎn)損失[1]。因此,將水位信息實時準確地采集到監(jiān)控中心具有重要意義[2]。水位信息的采集主要依靠各監(jiān)測點的水位傳感器通過通信網(wǎng)絡(luò)傳遞給監(jiān)控中心上位機,上位機負責將接收到的數(shù)據(jù)進行存儲和顯示[3]。下面,筆者基于VB串口通信設(shè)計實時水位數(shù)據(jù)采集軟件,通過該軟件實現(xiàn)如下功能:①對各監(jiān)測點數(shù)據(jù)要能進行實時準確的存儲,并顯示其水位狀態(tài);②對各監(jiān)測點的數(shù)據(jù)進行實時顯示及圖形曲線繪制,便于查看其趨勢;③當水位信息超過警戒水位(高于上限或低于下限)時要能發(fā)出警報,提醒工作人員注意。并存儲所有超警戒水位的具體信息以便分析和查看;④對串口信息、監(jiān)測點信息、警戒水位等相關(guān)信息進行設(shè)置和修改。

        1 Visual Basic串口通信簡介

        Visual Basic(簡稱VB)是一款優(yōu)秀的程序設(shè)計語言,適于設(shè)計程序界面,利用MSComm控件可以非常方便地開發(fā)出串口通信應(yīng)用程序。由于MSComm控件并不是VB的標準控件,因而在使用時需要先將其添加到控件箱中,具體步驟如下:選擇“工程”|“部件”命令,在出現(xiàn)的對話框中選擇“Microsoft Comm Controls 6.0”選項并單擊確定按鈕,這就將Mscomm控件添加到控件工具箱中了。

        利用MSComm控件設(shè)計串口通信程序的基本步驟包括設(shè)置MSComm控件名稱、通信端口、設(shè)置緩沖區(qū)大小、設(shè)置字符模式、設(shè)置每次讀取的字符長度、傳送緩沖區(qū)的數(shù)據(jù)、取得緩沖區(qū)數(shù)據(jù)等。MSComm控件有很多基本屬性[4],其主要屬性如表1所示。

        表1 MSComm控件的主要屬性

        在設(shè)計程序前,通常要對主要屬性參數(shù)進行設(shè)置,其中InputMode參數(shù)為讀取數(shù)據(jù)的類型,InputMode=0表示數(shù)據(jù)為文本型(Unicode碼),InputMode=1表示數(shù)據(jù)為二進制類型(ASCII碼或GBK碼)[5]。InputLen表示要每次讀取緩沖區(qū)中的字符數(shù),InputLen=0表示一次接收完緩沖區(qū)中的所有數(shù)據(jù),其他參數(shù)可根據(jù)其含義進行相應(yīng)設(shè)置。設(shè)置參數(shù)后,即可編寫OnComm響應(yīng)事件。

        2 實時水位信息采集軟件界面設(shè)計

        實時水位信息采集軟件界面主要包含2個部分(見圖1),一部分為系統(tǒng)功能設(shè)置區(qū),主要進行串口參數(shù)、監(jiān)測點、數(shù)據(jù)庫、警戒水位和報警信息的設(shè)置;另一部分為實時數(shù)據(jù)采集區(qū),主要功能為顯示某個監(jiān)測點的實時數(shù)據(jù)采集情況。實時采集的數(shù)據(jù)主要通過以下3方面顯示:①當前數(shù)據(jù)值,即最近一次接收到的數(shù)據(jù);②實時圖形繪制,即顯示整個水位變化的趨勢;③近期水位列表,通過該表可以直觀地看出最近的200個水位數(shù)據(jù)。

        在該軟件中,實時圖形繪制主要通過VB提供的PictureBox控件來完成。在用PictureBox控件繪制曲線時,首先應(yīng)設(shè)置繪圖框的區(qū)域,可通過scale屬性來完成,并設(shè)置背景顏色,繪圖曲線的寬度等基本屬性。然后,將采集點數(shù)值(預(yù)先存儲在datatemp()數(shù)組中)通過Line屬性來完成繪圖[6]。繪圖部分的參考程序如下所示:

        Private Sub draw()

        Dim X1 As Integer

        Dim X2 As Integer

        Dim Y1 As Integer

        Dim Y2 As Integer

        Picture1.Cls‘清除界面

        Picture1.DrawWidth = 2 ‘設(shè)置線寬

        Picture1.BackColor = QBColor(15) ‘背景色

        Picture1.Scale (1, 100)-(200, 0) ‘繪圖尺寸

        For j = 2 To num ‘繪制圖形

        X1 = j - 2: Y1 = datatemp(j - 1)

        X2 = j - 1: Y2 = datatemp(j)

        Picture1.Line (X1, Y1)-(X2, Y2), QBColor(0)

        Next j

        End Sub

        通過圖形曲線只能觀察水位信息的變化過程及趨勢,并不能直接讀出水位數(shù)據(jù),所以在圖形曲線邊上再設(shè)計一個數(shù)據(jù)表格,用以顯示最近采集的200個數(shù)據(jù),以便獲取準確信息。數(shù)據(jù)表格可通過MSFlexGrid控件來實現(xiàn),使用前和添加MSComm控件方法相同,在“部件”中將“Microsoft FlexGrid Control 6.0”添加到工具箱中,然后添加到窗體上。在控件中,首先將列表框設(shè)計為2列,一列為序號(1~200),表示可以記錄200個水位數(shù)據(jù);另一列為水位值,用以存儲獲取的具體水位信息。如果要觀察更多的歷史數(shù)據(jù),可點擊“數(shù)據(jù)庫查看”按鈕打開數(shù)據(jù)庫來查看歷史數(shù)據(jù),其實現(xiàn)代碼如下:

        Private Sub tabinit()

        Grid.Cols = 2 ‘共2列

        Grid.Rows = 201 ‘連標題共201行

        Grid.ColWidth(0) = 700: Grid.ColWidth(1) = 950

        Grid.Col = 0

        Grid.TextMatrix(0, 0) = “序號” ‘第1列標題

        Grid.TextMatrix(0, 1) = “水位值” ‘第2列標題

        For j = 1 To 200

        Grid.Row = j: Grid.Text =“” + Str$(j)

        Next j

        Grid.TopRow = 1

        Grid.LeftCol = 1

        End Sub

        3 數(shù)據(jù)庫設(shè)計

        考慮到水位數(shù)據(jù)信息量并不是很大,該軟件采用微軟的Access 2003作為數(shù)據(jù)庫,為此需要建立2個數(shù)據(jù)表,即監(jiān)測點信息表和數(shù)據(jù)采集表。監(jiān)測點信息表主要用來存儲監(jiān)測點的信息,主要字段有監(jiān)測點名、監(jiān)測點地址、警戒水位上限和警戒水位下限等。數(shù)據(jù)采集表主要按照時間順序?qū)⒉杉降臄?shù)據(jù)進行存儲,其主要字段包括監(jiān)測點名稱、監(jiān)測點地址、水位數(shù)據(jù)、接收時間和數(shù)據(jù)狀態(tài)等。另外,還可單獨建立一個報警信息表,按照時間順序?qū)⒊^警戒水位信息的數(shù)據(jù)進行存儲,其主要字段有監(jiān)測點名稱、當前數(shù)據(jù)、警戒水位上限、警戒水位下限、報警類型和接收時間等,這樣以便集中查看報警信息。

        在接收水位數(shù)據(jù)前,先要設(shè)計好監(jiān)測點信息表。在整個數(shù)據(jù)接收過程中,該軟件按照時間順序接收每個水位監(jiān)測點的數(shù)據(jù),并根據(jù)發(fā)來的地址信息來區(qū)分具體監(jiān)測點,然后根據(jù)數(shù)據(jù)采集表存儲相應(yīng)的數(shù)據(jù)并記錄數(shù)據(jù)狀態(tài)(如果數(shù)據(jù)正常則不記錄,如果超過警戒水位則記錄其類型),如果該數(shù)據(jù)超過警戒水位則將數(shù)據(jù)存入報警信息表。

        4 功能測試

        圖1 水位信息的實時顯示界面

        在實際使用該軟件使用之前,應(yīng)利用設(shè)計好的數(shù)據(jù)進行實時水位數(shù)據(jù)模擬采集,以驗證軟件功能。通過單片機發(fā)送不同的地址及數(shù)據(jù)來模擬3個監(jiān)測點的采集數(shù)據(jù)。第1個監(jiān)測點命名為“合肥董鋪水庫”,地址為“05 51 01 02 00 00”,發(fā)送的數(shù)據(jù)為從10逐漸遞增1至31,然后不斷循環(huán),發(fā)送時間間隔為1s,警戒水位上限和下限分別為28m和12m。第2個監(jiān)測點命名為“蚌埠閘管理處”,地址為“05 53 12 05 01 01”,發(fā)送的數(shù)據(jù)為從48逐漸遞增2至80,然后不斷循環(huán),發(fā)送時間間隔為2s,警戒水位上限和下限分別為75m和50m。第3個監(jiān)測點命名為“舒城萬佛湖水庫”,地址為“05 56 03 15 09 12”,發(fā)送的數(shù)據(jù)為從10逐漸遞增1至41,再逐漸遞減1至10,然后不斷循環(huán),發(fā)送時間間隔為10s,警戒水位上限和下限分別為20m和2m。

        圖1顯示第1個監(jiān)測點的實時水位數(shù)據(jù)接收情況。在接收的過程中已有水位超過警戒水位,所以“警示燈”的顏色改變并發(fā)出警報。此外,從圖1中可以直觀地看出當前所采集到數(shù)據(jù)的準確值,通過實時圖形繪制中的曲線形態(tài)還可以看出整個水位信息的變化趨勢。圖2所示為3個監(jiān)測點按照時間順序接收到的水位信息數(shù)據(jù),上述數(shù)據(jù)與標準測試數(shù)據(jù)相對應(yīng),由此可以看出該軟件數(shù)據(jù)庫可以準確無誤地存儲各水位監(jiān)測點發(fā)出的信息并顯示其數(shù)據(jù)狀態(tài)。

        圖2 水位信息實時存儲界面

        5 結(jié)語

        為了實時顯示和存儲各水位監(jiān)測點數(shù)據(jù),基于Visuanl Basic串口通信和Access 2003數(shù)據(jù)庫,設(shè)計了水位數(shù)據(jù)采集軟件并進行功能測試。研究表明,該軟件能夠準確地存儲每個水位監(jiān)測點的數(shù)據(jù)并實時顯示采集數(shù)據(jù),同時能對超出警戒水位的數(shù)據(jù)進行警報,具有很好的實用性。

        [1]李達,邢智慧.水資源監(jiān)測網(wǎng)絡(luò)研究[J].水資源研究,2009,21(3):9-10.

        [2] 張忠遠.智能水位監(jiān)測儀的研究[D].南京:南京理工大學(xué),2008.

        [3] 童旺.GPRS數(shù)據(jù)終端的設(shè)計與實現(xiàn)[D].北京:北方工業(yè)大學(xué),2007.

        [4] 楊本輪.Visual Basic 開發(fā)技術(shù)大全[M].北京:清華大學(xué)出版社,2010.

        [5] 劉炳文. Visual Basic 程序設(shè)計教程[M].北京:清華大學(xué)出版社,2009.

        [6] 李江全.Visual Basic數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn)[M].北京:人民郵電出版社,2010.

        [編輯] 李啟棟

        TP391

        A

        1673-1409(2013)22-0051-03

        2013-05-16

        唐振(1982-),男,講師,碩士生,現(xiàn)主要從事數(shù)據(jù)采集、嵌入式系統(tǒng)、信號處理等領(lǐng)域方面的教學(xué)與研究工作。

        猜你喜歡
        設(shè)置數(shù)據(jù)庫信息
        中隊崗位該如何設(shè)置
        少先隊活動(2021年4期)2021-07-23 01:46:22
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        地鐵出入段線轉(zhuǎn)換軌設(shè)置
        人人狠狠综合久久亚洲| 吃奶摸下高潮60分钟免费视频| 日本道免费一区二区三区日韩精品 | 国产免费一区二区三区在线观看| 国产视频导航| 人妻仑乱a级毛片免费看| 国产日产欧产精品精品| 奇米影视777撸吧| 亚洲av日韩av永久无码色欲| 国产在线播放网址| 69av视频在线| 丰满人妻无奈张开双腿av| 国产高清不卡二区三区在线观看| 极品少妇人妻一区二区三区| 亚洲国产一区二区三区| 99精品视频69v精品视频| 中国丰满人妻videoshd| 中文字幕人妻av一区二区| 亚洲欧美日韩中文字幕网址| 丰满少妇人妻无码超清| 精品国产麻豆免费人成网站| 久久综合国产精品一区二区| 久久精品国产99久久久| 人妻色综合网站| 丰满少妇高潮惨叫正在播放| 女人的天堂av免费看| 日本在线免费一区二区三区| 99久久婷婷亚洲综合国产| 久久日日躁夜夜躁狠狠躁| 成人午夜特黄aaaaa片男男| 久久av高潮av无码av喷吹| 亚洲大尺度在线观看| 香蕉久久夜色精品国产| 亚洲第一页在线观看视频网站| 国产av无码专区亚洲av麻豆| 老师露出两个奶球让我吃奶头| 精品人妻少妇一区二区不卡 | 成人做爰高潮尖叫声免费观看| 国产一区二区三区小说| 日日骚一区二区三区中文字幕| 亚洲中文字幕精品久久久|