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

?

海水總磷總氮在線自動(dòng)監(jiān)測(cè)裝置的軟件技術(shù)研究

2012-12-26 06:58張東滿魏福祥
關(guān)鍵詞:串口界面自動(dòng)

張 帆,張東滿,魏福祥

(河北科技大學(xué)環(huán)境科學(xué)與工程學(xué)院,河北石家莊 050018)

海水總磷總氮在線自動(dòng)監(jiān)測(cè)裝置的軟件技術(shù)研究

張 帆,張東滿,魏福祥

(河北科技大學(xué)環(huán)境科學(xué)與工程學(xué)院,河北石家莊 050018)

基于Microsoft Visual C++6.0軟件平臺(tái),設(shè)計(jì)了海水總磷總氮在線自動(dòng)監(jiān)測(cè)系統(tǒng),包括控制界面、設(shè)備的驅(qū)動(dòng)程序、數(shù)據(jù)的處理和顯示以及對(duì)歷史監(jiān)測(cè)數(shù)據(jù)的查詢(xún)。該軟件系統(tǒng)主要由設(shè)計(jì)流程模塊、手動(dòng)實(shí)驗(yàn)?zāi)K、實(shí)時(shí)監(jiān)測(cè)模塊、參數(shù)配置模塊、串口通信模塊5部分組成。軟件使用窗口圖形、選項(xiàng)卡等技術(shù),具有友好的可視化人機(jī)交互界面,運(yùn)行穩(wěn)定,滿足實(shí)驗(yàn)要求。

軟件設(shè)計(jì);總磷;總氮;在線自動(dòng)監(jiān)測(cè)裝置

1 軟件設(shè)計(jì)的目的

1.1 軟件的設(shè)計(jì)背景

海水總磷總氮自動(dòng)監(jiān)測(cè)裝置,可實(shí)現(xiàn)海水中總磷(TP)、總氮(TN)的實(shí)時(shí)在線自動(dòng)監(jiān)測(cè)。該監(jiān)測(cè)系統(tǒng)由樣品在線消解、顯色反應(yīng)、分光光度測(cè)定3部分組成,海水中各種形態(tài)的磷和氮被一次性完全消解,消解后的樣品溶液分別與TP和TN顯色劑混合,完成在線顯色反應(yīng)后順序進(jìn)入分光光度測(cè)定模塊的流通池,分別在不同波長(zhǎng)條件下進(jìn)行TP和TN的測(cè)定 運(yùn)行該監(jiān)測(cè)系統(tǒng),可實(shí)時(shí)掌握海洋富營(yíng)養(yǎng)化的程度,進(jìn)而預(yù)測(cè)海洋生態(tài)環(huán)境變化并及時(shí)調(diào)整對(duì)策,對(duì)預(yù)防海洋赤潮災(zāi)害、保護(hù)海洋生態(tài)環(huán)境具有重大意義。

1.2 軟件的功能

在線監(jiān)測(cè)系統(tǒng)軟件的研發(fā)任務(wù)主要是設(shè)計(jì)系統(tǒng)的控制界面、設(shè)備的驅(qū)動(dòng)程序,實(shí)現(xiàn)實(shí)驗(yàn)數(shù)據(jù)的處理和顯示以及對(duì)歷史監(jiān)測(cè)數(shù)據(jù)的查詢(xún)等功能。在線自動(dòng)監(jiān)測(cè)系統(tǒng)軟件用于控制在線自動(dòng)監(jiān)測(cè)裝置的運(yùn)行,包括流程設(shè)計(jì)、實(shí)時(shí)監(jiān)測(cè)、數(shù)據(jù)的處理等,其中數(shù)據(jù)處理包括將來(lái)自采集卡的實(shí)時(shí)數(shù)據(jù)進(jìn)行分析保存,微機(jī)終端顯示實(shí)時(shí)監(jiān)測(cè)狀況,并進(jìn)行數(shù)據(jù)的傳輸和串口通信。

該系統(tǒng)采用西門(mén)子可編程控制器(PLC)作為核心控制器,控制整個(gè)監(jiān)測(cè)流程,可自動(dòng)完成樣品的消解、顯色、測(cè)定、數(shù)據(jù)處理等過(guò)程,對(duì)整個(gè)監(jiān)測(cè)過(guò)程進(jìn)行在線監(jiān)控,實(shí)現(xiàn)對(duì)監(jiān)測(cè)信息的實(shí)時(shí)處理,得到并記錄最終監(jiān)測(cè)結(jié)果[4]。

2 軟件的總體構(gòu)成

2.1 軟件的設(shè)計(jì)

