• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Solinst Levelogger3001水質參數采集處理系統的研究

      2012-06-09 10:15:42安宗強徐志京
      電子設計工程 2012年2期
      關鍵詞:參數信息控件對話框

      安宗強,徐志京

      (上海海事大學 信息工程學院,上海 201306)

      水資源的短缺已成為制約社會發(fā)展的障礙,對水資源的保護面臨著前所未有的挑戰(zhàn)[1],傳統的水質采集方式已不再滿足人們對水資源保護的需求。隨著信息技術、傳感器技術、集成技術、面向對象技術的發(fā)展,對水質參數的采集處理也發(fā)生了革命性的變化[2]。文章利用MFC編程串口通信程序實現Solinst Levelogger3001傳感器水質參數的采集,對采集到的數據信息進行處理并利用MSChart顯示所采集到的水質參數曲線圖。通過對采集到的水質參數信息進行處理并顯示能夠實時的掌握水質的變化情況,為保護水資源提供有力的依據。利用對水質參數設置的門限值可以在水質變化時為用戶提供報警功能。

      1 采集處理系統構成

      采集處理系統總體構成圖如圖1所示 。

      圖1 采集處理系統總體構成示意圖Fig.1 Acquisition and processing system diagram of the overall composition

      Solinst Levelogger3001傳感器是加拿大Solinst公司生產的水質參數采集傳感器,采集的水質參數有水位和水溫。氣壓計是測量采集水質參數地點當時的空氣壓強。RS232串口是主機部分讀取水質參數信息和氣壓信息所用的串口。主機部分主要是發(fā)送讀取傳感器采集的水質參數命令從傳感器獲得水質參數數據。傳感器是以十六進制的形式返回參數值,主機在接收到這些數據后要對這些數據進行處理,即把十六進制轉換成對應的ASCII字符串(便于用戶讀?。┗蛘呤菍氖M制字符串(便于以曲線的形式顯示)。把十六進制處理成字符串后數據顯示部分還要從字符中提取出水質參數值(其中包括水位和水溫),并對提取的水質參數值利用MSChart的曲線方式顯示。主機通過設置門限值并判斷接收到的水質參數是否超過該門限值,如果超過了門限值,那么警報部分就被啟動。

      2 采集處理顯示軟件的設計

      2.1 控件添加和界面設計

      建立一個基于MFC對話框的程序,并利用控件向導構建如主界面圖2對話框,其中串口設置子對話框如圖3所示。右擊對話框向對話框中添加MSComm控件[3],在彈出的對話框中選擇Insert ActiveX control,從列表中選擇Microsoft Communications Control,vision 6.0。此時對話框上會出現一個像電話的圖標(此圖標在運行時不會顯示)。以同樣的方法添加 Microsoft Chart Control 6.0[SP6](OLEDB)[4]。

      圖2 主界面Fig.2 Main interface

      圖3 子界面Fig.3 Sub-interface

      2.2 軟件設計流程

      利用快捷鍵Ctrl+W打開MFC ClassWizard對話框并選擇Member Variables選項卡為控件添加變量。表1是軟件設計者為主要的控制添加的變量[5]。

      2.3 參數設置

      在進行讀取水質參數信息時要先對串口作初始化設置,其流程如串口設置流程圖4所示。傳感器連接串口的通信參數波特率為9 600、停止位為1、數據位為8、校驗位為NONE。設置好串口通信參數和傳感器通信參數一致(如圖6所示)。連接傳感器到設置好的端口號(文章設置的端口號為端口號1)。讀取傳感器采集的水質參數要利用MSComm控件,此時需要給該控件添加讀取水質參數的函數,其讀取采集數據流程如圖5所示。

      表1 對話中主要控件的變量設置Tab.1 M ain control in dialogue

      圖4 串口設置流程圖Fig.4 Flow to set port

      圖5 讀取采集數據流程圖Fig.5 Flow of the collection data reading

      圖6 串口參數設置圖Fig.6 Serial port parameters design

      2.4 數據采集與處理

      根據傳感器通信協議發(fā)送讀取傳感器采集的水質參數信息命令(一個a命令,一個b命令),其中a命令獲得水溫信息與水位信息的整數部分,b命令獲取水位信息的小數部分,發(fā)送命令格式為十六進制。發(fā)送命令必須先發(fā)送a命令后發(fā)送b命令。表2是系統設計者發(fā)送命令讀取傳感器采集水質參數對應的命令和返回值。

      表2 讀取傳感器采集的水質參數Tab.2 To read the collection data from sensor

      發(fā)送命令a返回值中32.300為水溫值,89為水位值的整數部分。發(fā)送b命令采集到的數據為6 700 cm,即為水位的小數部分如圖7所示。對發(fā)送命令的控制流程如流程圖8所示。利用SetTimer()函數調用OnTimer函數發(fā)送命令和讀取水質參數信息。文章設置一秒鐘采集一次水質數據信息,即 SetTimer(1,1 000,NULL)。 OnTimer()函數主要是定時發(fā)送讀取數據命令并處理接收到的數據信息并以字符形式在顯示區(qū)顯示和以曲線的形式在MSChart控件區(qū)顯示[6]。對接收到的數據處理流程如流程圖9所示。水位實際值式(1)決定:

      其中WL表示水位實際值,TWL表示測量水位值,TL表示氣壓值。氣壓值通過端口號2讀取。

      圖7 發(fā)送區(qū)和接收區(qū)顯示圖Fig.7 Showing of sending areas and receiving areas

      圖8 發(fā)送命令流程圖Fig.8 Flow chart of send the order

      圖9 數據處理流程圖Fig.9 Flow chart of data processing

      3 顯示水質參數采集結果

      3.1 M SChart顯示傳感器采集水質參數

      處理好讀取到的水質參數數據后通過MSChart控件以曲線的形式顯示在屏幕上。利用語句m_Chart.GetDataGrid().SetData(inPos,1,wt,0)畫出水溫曲線圖,其值與第一 Y 坐標軸相關聯。 利用語句 m_Chart.GetPlot().GetSeriesCollection().GetItem(2).SetSecondaryAxis(TRUE)設置好水位曲線值與第二 Y 坐標軸相關聯,m_Chart.GetDataGrid().SetData(inPos,2,wl,0)語句畫出水位曲線圖[6]。圖10是利用文章設計的程序以MSChart顯示水質參數實時采集的結果曲線圖。圖中有規(guī)律的平滑線條代表水溫,數值對應左邊第一Y坐標軸。變化的曲線代表水位,數值對應右邊第二Y坐標軸。圖11是系統設計者利用Solinst公司提供的軟件顯示水質參數實時采集的結果曲線圖。系統設計者首先利用本系統顯示水質參數實時采集的結果圖再利用Solinst公司的軟件顯示水質參數實時采集的結果,由于兩次測量都是人為的把傳感器從水杯中慢慢的提起,由于兩次測量時存在著提起傳感器的速度不一樣,從而在實際觀察兩個系統顯示的結果有點區(qū)別,這是屬于正常情況。通過對比圖10顯示的結果和圖11顯示的結果得出系統設計者成功實時讀取了Solinst公司提供的傳感器采集的水質參數。

      圖10 MSChart顯示水質參數信息圖Fig.10 Showing of using MSChart

      圖11 Solinst公司系統顯示水質參數信息圖Fig.11 Showing of using Solinst's system

      3.2 警報功能設置

      在主機部分設置好水位和水溫的門限值,當讀取的水質參數數據超過對應的門限值時系統就會啟動警報系統。由于篇幅的原因系統設計者就不闡述警報系統的設計。為了突出當水質參數超出門限值能夠啟動報警系統這項功能系統設計者設置了水位的最高值97.8 cm,最低值為80.51。水溫的最高值35°,最低值為20°。當水位高于97.8 cm時系統就彈出水位過高對話框,如圖12所示。由圖可以看出當水位高于97.8 cm時就啟動了報警對話框。當水溫高于35°時就彈出水溫過高對話框,如圖13所示。由圖可以看出當水溫高于35°時就啟動了報警對話框。

      圖12 水位過高報警圖Fig.12 Alarm of high water level

      圖13 水溫過高報警圖Fig.13 Alarm of high water temperature

      4 結束語

      利用MSComm控件成功實現了與水質參數采集傳感器之間的通信和讀取傳感器采集的水質參數數據。文章設計的系統不但可以用于只可以采集水溫和水位的傳感器,同樣也可以用于多參數采集的傳感器。在未來的應用中,在采集端讀取采集水質參數數據后可以利用GPRS網絡傳送該水質參數數據到遠程控制中心,從而實現遠程水質參數在線監(jiān)測和報警功能[7-8]。

      [1]劉霞.全球水資源嚴重短缺[N].科技日報,2010.

      [2]Glasgow H B,Burkholder J M,Reed R E.Real-time remote monitoring of water quality:a review of current applications and advancements in sensor, telemetry and computing technologies[J].Journal of Experimental Marine Biology and Ecology,2004(300):409-448.

      [3]李現勇.Visual C++串口通信技術與工程實踐 [M].2版.北京:人民郵電出版社,2004.

      [4]楊宗長,匡虹.基于Mschart的數據庫圖表應用編程[D].武漢:武漢大學,2005.

      [5]李景峰.Visual C++串口通信技術詳解[M].北京:機械工業(yè)出版社,2010.

      [6]鄂越.淺談MSChart在VC++中的應用[D].北京:中國農業(yè)科學院,2003.

      [7]張鴻祥,傅圣雪,趙犁豐.水質參數在線監(jiān)測及遠程傳輸系統的研制[J].青島海洋大學學報,2002(6):971-975.ZHANG Hong-xiang, FU Sheng-xue, ZHAO Li-feng.Study of water quality parameters on-line monitoring and remote transmission system [J].Journal of Ocean University of Qingdao,2002(6):971-975.

      [8]滕佩峰.基于GSM網絡水質在線自動監(jiān)測系統的研究與實現[D].北京:北京郵電大學,2008.

      猜你喜歡
      參數信息控件對話框
      基于BIM技術的建筑構件參數信息交互研究
      基于SolidWorks和Excel二次開發(fā)零部件參數化設計研究
      BIM參數信息在管網運維平臺上的應用研究
      正?;謴吞摂M機
      模擬輸注系統的設計與應用
      Bootlace Worms’Secret etc.
      中學科技(2018年12期)2018-12-19 11:22:28
      關于.net控件數組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      快速抓取對話框中的完整信息
      電腦迷(2012年22期)2012-04-29 20:30:54
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      在PowerBuUder中利用WinSock控件制作簡單的Web服務器
      科尔| 衡阳市| 资中县| 常宁市| 鹤岗市| 财经| 乌鲁木齐市| 漳平市| 巢湖市| 砀山县| 岗巴县| 宁南县| 宜丰县| 沧源| 六盘水市| 仁布县| 开化县| 尼勒克县| 仙居县| 肃南| 长沙市| 姜堰市| 喀什市| 新津县| 延寿县| 商南县| 社会| 夏津县| 博湖县| 中超| 平凉市| 诸城市| 都匀市| 巴林左旗| 鲁山县| 正阳县| 新化县| 麻阳| 临安市| 邵阳市| 江门市|