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