楊光,衣志強(qiáng),范志華,鐘文才,蘇成貴,于新雨,肖戟,劉洋
(吉林省農(nóng)業(yè)機(jī)械研究院,長(zhǎng)春 130022)
國(guó)內(nèi)常用的井用潛水電泵的測(cè)試系統(tǒng)多在非圖形化編程語言的基礎(chǔ)上進(jìn)行編程,近些年虛擬技術(shù)與通訊技術(shù)的快速成熟與發(fā)展,給測(cè)試工程師提供了更好的編程平臺(tái)。
本文對(duì)圖形化編程語言LabVIEW開發(fā)井用潛水電泵的測(cè)試系統(tǒng),包括信號(hào)選擇與處理、數(shù)據(jù)通訊、數(shù)據(jù)分析、曲線擬合、結(jié)果判定、報(bào)告輸出等關(guān)鍵環(huán)節(jié)進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn)。
(1)設(shè)計(jì)控制系統(tǒng)界面,要求可對(duì)井泵進(jìn)行計(jì)算機(jī)啟動(dòng)、停機(jī)、讀數(shù)、自動(dòng)互鎖測(cè)電阻與啟動(dòng)功能。
(2)讀取串口的水力性能參數(shù):流量Q、揚(yáng)程H。三相電機(jī)性能參數(shù):電壓U、電流I、功率P、轉(zhuǎn)速n、頻率f、三相電阻R。試驗(yàn)條件參數(shù):水溫T1及室溫T2。
(3)軟件編程實(shí)現(xiàn)以下功能:井用潛水電泵電氣控制,井泵各數(shù)據(jù)及儀表圖形化顯示,數(shù)據(jù)表的形成與曲線的實(shí)時(shí)繪制,井泵各數(shù)據(jù)的保存、計(jì)算與輸出。
(1)技術(shù)路線的設(shè)計(jì)圖,如圖1所示。
(2)傳感器類型的選擇。傳感器的大小決定了測(cè)量范圍,本文以測(cè)試井用潛水電泵175QJ20-54為例選擇的傳感器,如表1所示。
表1 傳感器選擇Tab.1 Sensor selection
圖1 技術(shù)路線設(shè)計(jì)Fig.1 Technical route design
(1)在“菜單編輯器”中確定測(cè)試軟件的菜單項(xiàng)目,編寫各個(gè)子菜單中的子VI并進(jìn)行調(diào)用程序,利用一個(gè)while主循環(huán)和事件(Event)結(jié)構(gòu)組成主程序,通過菜單事件的調(diào)用相應(yīng)的VI,執(zhí)行相應(yīng)的程序。如圖2所示。
圖2 井用潛水電泵菜單調(diào)用程序Fig.2 Well use of submersible pumps menu called program
(2)編寫各個(gè)子VI程序面板
VI前面板是VI程序的用戶操作界面,是VI程序的交互式輸入和輸出端口,通常使用輸入控件和顯示控件來創(chuàng)建前面板[1]。如圖3所示。
圖3 泵性能及電機(jī)負(fù)載試驗(yàn)面板Fig.3 Pump performance and motor load test panel
井用潛水電泵的測(cè)試工作有4項(xiàng):“采冷態(tài)溫度、電阻”“泵性能及電機(jī)負(fù)載試驗(yàn)”“空載試驗(yàn)”“溫升試驗(yàn)”。以“空載試驗(yàn)”為例介紹其程序結(jié)構(gòu),該結(jié)構(gòu)采用LABVIEW中的隊(duì)列狀態(tài)機(jī)的結(jié)構(gòu)模式。
隊(duì)列狀態(tài)機(jī)是把要執(zhí)行的狀態(tài)排隊(duì),然后把他們的狀態(tài)名存在列隊(duì)里,列隊(duì)里的狀態(tài)名與狀態(tài)機(jī)的各個(gè)狀態(tài)一一對(duì)應(yīng),用來控制狀態(tài)的轉(zhuǎn)換順序。執(zhí)行了的狀態(tài),其名稱會(huì)從隊(duì)列中刪除,同時(shí)根據(jù)運(yùn)行時(shí)狀態(tài)的動(dòng)作和碰到的時(shí)間,新的狀態(tài)又會(huì)被添加到隊(duì)列中[2]。
LabVIEW中的狀態(tài)機(jī)由一個(gè)while主循環(huán)和一個(gè)case結(jié)構(gòu)組成。While循環(huán)保證狀態(tài)機(jī)的連續(xù)運(yùn)行;case結(jié)構(gòu)的分支與系統(tǒng)的狀態(tài)(State)一一對(duì)應(yīng),即case結(jié)構(gòu)的分支名稱對(duì)應(yīng)狀態(tài)名稱,分支里執(zhí)行代碼的功能對(duì)應(yīng)著狀態(tài)的行為(Action);而case結(jié)構(gòu)的條件變量與系統(tǒng)的時(shí)間(Event)相對(duì)應(yīng),引發(fā)狀態(tài)的變遷以及決定狀態(tài)遷移的方向[2]。
出隊(duì)列程序有“采電阻”、“顯示”2個(gè)動(dòng)作,當(dāng)“啟動(dòng)”按鈕按下時(shí)執(zhí)行“啟機(jī)”事件程序,同時(shí)輸出“顯示”隊(duì)列,進(jìn)入顯示狀態(tài);當(dāng)按下“停機(jī)”“退出”命令時(shí)執(zhí)行相應(yīng)事件程序,同時(shí)輸出“空隊(duì)列”;當(dāng)按下“采電阻”命令時(shí),首先讀取儀表電壓命令,判斷是否退出強(qiáng)電,如退出方可輸出“采電阻”隊(duì)列。如沒有任何操作則輸出“空隊(duì)列”,等待前面板“啟動(dòng)”、“停機(jī)”等事件按鈕的變化,響應(yīng)相應(yīng)的事件程序。
(1)串口數(shù)據(jù)的接收
傳感器的信號(hào)通過儀表進(jìn)行顯示的同時(shí)采用Modbus通信協(xié)議經(jīng)過RS485接口與計(jì)算機(jī)的串口進(jìn)行通訊,數(shù)據(jù)傳輸給PC機(jī)。在Modbus RTU模式下,每一個(gè)數(shù)據(jù)幀之間的間隔至少是3.5個(gè)字符位。
PC機(jī)發(fā)送可讀寫數(shù)字量寄存器的命令:[設(shè)備地址][命令][起始寄存器地址高8位][低8位][讀取的寄存器數(shù)高8位][低8位][CRC校驗(yàn)的低8位][CRC校驗(yàn)的高8位]
通過VISA設(shè)置串口,向串口發(fā)出數(shù)據(jù)讀取命令:[01][03][01][04][00][01][C4][37]
含義如下:
A、[01]:流量顯示儀的地址。
B、[03]:讀取寄存器的命令。
C、[01]:讀取寄存器的高8位。
D、[04]:讀取寄存器的低8位。
E、[00]:寄存器數(shù)據(jù)長(zhǎng)度數(shù)高8位。
F、[01]:寄存器數(shù)據(jù)長(zhǎng)度數(shù)低8位。換算成10進(jìn)制數(shù)為1個(gè)數(shù)據(jù)量。
G、[C4][37]:CRC校驗(yàn)碼。
(2)誤碼率的產(chǎn)生與解決
誤碼率的產(chǎn)生:誤碼率=傳輸中的誤碼/所傳輸?shù)目偞a數(shù)100%。在利用串口進(jìn)行通信時(shí),誤碼要么是數(shù)據(jù)長(zhǎng)短不對(duì),要么是讀表錯(cuò)誤,為了避免此類問題的產(chǎn)生就要進(jìn)行讀表地址的判斷以及數(shù)據(jù)長(zhǎng)度的判斷。
誤碼率的解決:誤碼本身是客觀存在的,在無法進(jìn)行消除的情況下,只能避免,以電量采集為例,電量讀取的字節(jié)數(shù)應(yīng)該是55字節(jié),在判斷數(shù)據(jù)是55字節(jié)無誤后再截取其數(shù)據(jù)來源地址,并判斷是否是該表的地址?!?2”為電量表的地址。如果儀表地址也正確,那么就可以證明采集的數(shù)據(jù)是正確的,隨后就可以截取字符串中的數(shù)據(jù)并對(duì)其進(jìn)行處理。
(3)后臺(tái)數(shù)據(jù)處理與分析
對(duì)采集后試驗(yàn)數(shù)據(jù)進(jìn)行適當(dāng)計(jì)算,最終得出判定結(jié)果。計(jì)算涵蓋:電機(jī)性能與水利性能計(jì)算,按照標(biāo)準(zhǔn)“GB/T 12785潛水電泵 試驗(yàn)方法”,“GB/T 3216回轉(zhuǎn)動(dòng)力泵 水力性能驗(yàn)收與實(shí)驗(yàn)”,“GB/T 2818井用潛水異步電動(dòng)機(jī)”中的公式運(yùn)用Lab-VIEW中的計(jì)算模塊搭建計(jì)算程序。
(4)曲線擬合及結(jié)果判定
以空載測(cè)試為例,在空載測(cè)試中的電流I0與功率P0數(shù)據(jù)測(cè)量有15組,在擬合過程中選用最小二乘法,多項(xiàng)式系數(shù)選擇3,利用廣義多項(xiàng)式進(jìn)行程序擬合,將擬合前后的曲線利用數(shù)組捆綁表達(dá)在一個(gè)EXCEL圖表中(見圖4)。
圖4 空載的曲線擬合程序Fig.4 Unloaded curve fitting program
表2 測(cè)量數(shù)據(jù)比對(duì)表Tab.2 Measurement data comparison table
該系統(tǒng)測(cè)量的關(guān)鍵數(shù)據(jù)與通過認(rèn)證的水泵質(zhì)檢站的測(cè)量數(shù)據(jù)比對(duì)(見表2),其測(cè)量精度符合國(guó)家二級(jí)實(shí)驗(yàn)室的標(biāo)準(zhǔn)要求,數(shù)據(jù)的采集速度快,系統(tǒng)界面靈活直觀。對(duì)井用潛水電泵系統(tǒng)的研發(fā)與試制過程中給圖形化的測(cè)試工作提供了參考方向與案例。
[1]龍脈工作室,豈興明,周建興,等.LabVIEW8.2中文版入門與典型實(shí)例[M].北京人民郵電出版社,2008.
[2]侯伯亨,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)(修訂版)[M].西安;西安電子科技大學(xué)出版社.2003
[3]聶影,馮向軍.基于LabVIEW的狀態(tài)機(jī)模型研究[J].計(jì)算機(jī)測(cè)量與控制,2007(15):116-118.