熱電阻檢定工藝的自動(dòng)化改進(jìn)與軟件設計
發(fā)布時(shí)間:2023-06-28
瀏覽次數:
[摘要]傳統的
熱電阻元件檢定工序主要由質(zhì)檢技術(shù)人員手動(dòng)操作完成,在讀取到檢測數據后需要手動(dòng)記錄、計算檢測結果并錄人電腦中。質(zhì)檢人員勞動(dòng)強度高、工作效率低且存在人為誤差(如,誤讀、錄人錯誤等)。提出一種基于計算機控制的熱電阻檢定工藝自動(dòng)化改進(jìn)方法,通過(guò)使用VisualBasic.Net編寫(xiě)的計算機操作界面有效降低了質(zhì)檢人員的工作強度。質(zhì)檢人員只需判斷恒溫槽溫度及控溫時(shí)間是否達到數據讀取要求,數據讀取和運算由計算機自動(dòng)處理并生成Excel文檔。實(shí)際使用情況表明,改進(jìn)后的熱電阻元件檢定系統具有良好的應用價(jià)值。
引言.
熱電阻產(chǎn)品在出廠(chǎng)“之前需依據JJG229-2010《
工業(yè)鉑、銅熱電阻檢定規程》進(jìn)行準確的檢定;JJG229-2010標準第7節計量器具控制給出了熱電阻檢定所需標準儀器及配套設備的技術(shù)要求,由于需計量檢定的溫度計量產(chǎn)品的技術(shù)參數、應用場(chǎng)合不盡相同,各溫度儀表產(chǎn)品的生產(chǎn)企業(yè)所采用的檢定設備并不完全一致;但基本應包括
標準鉑電阻溫度計、0.005級及以上等級的用于測量熱電阻和標準鉑電阻阻值的電測儀器、接觸電勢≤1.0uV的轉換開(kāi)關(guān)及恒溫裝置等。
實(shí)際操作時(shí),質(zhì)檢人員先將轉換開(kāi)關(guān)1一5通道對應的元件放人冰水混合物中、通道6--10對應的元件放人100℃的恒溫槽中,待控溫時(shí)間達到數據讀取要求后旋轉開(kāi)關(guān)面板.上的旋鈕對輸出通道進(jìn)行切換并讀取、記錄相應的測試值。操作完成后將冰水混合物與100℃恒溫槽中的元件進(jìn)行互換待控溫時(shí)間再次達到后重復上述數據采集記錄流程。最后將記錄的數據錄人到計算機中進(jìn)行處理并生成檢測報告。采用人工讀取、手動(dòng)錄人的檢定方式存在質(zhì)檢人員的工作量大.且效率低的問(wèn)題,已經(jīng)不能滿(mǎn)足日趨增長(cháng)的工業(yè)生產(chǎn)需求。為此,提出一種熱電阻元件檢定操作的自動(dòng)化改進(jìn)方法,在確保測試精度及測試結果可靠性的基礎上,有效降低質(zhì)檢人員的工作強度。
1熱電阻檢定系統的自動(dòng)化改進(jìn)方案
該技術(shù)改進(jìn)方案采用支持遠程控制模式的“ST4012A低熱電勢掃描開(kāi)關(guān)”代替需手動(dòng)完成通道切換的低熱電勢精密開(kāi)關(guān)。該掃描開(kāi)關(guān)采用特制的繼電器陣列作為轉換的核心器件,可以實(shí)現多路電勢信號的切換,并通過(guò)面板上的LED同步顯示通道狀態(tài),以便于操作人員實(shí)時(shí)監控設備的工作情況,寄生熱電勢≤0.2uV遠低于國標中的技術(shù)要求,適用于熱電阻元件的檢定測量與轉換。原檢定系統中使用的“HY2030A型熱電偶熱電阻測試儀”自帶通信協(xié)議接口故無(wú)需進(jìn)行替換,改進(jìn)后新系統的硬件組成如圖1所示。
由于主控計算機為品牌商用機無(wú)RS232端口,通過(guò)使用USB轉RS232*2串口線(xiàn)將低熱電勢掃描開(kāi)關(guān)和電阻測試儀與計算機連接。通過(guò)基于計算機控制的串口通信技術(shù)實(shí)現熱電阻元件檢定過(guò)程中的數據采集、數據處理、報表生成及存儲的完全自動(dòng)化。計算機操作界面為使用面向對象的程序設計語(yǔ)言VisualBasic.net開(kāi)發(fā)的Window應用程序,程序主界面如圖2所示。程序源文件中包含模塊、類(lèi)、方法等類(lèi)型,可根據實(shí)際需求通過(guò)對現有模塊、方法進(jìn)行重組和擴展,編寫(xiě)出新的軟件功能。
為簡(jiǎn)化操作流程,各通信端口的參數在軟件設計時(shí)均在程序代碼中完成配置,僅開(kāi)放串口號供操作人員根據計算機端口的實(shí)際使用情況進(jìn)行修改。質(zhì)檢操作人員將低熱電勢掃描開(kāi)關(guān)1--5通道對應的元件、通道6一10對應的元件分別放人冰水混合物與恒溫槽后,待測試環(huán)境達到檢定數據采集要求后,單擊操作界面上的“正向檢測”按鍵,計算機向檢定儀器發(fā)送對應的通信控制命令控制低熱電勢掃描開(kāi)關(guān)依次進(jìn)行通道切換,通過(guò)電阻測試儀的通訊端口將掃描開(kāi)關(guān)1-5通道相對應元件在0℃時(shí)的電阻值、通道6一10相對應元件在100℃時(shí)的電阻值及二等標準鉑電阻溫度計在100℃時(shí)的輸出值(對應掃描開(kāi)關(guān)的12通道)上傳到計算機并實(shí)時(shí)顯示在操作界面對應的文本框中。數據讀取完成后,質(zhì)檢操作人員將冰水混合物與100℃恒溫槽中的元件進(jìn)行交換,當控溫時(shí)間再次達到后,單擊“反向檢測”依次讀取掃描開(kāi)關(guān)1一5通道相對應元件在100℃時(shí)的電阻值、通道6一10相對應元件在0℃時(shí)的電阻值及二等標準鉑電阻溫度計在100℃時(shí)的輸出值。并自動(dòng)計算出被檢元件的允差值并評判其精度等級。測試完成后,通過(guò)單擊操作界面上的“生成報告”按鍵,即可自動(dòng)生成Excel文件保存在計算機的指定位置。
2熱電阻元件檢定操作界面的軟件設計
2.1過(guò)程控制與多線(xiàn)程控制
熱電阻元件自動(dòng)檢定程序的流程圖如圖3所示,過(guò)程控制是軟件設計的核心部分,包括測試數據的讀取、顯示及掃描開(kāi)關(guān)的通道切換。為提高系統的響應性及靈活性,軟件設計時(shí)引人線(xiàn)程處理的概念,即主線(xiàn)程用來(lái)監視用戶(hù)輸人及完成生成報告操作,使用另一個(gè)工作線(xiàn)程來(lái)執行數據采集及計算任務(wù)。
通過(guò)創(chuàng )建一個(gè)System.Threading.Thread對象的實(shí)例,再調用Start方法即可在.NET中創(chuàng )建一個(gè)工作線(xiàn)程。以下代碼用于在“正向檢測”按鈕控件的事件處理程序中創(chuàng )建工作線(xiàn)程對象并啟動(dòng),用于執行對應的通道切換及數據讀取操作。
DimReadThread1AsNewSystem.Threading.Thread(AddressOfForwardReadString)ReadThread1.Strat()
由圖3可見(jiàn),每進(jìn)行一次通道切換前工作線(xiàn)程都會(huì )對暫停標志位進(jìn)行判斷。該標志位fShouldStop在“停止”按鈕控件的事件處理程序中進(jìn)行賦值,當操作人員發(fā)現設備工作狀態(tài)或采集數據異常需要停止程序運行時(shí),通過(guò)單擊操作界面上的停止按鈕給fShouldStop賦值為true,工作線(xiàn)程識別出后即會(huì )停止數據采集代碼的運行,等待操作人員下一步的指令。
2.2基于Win32API的串行通信設計
WindowAPI中與串行通信相關(guān)的函數約有20個(gè),介于文章篇幅、列出通信控制步驟中的關(guān)鍵代碼。
(1)打開(kāi)通信端口。在Windows系統中串行端口被當成一個(gè)文件進(jìn)行操作,因此使用打開(kāi)文件的CreateFile函數來(lái)打開(kāi)串口。與之相對應的使用關(guān)閉文件的CloseHandle函數將使用完的串口關(guān)閉
DimmhRSAsInteger=CreateFile(miPort,,GENERIC_READOrGENERICWRITE,0,0,OPEN_EXISTING,iMode,0)’使用同步I/O方式打開(kāi)串行端口
mhRS為通過(guò)CreateFile函數打開(kāi)串行端口后的返回值(Handle值),在串口打開(kāi)成功后,操作系統會(huì )自動(dòng)為Handle值配置--個(gè)號碼,也可以理解程序中使用該值來(lái)進(jìn)行對串行通信端口的相關(guān)操作。
(2)設置傳輸速度等參數。由于通信端口涉及的參數較多,故先使用以下語(yǔ)句取得通信端口的設置值。
iRc=GetCommState(mhRS,uDcb)
再對需要修改的參數進(jìn)行賦值后寫(xiě)人即可。
uDcb.BaudRate=miBaudRate‘通信速度(bps)
uDcb.ByteSize=miDataBit‘數據位數
uDcb.Parity=meParity‘極性位
uDcb.StopBits=meStopBit“停止位
iRc=SetCommState(mhRS,uDcb)’利用修改后的結構變量uDcd重新配置端口參數
(3)使用ReadFile及WriteFile讀寫(xiě)串口數據。程.序執行時(shí),掃描開(kāi)關(guān)及電阻測試儀的遠程控制命令均為字符串,必須使用System.Text的UTF8Encoding或UTF7Encoding類(lèi)作為編碼將其轉換為字節數組才能調用WriteFile函數,具體代碼如下。
DimoEncoderAsNewSystem.Text.UTF8Encoding‘聲明字節數據及編碼類(lèi)(UTF8)
DimaByte()AsByte=oEncoder.GetBytes(Buffer)‘將字符串轉換為字節數組
iRc=WriteFile(mhRS,aByte,aByte.Length,iBytesWritten,Nothing)‘串口發(fā)送數據
同理,使用ReadFile讀取的數據也需要經(jīng)過(guò)同樣的處理,才能得到正確的返回值。
iRc=ReadFile(mhRS,mabtRxBuf,cs.cbInQue,iReadChars,Nothing)
InputString=oEncoder.GetString(mabtRxBuf)‘轉換字節數組為字符串
3結論
改進(jìn)后的檢定系統已用于對薄膜熱電阻元件的測試工序。實(shí)際使用情況表明,計算機操作界面設計符合質(zhì)檢人員的操作習慣,使用便捷,有效縮短了測試報告的出具時(shí)間,減少了人為誤操作,提高了產(chǎn)品質(zhì)檢工作的效率,具有良好的實(shí)際應用價(jià)值。