系統(tǒng)軟件是基于Microsoft Visual C++6.0軟件平臺(tái)開(kāi)發(fā)、設(shè)計(jì)的,共有14個(gè)源文件,15個(gè)頭文件。主要由設(shè)計(jì)流程模塊、手動(dòng)實(shí)驗(yàn)?zāi)K、實(shí)時(shí)監(jiān)測(cè)模塊、參數(shù)配置模塊、串口通信模塊5部分組成,軟件總體結(jié)構(gòu)見(jiàn)圖1。

海水總磷總氮自動(dòng)檢測(cè)系統(tǒng)采用了模塊化的設(shè)計(jì),以具體模塊實(shí)現(xiàn)具體功能,不但有利于程序編寫(xiě)的分工合作,更有利于程序的調(diào)試及擴(kuò)展。軟件設(shè)計(jì)的總流程:設(shè)置串口參數(shù),選擇智能設(shè)備,設(shè)置協(xié)議生成方式及動(dòng)態(tài)數(shù)據(jù)范圍,設(shè)置主控機(jī)或智能設(shè)備工作方式[5]。軟件工作流程見(jiàn)圖2。

2.2 軟件的開(kāi)發(fā)

1)通信接口標(biāo)準(zhǔn):選用串行通信RS232作為通信標(biāo)準(zhǔn)。串行通信接口標(biāo)準(zhǔn)經(jīng)過(guò)使用和發(fā)展,目前已經(jīng)有幾種,但都是在RS232標(biāo)準(zhǔn)的基礎(chǔ)上經(jīng)過(guò)改進(jìn)而形成,RS232是目前最成熟的技術(shù)標(biāo)準(zhǔn),考慮到實(shí)驗(yàn)的實(shí)際傳輸距離小于2 m,單次傳輸數(shù)據(jù)量最長(zhǎng)為60 B,因此采用RS232標(biāo)準(zhǔn)進(jìn)行通信。

2)消息上行下行交互性:軟件需要與上位機(jī)(中心控制端)、下位機(jī)(消解裝置、線路動(dòng)力與流路控制裝置)進(jìn)行通信,如采用單向通信,在實(shí)驗(yàn)發(fā)生未知錯(cuò)誤時(shí)不能及時(shí)糾正或報(bào)警,導(dǎo)致實(shí)驗(yàn)失敗甚至儀器損壞,因此數(shù)據(jù)交互時(shí)各終端之間的實(shí)時(shí)狀態(tài)查詢(xún)尤為重要,軟件設(shè)計(jì)在每次發(fā)送數(shù)據(jù)后都有回送數(shù)據(jù),并對(duì)回送數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)與命令核對(duì),確保發(fā)送接收的準(zhǔn)確性。

3)使用全局變量,所有對(duì)話框擁有主對(duì)話框指針的訪問(wèn)權(quán)限。各對(duì)話框類(lèi)在讀寫(xiě)全局共享數(shù)據(jù)時(shí)統(tǒng)一通過(guò)全局主對(duì)話框指針p Expdlg來(lái)訪問(wèn)其內(nèi)部的對(duì)應(yīng)函數(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的讀寫(xiě),統(tǒng)一標(biāo)準(zhǔn),便于數(shù)據(jù)管理。

4)基于對(duì)操作人員相關(guān)知識(shí)水平的考慮,軟件設(shè)計(jì)在操作界面上使用多種控件來(lái)實(shí)現(xiàn)偽指令,便于操作人員的理解與修改。執(zhí)行前由特定函數(shù)AnalysisCmd翻譯成可被對(duì)應(yīng)下位機(jī)識(shí)別的指令。由于該軟件所執(zhí)行的任務(wù)比較多,因此新建線程專(zhuān)門(mén)用于執(zhí)行程序流程命令,保證在執(zhí)行命令時(shí)不受其他消息的干擾。使用Wait ForSingleObject和CEvent保證線程間的同步關(guān)系與對(duì)全局資源的訪問(wèn)安全性。

5)所有需要操作人員進(jìn)行修改的參數(shù)存儲(chǔ)在配置文件里,當(dāng)軟件運(yùn)行時(shí),加載到內(nèi)存中,并以結(jié)構(gòu)體的形式儲(chǔ)存,方便訪問(wèn),將參數(shù)變化實(shí)時(shí)寫(xiě)入磁盤(pán)保存,因此所有參數(shù)以最后一次配置為準(zhǔn)。此外,為保證與各下位機(jī)能夠準(zhǔn)確地進(jìn)行通信,增加了校驗(yàn)機(jī)制,對(duì)于單次校驗(yàn)失敗的消息,重發(fā)原消息,2次校驗(yàn)失敗的消息,作出錯(cuò)處理。

