999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2016-01-25 07:19:08周志穩馬衛國
山東科學 2015年4期

周志穩,馬衛國

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

?

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

周志穩,馬衛國

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

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

關鍵詞:Visual Basic;MATLAB;混合編程;井眼;軌道設計

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

1設計方案

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

2基于COM組件的VB與MATLAB接口實現方法

2.1系統環境要求:

(1)Mircrosoftwindow7系統或MircrosoftwindowsXP系統;

(2)MATLAB2010b;

(3)MircosoftVisualBasic6.0;

(4)MircosoftVisualStudio2008ExpressEditions。

2.2M文件轉化為DLL組件

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

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

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

2.3VB調用MATLAB

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

DimDEAstrajectory1.trajectory1

SetDE=Newtrajectory1.trajectory1

在VB程序中調用接口函數,其語法結構為:

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

在VB創建的工程中引用已經生成的DLL文件,實現VB和MATLAB接口的信息傳遞和調用(如圖2)。

3應用實例

以鉆井設計中最優先考慮的剖面類型——“直-增-穩”型二維剖面為例,進行具體的說明[13-14]。

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

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

(1)

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

(2)

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

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

3.2編寫M文件

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

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-′)%繪制穩斜井段

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

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

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

ylabel(′垂深(m)′);

gridon

axisequal

3.3VB程序的調用

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

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

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

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

4總結

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

參考文獻:

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

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

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

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

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

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

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

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

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

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

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

[12]馮旭.在VB開發環境中調用由MATLAB函數轉化的DLL[J].西北民族大學學報:自然科學版;2004, 25(2):65-67.

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

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

[15]高遠文,魯港.直增穩剖面設計問題的解析解[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

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

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

收稿日期:2014-11-09

DOI:10.3976/j.issn.1002-4026.2015.04.017

主站蜘蛛池模板: 98精品全国免费观看视频| 国产剧情国内精品原创| 亚洲人成影院在线观看| 福利姬国产精品一区在线| 国产美女久久久久不卡| 日本黄色a视频| 国产成+人+综合+亚洲欧美| 精品人妻AV区| 国产精品福利导航| AV在线天堂进入| 欧美精品三级在线| 伊人91在线| 亚洲天堂网视频| 中文字幕在线看| 色视频久久| 亚洲欧洲日韩久久狠狠爱| 在线国产欧美| 国产精品手机在线观看你懂的| 亚洲第一成人在线| 国产经典三级在线| 亚洲伊人电影| 亚洲无线视频| 无码专区国产精品第一页| 国国产a国产片免费麻豆| 亚洲a免费| 深爱婷婷激情网| 波多野结衣一二三| 婷婷亚洲天堂| 欧美视频在线不卡| 精品亚洲国产成人AV| 国产av一码二码三码无码| 高清无码手机在线观看| 丁香亚洲综合五月天婷婷| 久热这里只有精品6| 欧美日韩午夜| 91小视频版在线观看www| 伊人天堂网| 片在线无码观看| 老司机久久99久久精品播放| 免费看久久精品99| 中文字幕永久视频| 国产99热| 亚洲无码免费黄色网址| 黄色网在线免费观看| 无码一区中文字幕| 亚洲人成在线精品| 91视频精品| 国产办公室秘书无码精品| 色爽网免费视频| 日韩A级毛片一区二区三区| 亚洲精品第一在线观看视频| 欧美午夜视频| 永久免费无码成人网站| 国产91九色在线播放| 亚洲成人精品在线| 国产成人精品日本亚洲77美色| 四虎影视无码永久免费观看| 欧美日韩一区二区在线播放 | 福利小视频在线播放| 亚洲伊人电影| 日韩国产一区二区三区无码| 综合网久久| 久久一日本道色综合久久| 国产va在线观看免费| 91青青视频| 成人永久免费A∨一级在线播放| 国产永久免费视频m3u8| 免费毛片全部不收费的| 久久精品只有这里有| 中文字幕 欧美日韩| 大香网伊人久久综合网2020| 亚洲无码视频图片| 亚洲美女久久| 99视频在线精品免费观看6| 黄色网站不卡无码| 国产91特黄特色A级毛片| 国产视频一区二区在线观看 | 宅男噜噜噜66国产在线观看| 97国产在线视频| 精品一区二区三区中文字幕| 毛片基地视频| 日韩精品成人在线|