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

        ?

        C#與Matlab混合編程在EA211水泵殼體平行度檢測中的應(yīng)用

        2014-07-05 01:06:34金洋洋李居峰
        機械制造 2014年6期
        關(guān)鍵詞:程序發(fā)動機

        □ 金洋洋 □ 李居峰 □ 袁 麗

        上海大學(xué) 機電工程與自動化學(xué)院 上海 200072

        水泵是發(fā)動機冷卻系統(tǒng)的重要部件,它的作用是泵送冷卻液,使冷卻液在發(fā)動機的冷卻水道內(nèi)快速流動,以帶走工作時產(chǎn)生的熱量,保持發(fā)動機正常的工作溫度。汽車發(fā)動機使用的是離心式水泵,由殼體、葉輪、軸承、泵軸、水封以及傳動帶輪等組成。

        水泵殼體由鑄鐵或鑄鋁制成。鑄鐵殼體壁厚且質(zhì)量大,隨著對發(fā)動機輕量化要求的提高,目前只在某些商用汽車的大型發(fā)動機上還在使用鑄鐵殼體的水泵。很多鑄鐵殼體上還帶有部分水道和節(jié)溫器安裝室,這使殼體的質(zhì)量進一步增加。大多數(shù)轎車水泵采用了鑄鋁殼體,而且尺寸越來越小,很多殼體已經(jīng)不再具有水道的功能。本文所研究的大眾汽車EA211發(fā)動機冷卻系統(tǒng)的水泵殼體也是采用鑄鋁材料,在其生產(chǎn)過程中,水泵殼體上下面的平行度是一個重要指標(biāo),它直接影響到水泵整體的性能以及汽車的行車安全。水泵殼體上下面的平行度要求如圖1所示。

        1 Matlab和C#結(jié)合的思路

        當(dāng)下,Matlab已成為應(yīng)用最廣泛的科學(xué)工程計算軟件,它廣泛應(yīng)用于自動控制、數(shù)學(xué)運算、信號分析、圖象處理、財務(wù)分析等各領(lǐng)域。Matlab所使用的是一種腳本語言,是逐行解釋執(zhí)行的,程序中所有的變量都是通過mxArray來實現(xiàn)的,所以為了保證通用性,它的執(zhí)行效率非常低,在開發(fā)一些復(fù)雜算法時會發(fā)現(xiàn)程序執(zhí)行得特別慢,雖然MathWorks公司已竭力提高M腳本文件的運算速度,但到目前為止,效果仍然不能和同樣功能的可執(zhí)行程序相比。而且,M文件不能脫離Matlab的應(yīng)用程序環(huán)境,這就大大制約了程序的可移植性和通用性,因此,Matlab不適合作為通用的編程平臺,這給混合編程出了一個大難題。

        C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運行于.NETFramework之上的高級程序設(shè)計語言。它是一種安全、穩(wěn)定、簡單、優(yōu)雅的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。

        如果利用C#與Matlab接口技術(shù),一方面充分發(fā)揮Matlab的數(shù)值計算功能,并且可以不依賴它的軟件運行,另一方面在C#里做出漂亮的界面,把復(fù)雜的數(shù)據(jù)處理交給Matlab去做,這樣有助于發(fā)揮程序各自的優(yōu)點,降低開發(fā)難度,縮短編程時間,提高執(zhí)行效率?;贑#和Matlab結(jié)合優(yōu)勢的考慮,本文介紹一種C#與Matlab通過COM組件混合編程的技術(shù),并且將這種技術(shù)成功地用于平行度在線自動檢測項目。

        2 Matlab和C#混合編程的實現(xiàn)過程

        ▲圖1 EA211發(fā)動機水泵殼體的示意圖

        通過COM組件的形式進行混合編程,首先要考慮的問題是編好的程序到了工廠的電腦上能否正常運行。經(jīng)過實際操作試驗,發(fā)現(xiàn)只要拷貝一下Matlab的MCR(即 MatlabCompilerRuntime)安裝文件,然后到所要運行的電腦上安裝一下就可使用。如果電腦上安裝了Matlab,則不需要再重新安裝這個軟件。另外,不同的Matlab版本提供的MCR可能會不同,如果在另一臺電腦上自己編寫的軟件運行有問題,可能是編譯器的版本不同引起的。

        使用混合編程,首先把Matlab提供的MWARRAY類庫MWARRAY.dll添加到C#程序中。它的作用是把C#中的數(shù)組轉(zhuǎn)化為Matlab中的數(shù)組。同時需要在程序開始部分添加下面兩句話:

        using MathWorks.Matlab.NET.Arrays; using MathWorks.Matlab.NET.Utility;

        接下來需對Matlab進行編譯,然后生成.dll文件,和添加MWARRAY一樣,添加到C#引用之中,并在程序開始處添加下面一句話:

        usingmyFuti;(假設(shè)函數(shù)名為 myFuti)

        這里有一點要注意,就是Matlab中M文件里編寫的程序必須是函數(shù)格式,不然就生成不了所需要的.dll文件。如果不是函數(shù)格式,需將其轉(zhuǎn)換成函數(shù)合適之后再進行轉(zhuǎn)換。具體操作就是在程序的第一行添加:function[]=myFuti(即建立一個空函數(shù)),在程序的最后一行添加:end,這樣就將其轉(zhuǎn)成函數(shù)格式了。

        最后通過C#編程調(diào)用Matlab進行計算,實現(xiàn)混合編程的任務(wù)。

        3 Matlab和C#混合編程技術(shù)在平行度檢測中的應(yīng)用

        掌握了混合編程的技術(shù)之后,筆者打算把它應(yīng)用在近期所做的EA211水泵殼體平行度檢測項目上。在計算平行度的算法選擇中,決定使用當(dāng)今最流行的最小二乘法進行曲面擬合,即根據(jù)空間所給的n個點坐標(biāo)來擬合一個面,使各個點到這個擬合面之間的距離最小,那么這個平面就是所要求的面。從另一角度來看,就是求得一個平面方程 z=a(1)*x+a(2)*y+a(3),使各個點盡可能都是此方程的解。

        現(xiàn)在就以具體數(shù)據(jù)為例,取空間8個點,各點的空間坐標(biāo) x、y、z 如下:

        x=[2020.0520171616.0511.059.05];y=[1520231810583];

        z=[4.04664.01034.05384.01804.0119

        4.04394.03244.0360]

        利用Matlab最小二乘算法編程如下:

        A=[x′,y′,ones(size(x′))];

        a=A/z′,其中a為擬合曲面的3個未知系數(shù)。

        將 3 個系數(shù)分離下來為:a(1)=[1,0,0]a; a(2)=[0,1,0]a; a(3)=[0,0,1]a

        最后可以得到:a(1)=0.0010, a(2)=-0.0006,a(3)=4.0233

        與傳統(tǒng)的三坐標(biāo)測量的結(jié)果對比發(fā)現(xiàn),兩者的誤差非常小,說明使用該算法是切實可行的。這樣就得到了擬合曲面的方程 z=a(1)x+a(2)y+a(3),為下一步計算平行度打下了基礎(chǔ)。

        在項目方案中,筆者打算通過 “基恩士”LK-G30系列激光位移傳感器采點的方法來測EA211水泵殼體上下面的平行度。初步計劃在上平面采7個點,在下平面采8個點,采完這些點之后計算平行度。先利用下面8個點擬合一個虛擬平面,然后再計算上面7個點分別到這個擬合面的距離,取這些距離中的最大值和最小值,兩者相減即得到所求的平行度。圖2和圖3分別為水泵殼體上下面的采點情況示意圖。

        ▲圖2 上平面的采點情況

        ▲圖3 下平面的采點情況

        4 結(jié)論

        本文主要介紹了基于Matlab與C#的混合編程技術(shù),并通過EA211水泵殼體平行度檢測的案例說明了這種方法的可行性與優(yōu)越性。文中的程序結(jié)合了C#與Matlab各自的優(yōu)勢,不僅提高了工作效率,使程序員更容易開發(fā)出功能強大、界面友好的軟件,同時也提高了系統(tǒng)的運行效率與精確性。這對于實現(xiàn)系統(tǒng)的無縫集成、有效縮短軟件開發(fā)周期、優(yōu)化系統(tǒng)性能是十分有意義的。

        [1] 施杰,嚴(yán)慎.用最小條件法求解平面度誤差[J].計量技術(shù),1993(3):3-4.

        [2] 張眆.平面度誤差的最小二乘法分析[J].機械制造與研究,2002(3):17-19.

        [3] 馮俊艷,馮其波,匡萃方.高精度激光三角位移傳感器的技術(shù)現(xiàn)狀[J].應(yīng)用光學(xué),2004,25(3).

        [4] 張文選.曲臂兩臂軸線平行度誤差非接觸檢測技術(shù)研究[D].長春:長春理工大學(xué),2002.

        [5] 肖永韌,解習(xí)農(nóng),劉曉峰.VC與Matlab混合編程之dll實現(xiàn)方法[J].計算機工程與應(yīng)用,2001(13):174-176.

        猜你喜歡
        程序發(fā)動機
        2015款寶馬525Li行駛中發(fā)動機熄火
        2012年奔馳S600發(fā)動機故障燈偶爾點亮
        試論我國未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進
        新一代MTU2000發(fā)動機系列
        恐怖犯罪刑事訴訟程序的完善
        發(fā)動機的怠速停止技術(shù)i-stop
        国产精品18久久久久久首页| 18禁真人抽搐一进一出在线| 爱情岛永久地址www成人| 久久久精品国产亚洲AV蜜| 手机在线免费看av网站| 国产成人亚洲一区二区| 一区二区三区av波多野结衣| 青青草国产成人99久久| 中文字幕精品亚洲二区| 在线中文字幕一区二区| 好吊妞无缓冲视频观看| 免费av片在线观看网站| 国产对白刺激在线观看| av一区二区在线网站| 亚洲国产精品久久电影欧美| 亚洲中文久久精品无码ww16| 欧美人与动牲交片免费| 91l视频免费在线观看| 久久久久亚洲av无码专区喷水| 天码av无码一区二区三区四区 | 亚洲AV无码一区二区三区天堂网 | 精品无码av无码专区| 四虎影视在线影院在线观看| 亚洲欧美日韩国产一区二区精品| 亚洲精品综合久久国产二区 | 精品无码国产一区二区三区av| 毛片免费在线播放| 亚洲精品在线观看一区二区| 日本最新一区二区三区视频观看 | 乱色视频中文字幕在线看| 中文文精品字幕一区二区| 国产人成无码视频在线观看 | 国产精品久久一区二区蜜桃| 欧美性受xxxx黑人猛交| av蓝导航精品导航| 欧美亚洲国产精品久久久久| 亚洲国产精品中文字幕久久| 777亚洲精品乱码久久久久久| 免费一区啪啪视频| 亚洲精品视频一区二区三区四区| 亚洲av综合一区二区在线观看|