6)對(duì)于數(shù)據(jù)采用最小二乘線性擬合,最小二乘擬合是一種數(shù)學(xué)上的近似和優(yōu)化,利用已知的數(shù)據(jù)得出一條直線或者曲線,相比于Hermite,Newton,Lagrange等其他插值方法,最小二乘擬合出的曲線在坐標(biāo)系上與已知數(shù)據(jù)之間的距離的平方和最小,而不是對(duì)應(yīng)函數(shù)的值等于數(shù)據(jù)點(diǎn)的值?;诰唧w化學(xué)實(shí)驗(yàn)的考慮,該軟件采用了一次線性擬合而不是更高次項(xiàng)的擬合。

圖1 軟件的模塊結(jié)構(gòu)圖Fig.1 Block diagram of the software

圖2 軟件工作流程圖Fig.2 Work flow of the software

7)軟件具有定時(shí)功能,本實(shí)驗(yàn)要求執(zhí)行TM命令時(shí)間精度在0.5 s范圍內(nèi)。在保證計(jì)時(shí)精度的前提下,在執(zhí)行命令線程里采用Sleep掛起的方式精度達(dá)到0.1 s,在其他類(lèi)中采用Settimer精度達(dá)到0.05 s,均能夠很好滿足實(shí)驗(yàn)要求。

8)軟件初始化時(shí),加載了相關(guān)動(dòng)態(tài)鏈接庫(kù),以便軟件能夠?qū)Σ杉ㄟM(jìn)行取數(shù)據(jù)操作。動(dòng)態(tài)鏈接庫(kù)的使用使得軟件的項(xiàng)目管理更為方便,并節(jié)省了內(nèi)存消耗,并且在采集卡參數(shù)發(fā)生較小改變時(shí)只需要更換動(dòng)態(tài)鏈接庫(kù)文件即可,不必改動(dòng).exe可執(zhí)行文件,更有利于軟件以后的升級(jí)。

9)實(shí)驗(yàn)數(shù)據(jù)的存儲(chǔ),在實(shí)驗(yàn)進(jìn)行過(guò)程中將實(shí)時(shí)采集的數(shù)據(jù)分別在內(nèi)存和磁盤(pán)中各存放一份,既加快了程序的訪問(wèn)速度,又確保了當(dāng)程序意外出現(xiàn)錯(cuò)誤關(guān)閉時(shí)已采集的數(shù)據(jù)不丟失,當(dāng)單次實(shí)驗(yàn)完成后將結(jié)果即TP和TN的濃度也一并寫(xiě)入磁盤(pán)中。為確保能夠隨時(shí)地對(duì)已生成的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行查詢(xún)?cè)俜治?,在?shí)驗(yàn)過(guò)程中保留了大量數(shù)據(jù),并設(shè)計(jì)了類(lèi)History專(zhuān)門(mén)針對(duì)數(shù)據(jù)的存儲(chǔ)及查詢(xún)管理,為了能夠更直觀地顯示數(shù)據(jù),設(shè)計(jì)類(lèi)Re HisGraph實(shí)現(xiàn)了歷史數(shù)據(jù)的重繪。

3 軟件的模塊功能

1)設(shè)計(jì)流程模塊 實(shí)驗(yàn)前,通過(guò)設(shè)置各個(gè)指令設(shè)計(jì)整個(gè)實(shí)驗(yàn)流程,可對(duì)設(shè)計(jì)的流程進(jìn)行保存和重置,或者加載運(yùn)行過(guò)的現(xiàn)有流程。該模塊可以控制設(shè)備中電磁閥的開(kāi)關(guān)、實(shí)驗(yàn)操作步驟之間的間隔、消解池的啟動(dòng)與關(guān)閉、蠕動(dòng)泵及柱塞泵的轉(zhuǎn)速和方向以及磷和氮吸光度等數(shù)據(jù)的采集命令等。軟件界面如圖3所示。

2)手動(dòng)實(shí)驗(yàn)?zāi)K 該模塊可以顯示實(shí)驗(yàn)及裝置的某些狀態(tài),包括命令的執(zhí)行情況、當(dāng)前時(shí)間、消解池的溫度、以及當(dāng)前設(shè)備所處狀態(tài)(停止、正在實(shí)驗(yàn)、正在清洗、準(zhǔn)備就緒),還顯示實(shí)驗(yàn)結(jié)果,即樣品中TP和TN的濃度,并將結(jié)果自動(dòng)添加到以實(shí)驗(yàn)當(dāng)天日期所命名的日志文件中。該模塊可以強(qiáng)制停止實(shí)驗(yàn)過(guò)程、實(shí)現(xiàn)裝置的自動(dòng)清洗以及監(jiān)測(cè)數(shù)據(jù)的檢索功能等。軟件界面如圖4所示。

