亚洲免费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| 久久少妇高潮免费观看| 久久久久久人妻无码| 国产精品无码专区av在线播放| 四虎永久在线精品免费观看地址| 午夜视频免费观看一区二区| 手机免费高清在线观看av| 风情韵味人妻hd| 国产精品福利视频一区| 亚洲综合色婷婷久久| 精品国产亚洲av高清日韩专区| 日韩视频在线观看| 亚洲国产综合精品 在线 一区| 成人无码无遮挡很H在线播放 | 国产久色在线拍揄自揄拍| 丁香婷婷激情综合俺也去| 亚洲精品久久久久久动漫| 亚洲国产成人无码电影| 久久亚洲网站中文字幕| 国内精品久久久久伊人av| 欧美喷潮久久久xxxxx| 四虎成人精品国产永久免费| 亚洲一区二区三区重口另类 | 水蜜桃在线观看一区二区国产| 99久久精品免费看国产| 人妻少妇av无码一区二区| 狠狠综合亚洲综合亚色| 国产精品自产拍在线18禁| 少妇高潮一区二区三区99| 最新国产一区二区精品久久| 在线视频一区二区在线观看| 亚洲av区,一区二区三区色婷婷| 久久久国产精品黄毛片| 国产精品亚洲А∨天堂免下载| 一区二区三区观看在线视频| 亚洲精品一区二区三区麻豆| 99精品视频在线观看免费| 中文字幕精品亚洲无线码二区| 亚洲乱码中文字幕综合久久|