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