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