亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        VB和MATLAB混合編程在井眼軌道設(shè)計上的運用

        2016-01-25 07:19:08周志穩(wěn)馬衛(wèi)國
        山東科學 2015年4期
        關(guān)鍵詞:井眼

        周志穩(wěn),馬衛(wèi)國

        (長江大學機械工程學院,湖北 荊州 434023)

        ?

        VB和MATLAB混合編程在井眼軌道設(shè)計上的運用

        周志穩(wěn),馬衛(wèi)國

        (長江大學機械工程學院,湖北 荊州 434023)

        摘要:為提高連續(xù)油管鉆井井眼軌道設(shè)計的便捷性,采用基于COM組件的VB和MATLAB混合編程方法,將繪圖的代碼進行封裝,只要即時改變參量數(shù)值,就可得出相應(yīng)的圖形,并可比較不同參數(shù)下圖形的特點。該設(shè)計實現(xiàn)了VB編寫的多個模塊調(diào)用一個MATLAB程序的功能,減少了程序編寫的工作量,提高了程序開發(fā)的效率。

        關(guān)鍵詞:Visual Basic;MATLAB;混合編程;井眼;軌道設(shè)計

        連續(xù)油管是一種小直徑柔性管柱,作為鉆井管柱在國外已經(jīng)被廣泛應(yīng)用于老井加深和開窗側(cè)鉆鉆井。連續(xù)油管鉆井更適應(yīng)于復(fù)雜結(jié)構(gòu)井和小井眼鉆井,探究其井眼軌道的設(shè)計和控制具有十分重要的指導意義。井眼軌道設(shè)計作為一種鉆井施工的參考,可以知道已鉆井眼軌道是否符合設(shè)計的要求,從而進一步指導待鉆井眼的施工,及時調(diào)整井斜角和方位角,以便準確鉆達目標點[1]。連續(xù)管井眼軌道的設(shè)計與常規(guī)鉆井一樣,可以采用解析法,軌道設(shè)計的關(guān)鍵在于根據(jù)給定的條件求出軌道的關(guān)鍵參數(shù),只要求出此參數(shù),軌道上所有參數(shù)就都可以求出[2],然后根據(jù)所求出的參數(shù)完成井眼軌道的繪制。國內(nèi)外一般使用C#語言結(jié)合OpenGL技術(shù)實現(xiàn)軌跡的繪制,但此種方法編程復(fù)雜,開發(fā)成本高。VB具有良好的可視化功能,但圖形處理和數(shù)值計算能力欠佳。MATLAB具有強大的圖形處理的能力,并且編寫簡單,編程效率高,但可視化界面編寫復(fù)雜[3]。因此,本文采用基于COM組件的VB和MATLAB混合編程方法來解決二維井眼軌道的繪制問題。

        1設(shè)計方案

        目前,運用得比較多的MATLAB和VB編程方法有:(1)動態(tài)數(shù)據(jù)交換(DynamicDataExchange,DDE)[4];(2)中間文件傳遞方式[5];(3)ActiveX技術(shù)(即Automationserver技術(shù))[6];(4)動態(tài)鏈接庫(DynamicLinkLibrary,DLL)[7];(5)MatrixVB方式[8-9];(6)COM組件技術(shù)[10]。在上述6種方法中,前3種調(diào)用過程較復(fù)雜,并且不能在脫離MATLAB的環(huán)境下運行;Mideva雖然能脫離MATLAB環(huán)境,但已經(jīng)停止發(fā)行;而MatrixVB采用解釋執(zhí)行的方式,因此執(zhí)行效率比較低,難以進行實時處理[11];COM組件不但可以脫離MATLAB環(huán)境,而且實時處理能力強,可移植性好。因此,本文將采用COM組件來實現(xiàn)VB和MATLAB的混合編程。

        2基于COM組件的VB與MATLAB接口實現(xiàn)方法

        2.1系統(tǒng)環(huán)境要求:

        (1)Mircrosoftwindow7系統(tǒng)或MircrosoftwindowsXP系統(tǒng);

        (2)MATLAB2010b;

        (3)MircosoftVisualBasic6.0;

        (4)MircosoftVisualStudio2008ExpressEditions。

        2.2M文件轉(zhuǎn)化為DLL組件

        首次進行M文件轉(zhuǎn)化DLL操作時,需要配置編譯環(huán)境[12],具體操作如下:在命令窗口輸入mbuild-setup回車,根據(jù)提示信息,選擇MicrosoftVisualC++ 2008編譯器。當窗口中出現(xiàn)Done…字樣時,表示配置成功。然后接著在命令行中輸入deploytool回車,在彈出的deploymentproject頁面中設(shè)置工程的名稱為trajectory1,將下面的目標(Target)選項設(shè)置為genericCOMcomponent(如圖1)。確定后進入deploymenttool界面,選擇工具欄AddFile為工程添加M文件,如需在未安裝MATLAB的電腦中運行,則還需依次進行如下操作:Project-setting-advance選中MCRStartupOption選項,然后進行Project-build操作,生成DLL文件,默認存放于Distrib的文件夾中,文件名為trajectory1_1_0.dll,同時生成的還有src文件夾,最后進行打包發(fā)布即可。

        圖1 Depolyment project窗口Fig.1 Depolyment project window

        圖2 引用對話框設(shè)置窗口Fig.2 Reference settings window

        2.3VB調(diào)用MATLAB

        在菜單欄的工具選項卡中選擇引用,彈出引用窗口,在引用框中找到trajectory1 1.0TypeLibrary選項,勾選后單擊確定,添加成功后還需要對組件進行聲明和初始化,其語法結(jié)構(gòu)為:

        DimDEAstrajectory1.trajectory1

        SetDE=Newtrajectory1.trajectory1

        在VB程序中調(diào)用接口函數(shù),其語法結(jié)構(gòu)為:

        CallDE.trajectory1(Rz1,Dkop1,St1,Alpha_b1)

        在VB創(chuàng)建的工程中引用已經(jīng)生成的DLL文件,實現(xiàn)VB和MATLAB接口的信息傳遞和調(diào)用(如圖2)。

        3應(yīng)用實例

        以鉆井設(shè)計中最優(yōu)先考慮的剖面類型——“直-增-穩(wěn)”型二維剖面為例,進行具體的說明[13-14]。

        3.1二維井眼軌道的設(shè)計及其求解方法

        圖3 三段式井眼軌道Fig.3 Three sections borehole trajectory

        (1)

        Rz(1-cosαb)+Dnwsinαb=St。

        (2)

        其中,Dt為靶點垂深,m;St為靶點水平位移,m。

        本文將在VB中進行計算,計算出的結(jié)果傳遞到MATLAB中進行繪圖,從而實現(xiàn)VB對MATLAB的調(diào)用,由于只要軌道的關(guān)鍵參數(shù)求出,就可對軌道圖形進行繪制,因此只要將關(guān)鍵參數(shù)作為MATLAB的函數(shù)參數(shù),編寫M文件,即可實現(xiàn)及時變參,這樣就可達到在不同條件下的不同情況中繪制軌道圖形的效果。從而本文的6種情況下的軌道圖形的繪制只需調(diào)用一個MATLAB程序,即6種情況可共用一個DLL文件,從而大大減少了程序編寫的工作量,提高了效率。

        3.2編寫M文件

        運用MATLAB接近數(shù)學表達式的自然化語言進行編程,簡單易行。

        M文件的代碼如下:

        functiontrajectory1(Rz,Dkop,St,Dmw,alpha_b,Dt)

        plot([0 0],[0,-Dkop],′r′)

        holdon%繪制直井段

        hd=pi/180;

        t=acos((Rz-St+Dmw*sin(alpha_b*hd))/Rz);

        k=t+pi;

        alpha=pi:pi/50000:k;

        x=Rz+Rz*cos(alpha);

        y=-Dkop+Rz*sin(alpha);

        plot(x,y)

        holdon%繪制圓弧井段

        x1=(St-Dmw*sin(alpha_b*hd)):0.001:St;

        y1=(x1-St)*tan(alpha_b*hd+pi/2)-Dt;

        plot(x1,y1,′g-′)%繪制穩(wěn)斜井段

        legend(′垂直段′,′造斜段′,′穩(wěn)斜段′);

        title(′三段式二維井眼軌道′);

        xlabel(′水平位移(m)′);

        ylabel(′垂深(m)′);

        gridon

        axisequal

        3.3VB程序的調(diào)用

        依照前面介紹的VB調(diào)用MATLAB的方法,對生成的DLL文件,在VB工程中進行引用,并且對COM組件進行聲明和初始化,最后實行調(diào)用。圖4為主界面部分,每個子菜單對應(yīng)一種設(shè)計工況(見上文3.1),如圖5所示。在不同參數(shù)條件下的軌道可以同時顯示在界面中(如圖6所示),并且可以將軌道的井深、井斜角和方位角輸出與實鉆的情況進行對比,從而選出最優(yōu)的井眼軌道曲線,為實踐提供參考。在與已知油井數(shù)據(jù)進行對比后,結(jié)果表明與實際情況基本相符。

        圖4 三段式井眼軌道系統(tǒng)界面Fig.4 Interface of three sections borehole trajectory

        圖5 某種條件下的工作界面Fig.5 Work interface in a certain condition

        圖6 不同設(shè)計要求下的軌道形狀的對比Fig.6  Contrast of trajectories for different  requirements

        4總結(jié)

        本文實現(xiàn)了VB調(diào)用MATLAB所生成的同一DLL組件,對不同參數(shù)條件下的軌道進行繪制,從而減少了編程的工作量,提高了程序編寫的便捷性,節(jié)約了軟件的存儲,較傳統(tǒng)的商業(yè)軟件優(yōu)勢明顯。雖然目前還不能囊括所有的井眼軌道類型,但是可以在此基礎(chǔ)上進一步進行大位移井眼軌道(如拋物線形井眼軌道、懸鏈線形井眼軌道)的設(shè)計,這也是下一步的工作方向和重點。

        參考文獻:

        [1]劉修善.定向鉆井軌道設(shè)計與軌跡計算的關(guān)鍵問題解析[J].石油鉆探技術(shù),2011,39(5):1-7.

        [2]石曉兵,喻著成,陳平.側(cè)鉆水平井、分支井井眼軌跡設(shè)計與控制理論[M].北京:石油工業(yè)出版社.2009.

        [3]鐘功祥,王仕強,呂治忠.基于VB與MATLAB混合編程在鉆井泵故障診斷中的應(yīng)用[J].價值工程,2012(3): 192-193.

        [4]謝松,周衛(wèi),李文林. 基于VB與MATLAB混合編程的數(shù)據(jù)可視化與數(shù)據(jù)挖掘軟件的研究[J]. 中國中醫(yī)藥圖書情報雜志,2014,38(2):8-11.

        [5]孟力力,楊其長.VB調(diào)用Matlab的COM組件實現(xiàn)二者混合編程[J]. 電腦開發(fā)與應(yīng)用,2008,21(6):24-26.

        [6]王 麗,遲永濱. 基于VB與Matlab的發(fā)動機外特性曲線繪制[J].小型內(nèi)燃機與摩托車,2013,42(1):38-41.

        [7]巫慶輝,龐艷偉. 基于VB與Matlab的磁化曲線實驗教學軟件的開發(fā)[J]. 渤海大學學報:自然科學版;2013,34(2):166-171.

        [8]蒙冠杰,蔡益舟,柯年杭.VB與Matlab混合編程的實用方法[J].電腦編程技巧與維護,2014(12):11~12.

        [9]孟繁娟,杜永平.Vb和Matlab混合編程方法—MatrixVB[J].計算機技術(shù)與發(fā)展,2008,18(5):76-78.

        [10]馬培勇,羅紅潤,周思柱. 基于COM組件的MATLAB和VB混編方法在機械可靠性工程中的應(yīng)用[J]. 計算機應(yīng)用與軟件,2012,29(7): 189-191.

        [11]宋廣東,劉統(tǒng)玉,王昌.基于COM組件的VB與MATLAB混合編程實現(xiàn)振動信號處理[J].山東科學,2010,23(1):32-35.

        [12]馮旭.在VB開發(fā)環(huán)境中調(diào)用由MATLAB函數(shù)轉(zhuǎn)化的DLL[J].西北民族大學學報:自然科學版;2004, 25(2):65-67.

        [13]孫騰飛,高德利,張輝.目標垂深和造斜率不確定條件下的水平井軌跡設(shè)計[J].特種油氣藏,2012,19(4):141-144.

        [14]郭鳳超,陶亮,賈曉斌.水平井鉆井管柱力學模型與軟件開發(fā)[J].石油機械,2013,41(7):28-32.

        [15]高遠文,魯港.直增穩(wěn)剖面設(shè)計問題的解析解[J].礦探工程,2010,37(1):13-15.

        ApplicationofhybridprogrammingwithVB

        andMATLABinwelltrajectorydesign

        ZHOUZhi-wen,MAWei-guo

        (SchoolofMechanicalEngineering,YangtzeUniversity,Jingzhou434023,China)

        Abstract∶To improve the convenience of coiled tube drilling trajectory design, we employ COM component based VB and MATLAB hybrid programming method and encapsulate the drawing code.It can draw the corresponding figure and compare the characteristics of different parameters figures,if only parameter value is instantaneously changed.We realize the calling of VB based multiple modules to one MATLAB program, which decreases the workload of program writing and improves software development efficiency.

        Key words∶Visual Basic;MATLAB;hybrid programming;well;trajectory design

        中圖分類號:TE24;TP311.52

        文獻標識碼:A

        文章編號:1002-4026(2015)04-0089-05

        作者簡介:周志穩(wěn)(1988-),男,碩士研究生,研究方向為先進鉆采技術(shù)。

        基金項目:國家科技重大專項(2011ZX05036-006)

        收稿日期:2014-11-09

        DOI:10.3976/j.issn.1002-4026.2015.04.017

        猜你喜歡
        井眼
        二級分支魚骨型SAGD水平井鉆井技術(shù)
        剪切滑移裂縫對井眼聲波傳播的影響
        云南化工(2021年10期)2021-12-21 07:33:46
        煤層氣多分支水平井分支井眼重入篩管完井技術(shù)
        伊拉克H 油田Sadi 油藏魚骨井井眼布置方案研究
        長慶油田儲氣庫水平井大井眼鉆井技術(shù)
        受井眼約束帶接頭管柱的縱橫彎曲分析
        人人爽久久久噜人人看| 国产精品久久一区性色a| 日本视频一区二区三区三州| 夜晚黄色福利国产精品| 国产精品亚洲а∨无码播放不卡| 99久久免费精品高清特色大片| 免费黄网站久久成人精品 | 国产一区二区三区中出| 人妻少妇精品久久久久久| 无码粉嫩虎白一线天在线观看| 日本a在线播放| 亚洲精品国产熟女久久久| 日本精品久久久久中文字幕| 18禁超污无遮挡无码免费游戏| AV无码免费不卡在线观看| 久久综合五月天啪网亚洲精品| 少妇伦子伦情品无吗| 播放灌醉水嫩大学生国内精品| 无码91 亚洲| 99久久婷婷国产一区| 国产精品vⅰdeoxxxx国产| 亚洲无毛片| 亚洲视频一区二区三区免费 | 人成综合视频在线播放| 久久中文精品无码中文字幕下载| 国产无套露脸| 国产精品亚洲在钱视频| www国产亚洲精品久久麻豆| 天天爽夜夜爽夜夜爽| 九九99久久精品午夜剧场免费| 免费av一区男人的天堂| 日本又色又爽又黄又免费网站| 人人妻人人玩人人澡人人爽| 亚洲熟女国产熟女二区三区| 亚洲天堂二区三区三州| 污污内射在线观看一区二区少妇| 91精品国产91| 高清不卡av一区二区| 亚洲中文字幕在线第二页| 国产偷国产偷高清精品| 亚洲精品国产成人久久av盗摄|