周維霞 吳棟明 任兵
摘 ?要:隨著壓力表計量檢定工作的不斷增加,傳統(tǒng)的人工填寫紙質(zhì)原始記錄、出具證書及數(shù)據(jù)查詢方式已無法滿足高效率計量檢定、數(shù)據(jù)信息化管理的要求。該文介紹在Visual Studio編程環(huán)境下,基于Visual Basic.Net平臺和Access數(shù)據(jù)庫建立一種新的壓力表檢定數(shù)據(jù)管理系統(tǒng)。該系統(tǒng)的應(yīng)用可減輕壓力表計量檢定工作任務(wù),降低人工填寫原始記錄和證書出具引入的潛在錯誤風(fēng)險,提高計量檢定效率。系統(tǒng)中的檢定數(shù)據(jù)也可用于對當(dāng)?shù)仄髽I(yè)壓力表使用情況的分析。
關(guān)鍵詞:壓力表檢定;數(shù)據(jù)管理系統(tǒng);Visual Basic.Net;檢定數(shù)據(jù);鑒定效率
中圖分類號:TP311.5 ? ? ?文獻標(biāo)志碼:A ? ? ? ? ?文章編號:2095-2945(2024)18-0045-04
Abstract: With the continuous increase of pressure gauge measurement and verification work, the traditional manual filling in paper original records, issuing certificates and data query methods have been unable to meet the requirements of efficient measurement verification and data information management. This paper introduces a new pressure gauge verification data management system based on Visual Basic.Net platform and Access database under Visual Studio programming environment. The application of the system can reduce the task of pressure gauge measurement verification, reduce the potential error risk of manually filling in the original records and certificates, and improve the efficiency of measurement verification. The verification data in the system can also be used to analyze the use of pressure gauges in local enterprises.
Keywords: pressure gauge verification; data management system; Visual Basic.Net; verification data; identification efficiency
當(dāng)前,壓力表作為一種安全防護類計量監(jiān)測設(shè)備,極為普遍地被各行各業(yè)所使用,壓力表在實施強制管理的計量器具目錄中也屬于強制檢定計量器具,其量值的準(zhǔn)確可靠主要是由當(dāng)?shù)氐姆ǘㄓ嬃繖z定機構(gòu)通過檢定來確保的。白銀市作為一座工業(yè)城市,生產(chǎn)企業(yè)眾多,轄區(qū)內(nèi)在用壓力表基數(shù)較大,申請送檢的壓力表數(shù)量多,特別是自2017年4月強制檢定計量器具檢定費用停征后,送檢數(shù)量成倍增加,給市所的壓力表檢定工作帶來極大的挑戰(zhàn)。作為基層法定計量檢定機構(gòu),因政策、經(jīng)費等的制約,目前大多數(shù)市縣技術(shù)機構(gòu)都以精密壓力表作為計量標(biāo)準(zhǔn)開展壓力表檢定工作,其原始記錄、檢定證書都是人工填寫數(shù)據(jù)并進行誤差分析判斷,隨著工作量的不斷增加,已無法按時完成申請送檢的壓力表檢定工作。為解決這種困境,特研究并開發(fā)出一款壓力表檢定數(shù)據(jù)管理系統(tǒng)。本系統(tǒng)主要通過電腦直接在現(xiàn)場輸入被檢表的基本信息及檢定點的數(shù)據(jù),保存后可直接生成原始記錄和檢定證書。系統(tǒng)的開發(fā)減少了各技術(shù)機構(gòu)在開展壓力表檢定過程中人員、時間等的投入,避免了因人員判斷誤差而引起的錯誤,實現(xiàn)了壓力表檢定的信息化管理,提升了壓力表檢定效率。綜上所述,壓力表檢定數(shù)據(jù)管理系統(tǒng)具有廣泛的應(yīng)用前景,可以提升建立壓力表計量標(biāo)準(zhǔn)單位的檢定效率,保障壓力表數(shù)值的準(zhǔn)確可靠,促進工業(yè)生產(chǎn)的安全穩(wěn)定運行。
1 ?壓力表檢定數(shù)據(jù)管理系統(tǒng)的研發(fā)思路
1.1 ?研發(fā)系統(tǒng)的難點
一是由于壓力表的廠家及規(guī)格型號的種類繁多,在JJG 52—2013《彈性元件式一般壓力表、壓力真空表和真空表》檢定規(guī)程中將壓力表又分成了4個等級,導(dǎo)致壓力表的原始記錄具有多樣性,難以統(tǒng)一為一個格式。二是根據(jù)JJG 52—2013《彈性元件式一般壓力表、壓力真空表和真空表》檢定規(guī)程中對其示值誤差、回程誤差的檢定,由于等級和測量范圍的不同使得各類壓力表的允許示值誤差和回程誤差也各不同,另外,壓力表測量上限的(90%~100%)的允許誤差可放寬至下一個等級的允許誤差,這樣導(dǎo)致原始記錄也不同。怎樣設(shè)計出具有通用性的軟件來實現(xiàn)以上這些需求,是本系統(tǒng)研究的關(guān)鍵。三是在原始記錄生成后怎樣根據(jù)輸入的數(shù)據(jù)自動判斷生成檢定證書或檢定結(jié)果通知書也是難點。
1.2 ?研發(fā)系統(tǒng)的技術(shù)關(guān)鍵
一是該管理系統(tǒng)的應(yīng)用,可以通過對不同廠家、不同型號、相同等級的壓力表建立模板,可以快速準(zhǔn)確地識別并歸類不同的壓力表類型,提高工作效率。二是運用Visual Basic.Net編程能解決通用性問題。通過開發(fā)人員使用Visual Basic.Net編寫程序代碼,實現(xiàn)了對不同測量范圍、不同等級壓力表的示值點設(shè)定,也使誤差判斷等功能模塊的編程得以實現(xiàn),從而解決了通用性的問題。三是證書自動生成的應(yīng)用,在軟件界面輸入基本信息后,生成原始記錄的同時生成證書,并在原始記錄自動化處理完成后,將證書信息一并補全,最終生成完整的證書。
1.3 ?系統(tǒng)研發(fā)的方法路線
針對壓力表及其檢定的特性,將壓力表檢定數(shù)據(jù)管理系統(tǒng)的建立分解為4部分,分別是程序界面的設(shè)計、數(shù)據(jù)庫的建立、原始記錄數(shù)據(jù)處理的程序編程及檢定證書生成的程序編程。針對這4個方面分為4個步驟:一是根據(jù)需求,使用Visual Basic.Net設(shè)計程序界面;二是建立MDB對象連接的Access數(shù)據(jù)庫,建立一個與壓力表相關(guān)聯(lián)的數(shù)據(jù)表,用于存儲壓力表的型號、規(guī)格、出廠日期和檢定周期等信息,用于存儲和查詢歷史檢定證書數(shù)據(jù),導(dǎo)入命名空間Microsoft.Office.Interop.Excel,使用Visual Basic.Net提供對Microsoft Excel 的COM對象模型和應(yīng)用程序之間的互操作性的支持功能,完成對Microsoft.Excel表格的訪問;三是在原始記錄數(shù)據(jù)處理方面,根據(jù)檢定規(guī)程要求,利用Visual Basic.Net編寫程序以實現(xiàn)自動化處理數(shù)據(jù)的功能,對于壓力表的歷史檢定數(shù)據(jù),可以將其保存在到數(shù)據(jù)庫中,并進行查詢和調(diào)用;四是在證書生成方面,通過Visual Basic.Net編寫程序調(diào)用檢定證書模板、檢定結(jié)果通知書,以便實現(xiàn)證書的自動填寫和生成。
2 ?壓力表檢定數(shù)據(jù)管理系統(tǒng)功能的說明
2.1 ?系統(tǒng)主界面
該系統(tǒng)的主界面主要由最近檢測、高級搜索、添加檢測、詳情檢定和退出系統(tǒng)5大塊功能組成(圖1),打開該系統(tǒng)后,默認(rèn)顯示最近已檢測壓力表的相關(guān)信息,如記錄編號、送檢單位、計量器具、出廠編號、測量范圍、分度值、準(zhǔn)確度、制造廠家和檢測結(jié)論等詳細(xì)信息。點擊后面的“操作”字樣彈出“修改”“刪除”“詳情檢定”選項,可根據(jù)需要進行選擇,點擊“詳情檢定”后可彈出該塊壓力表的原始記錄,相關(guān)的所有信息一目了然。點擊主界面上方的“添加檢測”按鈕,可創(chuàng)建一個新的檢測記錄窗口用于壓力表檢定數(shù)據(jù)的記錄,當(dāng)用戶完成添加檢測記錄后,系統(tǒng)會將該記錄保存到數(shù)據(jù)庫中,以備后續(xù)查詢使用。如果用戶需要對某塊壓力表的信息進行修改或查看時,一是可以在主界面展示的最近檢測數(shù)據(jù)中查看,還可以通過點擊“詳情檢定”按鈕進入詳細(xì)檢定記錄,查看每個檢測項目的具體數(shù)據(jù)和檢定結(jié)果。二是通過點擊主界面上方“高級搜索”功能。在彈出的高級搜索欄中通過輸入檢定日期、送檢單位或計量器具等搜索所需要查看的壓力表信息及檢定結(jié)果(圖2)。最后,退出系統(tǒng)時可以選擇退出當(dāng)前界面或關(guān)閉整個應(yīng)用程序。
2.2 ?新增壓力表檢定界面
在新增壓力表檢定記錄界面(圖3),可依次輸入被檢壓力表的記錄編號、委托號、送檢單位、儀表名稱、型號規(guī)格、制造商、出廠編號、測量范圍、分度值、準(zhǔn)確度、環(huán)境溫度和環(huán)境濕度;在檢定過程中使用的標(biāo)準(zhǔn)器、準(zhǔn)確度、測量范圍、檢定依據(jù)及檢定用工作介質(zhì)等信息。按照J(rèn)JG 52—2013《彈性元件式一般壓力表、壓力真空表和真空表》檢定規(guī)程要求,設(shè)置了外觀檢查、指針偏轉(zhuǎn)平穩(wěn)性、零位誤差和示值誤差等檢定項目。因壓力表的類型、測量范圍、準(zhǔn)確度等級較多,如壓力表的類型有一般壓力表、耐震壓力表、電接點壓力表、氧氣壓力表、真空壓力表、壓力真空表和膜盒壓力表;型號規(guī)格包括Y-60、Y-100、Y-150、Y-200和Y-250;測量范圍或量程包括(0~0.1)、(0~1)、(0~10)、(0~0.16)、(0~1.6)、(0~16)、(0~0.25)、(0~2.5)、(0~25)、(0~0.4)、(0~4)、(0~40)、(0~0.6)、(0~6)和(0~60);單位有Pa、kPa、MPa、psi、bar和mmHg;分度值包括0.01、0.1、1、0.02、0.2、2、0.05、0.5和5;準(zhǔn)確度分為1.0、1.6、2.5和4.0級,為節(jié)約在檢定中輸入該類信息的時間,提高檢定效率,在系統(tǒng)設(shè)計中已將所有類型編制其中,只需通過點擊下拉欄進行相應(yīng)的選擇即可。如果檢定的壓力表送檢單位、型號規(guī)格、測量范圍等基本相同,也可點擊“選擇類似案例”將已檢定的壓力表信息引用在新增壓力表檢定記錄中。在示值誤差檢定項中,最大示值誤差和最大回程誤差的自動計算及數(shù)值的保留位數(shù)是編程中的難點和特點,最大示值誤差是輕敲表殼后被檢表示值上行程或下行程中的示值與設(shè)定點壓力示值的差取最大值。最大示值誤差和最大回程誤差的小數(shù)點位數(shù)是由前面的讀數(shù)位數(shù)確定,也可由被檢定壓力表的分度值位數(shù)確定。被檢壓力表的所有信息、數(shù)據(jù)輸入后,點擊“保存”按鈕,可通過Visual Basic.Net編寫程序調(diào)用已建立的壓力原始記錄、檢定證書、檢定結(jié)果通知書模板,以便實現(xiàn)原始記錄、證書的自動填寫和生成。
3 ?壓力表檢定數(shù)據(jù)管理系統(tǒng)的編程展示
最大示值誤差編程部分如下。
PrivateSub Get_ZuiDa_ShiZhi_WuCha(ByRef num_ 0_90 AsDouble, ByRef num_90_100 AsDouble)
%定義最大示值誤差過程,num_0_90和num_90 _100為雙精度數(shù)據(jù)類型并按值傳遞;
Dim tmp1 AsString = TextBox8.Text.Trim()
%定義tmp1為字符串,其賦值為TextBox8文本框使用Trim()函數(shù)去除字符串兩端的空格的值;
Dimstrs()AsString = tmp1.Replace("()", "").Split({"~"},StringSplitOptions.RemoveEmptyEntries)
%replace()函數(shù)去除字符串中的特定字符("()")。然后,使用Split()函數(shù)根據(jù)"~"字符將字符串分割成多個子字符串,并存儲在strs數(shù)組中。
Dim num1 AsDouble = Val(strs(strs.Length - 1))
%最大上限num1的值為數(shù)組strs的長度;
num_0_90 = 0
num_90_100 = 0
Dim num_0_90_abs AsDouble = 0
Dim num_90_100_abs AsDouble =0
%初始化num_0_90、num_90_100、num_0_90_abs、num_90_100_abs的值為0。num_0_90_abs和num_90_ 100_abs用于保存絕對值最大的兩個數(shù)值。
For i AsInteger = 0 To _lst_dgv.Count - 1
%_lst_dgv.Count代表選取的壓力檢測點數(shù)量;_lst_dgv列表中的元素
Dimnum_yaliAsDouble=Val(_lst_dgv(i)._txt_she dingdian_yalizhi.Text)
%定義num_yali為_lst_dgv列表中的元素設(shè)定點壓力值;
Dim num_tmp1 AsDouble=Val(_lst_dgv(i)._txt_ shangxingcheng1.Text) - num_yali
%定義num_tmp1為_lst_dgv列表中的元素上行程壓力示值-設(shè)定點壓力值;
Dim num_tmp2 AsDouble=Val(_lst_dgv(i)._txt_ xiaxingcheng1.Text) - num_yali
%定義num_tmp2 ?為_lst_dgv列表中的元素下行程壓力示值-設(shè)定點壓力值;
Ifnum_yali<=num1 * 0.9 Then
4 ?壓力表檢定數(shù)據(jù)管理系統(tǒng)的應(yīng)用及推廣
對于當(dāng)?shù)卮蠖鄶?shù)市、縣計量技術(shù)機構(gòu)及壓力表建標(biāo)企業(yè)來說,壓力表檢定數(shù)據(jù)的記錄及證書的出具均為人工填寫錄入,重復(fù)工作量多,耗時久,效率低??稍谠搲毫Ρ頇z定數(shù)據(jù)管理系統(tǒng)的研究基礎(chǔ)上,針對不同單位使用的壓力表原始記錄及檢定證書格式制作相應(yīng)的壓力表證書模板,添加到系統(tǒng)軟件中,實現(xiàn)系統(tǒng)的通用性,在當(dāng)?shù)赝茝V應(yīng)用。
5 ?結(jié)束語
壓力表計量檢定數(shù)據(jù)管理系統(tǒng)的開發(fā)和建立,緩解了壓力表計量檢定任務(wù)重、壓力大的問題,降低了因人工重復(fù)填寫引入的潛在錯誤,提高了壓力計量檢定數(shù)據(jù)統(tǒng)計和管理的效率和準(zhǔn)確性。該項研究和成果可以推廣應(yīng)用到其他壓力表建標(biāo)單位或壓力表性能試驗數(shù)據(jù)的管理、查詢、統(tǒng)計分析工作中。該系統(tǒng)的建立為進一步研究壓力表智能檢定及數(shù)據(jù)的管理與分析打下堅實的基礎(chǔ)。
參考文獻:
[1] 鄭阿奇.Visual Basic.NET.實用教程[M].3版.北京:中國工信出版社集團,2018.
[2] 鄭偉,楊云.VB.NET.程序設(shè)計與軟件項目實訓(xùn)[M].3版.北京:清華大學(xué)出版社,2020.
[3] 韓菊,陶德燦,楊新明,等.壓力表信息管理系統(tǒng)的開發(fā)和應(yīng)用[J].計算機與應(yīng)用化學(xué),2010,27(8):1115-1118.
[4] 谷今一.基于Visual Basic的壓力表檢定系統(tǒng)[J].電子技術(shù)與軟件工程,2013(24):82-87.
[5] 門平,畢俊杰,古兆兵,等.國內(nèi)外指針式壓力表智能計量檢定技術(shù)[J].計量、測試與校準(zhǔn),2021,41(5):114-119.
[6] 陳文麗,張榮哲,楊懿.壓力計量檢定數(shù)據(jù)管理系統(tǒng)設(shè)計與實現(xiàn)[J].計量信息化與管理,2019,39(5):76-80.