摘 要: 為了滿足多用戶同時(shí)進(jìn)行空氣壓縮機(jī)性能實(shí)驗(yàn)的要求,,設(shè)計(jì)了基于數(shù)據(jù)采集單元和計(jì)算機(jī)網(wǎng)絡(luò)的實(shí)驗(yàn)測(cè)試系統(tǒng),。數(shù)據(jù)采集單元由16位微控制器MC9S12XET256和以太網(wǎng)控制器組成,測(cè)量空氣壓縮機(jī)的壓力和轉(zhuǎn)速,,接收來自網(wǎng)絡(luò)的命令并上傳數(shù)據(jù),。計(jì)算機(jī)網(wǎng)絡(luò)采用客戶機(jī)/服務(wù)器的結(jié)構(gòu),客戶機(jī)通過服務(wù)器分時(shí)共享硬件資源,。服務(wù)器負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)和客戶機(jī)的采集命令,,接收和保存客戶機(jī)的實(shí)驗(yàn)結(jié)果;客戶機(jī)負(fù)責(zé)數(shù)據(jù)的處理,,繪制示功圖并上傳實(shí)驗(yàn)結(jié)果,。實(shí)際應(yīng)用結(jié)果表明,該系統(tǒng)可以滿足多達(dá)253個(gè)用戶共同實(shí)驗(yàn),,實(shí)驗(yàn)教學(xué)的質(zhì)量和時(shí)效性大為提高,。
關(guān)鍵詞: 空氣壓縮機(jī);實(shí)驗(yàn)測(cè)試系統(tǒng),;以太網(wǎng),;多線程通信
活塞式空氣壓縮機(jī)作為一種通用設(shè)備,廣泛用于工業(yè)和民用等領(lǐng)域,,其性能一般是通過實(shí)驗(yàn)測(cè)量示功圖來評(píng)判,。示功圖是指壓縮機(jī)一個(gè)工作循環(huán)中活塞處于不同位置時(shí),氣缸內(nèi)氣體壓力變化的曲線。根據(jù)示功圖可以計(jì)算壓縮機(jī)的平均指示壓力,、指示功率,、氣缸內(nèi)的實(shí)際壓比等,進(jìn)而確定最節(jié)能的設(shè)計(jì)工況點(diǎn)[1-2],。目前實(shí)驗(yàn)室所用空氣壓縮機(jī)實(shí)驗(yàn)臺(tái)由交流電機(jī)驅(qū)動(dòng)的空氣壓縮機(jī),、計(jì)算機(jī)、打印機(jī),、求積儀等組成,,實(shí)驗(yàn)時(shí),先根據(jù)采集軟件的提示測(cè)量環(huán)境大氣壓力,,然后啟動(dòng)空氣壓縮機(jī),,在計(jì)算機(jī)上操作軟件,采集壓力數(shù)據(jù),,打印示功圖,,用求積儀測(cè)定示功圖上不同部分的面積,在圖上量出對(duì)應(yīng)線段的長(zhǎng)度,,計(jì)算各性能參數(shù),。實(shí)驗(yàn)過程耗時(shí)長(zhǎng)、過程繁瑣,、效率低,,且不能保證每個(gè)實(shí)驗(yàn)參與者獨(dú)立自主完成實(shí)驗(yàn)。
利用以太網(wǎng)作為通信網(wǎng)絡(luò),,配合基于網(wǎng)絡(luò)接口的數(shù)據(jù)采集系統(tǒng)和C/S模式運(yùn)行的后臺(tái)(服務(wù)端和客戶端)管理軟件,,用戶可以快速靈活地控制和訪問采集設(shè)備[3-4]。為此,,通過對(duì)空氣壓縮機(jī)試驗(yàn)臺(tái)進(jìn)行升級(jí)改造,,設(shè)計(jì)了基于以太網(wǎng)的實(shí)驗(yàn)測(cè)試系統(tǒng),使得一套實(shí)驗(yàn)設(shè)備可以與多臺(tái)計(jì)算機(jī)聯(lián)網(wǎng),,允許多個(gè)用戶同時(shí)獨(dú)立進(jìn)行實(shí)驗(yàn),,只需在客戶機(jī)上操作客戶端軟件,即可進(jìn)行實(shí)驗(yàn)數(shù)據(jù)的分析和計(jì)算,,從而提高實(shí)驗(yàn)教學(xué)效果,。
1 實(shí)驗(yàn)測(cè)試系統(tǒng)基本結(jié)構(gòu)
實(shí)驗(yàn)測(cè)試系統(tǒng)由數(shù)據(jù)采集單元和運(yùn)行后臺(tái)管理軟件的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)組成,如圖1所示,。數(shù)據(jù)采集單元通過單片機(jī)的輸入捕捉模塊測(cè)量空氣壓縮機(jī)的旋轉(zhuǎn)周期并計(jì)算轉(zhuǎn)速,,利用周期中斷定時(shí)器定時(shí)觸發(fā)氣缸壓力信號(hào)采樣,按照采樣周期計(jì)算采樣的轉(zhuǎn)角間隔,,并將采集到的數(shù)據(jù)通過以太網(wǎng)傳輸?shù)桨惭b服務(wù)端軟件的計(jì)算機(jī)(服務(wù)器)上。服務(wù)器負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)采集命令、采集數(shù)據(jù)和接收客戶機(jī)上傳的實(shí)驗(yàn)結(jié)果,??蛻魴C(jī)作為人機(jī)交互設(shè)備,負(fù)責(zé)數(shù)據(jù)采集命令的發(fā)布,、數(shù)據(jù)的處理和分析,、繪制示功圖以及上傳實(shí)驗(yàn)結(jié)果。
2 數(shù)據(jù)采集單元硬件設(shè)計(jì)
2.1 主控制器模塊
數(shù)據(jù)采集單元的核心采用Freesacle的MC9S12XET256單片機(jī),,該芯片集成有12位分辨率的高速A/D轉(zhuǎn)換模塊,、增強(qiáng)型定時(shí)器(ECT)模塊和大容量的RAM。采用片上A/D模塊和ECT的輸入捕捉模塊可使系統(tǒng)硬件結(jié)構(gòu)緊湊,,提高可靠性,。以太網(wǎng)通信采用RTL8019AS以太網(wǎng)控制器,全雙工峰值通信速率可達(dá)10 Mbit/s,。
2.2 壓力信號(hào)測(cè)量電路
壓縮機(jī)氣缸壓力測(cè)量電路如圖2所示,。來自壓力變送器的信號(hào)通過一階低通濾波器進(jìn)行濾波,并經(jīng)過一個(gè)電壓跟隨器和限幅電路后,,由單片機(jī)的A/D模塊轉(zhuǎn)換為數(shù)字信號(hào),。電壓跟隨器用于緩沖、隔離,,提高帶載能力和阻抗匹配,。限幅電路的作用是將信號(hào)的幅值限制在0~5 V,保護(hù)A/D轉(zhuǎn)換模塊,。
2.3 壓縮機(jī)轉(zhuǎn)速測(cè)量電路
壓縮機(jī)的飛輪邊緣上安裝有一個(gè)磁鋼,,磁電轉(zhuǎn)速傳感器固定在壓縮機(jī)的機(jī)身上,每轉(zhuǎn)產(chǎn)生一個(gè)轉(zhuǎn)速脈沖,。傳感器的輸出信號(hào)通過整形電路變換成0~5 V方波,,由單片機(jī)的輸入捕捉模塊測(cè)量轉(zhuǎn)速。信號(hào)調(diào)理電路如圖3所示,。
3 數(shù)據(jù)采集單元軟件設(shè)計(jì)
數(shù)據(jù)采集采用定時(shí)方式,,根據(jù)壓縮機(jī)的最高轉(zhuǎn)速和角度分辨率(0.25° CA)要求,確定采樣周期為30 μs,。利用單片機(jī)內(nèi)的周期中斷定時(shí)器使其每隔30 μs產(chǎn)生一次中斷,,在定時(shí)器中斷服務(wù)程序中觸發(fā)一次A/D轉(zhuǎn)換,相鄰兩個(gè)采樣點(diǎn)對(duì)應(yīng)的角度α為:
α=6·n·T(1)
其中,,n為轉(zhuǎn)速(r/min),,T為采樣周期(s)。
數(shù)據(jù)采集流程如圖4所示,。當(dāng)數(shù)據(jù)采集單元收到來自服務(wù)器的采集命令時(shí),,使能單片機(jī)的輸入捕捉模塊,,并將記錄轉(zhuǎn)速脈沖的變量n賦值為0。當(dāng)捕捉到壓縮機(jī)轉(zhuǎn)速脈沖信號(hào)后,,將變量n賦值為1,,同時(shí)記錄該脈沖的時(shí)刻,并使能定時(shí)器,,定時(shí)器周期性觸發(fā)A/D采集,。當(dāng)輸入捕捉模塊捕捉到下一個(gè)轉(zhuǎn)速脈沖信號(hào),表明壓縮機(jī)曲軸已經(jīng)轉(zhuǎn)過一圈,,一個(gè)循環(huán)的數(shù)據(jù)采集已經(jīng)完成,,于是,結(jié)束采集任務(wù)并記錄第二個(gè)轉(zhuǎn)速脈沖發(fā)生的時(shí)刻,,把測(cè)量數(shù)據(jù)臨時(shí)保存在單片機(jī)的RAM中,,并觸發(fā)數(shù)據(jù)傳送任務(wù),將數(shù)據(jù)傳送到服務(wù)器,。
4 后臺(tái)管理軟件
后臺(tái)管理軟件是一個(gè)基于UDP協(xié)議,,以C/S模式運(yùn)行的網(wǎng)絡(luò)應(yīng)用程序,分為服務(wù)端軟件和客戶端軟件,,采用面向?qū)ο罂梢暬木幊汰h(huán)境Visual Basic.NET 2010開發(fā),。
4.1 服務(wù)端軟件
服務(wù)端軟件啟動(dòng)后,將調(diào)用My.Settings訪問用戶和應(yīng)用程序級(jí)設(shè)置[5],,初始化配置參數(shù),。當(dāng)用戶啟動(dòng)通信后,服務(wù)端軟件將創(chuàng)建6個(gè)Socket的UDP對(duì)象,,其中3個(gè)UDP對(duì)象用于發(fā)送命令和數(shù)據(jù),;另外3個(gè)UDP對(duì)象用于創(chuàng)建監(jiān)聽不同端口的線程,分別監(jiān)聽8000,、8001,、8002端口,分別對(duì)應(yīng)前臺(tái)數(shù)據(jù)接收端口,、客戶機(jī)采集命令接收端口和客戶機(jī)實(shí)驗(yàn)結(jié)果接收端口,。建立UDP對(duì)象和線程,服務(wù)器將等待客戶端發(fā)送采集命令,。當(dāng)UDP的監(jiān)聽線程監(jiān)聽的端口出現(xiàn)數(shù)據(jù)時(shí),,UDP線程通過自定義類的事件代理,觸發(fā)接收數(shù)據(jù)和協(xié)議解析事件[6],。當(dāng)服務(wù)端發(fā)送命令和數(shù)據(jù)時(shí),,會(huì)把目的IP地址和數(shù)據(jù)寫入到其中一個(gè)UDP對(duì)象中,并創(chuàng)建一個(gè)臨時(shí)線程,,把數(shù)據(jù)發(fā)送到指定的IP地址上,。數(shù)據(jù)發(fā)送完成后撤銷臨時(shí)線程,,釋放硬件資源。
當(dāng)服務(wù)器的8001端口出現(xiàn)數(shù)據(jù),,服務(wù)端將記錄客戶機(jī)發(fā)送數(shù)據(jù)的源IP地址,,并把收到的數(shù)據(jù)轉(zhuǎn)發(fā)到數(shù)據(jù)采集單元中,,啟動(dòng)數(shù)據(jù)采集,。當(dāng)服務(wù)器收到數(shù)據(jù)后,立即把數(shù)據(jù)組包轉(zhuǎn)發(fā)到提出請(qǐng)求的IP地址客戶機(jī)上,,從而減少數(shù)據(jù)采集單元的通信負(fù)擔(dān),。數(shù)據(jù)采集單元只響應(yīng)服務(wù)器的命令請(qǐng)求和發(fā)送數(shù)據(jù),所有命令和數(shù)據(jù)均由服務(wù)器轉(zhuǎn)發(fā),。
如圖5所示,,當(dāng)服務(wù)器收到多個(gè)客戶機(jī)發(fā)出數(shù)據(jù)采集請(qǐng)求時(shí),服務(wù)端把多臺(tái)客戶機(jī)的IP地址和請(qǐng)求命令保存到地址數(shù)組中,,并使請(qǐng)求地址指針Pt1指向最新寫入的地址,,檢查采集標(biāo)志CFlag是否為0,若為0,,則啟動(dòng)地址比較定時(shí)器ADT1,。ADT1事件中將比較請(qǐng)求地址指針Pt1和應(yīng)答地址指針Pt2是否一致,當(dāng)Pt2<Pt1時(shí),,說明服務(wù)端有未應(yīng)答的請(qǐng)求,,將提取Pt2指向的IP地址和采集命令,然后將Pt2指向下一個(gè)地址,,關(guān)閉定時(shí)器ADT1并把CFlag置為1,,把采集命令發(fā)送到采集單元,等待接收數(shù)據(jù),。當(dāng)采集到的數(shù)據(jù)接收并組包完成后,,把數(shù)據(jù)發(fā)送到提取的IP地址的客戶機(jī),并打開定時(shí)器ADT1,,從而完成一個(gè)客戶機(jī)的請(qǐng)求響應(yīng),。服務(wù)端將繼續(xù)等待一個(gè)定時(shí)器ADT1事件,當(dāng)Pt2=Pt1時(shí),,軟件把CFlag置為0,,關(guān)閉定時(shí)器ADT1。
服務(wù)器的8002端口收到數(shù)據(jù)時(shí),,說明有客戶機(jī)在上傳實(shí)驗(yàn)結(jié)果,,服務(wù)端收到數(shù)據(jù)協(xié)議包后,提取用戶信息,、實(shí)驗(yàn)報(bào)告和分包個(gè)數(shù),,然后等待接收分包的數(shù)據(jù),,直到接收的分包數(shù)據(jù)個(gè)數(shù)與數(shù)據(jù)協(xié)議包中的個(gè)數(shù)相等時(shí),再根據(jù)數(shù)據(jù)包的編號(hào)進(jìn)行組包處理,,還原示功圖數(shù)據(jù)并保存至服務(wù)器,。
4.2 客戶端軟件
客戶端軟件安裝在客戶機(jī)上,是壓縮機(jī)性能實(shí)驗(yàn)人機(jī)交互的關(guān)鍵部分,??蛻舳税l(fā)送采集命令后,將會(huì)收到服務(wù)端返回的數(shù)據(jù),,客戶端軟件負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行處理和繪制示功圖,,提交實(shí)驗(yàn)結(jié)果[7]。
4.2.1 數(shù)字濾波處理
數(shù)據(jù)采集模塊采集到的數(shù)據(jù)可能包含一些干擾,,為此采用滑動(dòng)平均數(shù)字濾波對(duì)數(shù)據(jù)處理,,如式(2)所示。該算法較為簡(jiǎn)單,,對(duì)于抑制隨機(jī)噪聲并保留陡峭邊沿非常有效,。
其中,Pi和Vi分別是第i個(gè)采樣點(diǎn)對(duì)應(yīng)的氣缸壓力和工作容積,。
客戶端軟件對(duì)壓力數(shù)據(jù)濾波和計(jì)算處理后,,繪制的P-α和P-V示功圖如圖6所示。
4.2.3 實(shí)驗(yàn)結(jié)果的生成和上傳
客戶端完成數(shù)據(jù)采集后,,用戶根據(jù)軟件繪出的示功圖分析容積效率和多變指數(shù)因數(shù),。客戶端軟件隨后自動(dòng)生成一個(gè)數(shù)據(jù)協(xié)議包和若干個(gè)分包數(shù)據(jù),。數(shù)據(jù)協(xié)議包包含用戶信息,、實(shí)驗(yàn)報(bào)告內(nèi)容和示功圖數(shù)據(jù)分包的個(gè)數(shù)。每個(gè)分包數(shù)據(jù)包大小為30 KB,,根據(jù)示功圖截圖的數(shù)據(jù)生成,,其編號(hào)用于服務(wù)端組包??蛻舳税l(fā)送數(shù)據(jù)時(shí),,先發(fā)送數(shù)據(jù)協(xié)議包,再發(fā)送分包數(shù)據(jù),。服務(wù)端軟件收到數(shù)據(jù)協(xié)議包和分包數(shù)據(jù)后,,進(jìn)行組包處理。
通過對(duì)空氣壓縮機(jī)試驗(yàn)臺(tái)進(jìn)行升級(jí)改造,,利用MC9S12XET256單片機(jī)設(shè)計(jì)了數(shù)據(jù)采集單元,,采用Visual Basic.NET開發(fā)了基于以太網(wǎng)的后臺(tái)(服務(wù)端和客戶端)管理軟件。該管理軟件具有以下優(yōu)點(diǎn):
?。?)利用MC9S12XET256的輸入捕捉模塊測(cè)量轉(zhuǎn)速,,采用單片機(jī)內(nèi)置的周期中斷定時(shí)器和A/D模塊采集壓力數(shù)據(jù),,采樣轉(zhuǎn)角間隔可達(dá)0.25° CA。
?。?)利用多線程和UDP協(xié)議,,實(shí)現(xiàn)數(shù)據(jù)采集、實(shí)驗(yàn)結(jié)果的發(fā)送和接收,??蛻舳死没瑒?dòng)平均濾波對(duì)采集數(shù)據(jù)進(jìn)行處理,繪出P-α和P-V示功圖,。
?。?)大批量,、多人次的使用表明,,該系統(tǒng)完全滿足多達(dá)253個(gè)用戶同時(shí)實(shí)驗(yàn),操作方便,,提高了實(shí)驗(yàn)效率,;實(shí)驗(yàn)結(jié)果保存在服務(wù)器中,便于管理,;每個(gè)用戶獨(dú)立完成實(shí)驗(yàn),,提高了實(shí)驗(yàn)教學(xué)效果。
參考文獻(xiàn)
[1] Xie Mujun,,Liu Jian.Design and simulation of air compres-sor performance controller[C].International Conference on Computer, Mechatronics, Control and Electronic Engineering(CMCE),,Changchun,China,,2010,,3:504-506.
[2] 楊紅,胡家順,,修吉平.基于PC的壓縮機(jī)示功圖測(cè)試,、分析系統(tǒng)[J].壓縮機(jī)技術(shù),2003(3):14-16.
[3] AHMED I,,Wong Hong,,SAPILA V.Internet-based remote control using a microcontroller and an embedded Ethemet[C].Proceedings of the 2004 American Control Conference,Boston,,2004,,2:1329-1344.
[4] 朱安邦,黃君良.基于網(wǎng)絡(luò)的多臺(tái)空氣壓縮機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)[J].東華大學(xué)學(xué)報(bào)(自然科學(xué)版),,2005,,31(2):41-46.
[5] 薛梅,鞏艷華,,李洪國(guó),,等.Visual Basic.NET程序設(shè)計(jì)基礎(chǔ)[M].北京:高等教育出版社,,2013.
[6] 馬玉春,劉杰民,,王鑫.Visual Basic .NET案例教程[M].北京:機(jī)械工業(yè)出版社,,2009.
[7] 杜樹旺,方志民,,王文明,,等.基于PC的改進(jìn)型活塞式壓縮機(jī)性能檢測(cè)系統(tǒng)[J].浙江工業(yè)大學(xué)學(xué)報(bào),2005,,33(4):421-424.
[8] 楊偉新,,張曉森.基于DSP的空氣壓縮機(jī)示功圖測(cè)試系統(tǒng)設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置,2011(4):38-40.