梁華鋒,梁國(guó)偉,馬文濤,孫 斌
(中國(guó)計(jì)量學(xué)院 計(jì)量測(cè)試工程學(xué)院,浙江 杭州 310018)
油品流量測(cè)量結(jié)果表明,油品粘度變化對(duì)油流量?jī)x表的儀表特性有著顯著的影響,但是該影響程度到底如何尚未能得到很好的研究.為了深入研究粘度對(duì)油流量?jī)x表特性的影響,可變粘度油流量標(biāo)準(zhǔn)裝置的研制就成為了必然.該裝置采用帶光柵尺的活塞式體積管作為標(biāo)準(zhǔn)器,具有DN15、DN25、DN50三個(gè)口徑的試驗(yàn)管道,能夠?qū)崿F(xiàn)油品粘度在1.5~40cSt范圍內(nèi)的調(diào)節(jié),流量上限可以達(dá)到25m3/h,主要用于粘度對(duì)脈沖型油流量?jī)x表流量特性影響的試驗(yàn)研究[1,2].
對(duì)于精度等級(jí)為0.1級(jí)的流量?jī)x表,為了保證儀表系數(shù)的檢定精度,計(jì)數(shù)器的計(jì)量準(zhǔn)確度至少要達(dá)到±0.01%,也就是說(shuō)計(jì)數(shù)器的計(jì)數(shù)誤差為±1個(gè)脈沖的情況下,要達(dá)到這樣的計(jì)數(shù)精度,檢定過(guò)程中計(jì)數(shù)器采集的脈沖數(shù)至少需要10000個(gè)[3,4].但由于場(chǎng)地大小等種種原因的限制,變粘度油流量標(biāo)準(zhǔn)裝置不能加工得過(guò)大,其標(biāo)準(zhǔn)體積管的容積只有31.4L,也就是說(shuō)在25m3/h的流量下,有效檢定時(shí)間不足4.5s,采用傳統(tǒng)的計(jì)數(shù)方式無(wú)法滿足計(jì)數(shù)精度要求.
針對(duì)這一問(wèn)題,本文選擇NI公司的FPGA作為控制器,采用可以在較短的檢定時(shí)間內(nèi),用較小體積的檢定容器,實(shí)現(xiàn)計(jì)數(shù)總脈沖數(shù)小于10000仍能保證±0.01%計(jì)數(shù)精度的雙時(shí)間脈沖插值法作為計(jì)數(shù)法,設(shè)計(jì)了一套基于FPGA硬件的計(jì)時(shí)計(jì)數(shù)器,實(shí)現(xiàn)對(duì)標(biāo)準(zhǔn)體積管光柵尺和被檢表的兩路信號(hào)的脈沖計(jì)數(shù),實(shí)驗(yàn)結(jié)果表明效果良好.
雙時(shí)間法的測(cè)量原理[5]如圖1,圖中K1、K2為起始信號(hào)開(kāi)關(guān).
圖1 雙時(shí)間法計(jì)數(shù)原理Figure 1 Principle of two-time counting method
當(dāng)流量穩(wěn)定后,體積管活塞在介質(zhì)的推動(dòng)下運(yùn)行,活塞觸到K1時(shí),K1發(fā)出信號(hào)使得計(jì)數(shù)器開(kāi)始計(jì)時(shí)、計(jì)數(shù),活塞觸到K2時(shí),計(jì)數(shù)器停止計(jì)時(shí)、計(jì)數(shù).啟停時(shí)間內(nèi)的實(shí)際脈沖數(shù)可以通過(guò)式(1)計(jì)算得到.
式(1)中:N為經(jīng)雙時(shí)間法插值后的脈沖信號(hào)數(shù);N1為計(jì)數(shù)器記錄下的脈沖信號(hào)數(shù);T為檢測(cè)啟停信號(hào)間的時(shí)間間隔;T1為從K1發(fā)出信號(hào)后第一個(gè)脈沖上升沿到K2發(fā)出信號(hào)后第一個(gè)脈沖上升沿之間整脈沖周期對(duì)應(yīng)的時(shí)間間隔.
圖1中,若控制開(kāi)始信號(hào)在1位置,控制結(jié)束信號(hào)在1′位置,則是在差不多相同的控制時(shí)間T內(nèi),記錄脈沖數(shù)最少的情況.控制開(kāi)始信號(hào)到來(lái)時(shí),被檢信號(hào)的第一個(gè)脈沖上升沿剛好沒(méi)有被記到,停止信號(hào)到來(lái)后的第一個(gè)脈沖上升沿又尚未到達(dá),恰好又沒(méi)被記到,這樣在差不多相同控制時(shí)間內(nèi)幾乎少計(jì)了一個(gè)脈沖.若控制開(kāi)始信號(hào)在2位置,控制結(jié)束信號(hào)在2′位置,則是在差不多相同的控制時(shí)間T內(nèi),記錄脈沖數(shù)最多的情況.此時(shí),緊接著開(kāi)始信號(hào),被檢信號(hào)的第一個(gè)脈沖上升沿到來(lái),被記錄;最后一個(gè)脈沖上升沿剛被記錄,停止信號(hào)就到了,這樣在差不多的控制時(shí)間內(nèi)又幾乎多計(jì)了一個(gè)脈沖.
所以,在相同的計(jì)數(shù)脈沖情況下,采用傳統(tǒng)的計(jì)時(shí)方式最大會(huì)帶來(lái)一個(gè)脈沖周期的誤差,若信號(hào)的脈沖頻率較低,脈沖周期變長(zhǎng),帶來(lái)的誤差也更加明顯.
根據(jù)以上雙時(shí)間法原理,設(shè)計(jì)的計(jì)數(shù)系統(tǒng)的基本結(jié)構(gòu)如圖2.它主要由工控機(jī)、下位機(jī)、數(shù)字輸入模塊、及標(biāo)準(zhǔn)的脈沖信號(hào)發(fā)生器M1和M2組成.
圖2 計(jì)數(shù)系統(tǒng)結(jié)構(gòu)Figure 2 Sructure of counting system
下位機(jī)選擇了NI公司以FPGA作為控制核心的cRIO-9073系統(tǒng),該系統(tǒng)由帶FPGA控制器及C系列模塊兩部分組成.FPGA是一種可編程門(mén)陣列,通過(guò)編譯軟件程序,可以形成特定功能的硬件電路[6].由于變粘度油流量標(biāo)準(zhǔn)裝置的標(biāo)準(zhǔn)體積管容積很小,為保證檢定過(guò)程的計(jì)數(shù)精度,需要分別對(duì)體積管光柵尺和被檢表脈沖信號(hào)進(jìn)行雙計(jì)時(shí),也就是要求同時(shí)實(shí)現(xiàn)3路計(jì)時(shí),2路計(jì)數(shù),一般的控制器很難完成這樣的任務(wù).cRIO-9073具有32位的計(jì)數(shù)長(zhǎng)度,硬件時(shí)鐘頻率高達(dá)40MHz,且可以通過(guò)軟件編程的方式定義足夠多的計(jì)時(shí)、計(jì)數(shù)器,結(jié)合數(shù)字輸入模塊就能夠?qū)崿F(xiàn)所需計(jì)時(shí)、計(jì)數(shù)功能[7].該控制器既可以通過(guò)C系列模塊輕松實(shí)現(xiàn)各種數(shù)字、模擬量的輸入輸出,還可以通過(guò)網(wǎng)線實(shí)現(xiàn)與上位機(jī)通訊,用于顯示采集的數(shù)據(jù).
由于變粘度油流量標(biāo)準(zhǔn)裝置的機(jī)械結(jié)構(gòu)尚未完成加工,光柵尺與被檢表的脈沖信號(hào)分別通過(guò)兩臺(tái)標(biāo)準(zhǔn)脈沖信號(hào)發(fā)生器M1、M2來(lái)模擬,設(shè)定M1的信號(hào)頻率為10kHz,M2的信號(hào)頻率為40Hz.兩路脈沖信號(hào)通過(guò)數(shù)字輸入模塊NI9423實(shí)現(xiàn)與控制器的連接,控制器再通過(guò)Ethernet實(shí)現(xiàn)與工控機(jī)通訊.
計(jì)數(shù)系統(tǒng)的軟件功能通過(guò)虛擬儀器開(kāi)發(fā)平臺(tái)LabVIEW來(lái)實(shí)現(xiàn),其功能結(jié)構(gòu)如圖3所示.
圖3 程序功能結(jié)構(gòu)Figure 3 Functional structure of the program
計(jì)時(shí)器T、T標(biāo)、T被是根據(jù)控制信截取FPGA板上時(shí)鐘的一個(gè)時(shí)間段.當(dāng)開(kāi)始信號(hào)脈沖(第一個(gè)控制脈沖)到達(dá)時(shí),觸發(fā)器D1的Q端輸出高電平,計(jì)時(shí)器T的選擇結(jié)構(gòu)對(duì)應(yīng)邏輯真,立即開(kāi)始計(jì)時(shí)[8].此時(shí),觸發(fā)器D2、D3雖未立即開(kāi)始工作,但它們的D端均已變?yōu)楦唠娖?,一旦光柵尺和被檢表各自在開(kāi)始信號(hào)延后的第一個(gè)信號(hào)上升沿到來(lái)就觸發(fā)這兩個(gè)DQ觸發(fā)器的Q端輸出高電平,計(jì)時(shí)器T標(biāo)、T被就立即開(kāi)始計(jì)時(shí).當(dāng)停止信號(hào)脈沖(第二個(gè)控制脈沖)到來(lái)時(shí),觸發(fā)器D1再次被觸發(fā)而使Q端變低電平,計(jì)時(shí)器T的選擇結(jié)構(gòu)立即停止計(jì)時(shí).但D2、D3觸發(fā)器的Q端卻仍保持高電平,直到分別被光柵尺和被檢表在停止信號(hào)延后的第一個(gè)信號(hào)上升沿再次觸發(fā),才使得Q端輸出低電平,繼而使得計(jì)時(shí)器T標(biāo)、T被停止工作[9,10],計(jì)時(shí)器T、T標(biāo)、T被記錄了控制信號(hào)間的時(shí)間間隔.
FPGA的計(jì)數(shù)器與傳統(tǒng)的硬件計(jì)數(shù)器有所區(qū)別,它們采用的是軟件計(jì)數(shù)的方式.該計(jì)數(shù)器由一個(gè)三與門(mén)、一個(gè)大于號(hào)、一對(duì)移位寄存器和兩個(gè)選擇功能塊組成,用于實(shí)現(xiàn)對(duì)被測(cè)信號(hào)的上升沿進(jìn)行判斷、記錄.這里要解決的主要問(wèn)題是應(yīng)嚴(yán)格保證計(jì)數(shù)器只記錄開(kāi)始信號(hào)與結(jié)束信號(hào)之間的脈沖上升沿個(gè)數(shù)或下降沿個(gè)數(shù)(一般使用上升沿),而不受方波信號(hào)高低電平的影響.控制信號(hào)的時(shí)序邏輯如圖4.
圖4 信號(hào)時(shí)序邏輯Figure 4 Temporal logic of the signal
當(dāng)開(kāi)始信號(hào)到來(lái),在1位置,D1的Q端跳變成高電平,D2、D3的Q端還是低電平,不論被測(cè)信號(hào)此時(shí)是否為高電平,三與門(mén)的輸出端始終為低電平,大于號(hào)的右端為邏輯假,選擇結(jié)構(gòu)對(duì)應(yīng)邏輯假的操作使計(jì)數(shù)器N標(biāo)保持原來(lái)的值,初值為0.等到控制開(kāi)始信號(hào)到來(lái)后,被測(cè)信號(hào)的第一個(gè)上升沿觸發(fā)D2、D3的Q端輸出高電平,此時(shí)由于三與門(mén)的輸入端均為高電平,如位置2,它的輸出也為高電平.與移位寄存器中保存的低電平相比較,大于號(hào)輸出邏輯真,選擇結(jié)構(gòu)對(duì)應(yīng)邏輯真的操作使計(jì)數(shù)器N標(biāo)、N被加1,此后對(duì)輸入信號(hào)的每一個(gè)上升沿作加1操作.等到結(jié)束控制信號(hào)到來(lái)后,D1的Q端變?yōu)榈碗娖?,位?這個(gè)信號(hào)脈沖被記錄,而位置4的脈沖由于D1的Q端已經(jīng)處于低電平而未被記錄.計(jì)數(shù)器N標(biāo)、N被記錄的數(shù)據(jù)就是對(duì)應(yīng)控制信號(hào)的脈沖數(shù).
將記錄的數(shù)據(jù)T、T標(biāo)、N標(biāo)代入公式(1)即可得出光柵尺的插值脈沖數(shù).同理,根據(jù)T、T被、N被可以計(jì)算得到被檢表的插值脈沖數(shù).
假定標(biāo)準(zhǔn)體積管的有效檢定容積為30L,最大流量為27m3/h,最大流量下檢定時(shí)間為4s,光柵尺發(fā)出的最大脈沖頻率為50kHz,則標(biāo)準(zhǔn)體積管的流量系數(shù)K標(biāo)為6666.667L;被檢表最大流量為27m3/h,最大流量對(duì)應(yīng)的脈沖頻率為200Hz,則被檢表的儀表系數(shù)K被為26.667L.
假設(shè)標(biāo)準(zhǔn)體積管與被檢表信號(hào)完全線性,即在全流量范圍內(nèi)儀表系數(shù)為常數(shù).實(shí)驗(yàn)采用高穩(wěn)定度的信號(hào)發(fā)生器Tektronix AFG3101和Agilent 33250A分別模擬標(biāo)準(zhǔn)體積管的光柵尺脈沖信號(hào)和被檢表脈沖信號(hào).設(shè)定Tektronix AFG3101的頻率為10kHz,相當(dāng)于通過(guò)標(biāo)準(zhǔn)器的流量為5.4m3/h.在該流量下被校表的輸出頻率應(yīng)為40Hz,由Agilent 33250A模擬輸出.測(cè)量結(jié)果如表1.T表示控制信號(hào)之間的時(shí)間;N標(biāo)、T標(biāo)分別表示光柵尺脈沖數(shù)和對(duì)應(yīng)脈沖數(shù)的完整周期時(shí)間;N被、T被表示被檢表的脈沖數(shù)和對(duì)應(yīng)脈沖數(shù)的完整周期時(shí)間;F標(biāo)(N標(biāo)/T標(biāo))、F被(N被/T被)分別表示檢測(cè)得到的標(biāo)準(zhǔn)信號(hào)和被檢表信號(hào)頻率,Q被為被檢表的流量.
從表1中可見(jiàn),經(jīng)計(jì)時(shí)計(jì)數(shù)器測(cè)量得到的兩臺(tái)信號(hào)發(fā)生器的頻率非常穩(wěn)定.對(duì)于相同脈沖數(shù)的完整周期測(cè)量時(shí)間,計(jì)時(shí)誤差最多相差1μs,且啟??刂茣r(shí)間T的值與T標(biāo)、T被的值相比有比T標(biāo)、T被大的,也有比T標(biāo)、T被小的,呈隨機(jī)性分布,符合啟??刂菩盘?hào)是隨機(jī)發(fā)出的規(guī)律.鑒于上述兩點(diǎn)可以說(shuō)明硬件控制邏輯的正確性與實(shí)驗(yàn)數(shù)據(jù)的可靠性.
觀察實(shí)驗(yàn)數(shù)據(jù)可得,第11組數(shù)據(jù),被檢表在相同控制時(shí)間的情況下采用傳統(tǒng)計(jì)數(shù)方式比采用脈沖插值計(jì)數(shù)方式多計(jì)了0.49個(gè)脈沖;第14組數(shù)據(jù),被檢表在相同控制時(shí)間的情況下采用傳統(tǒng)計(jì)數(shù)方式比采用脈沖插值計(jì)數(shù)方式少計(jì)了0.57個(gè)脈沖.理論上,差不多相同控制時(shí)間內(nèi)最大計(jì)數(shù)誤差可以接近一個(gè)脈沖,但實(shí)驗(yàn)碰到這種情況的概率較小,表中被檢表計(jì)數(shù)誤差最大的是第14組數(shù)據(jù),相差0.57個(gè)脈沖.如前面的假定,標(biāo)準(zhǔn)體積管的有效檢定容積為30L,最大流量為27m3/h,光柵尺輸出的最大脈沖頻率為50kHz,標(biāo)準(zhǔn)體積管的流量系數(shù)K標(biāo)為6666.667L.對(duì)應(yīng)第14組數(shù)據(jù),算得排出的標(biāo)準(zhǔn)體積為18.959L,標(biāo)準(zhǔn)流量為5.400m3/h.在27m3/h的流量下,被檢表的脈沖頻率為200Hz,則被檢表的儀表系數(shù)K被為26.667L,對(duì)應(yīng)第14組數(shù)據(jù)計(jì)算得到未經(jīng)插值和插值后的流量分別為5.394m3/h和5.400m3/h.與標(biāo)準(zhǔn)流量相比,未經(jīng)插值的被檢表流量誤差為-0.116%,經(jīng)過(guò)插值之后被檢表流量則幾乎完全消除了誤差,說(shuō)明雙時(shí)間插值收到了明顯的效果.
這是在被檢表脈沖數(shù)為500左右的檢測(cè)結(jié)果,理論上可能產(chǎn)生最大計(jì)數(shù)誤差為±0.2%(1/500).假如被檢表信號(hào)頻率更低或檢測(cè)時(shí)間更短,記錄的脈沖數(shù)就會(huì)更少,雙時(shí)間插值的效果也將更加明顯.
表1 標(biāo)準(zhǔn)信號(hào)測(cè)試結(jié)果Table 1 Test result of standard signal
采用FPGA控制器設(shè)計(jì)的雙路雙時(shí)間脈沖計(jì)數(shù)系統(tǒng)具有較高的計(jì)數(shù)精度,成功解決了由于計(jì)數(shù)脈沖數(shù)不夠造成檢定誤差增加的問(wèn)題.該系統(tǒng)在變粘度油流量標(biāo)準(zhǔn)裝置上的應(yīng)用,可以實(shí)現(xiàn)以較小的體積管容積來(lái)獲得對(duì)被檢表較高精度的檢定,用于準(zhǔn)確分析得到粘度對(duì)脈沖型容積式流量?jī)x表特性的影響.這對(duì)研究容積式流量?jī)x表的適用環(huán)境,提高其計(jì)量精度具有重要的意義.
[1]冷 林,張吉祥.溫度對(duì)油品計(jì)量交接的影響[J].中國(guó)科技信息,2008,18:48-56.
[2]梁華鋒,梁國(guó)偉,朱 躍,等.油品混合粘度合成方法的試驗(yàn)研究[J].中國(guó)計(jì)量學(xué)院學(xué)報(bào),2010,21(3):218-221.
[3]梁國(guó)偉.脈沖型流量傳感器儀表系數(shù)準(zhǔn)確性研究[J],計(jì)量技術(shù),1998,11:26-28.
[4]國(guó)家技術(shù)監(jiān)督局.JJG 667-1997液體容積式流量計(jì)檢定規(guī)程[S].北京:中國(guó)計(jì)量出版社,1998.
[5]蘇彥勛,梁國(guó)偉,盛 健.流量計(jì)量與測(cè)試[M].北京:中國(guó)計(jì)量出版社,2007:275-277.
[6]朱 昊,劉化君,宋宇飛.FPGA在復(fù)雜開(kāi)關(guān)邏輯系統(tǒng)中的應(yīng)用研究[J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2011,24(1):152-154.
[7]陳樹(shù)學(xué),劉 萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011:568-572.
[8]閻 石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006:232-236.
[9]梁國(guó)偉.脈沖型流量傳感器檢定儀的設(shè)計(jì)和應(yīng)用[J].自動(dòng)化儀表,2003,24(8):14-16.
[10]梁國(guó)偉,趙蓓茁.雙時(shí)間法在脈沖型流量傳感器檢定中的應(yīng)用[J].中國(guó)計(jì)量學(xué)院學(xué)報(bào),2002,13(1):51-55.