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

        ?

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

        2013-11-06 08:10:25安徽水利水電職業(yè)技術(shù)學(xué)院機(jī)電工程系安徽合肥231603
        關(guān)鍵詞:警戒水位該軟件控件

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

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

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

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

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

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

        1 Visual Basic串口通信簡(jiǎn)介

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

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

        表1 MSComm控件的主要屬性

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

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

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

        在該軟件中,實(shí)時(shí)圖形繪制主要通過(guò)VB提供的PictureBox控件來(lái)完成。在用PictureBox控件繪制曲線時(shí),首先應(yīng)設(shè)置繪圖框的區(qū)域,可通過(guò)scale屬性來(lái)完成,并設(shè)置背景顏色,繪圖曲線的寬度等基本屬性。然后,將采集點(diǎn)數(shù)值(預(yù)先存儲(chǔ)在datatemp()數(shù)組中)通過(guò)Line屬性來(lái)完成繪圖[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

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

        Private Sub tabinit()

        Grid.Cols = 2 ‘共2列

        Grid.Rows = 201 ‘連標(biāo)題共201行

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

        Grid.Col = 0

        Grid.TextMatrix(0, 0) = “序號(hào)” ‘第1列標(biāo)題

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

        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ù)庫(kù)設(shè)計(jì)

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

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

        4 功能測(cè)試

        圖1 水位信息的實(shí)時(shí)顯示界面

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

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

        圖2 水位信息實(shí)時(shí)存儲(chǔ)界面

        5 結(jié)語(yǔ)

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

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

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

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

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

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

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

        [編輯] 李啟棟

        TP391

        A

        1673-1409(2013)22-0051-03

        2013-05-16

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

        猜你喜歡
        警戒水位該軟件控件
        簡(jiǎn)單靈活 控制Windows 10更新更方便
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        河流警戒水位擬定方法研究及應(yīng)用
        Flashfxp Password Decryptor
        Allen & Heath推出GLD Editor控制軟件
        演藝科技(2013年1期)2013-01-30 01:47:42
        水文站斷面位置發(fā)生變化時(shí)如何確定警戒水位保證水位的方法
        就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        牛津大學(xué)數(shù)據(jù)聯(lián)盟應(yīng)用軟件
        電腦與電信(2010年9期)2010-08-15 00:44:26
        在PowerBuUder中利用WinSock控件制作簡(jiǎn)單的Web服務(wù)器
        VB.NET中ListBox控件實(shí)現(xiàn)流程跟蹤
        欧美精品中文字幕亚洲专区| 尤物在线观看一区蜜桃| 亚州国产av一区二区三区伊在| 亚洲aⅴ在线无码播放毛片一线天| 亚洲色成人网站www观看入口| 男人的av天堂狠狠操| 日本a级黄片免费观看| 丰满少妇人妻无码专区| 国产激情з∠视频一区二区| 久久久久久久久高潮无码| 亚洲性日韩一区二区三区| 无码人妻久久一区二区三区蜜桃 | 亚洲熟女一区二区三区| 澳门精品无码一区二区三区| 亚洲人妻有码中文字幕| 日韩精品熟女中文字幕| 国产精品ⅴ无码大片在线看| 日韩一区二区肥| 精品自拍偷拍一区二区三区| 中文字幕亚洲乱码成熟女1区| 久久综合精品国产二区无码| 久久精品国产亚洲Av无码偷窍| 精品人妻午夜中文字幕av四季| 精品香蕉99久久久久网站| 好男人日本社区www| 国内精品久久久久久久久蜜桃| 丰满巨臀人妻中文字幕| 久久久久夜夜夜精品国产| 大地资源网最新在线播放| 亚洲国产一区二区三区,| 久久免费看的少妇一级特黄片| 亚洲精品无码国产| 亚洲毛片网| 风间由美中文字幕在线| 无码人妻精品一区二区三区东京热| 少妇对白露脸打电话系列| 激情人妻网址| 久久精品人搡人妻人少妇| 国产尤物精品福利视频| 一区欧美在线动漫| 青青青免费在线视频亚洲视频|