師阿香,宋 楠,黨 博,曾凡春
(1.西安石油大學(xué)光電油氣測井與檢測教育部重點實驗室,陜西西安,710065;2.勝利油田采油研究院淺海所,山東東營,257000)
基于VC++的潛油電泵井下參數(shù)可視化系統(tǒng)研究
師阿香1,宋 楠1,黨 博1,曾凡春2
(1.西安石油大學(xué)光電油氣測井與檢測教育部重點實驗室,陜西西安,710065;2.勝利油田采油研究院淺海所,山東東營,257000)
本文在描述潛油電泵井下數(shù)據(jù)通信實現(xiàn)原理的基礎(chǔ)上,通過VC++開發(fā)環(huán)境下的多線程技術(shù)來實現(xiàn)單片機(jī)與上位機(jī)之間的通信,并對采集的井下參數(shù)實時繪圖。
VC++;數(shù)據(jù)通信;多線程;實時繪圖
隨著計算機(jī)技術(shù)的不斷發(fā)展,自80年代中期至今多線程技術(shù)已相當(dāng)成熟,在操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和應(yīng)用軟件中多線程的程序設(shè)計現(xiàn)已被廣泛應(yīng)用。在很多監(jiān)測系統(tǒng)中,采用多線程技術(shù)可以使數(shù)據(jù)采集與處理并行進(jìn)行,從而提高監(jiān)測系統(tǒng)效率,因此多線程使用在潛油電泵監(jiān)測系統(tǒng)中是無可厚非的。由于潛油電泵井下需要采集的物理量有溫度,壓力,振動等,即該系統(tǒng)不但測量的參數(shù)多而且要求其測量速度快且精確度高,并且需要實時連續(xù)的數(shù)據(jù)采集,在采集的同時,還必須動態(tài)顯示信號波形,因此多線程技術(shù)成為該監(jiān)測系統(tǒng)設(shè)計不可或缺的組成。本文介紹了在Win32環(huán)境下利用 VC++多線程技術(shù),開發(fā)了一個實時性和穩(wěn)定性較強(qiáng)的潛油電泵井下參數(shù)可視化監(jiān)測系統(tǒng)。
1.1 潛油電泵井下參數(shù)的傳輸
潛油電泵試驗的實時數(shù)據(jù)采集是一個長時間數(shù)據(jù)采集的過程,系統(tǒng)進(jìn)行數(shù)據(jù)采集的同時并且在顯示設(shè)備上實時繪制出這段時間內(nèi)的信號波形。即邊采集數(shù)據(jù)邊觀測其參數(shù)的準(zhǔn)確合理性,這樣便于在試驗過程中迅速了解潛油電泵設(shè)備的運行狀況,從而及時做出相應(yīng)的判斷和決策,對井下工況的實時監(jiān)測具有重大意義。
作為單片機(jī)和潛油電泵設(shè)備的通信使者,串口將單片機(jī)發(fā)送出去的字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位,在接收數(shù)據(jù)時又將串行的位轉(zhuǎn)換為字節(jié)數(shù)據(jù)。Win32提供了相關(guān)的文件I/O函數(shù)與通信函數(shù),通過對這些函數(shù)的正確使用,并根據(jù)實際情況的要求,就可以設(shè)計出我們需要的潛油電泵設(shè)備監(jiān)測應(yīng)用程序。要使用串口進(jìn)行通信,必須在使用之前向操作系統(tǒng)提出資源申請要求即打開串口,其后進(jìn)行配置串口、讀寫串口以及關(guān)閉串口等操作。
1.2 VC++多線程通訊的實現(xiàn)
在Win32下實現(xiàn)數(shù)據(jù)交互的方法有兩種,一種是使用ActiveX控件,這種方法使得程序編寫簡單,但是靈活性欠佳。另外一種則是較為自由靈活的調(diào)用Windows的API函數(shù),這種方法可以清晰快捷的掌握串口通信的運行機(jī)制。潛油電泵監(jiān)測系統(tǒng)
串口的操作可以有同步操作和重疊操作兩種操作方式。同步操作時,API函數(shù)會出現(xiàn)阻塞現(xiàn)象直到操作完成以后才能返回(在多線程方式中,雖然不會阻塞主線程,但是仍然會阻塞監(jiān)聽線程)。然而重疊操作方式,API函數(shù)會立即返回,所有操作在后臺進(jìn)行,從而避免了線程的阻塞。
Research on the visual system of the electric submersible pump well parameters based on VC++
Shi Axiang1,Song Nan1,Dang Bo1,Zeng Fanchun2
(1.Key Laboratory of opto electronic gas logging and detection of the Ministry of education,Xi'an Shiyou University,Shaanxi Xi'an,710065; 2.Institute of shallow water in Shengli Oilfield,Shandong Dongying,257000)
This paper describes the principle of electric submersible pump downhole data communication, the development environment of VC++ multi thread technology to realize the communication between MCU and PC, to achieve the real-time drawing downhole data acquisition.
VC++; data communication; multithreading; real-time drawing
TP311
B
陜西省2012年科技統(tǒng)籌創(chuàng)新工程計劃項目,項目編號:2012KTCL01-10便運用第二種方法來實現(xiàn)與PC機(jī)的串口通信部分。