3)實(shí)時(shí)監(jiān)測(cè)模塊 主要功能為顯示在實(shí)驗(yàn)進(jìn)行過(guò)程中采集到的吸光度實(shí)時(shí)變化以及最大與最小吸光度。根據(jù)采集卡返回的數(shù)據(jù)加以計(jì)算顯示在右側(cè)列表框中并在網(wǎng)格上繪制出相應(yīng)的描點(diǎn)曲線與對(duì)應(yīng)坐標(biāo)形成直觀顯示,界面見(jiàn)圖5。

圖3 設(shè)計(jì)流程模塊界面 Fig.3 Interface of design procedure module

圖4 手動(dòng)實(shí)驗(yàn)?zāi)K界面 Fig.4 Interface of manual experiment module

4)參數(shù)配置模塊 主要功能為在實(shí)驗(yàn)開(kāi)始執(zhí)行前,對(duì)整個(gè)實(shí)驗(yàn)中各部分參數(shù)進(jìn)行正確配置以保證實(shí)驗(yàn)的正確順利進(jìn)行,包括消解部分相應(yīng)的參數(shù)配置(微波最大功率、溫度輸出曲線始終點(diǎn)、升溫時(shí)間以及保溫控制溫度)、磷和氮吸光度的采集參數(shù)(采樣間隔、采樣點(diǎn)數(shù)以及有效區(qū)間)、樣本點(diǎn)設(shè)置,該軟件將自動(dòng)按照所給定的標(biāo)準(zhǔn)溶液樣本點(diǎn)數(shù)據(jù),依據(jù)最小二乘法繪制關(guān)于濃度與吸光度的線性擬合標(biāo)準(zhǔn)曲線,進(jìn)而自動(dòng)求出TP和TN的濃度值。見(jiàn)圖6、圖7。

圖5 實(shí)時(shí)監(jiān)測(cè)模塊界面Fig.5 Interface of real-time monitoring

圖6 參數(shù)配置模塊界面Fig.6 Interface of parameter configuration

5)串口通信模塊 主要功能是在后臺(tái)進(jìn)行與采集卡和其他設(shè)備的串口通信,包括與采集卡的通信(使用的串口通信配置為RS232,發(fā)送的數(shù)據(jù)采用ASCII碼值為交換碼的字符串形式)、與中心控制端的通信、與消解裝置的通信以及與蠕動(dòng)泵1、蠕動(dòng)泵2和注射泵的通信。

4 軟件的優(yōu)點(diǎn)

1)視窗技術(shù) 操作人員可直接通過(guò)控件操作實(shí)驗(yàn)軟件的執(zhí)行命令,該軟件對(duì)命令進(jìn)行了封裝,便于人機(jī)交互。

2)操作簡(jiǎn)便 采用用戶熟悉的Windows界面,操作簡(jiǎn)便快捷,軟件窗口之間的系統(tǒng)設(shè)計(jì)符合人的認(rèn)知原理,使操作流暢。

3)實(shí)時(shí)顯示 對(duì)所采集的數(shù)據(jù)及時(shí)處理,并在屏幕上以點(diǎn)或線的形式實(shí)時(shí)顯示出來(lái),同時(shí)形成數(shù)據(jù)文件并自動(dòng)存盤(pán)。

4)文件處理 系統(tǒng)設(shè)計(jì)了3種類(lèi)型的文件,即命令文件(記錄用戶的命令行)、數(shù)據(jù)文件(記錄實(shí)驗(yàn)實(shí)時(shí)數(shù)據(jù))、日志文件(記錄實(shí)驗(yàn)結(jié)果)等,這些文件的建立、執(zhí)行、訪問(wèn)和保存過(guò)程都是后臺(tái)自動(dòng)執(zhí)行。

5)操作保護(hù) 若用戶不慎設(shè)置了錯(cuò)誤的運(yùn)行參數(shù)或執(zhí)行了錯(cuò)誤操作,軟件會(huì)自動(dòng)對(duì)操作者發(fā)出警告,從而使硬件得到保護(hù),如圖8所示。

圖7 樣本點(diǎn)設(shè)置界面Fig.7 Interface of sample point

圖8 實(shí)驗(yàn)警告界面圖Fig.8 Warning interfaces of experiments

5 結(jié) 語(yǔ)

