喻子涵,簡獻(xiàn)忠
(上海理工大學(xué) 光電信息與計算機(jī)工程學(xué)院,上海 221000)
本文建立的標(biāo)準(zhǔn)表法流量標(biāo)準(zhǔn)裝置系統(tǒng)中有3個臺位,每個臺位上都有一臺標(biāo)準(zhǔn)流量計,被檢管路可以最多支持2臺被檢流量計進(jìn)行串聯(lián)標(biāo)定。標(biāo)準(zhǔn)裝置原理如圖1所示。
圖1 流量標(biāo)準(zhǔn)裝置原理示意圖
上位機(jī)軟件用于監(jiān)控整個系統(tǒng)的運(yùn)行狀態(tài),需要得到系統(tǒng)中數(shù)據(jù)的即時變化情況,因此系統(tǒng)具有數(shù)據(jù)采集功能,可將PLC、變送器、計數(shù)器等設(shè)備采集到的數(shù)據(jù)傳輸至上位機(jī)組態(tài)軟件中進(jìn)行顯示。每次檢定獲得的流量計類型、型號等參數(shù)不盡相同,為了將這些數(shù)據(jù)寫入PLC,系統(tǒng)還需要設(shè)計參數(shù)設(shè)置功能。系統(tǒng)向PLC下發(fā)指令,使其執(zhí)行檢定操作,因此還需在系統(tǒng)中設(shè)置檢定操作按鈕。為了防止非專業(yè)人士誤操作,系統(tǒng)需要有操作人員管理功能。在一次標(biāo)定作業(yè)完成后,需要生成本次標(biāo)定的檢定報告,故需在系統(tǒng)中設(shè)置報表的保存與查詢功能[11-15]?;谝陨显O(shè)想,本文設(shè)計的軟件框架簡圖如圖2所示。
圖2 軟件框架圖
上位機(jī)軟件服務(wù)于系統(tǒng)運(yùn)行,所以軟件設(shè)計流程應(yīng)當(dāng)滿足標(biāo)準(zhǔn)裝置的檢定流程,具體如下:進(jìn)入系統(tǒng)前,首先進(jìn)行被檢表參數(shù)設(shè)置,設(shè)定本次標(biāo)定的被檢表參數(shù);進(jìn)入系統(tǒng)后,進(jìn)行操作員登錄,解鎖界面;隨后進(jìn)行標(biāo)定參數(shù)設(shè)置,設(shè)置本次標(biāo)定過程的系統(tǒng)參數(shù);待現(xiàn)場準(zhǔn)備工作完成后,按下界面上的檢定操作按鈕開始標(biāo)定過程;組態(tài)軟件實(shí)時讀取串口中的數(shù)據(jù),進(jìn)行數(shù)據(jù)單位轉(zhuǎn)換后顯示在界面上。完成全部標(biāo)定后,可以按下界面上的保存按鈕,將這一次檢定結(jié)果保存為Execl文件,在數(shù)據(jù)查詢界面可以查看并修改報表文件。軟件設(shè)計流程如圖3所示。
圖3 軟件設(shè)計流程圖
參數(shù)設(shè)置模塊包括被校表參數(shù)設(shè)置、標(biāo)準(zhǔn)表法參數(shù)設(shè)置和環(huán)境參數(shù)設(shè)置。
2.1.1 被校表參數(shù)設(shè)置
在每次標(biāo)定工作前設(shè)置被校表參數(shù)是進(jìn)入軟件主界面前必須進(jìn)行的操作。在這一步中,標(biāo)定人員需要對照被校流量計的銘牌,在界面上填寫類型、量程、最大頻率、傳感器參數(shù)與轉(zhuǎn)換器參數(shù)等信息,這些信息將會在標(biāo)定結(jié)束后被填入生成的報表內(nèi)。同時,還需要在此界面指定在標(biāo)定報表內(nèi)計算儀表系數(shù)的方法(A類或B類)。被校表參數(shù)設(shè)置界面如圖4所示。
圖4 被校表參數(shù)設(shè)置
2.1.2 標(biāo)準(zhǔn)表法標(biāo)定參數(shù)設(shè)置
由于標(biāo)準(zhǔn)表法標(biāo)定參數(shù)的設(shè)置關(guān)系到PLC的正常運(yùn)行,所以在操作人員登錄后,才能對該頁面的數(shù)據(jù)進(jìn)行修改。該參數(shù)組包含需要標(biāo)定的5個流量點(diǎn)的變頻器頻率、閥門的開度以及標(biāo)定時間。為了提高標(biāo)定作業(yè)的速度,標(biāo)準(zhǔn)表法標(biāo)定參數(shù)組還支持從文件導(dǎo)入:完成一次標(biāo)定參數(shù)設(shè)定后,點(diǎn)擊保存至文件,可向調(diào)取參數(shù)ListBox中寫入一條Item,并將輸入的這一組參數(shù)數(shù)據(jù)寫入本地磁盤。當(dāng)退出這個界面時,將ListBox中的每一條Item保存至本地。下一次標(biāo)定作業(yè)開始前,打開參數(shù)設(shè)置界面,系統(tǒng)會將可用的標(biāo)定參數(shù)組顯示于界面的調(diào)取參數(shù)ListBox中。此時,操作人員可以選擇讀取之前保存過的任意一組參數(shù)。系統(tǒng)參數(shù)設(shè)置界面如圖5所示。
圖5 系統(tǒng)參數(shù)設(shè)置界面
2.1.3 環(huán)境參數(shù)設(shè)置
環(huán)境參數(shù)組包括當(dāng)前檢定環(huán)境的溫度、濕度、壓力以及流體溫度。這些參數(shù)可將環(huán)境變量下檢定的結(jié)果修正為標(biāo)準(zhǔn)狀態(tài)(20 ℃,一個標(biāo)準(zhǔn)大氣壓)下的數(shù)據(jù)。
操作人員管理功能已被內(nèi)置于組態(tài)軟件中,開發(fā)人員在開發(fā)界面中即可對用戶進(jìn)行管理、添加和刪除,縮短了軟件開發(fā)周期。系統(tǒng)將用戶分成4個等級,類似于Linux中的用戶組概念,每個用戶組都只能對不高于該用戶組權(quán)限的數(shù)據(jù)進(jìn)行操作,提高了系統(tǒng)的安全性。操作人員管理界面如圖6所示。
圖6 操作人員管理界面
本流量標(biāo)準(zhǔn)裝置采用上位機(jī)間接采集數(shù)據(jù)的方式,即數(shù)據(jù)先通過ModBus協(xié)議采集至PLC中進(jìn)行存儲,PLC再通過串口將數(shù)據(jù)傳輸至上位機(jī)中進(jìn)行顯示。組態(tài)軟件自帶驅(qū)動對數(shù)據(jù)的傳輸與修改進(jìn)行封裝,使得開發(fā)人員無需關(guān)心底層數(shù)據(jù)傳輸邏輯,僅需自定義數(shù)據(jù)點(diǎn),并將其綁定至PLC的某個寄存器上,訪問或修改數(shù)據(jù)點(diǎn)就相當(dāng)于對PLC寄存器做同樣的操作[16-17]。數(shù)據(jù)采集過程如圖7所示。
圖7 數(shù)據(jù)采集過程
本文使用的組態(tài)軟件是一款基于事件觸發(fā)型的開發(fā)軟件,當(dāng)監(jiān)測到界面上有動作產(chǎn)生時,軟件就會轉(zhuǎn)而執(zhí)行該動作后的邏輯。本文建立的流量標(biāo)準(zhǔn)裝置系統(tǒng)所使用的編程模型為MVVM(Model-View-View Model),其圖形界面與檢定邏輯分離,上位機(jī)不需要有復(fù)雜的動作。當(dāng)開發(fā)人員按下界面內(nèi)的按鈕,下發(fā)開始標(biāo)定的指令后,僅需將PLC內(nèi)部的標(biāo)定開始寄存器置位即可。當(dāng)下位機(jī)PLC檢測到標(biāo)定開始寄存器置位后,會根據(jù)在上位機(jī)界面中設(shè)置的標(biāo)定參數(shù),執(zhí)行PLC內(nèi)事先寫好的控制邏輯,完成一次標(biāo)定過程。本文設(shè)計的流量標(biāo)準(zhǔn)裝置還有其他功能:如果需要暫時停止標(biāo)定過程,可以按下界面的暫停按鈕;如果需要更改標(biāo)定流體流動方向,可以按下主界面上的換向器按鈕。
當(dāng)某個流量點(diǎn)的一次標(biāo)定結(jié)束后,PLC將置位標(biāo)定結(jié)束寄存器。這個動作會被上位機(jī)捕捉到,轉(zhuǎn)而執(zhí)行事先寫好的記錄數(shù)據(jù)邏輯,利用軟件的系統(tǒng)函數(shù)SetCellDouble在主界面上的報表區(qū)域中,根據(jù)報表的格式記錄一行數(shù)據(jù),并從PLC的相應(yīng)寄存器中讀取校準(zhǔn)流量、標(biāo)準(zhǔn)表與被校表的脈沖數(shù)與累計流量、校準(zhǔn)時間,將其填入主界面的報表中,并將標(biāo)定次數(shù)計數(shù)器加1。
組態(tài)軟件中的專家報表功能類似于Excel表格,用于記錄標(biāo)定過程中的數(shù)據(jù)。使用ImportExcelFile函數(shù)可以將Excel模板導(dǎo)入力控專家報表;而使用ExportExcelFile函數(shù)可以將專家報表導(dǎo)出Excel文件存儲在本地磁盤上,方便后期進(jìn)行數(shù)據(jù)查詢。
當(dāng)5個流量點(diǎn)的所有標(biāo)定操作完成后,位于主界面上的專家報表將會被填滿。操作人員可以選擇將本次標(biāo)定結(jié)果存入磁盤。點(diǎn)擊保存按鈕后,程序?qū)⑸梢粡埿碌膱蟊怼⑦M(jìn)入系統(tǒng)時設(shè)定的被校表類型、傳感器型號和編號以及當(dāng)前環(huán)境變量填入新的報表作為表頭,將本次標(biāo)定的數(shù)據(jù)作為表體,并將計算出的每一個流量點(diǎn)的儀表系數(shù)、基本誤差和重復(fù)性作為表尾。完成新報表數(shù)據(jù)填充后,程序?qū)⑹褂肊xportExcelFile函數(shù)把報表導(dǎo)出為Excel文件,并將其命名為標(biāo)定結(jié)束時間。與此同時,使用ListAddItem函數(shù)向標(biāo)定記錄ListBox中寫入該文件Item,并使用ListSave將標(biāo)定記錄ListBox保存為本地文件。
被校表的儀表系數(shù)有A類和B類兩種計算方法:
(1)A類儀表系數(shù)指的是被檢流量計脈沖N與標(biāo)準(zhǔn)流量計累計流量Vs的比值,計算式為
(1)
(2)B類儀表系數(shù)指的是被檢流量計累計流量V與標(biāo)準(zhǔn)流量計累計流量Vs的比值,具體為
(2)
使用時,需在被校表參數(shù)設(shè)置界面選擇A類或者B類計算方式。
當(dāng)5個流量點(diǎn)標(biāo)定結(jié)束后,儀表的平均儀表系數(shù)K0為
(3)
被校表的相對示值誤差EL為
(4)
被校表的重復(fù)性誤差Er如式(5)所示。
(5)
本文所設(shè)計的流量標(biāo)準(zhǔn)裝置系統(tǒng)有兩種數(shù)據(jù)查詢方式:一種是實(shí)時趨勢曲線;另一種是歷史報表查詢。
2.6.1 實(shí)時趨勢曲線
在實(shí)時趨勢曲線圖中,可以觀察到本次標(biāo)定過程中總瞬時流量的變化趨勢。在實(shí)時趨勢曲線中能夠觀察到最早一分鐘前的流量瞬時值。現(xiàn)場操作人員能夠根據(jù)實(shí)時趨勢曲線圖判斷標(biāo)定進(jìn)程與標(biāo)定過程是否正常。實(shí)時趨勢曲線如圖8所示。
圖8 實(shí)時趨勢曲線圖
2.6.2 歷史報表查詢
為了溯源標(biāo)定結(jié)果,本軟件設(shè)計了歷史報表查詢功能。在歷史報表查詢界面,可以查詢到之前所有的標(biāo)定記錄。在打開歷史報表查詢界面時,程序?qū)⒆x取本地標(biāo)定記錄ListBox數(shù)據(jù),使用ListLoad函數(shù)從本地文件中調(diào)入標(biāo)定記錄信息,顯示在界面的標(biāo)定記錄名中。點(diǎn)擊任一標(biāo)定文件Item后,會在右側(cè)顯示報表內(nèi)容,使得操作人員能夠可視化地對標(biāo)定完成的報表進(jìn)行修改。
軟件測試分為兩部分:(1)對被校表的測試。將本文軟件測試結(jié)果與被校表標(biāo)定證書結(jié)果進(jìn)行對比,驗(yàn)證本文所設(shè)計的軟件標(biāo)定結(jié)果與被校表前次標(biāo)定結(jié)果的一致性;(2)對本文設(shè)計的系統(tǒng)進(jìn)行不確定度分析,驗(yàn)證系統(tǒng)是否滿足流量標(biāo)準(zhǔn)裝置的國家標(biāo)準(zhǔn)。
軟件編寫完畢后,選擇準(zhǔn)確度等級為0.2級的渦輪流量計,根據(jù)JJG 1037-2008《渦輪流量計檢定規(guī)程》國家標(biāo)準(zhǔn)中的測試流程在實(shí)際生產(chǎn)環(huán)境中測試。對90%、63%、36%、18%和15%總共5個流量點(diǎn)進(jìn)行測試,每個流量點(diǎn)檢定3次,共得到15組數(shù)據(jù)。每一次標(biāo)定的數(shù)據(jù)如表1所示。測試結(jié)果顯示,系統(tǒng)運(yùn)行良好,被檢表重復(fù)性在0.02%以下,基本誤差在±0.2%之間,與該被檢表前次檢定證書所給的0.2級準(zhǔn)確度等級結(jié)果一致[18]。
表1 渦輪流量計檢定結(jié)果
對于式(1),被檢流量計的平均合成相對不確定度為
(6)
式中,ur(Vsij)指的是標(biāo)準(zhǔn)裝置的不確定度。標(biāo)準(zhǔn)表的擴(kuò)展不確定度Urel(k=2)已在標(biāo)定證書上給出,為0.32%,則有
(7)
式中,ur(Nij)指的是被檢表脈沖的不確定度,假設(shè)其測量值均勻分布于可能值區(qū)間,則可如式(8)所示。
(8)
通過計算得到標(biāo)定的5個流量點(diǎn)的ur(Nij),分別為0.008%、0.013%、0.022%、0.044%和0.059%。
ur(Kij)為檢定儀表系數(shù)的不確定度,主要來源是測量重復(fù)性,如式(9)所示。
ur(Kij)=s(Kij)
(9)
根據(jù)式(6)可計算出5個流量點(diǎn)下被校表儀表系數(shù)的相對擴(kuò)展不確定度(k=2)分別為0.32%、0.32%、0.32%、0.33%與0.34%。
對于式(2),被檢流量計的平均合成相對不確定度如式(10)所示。
(10)
利用式(7)計算出ur(Vsij)為0.16%,ur(Kij)可根據(jù)式(9)計算獲得。根據(jù)式(10)可計算出5個流量點(diǎn)下被校表儀表系數(shù)相對擴(kuò)展不確定度(k=2)均為0.32%。
根據(jù)上述計算結(jié)果可知,裝置的擴(kuò)展不確定度在整個被校表流量區(qū)間內(nèi)均小于0.4%,符合JJG 643-2003《標(biāo)準(zhǔn)表法流量標(biāo)準(zhǔn)裝置》的標(biāo)定要求[19]。
本文設(shè)計了一套上位機(jī)軟件,該軟件提供了操作人員管理、標(biāo)定過程實(shí)時監(jiān)控以及標(biāo)定報表生成等功能,實(shí)現(xiàn)了標(biāo)準(zhǔn)表法氣體法流量標(biāo)準(zhǔn)裝置的標(biāo)定自動化。經(jīng)過測試,本文所設(shè)計的標(biāo)準(zhǔn)表法流量標(biāo)準(zhǔn)裝置軟件能夠?qū)I(yè)中常用的幾種流量計進(jìn)行檢定,檢驗(yàn)流量計的合格性。得益于組態(tài)軟件的擴(kuò)展性,后續(xù)還可將上位機(jī)軟件遷移至云服務(wù)器中,利用Websocket技術(shù)實(shí)現(xiàn)真正的遠(yuǎn)程標(biāo)定操作,減少標(biāo)定現(xiàn)場環(huán)境的限制。