基于Solinst Levelogger3001水質(zhì)參數(shù)采集處理系統(tǒng)的研究
摘要:采用Solinst Levelogger3001水質(zhì)傳感器與PC機(jī)構(gòu)建了水質(zhì)采集處理系統(tǒng),利用Visual C++6.0的MFC框架及MSComm控件編寫(xiě)了采集處理軟件。根據(jù)通信協(xié)議完成了主機(jī)和水質(zhì)傳感器之間通信,并時(shí)讀取到的數(shù)據(jù)處理后利用MSChar控件實(shí)時(shí)顯示,從而達(dá)到水質(zhì)參數(shù)實(shí)時(shí)顯示和實(shí)時(shí)監(jiān)控。通過(guò)與隨機(jī)采集處理軟件實(shí)驗(yàn)比對(duì)表明,采集處理結(jié)果正確,達(dá)到了實(shí)時(shí)采集監(jiān)控的目標(biāo)。
關(guān)鍵詞:水位;水溫;MFC;MSChart;MSComm
水資源的短缺已成為制約社會(huì)發(fā)展的障礙,對(duì)水資源的保護(hù)面臨著前所未有的挑戰(zhàn),傳統(tǒng)的水質(zhì)采集方式已不再滿足人們對(duì)水資源保護(hù)的需求。隨著信息技術(shù)、傳感器技術(shù)、集成技術(shù)、面向?qū)ο蠹夹g(shù)的發(fā)展,對(duì)水質(zhì)參數(shù)的采集處理也發(fā)生了革命性的變化。文章利用MFC編程串口通信程序?qū)崿F(xiàn)Solinst Levelogger3001傳感器水質(zhì)參數(shù)的采集,對(duì)采集到的數(shù)據(jù)信息進(jìn)行處理并利用MSChart顯示所采集到的水質(zhì)參數(shù)曲線圖。通過(guò)對(duì)采集到的水質(zhì)參數(shù)信息進(jìn)行處理并顯示能夠?qū)崟r(shí)的掌握水質(zhì)的變化情況,為保護(hù)水資源提供有力的依據(jù)。利用對(duì)水質(zhì)參數(shù)設(shè)置的門限值可以在水質(zhì)變化時(shí)為用戶提供報(bào)警功能。
1 采集處理系統(tǒng)構(gòu)成
采集處理系統(tǒng)總體構(gòu)成圖如圖1所示。
Solinst Levelogger3001傳感器是加拿大Solinst公司生產(chǎn)的水質(zhì)參數(shù)采集傳感器,采集的水質(zhì)參數(shù)有水位和水溫。氣壓計(jì)是測(cè)量采集水質(zhì)參數(shù)地點(diǎn)當(dāng)時(shí)的空氣壓強(qiáng)。RS232串口是主機(jī)部分讀取水質(zhì)參數(shù)信息和氣壓信息所用的串口。主機(jī)部分主要是發(fā)送讀取傳感器采集的水質(zhì)參數(shù)命令從傳感器獲得水質(zhì)參數(shù)數(shù)據(jù)。傳感器是以十六進(jìn)制的形式返回參數(shù)值,主機(jī)在接收到這些數(shù)據(jù)后要對(duì)這些數(shù)據(jù)進(jìn)行處理,即把十六進(jìn)制轉(zhuǎn)換成對(duì)應(yīng)的ASCⅡ字符串(便于用戶讀取)或者是對(duì)應(yīng)的十進(jìn)制字符串(便于以曲線的形式顯示)。把十六進(jìn)制處理成字符串后數(shù)據(jù)顯示部分還要從字符中提取出水質(zhì)參數(shù)值(其中包括水位和水溫),并對(duì)提取的水質(zhì)參數(shù)值利用MSChart的曲線方式顯示。主機(jī)通過(guò)設(shè)置門限值并判斷接收到的水質(zhì)參數(shù)是否超過(guò)該門限值,如果超過(guò)了門限值,那么警報(bào)部分就被啟動(dòng)。
2 采集處理顯示軟件的設(shè)計(jì)
2.1 控件添加和界面設(shè)計(jì)
建立一個(gè)基于MFC對(duì)話框的程序,并利用控件向?qū)?gòu)建如主界面圖2對(duì)話框,其中串口設(shè)置子對(duì)話框如圖3所示。右擊對(duì)話框向?qū)υ捒蛑刑砑覯SComm控件,在彈出的對(duì)話框中選擇Insert ActiveX control,從列表中選擇Microsoft Communications Control,vision 6.0。此時(shí)對(duì)話框上會(huì)出現(xiàn)一個(gè)像電話的圖標(biāo)(此圖標(biāo)在運(yùn)行時(shí)不會(huì)顯示)。以同樣的方法添加Microsoft Chart Control 6.0[SP6](OLEDB)。
評(píng)論