以海水TP和TN在線自動(dòng)監(jiān)測(cè)實(shí)驗(yàn)為主線,分析了實(shí)驗(yàn)軟件系統(tǒng)的功能,建立了軟件系統(tǒng)的模塊結(jié)構(gòu),并成功設(shè)計(jì)出了海水TP和TN在線自動(dòng)監(jiān)測(cè)的實(shí)驗(yàn)軟件。該軟件采用Visual C++6.0開(kāi)發(fā)而成,基于Windows平臺(tái)的軟件設(shè)計(jì),使用面向?qū)ο蟮募夹g(shù),具有友好的人機(jī)交互界面[6],容易被掌握和使用,滿足科學(xué)實(shí)驗(yàn)的要求,在海水TP和TN監(jiān)測(cè)實(shí)驗(yàn)中已經(jīng)體現(xiàn)出軟件的價(jià)值。

[1]俞 林.水質(zhì)檢測(cè)分析方法標(biāo)準(zhǔn)實(shí)務(wù)手冊(cè)[M].北京:中國(guó)環(huán)境科學(xué)出版社,2002.

[2]GRASSHOFF K.Methods of Seawater Analysis[M].New York:Verlag Chemie Weinheim,1976.

[3]鄒常勝.海水營(yíng)養(yǎng)鹽現(xiàn)場(chǎng)監(jiān)測(cè)[J].海洋技術(shù)(Ocean Technalogy),2001,20(4):33-37.

[4]李智文.水質(zhì)總磷總氮在線自動(dòng)監(jiān)測(cè)軟件系統(tǒng)的設(shè)計(jì)[D].廣州:中國(guó)科學(xué)院廣州地球化學(xué)研究所,2007.

[5]孫 鑫,余安萍.VC++深入詳解[M].第2版.北京:電子工業(yè)出版社,2006.

[6]丁文捷.基于Windows的化工原理實(shí)驗(yàn)數(shù)據(jù)處理軟件的開(kāi)發(fā)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索(Research and Exploration in Laboratory),2004,23(9):34-35.

Software design of online automatic monitoring device for total phosphorus and total nitrogen in seawater

ZHANG Fan,ZHANG Dong-man,WEI Fu-xiang
(College of Environmental Science and Engineering,Hebei University of Science and Technology,Shijiazhuang Hebei 050018,China)

Based on Microsoft Visual C++6.0,software of online automatic monitoring system for total phosphorus and total nitrogen in seawater is developed,including the controlling interface of the on-line monitoring system,the driving programs of device,the processing and display of experimental data and the query of historical monitoring data.The software mainly consists of five parts of design process module,manual experiment module,real-time monitoring module,parameter configuration module and serial communication module.Windows graphical interfaces and option card technologies are adopted in the software system,so that this system has friendly visualized man-machine interface and stable operation,and it meets the requirements of experiments.

software design;total phosphorus;total nitrogen;online automatic monitoringdevice

X853

A

1008-1542(2012)04-0370-05

2012-01-28;

2012-05-14;責(zé)任編輯:王海云

國(guó)家863計(jì)劃項(xiàng)目(2007AA09210109)

張 帆(1986-),女,河北石家莊人,碩士研究生,主要從事環(huán)境監(jiān)測(cè)技術(shù)與裝備方面的研究。

魏福祥教授。E-mail:wfxss@sohu.com

猜你喜歡
串口界面自動(dòng)
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
自動(dòng)捕盜機(jī)
國(guó)企黨委前置研究的“四個(gè)界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
讓小鴨子自動(dòng)轉(zhuǎn)身
自動(dòng)搖擺的“蹺蹺板”
人機(jī)交互界面發(fā)展趨勢(shì)研究
關(guān)于自動(dòng)駕駛
數(shù)字電源內(nèi)部數(shù)據(jù)傳輸?shù)拇谕ㄐ欧椒▽?shí)現(xiàn)
USB接口的多串口數(shù)據(jù)并行接收方法探索
丹东市| 乡城县| 绿春县| 肇东市| 定兴县| 清涧县| 岑溪市| 当涂县| 罗甸县| 仙桃市| 陇西县| 兖州市| 博野县| 瓦房店市| 贵德县| 赤城县| 宿州市| 宁国市| 根河市| 阳泉市| 含山县| 宜春市| 苍山县| 邢台市| 雷波县| 平阴县| 基隆市| 清流县| 高碑店市| 沙坪坝区| 颍上县| 鲁甸县| 石门县| 沿河| 武平县| 新蔡县| 景洪市| 涿鹿县| 鸡泽县| 花莲市| 醴陵市|