莫秋月
(廣東粵丘檢測科技有限公司,廣東 廣州 511400)
為方便水環(huán)境中重金屬的檢測工作,設(shè)計(jì)并應(yīng)用重金屬便攜式檢測儀極為必要。同時(shí),出于對保證檢測結(jié)果精度與直觀性的考慮,需要著重對其分析控制軟件系統(tǒng)的設(shè)計(jì)進(jìn)行優(yōu)化。
本次設(shè)計(jì)的水環(huán)境重金屬便攜式檢測儀器的檢測原理主要為電化學(xué)溶出伏安分析法,該方法能促使被檢測物質(zhì)在進(jìn)行待測離子極譜分析時(shí),先在產(chǎn)生極限電流的電位下電解一定的時(shí)間,然后對電極的電位做出調(diào)整,促使在該電極區(qū)域富集的物質(zhì)再次溶出,并結(jié)合此次溶出過程中獲得的伏安曲線,完成對待測離子的定量性分析。在當(dāng)前的金屬離子檢測實(shí)踐中,電化學(xué)溶出伏安法的使用較為常見,此時(shí),初始濃度與富集成效之間并不存在顯著的相關(guān)性。通常情況下,想要獲得更為理想的富集成效,就要減小溶液體積和擴(kuò)散層厚度,或是增加電極的面積并提升攪拌速度??傮w來說,電流與富集、溶出過程之間有著明顯的相關(guān)性。另外,由于電化學(xué)溶出伏安分析有著較好的靈敏性,所以在超純物質(zhì)分析實(shí)踐中也可以達(dá)到較為理想的效果,且在多領(lǐng)域試樣的微量元素測定中也得到了較好地利用。
本次設(shè)計(jì)的水環(huán)境重金屬便攜式檢測儀器的硬件系統(tǒng)主要由無線單元、電源單元、重金屬電化學(xué)檢測電路構(gòu)成,其中,在設(shè)置硬件電路時(shí),著重對其高增益、低噪音、弱失真特性進(jìn)行維護(hù)與突顯,并盡量降低電路穩(wěn)定性下降問題的發(fā)生概率,因此主要在電路中引入四層FR4材質(zhì)基底的PCB設(shè)計(jì)。集成式檢測手柄也是該檢測儀器硬件系統(tǒng)中的重要構(gòu)件,主要由測試腔、攪拌體、對電極、參比電極以及絲網(wǎng)印刷電極這幾部分構(gòu)成。在該檢測手柄的頭部位置包含著攪拌體、對電極、參比電極以及絲網(wǎng)印刷電極;檢測手柄底部位置連接測試腔螺紋,且在其頭部位置預(yù)設(shè)開標(biāo)口。同時(shí),為了避免出現(xiàn)較為嚴(yán)重的腐蝕現(xiàn)象,主要使用有機(jī)玻璃材料進(jìn)行該集成式檢測手柄測試腔的制作,且方便相關(guān)工作人員實(shí)時(shí)、直觀地觀察測試腔內(nèi)的現(xiàn)實(shí)情況;單獨(dú)屏蔽引出電機(jī)控制線,防止電極信號(hào)受到更嚴(yán)重的干擾。
下位機(jī)軟件程序在水環(huán)境重金屬便攜式檢測儀器中也發(fā)揮著極為重要的作用,存儲(chǔ)位置為單片機(jī)的FLASH存儲(chǔ)器內(nèi)。在實(shí)際運(yùn)行中,下位機(jī)軟件程序的主要功能集中在以下幾方面:(1)為來源于上位機(jī)的指令、檢測參數(shù)指令展開全面接收,同時(shí)正確執(zhí)行不同指令對應(yīng)的檢測操作;(2)在無線或是串口方式的支持下,實(shí)時(shí)上報(bào)檢測數(shù)據(jù),及時(shí)將數(shù)據(jù)傳送至上位機(jī)區(qū)域。下位機(jī)軟件程序的運(yùn)行流程是在程序轉(zhuǎn)入啟動(dòng)狀態(tài)后,實(shí)施單口監(jiān)聽,并接收串口數(shù)據(jù);對執(zhí)行指令做出判斷,此時(shí)有:①如果指令為鍍汞,控制DAC完成鍍汞;控制DAC落實(shí)靜息;掃描獲取鍍汞曲線;完成數(shù)據(jù)上傳后程序轉(zhuǎn)入結(jié)束運(yùn)行狀態(tài)。②如果指令為自檢,則自動(dòng)轉(zhuǎn)入自檢操作;完成數(shù)據(jù)上傳后程序轉(zhuǎn)入結(jié)束運(yùn)行狀態(tài)。③如果指令為檢測,控制DAC完成富集;控制DAC落實(shí)靜息;掃描獲取檢測曲線;完成數(shù)據(jù)上傳后程序轉(zhuǎn)入結(jié)束運(yùn)行狀態(tài)。
3.1.1 串口通信測試模塊
Polling查詢方式與事件驅(qū)動(dòng)方式為QextSerialPort類中包含的兩種串口讀取模式。其中,Polling查詢方式主要同步實(shí)施串口的讀和寫,而信號(hào)在這樣的條件下難以正常運(yùn)行,同時(shí),還需要對讀寫口的讀寫行為展開全面監(jiān)控(要引入基于自定義定時(shí)器的定時(shí)監(jiān)控模式)。對于事件驅(qū)動(dòng)方式而言,主要異步實(shí)施串口的讀和寫,串口的讀取操作普遍依托Qt中包含的事件類完成處理;在串口接收到數(shù)據(jù)后,會(huì)迅速發(fā)出對應(yīng)信號(hào),結(jié)合對該信號(hào)的關(guān)聯(lián)即可實(shí)現(xiàn)對串口數(shù)據(jù)的讀取[1]。綜合對比上述兩種串口讀取模式的可操作性、便捷性,在本次水環(huán)境重金屬便攜式檢測儀器的控制軟件串口通信單元設(shè)計(jì)中,主要引入事件驅(qū)動(dòng)方式作為串口讀取模式。
在上下位機(jī)展開實(shí)際通信的過程中,要對上位機(jī)所發(fā)出的指令實(shí)施測試,判斷下位機(jī)是否可以正確、全面地返回相應(yīng)數(shù)據(jù)?;诖?,搭建串口通信測試模塊是必然選擇。在實(shí)際運(yùn)行過程中,該模塊可以自動(dòng)在終端上完成對可用串口的查詢,并直接出現(xiàn)在頁面下拉項(xiàng)目中,以方便用戶自行選取。選取波特率并打開串口,對狀態(tài)確認(rèn)串口的開啟狀態(tài)進(jìn)行查看,在確認(rèn)成功開啟后即可依托對應(yīng)按鍵的操作完成數(shù)據(jù)的發(fā)送。
3.1.2 多線程監(jiān)聽串口模塊
在線程中涵蓋著的事件循環(huán)允許該線程應(yīng)用Qt中的部分需要事件循環(huán)的非GUI類,也為任意線程中的信號(hào)在特定線程槽鏈中連接的實(shí)現(xiàn)提供操作條件。實(shí)際運(yùn)行過程中,當(dāng)某一信號(hào)成功發(fā)出后,無法立即調(diào)用槽函數(shù),此時(shí),主要在對應(yīng)線程中事件循環(huán)實(shí)現(xiàn)控制的時(shí)期做出調(diào)動(dòng),從這一角度看,接受對象所在線程承擔(dān)著執(zhí)行槽函數(shù)的任務(wù)。在本次水環(huán)境重金屬便攜式檢測儀器控制軟件的設(shè)計(jì)過程中,引入子類化QTherd,同時(shí)重新實(shí)現(xiàn)其中run()函數(shù)的落實(shí),以此確保子線程可以展開對串口接收數(shù)據(jù)的全面監(jiān)聽。
在本系統(tǒng)控制軟件結(jié)構(gòu)中搭建起參數(shù)設(shè)置單元,為用戶進(jìn)行循環(huán)伏安掃描參數(shù)以及DPSV掃描參數(shù)的設(shè)置提供界面支持。該單元界面內(nèi),用戶結(jié)合現(xiàn)實(shí)需要調(diào)整、變更參數(shù),并在確認(rèn)、啟動(dòng)檢測儀器后,所有的檢測操作與分析操作均可嚴(yán)格依照該界面內(nèi)設(shè)置的參數(shù)要求完成,保證水環(huán)境重金屬檢測與分析過程可控,提升檢測結(jié)果的針對性、真實(shí)性與準(zhǔn)確性。
在進(jìn)行本系統(tǒng)的實(shí)時(shí)數(shù)據(jù)顯示單元的設(shè)計(jì)與構(gòu)建過程中,主要引入了QWT庫,完成繪制科學(xué)圖表、曲線的任務(wù),同時(shí)實(shí)現(xiàn)對各種統(tǒng)計(jì)圖的自動(dòng)生成。在QWT庫內(nèi),包含較為多樣的GUI組件以及實(shí)用類組件,不僅擁有繪圖窗口組件,還能夠?yàn)橛脩籼峁囟扔?jì)、儀表盤、刻度、圓盤、滾動(dòng)條等組件。
3.3.1 實(shí)時(shí)曲線動(dòng)態(tài)顯示
在該儀器系統(tǒng)展開實(shí)際的水環(huán)境重金屬檢測分析過程中,需要依據(jù)對曲線發(fā)展趨勢的觀察形成分析結(jié)果,并判斷是否存在異常問題。基于這樣的操作需求,在進(jìn)行水環(huán)境重金屬便攜式檢測儀器的控制軟件設(shè)計(jì)中,引入了實(shí)時(shí)曲線動(dòng)態(tài)顯示模塊。實(shí)踐中,新數(shù)據(jù)的動(dòng)態(tài)存儲(chǔ)主要依托QwtArrayData對象實(shí)現(xiàn),而動(dòng)態(tài)顯示實(shí)時(shí)曲線的方法常用的有兩種,具體如下:①當(dāng)檢測到新數(shù)據(jù)后,對QwtArrayData對象展開動(dòng)態(tài)更新處理,實(shí)施曲線數(shù)據(jù)的設(shè)置,并結(jié)合對replot()函數(shù)的調(diào)動(dòng)完成對整個(gè)曲線的繪制;②當(dāng)檢測到新數(shù)據(jù)后,對QwtArrayData對象展開更新處理,調(diào)動(dòng)draw()函數(shù)后僅對最后一位數(shù)據(jù)點(diǎn)進(jìn)行描記,此時(shí)不需要對整個(gè)畫布實(shí)施重新繪制[2]。相比較來說,后一種顯示實(shí)時(shí)曲線的方法在規(guī)避繪畫遲滯性方面所展現(xiàn)出的優(yōu)勢更為理想,因此在本檢測儀器系統(tǒng)軟件實(shí)時(shí)曲線動(dòng)態(tài)顯示模塊的設(shè)計(jì)中,選用第二種方法。
實(shí)時(shí)曲線的縱軸刻度值發(fā)生變化后,會(huì)對視覺體驗(yàn)產(chǎn)生較為明顯的影響。站在DPSV掃描操作的角度看,每組縱軸數(shù)值中最大值發(fā)生變化的頻率維持在較低水平,所以在相應(yīng)掃描操作中主要選用每組縱軸數(shù)值中的最大值完成對縱軸顯示最大值的確定;站在循環(huán)伏安掃描的角度看,每組縱軸數(shù)值中最大值發(fā)生變化的頻率維持在較高水平,所以在相應(yīng)掃描操作中主要應(yīng)用對靈敏度自行設(shè)定的方式完成對縱軸顯示最大值的確定。
3.3.2 循環(huán)伏安掃描的曲線繪制
受到位數(shù)存在差異性的影響,上下位機(jī)在數(shù)據(jù)精度方面有所缺失,為避免這一問題的出現(xiàn),在由上位機(jī)對下位機(jī)實(shí)施參數(shù)設(shè)置的過程中,要及時(shí)落實(shí)數(shù)值轉(zhuǎn)換操作;而下位機(jī)在對上位機(jī)進(jìn)行數(shù)據(jù)發(fā)送的過程中,同樣也要及時(shí)展開數(shù)值轉(zhuǎn)換操作。這一流程增加了循環(huán)伏安掃描的曲線繪制難度?;诖?,本次系統(tǒng)軟件設(shè)計(jì)中主要對循環(huán)伏安掃描的曲線繪制流程進(jìn)行了優(yōu)化。對正向初始掃描方向下循環(huán)伏安掃描橫坐標(biāo)值產(chǎn)生流程進(jìn)行說明:接收到新數(shù)據(jù)后,判斷用于保存x值的動(dòng)態(tài)數(shù)組是否為空,若為空則執(zhí)行“CVFlag=false;xTemp=CVInit”;若為否,繼續(xù)判斷XArray.last()是否近似等于CVInit,若為是則執(zhí)行“CVFlag=false;xTemp=XArray.last()+CVInc”;若為否,繼續(xù)判斷l(xiāng)ast是否近似等于CVFin,若為是則執(zhí)行“CVFlag=true;xTemp=XArray.last()-CVInc”;若為否,繼續(xù)判斷“CVFlag=false”,若為是則執(zhí)行“xTemp=XArray.last()+CVInc”;若為否,則執(zhí)行“xTemp=XArray.last()-CVInc”。
綜上所述,為方便水環(huán)境檢測工作的展開,設(shè)計(jì)并應(yīng)用重金屬便攜式檢測儀極為必要。實(shí)踐中,依托基于無線單元、電源單元、重金屬電化學(xué)檢測電路的硬件系統(tǒng)設(shè)計(jì),結(jié)合包含串口通信單元、參數(shù)設(shè)置單元、實(shí)時(shí)數(shù)據(jù)顯示單元的軟件設(shè)計(jì),完成了重金屬便攜式檢測儀器系統(tǒng)的構(gòu)建,促進(jìn)了水質(zhì)檢測工作的升級(jí)。