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

        ?

        基于混合編程的四坐標(biāo)測量儀誤差補(bǔ)償軟件開發(fā)

        2013-03-25 06:35:10王一璋何小妹
        機(jī)械工程師 2013年1期
        關(guān)鍵詞:數(shù)據(jù)庫測量方法

        王一璋, 何小妹

        (中航工業(yè)北京長城計(jì)量測試技術(shù)研究所,北京100095)

        1 引言

        對回轉(zhuǎn)體類零件的測量和評價(jià),涉及直徑、圓度、圓跳動(dòng)、平面度、垂直度和直線度等多個(gè)尺寸參數(shù)和形位參數(shù),坐標(biāo)測量機(jī)測量是應(yīng)用最為廣泛的一種方法[1]。為滿足對回轉(zhuǎn)體類零件高精度、高效率的校準(zhǔn)需求,課題組研制了一套四坐標(biāo)綜合測量儀樣機(jī)。測量儀在測量中必然會(huì)產(chǎn)生一定的誤差,利用誤差建模補(bǔ)償技術(shù),能夠在資金和技術(shù)相對有限的情況下有效地提高整體測量精度。

        四坐標(biāo)綜合測量儀樣機(jī)使用了RationalDMIS坐標(biāo)測量軟件,但該軟件只支持直線運(yùn)動(dòng)21項(xiàng)誤差的補(bǔ)償,不提供四軸補(bǔ)償?shù)墓δ?。同其它商業(yè)軟件一樣,其內(nèi)部算法不公開,也沒有提供對其誤差模型進(jìn)行修改的可能性。因此,本文依據(jù)四坐標(biāo)綜合測量儀空間誤差模型,基于VB.NET平臺,構(gòu)造合適的算法,結(jié)合MATLAB、Access和坐標(biāo)測量軟件二次開發(fā)接口編程,開發(fā)了誤差仿真分析應(yīng)用軟件,實(shí)現(xiàn)對測量數(shù)據(jù)進(jìn)行補(bǔ)償處理的功能。

        2 軟件開發(fā)平臺的選擇與混合編程的交互訪問技術(shù)

        編寫四坐標(biāo)綜合測量儀誤差仿真分析應(yīng)用軟件,涉及到多項(xiàng)數(shù)值計(jì)算方法。如果完全采用C++或C#等高級語言,需要開發(fā)人員具有相當(dāng)高的算法和編程水平,而且費(fèi)時(shí)費(fèi)力。為了提高開發(fā)效率,綜合利用多種開發(fā)工具的優(yōu)勢,采用接口編程技術(shù),而RationalDMIS軟件自身也帶有供VB和VC進(jìn)行二次開發(fā)的部分功能。

        MATLAB擁有強(qiáng)大的科學(xué)運(yùn)算能力、簡潔的程序設(shè)計(jì)理念、便捷的開發(fā)接口等優(yōu)勢,在科學(xué)計(jì)算和模擬仿真等方面應(yīng)用廣泛。基于它的這些優(yōu)點(diǎn),在仿真程序的算法開發(fā)中選擇了MATLAB作為開發(fā)工具。VB.NET在圖形界面開發(fā)等方面功能強(qiáng)大,可以對Access數(shù)據(jù)庫進(jìn)行查詢、修改、添加和刪除等操作,但在數(shù)值計(jì)算和圖形繪制等方面并不易用。由于仿真程序需要進(jìn)行大量的計(jì)算,并且初始誤差數(shù)據(jù)需要分別設(shè)置,通過調(diào)用Access的數(shù)據(jù)庫引擎可以方便地對數(shù)據(jù)庫里的誤差數(shù)據(jù)進(jìn)行檢索、更新等各種管理。

        因此,在誤差仿真分析軟件開發(fā)中,采用VB.NET進(jìn)行程序界面設(shè)計(jì)和功能模塊開發(fā),MATLAB進(jìn)行核心算法的編寫,Access進(jìn)行數(shù)據(jù)的保存和管理,同時(shí)利用RationalDMIS的測量功能。通過混合編程,實(shí)現(xiàn)軟件與用戶的外在交互,隱藏其相互之間的內(nèi)在調(diào)用,從而提高了軟件的易用性。

        3 混合編程的基本方法

        3.1 VB.NET對MATLAB的調(diào)用方法

        VB.NET與MATLAB混合編程通??梢允褂肅OM組件、DDE動(dòng)態(tài)數(shù)據(jù)交換、MatrixVB插件和ActiveX技術(shù)等方法,它們的適用程度和范圍均不同[2]。其中,ActiveX技術(shù)是Microsoft公司提供的一種用于模塊集成的協(xié)議,它允許應(yīng)用程序或組件控制另一個(gè)應(yīng)用程序或組件的運(yùn)行。VB.NET和MATLAB均支持ActiveX自動(dòng)化控制端協(xié)議和服務(wù)器端協(xié)議,這樣通過ActiveX協(xié)議就可以相互調(diào)用和控制,即實(shí)現(xiàn)混合編程過程[3]。RationalDMIS對VB所支持的開發(fā)方式也使用了ActiveX技術(shù),因此在編程中采用這種方法,靈活性較好,適合隨時(shí)對算法進(jìn)行修改與調(diào)試。

        使用ActiveX方法的步驟是:首先在VB.NET應(yīng)用程序中創(chuàng)建MATLAB的ActiveX對象,然后通過各種方法和函數(shù)實(shí)現(xiàn)對MATLAB的調(diào)用。該方法的使用過程如下:

        步驟1:啟動(dòng)MATLAB的自動(dòng)化服務(wù)。使用創(chuàng)建對象的方法,在程序中加入“MATLAB=CreateObject("MATLAB.Application")”。

        步驟2:利用MATLAB對象的各種方法和函數(shù),在VB.NET與MATLAB的自動(dòng)化服務(wù)器端進(jìn)行命令和數(shù)據(jù)的傳遞。表1給出了這些方法和函數(shù)的詳細(xì)功能。

        表1 VB.NET訪問MATLAB的各種方法和功能

        通過上述方法即可在VB.NET中對MATLAB進(jìn)行調(diào)用和控制。在混合編程過程中,由于MATLAB和VB.NET中數(shù)據(jù)傳遞不正確引起的錯(cuò)誤較多。這是因?yàn)镸ATLAB和VB.NET的參數(shù)傳遞形式以及數(shù)據(jù)類型不一樣,而且MATLAB中使用了大量矩陣數(shù)組運(yùn)算,因此必須注意不同數(shù)據(jù)類型的轉(zhuǎn)換和調(diào)用。VB.NET接受MATLAB數(shù)據(jù)的變量,一般均為Object對象類型。

        表2 VB.NET中訪問RationalDMIS對象的常用方法及功能

        3.2 VB.NET調(diào)用RationalDMIS的方法

        與前文所述的調(diào)用MATLAB方法類似,在程序中需要首先創(chuàng)建被調(diào)用的對象,加入“NeptunePublic=CreateObject("Neptune.KNeptunePublic")”語句之后,就可以使用該對象的各種方法與RationalDMIS軟件之間進(jìn)行命令和數(shù)據(jù)的傳遞。表2列出了一些常用方法的功能。

        3.3 VB.NET訪問Access數(shù)據(jù)庫的方法

        數(shù)據(jù)庫的構(gòu)建是整個(gè)系統(tǒng)軟件的基礎(chǔ),應(yīng)具有較高的可靠性、條理性和較低的冗余性。選用Microsoft Access 2007作為數(shù)據(jù)庫管理系統(tǒng)。通過操作ADO.NET連接數(shù)據(jù)庫,并完成數(shù)據(jù)整理、編輯和分析等功能。

        VB.NET提供了數(shù)據(jù)向?qū)в糜谶B接數(shù)據(jù)庫,其數(shù)據(jù)庫應(yīng)用的主要方法是ADO.NET,提供了訪問、搜索、更新、管理數(shù)據(jù)庫的類庫。ADO.NET的兩個(gè)主要組件是數(shù)據(jù)提供程序和DataSet,數(shù)據(jù)提供程序用于連接、讀取和管理數(shù)據(jù)庫,將所需數(shù)據(jù)保存在DataSet中,之后斷開與數(shù)據(jù)庫的連接進(jìn)行脫機(jī)處理,以供其他客戶端訪問數(shù)據(jù)庫[4]。

        4 誤差補(bǔ)償程序開發(fā)設(shè)計(jì)

        利用上述技術(shù),進(jìn)行了四坐標(biāo)綜合測量儀誤差仿真分析應(yīng)用軟件的開發(fā)。該軟件目前主要具備三項(xiàng)功能:(1)實(shí)現(xiàn)了對單軸誤差的仿真計(jì)算和分析,(2)對空間綜合誤差的仿真分析和處理,(3)加入四軸補(bǔ)償功能,從而完善了RationalDMIS的幾何誤差補(bǔ)償功能,并提供了綜合精度測試分析。

        4.1 軟件模塊分析及流程圖

        軟件開發(fā)過程大致分為5個(gè)步驟。首先是進(jìn)行功能分析,然后根據(jù)功能進(jìn)行VB界面設(shè)計(jì),編寫誤差模型的MATLAB算法和調(diào)用RationalDMIS的控制命令,最后上機(jī)進(jìn)行調(diào)試。流程如圖1所示。

        圖1 軟件開發(fā)流程

        混合編程中各部件的相互關(guān)系結(jié)構(gòu)如圖 2所示,VB.NET平臺是其中的核心,直接面向用戶。

        軟件中誤差補(bǔ)償?shù)挠?jì)算流程為:首先在數(shù)據(jù)庫中錄入四坐標(biāo)綜合測量儀的各項(xiàng)系統(tǒng)誤差,對單項(xiàng)誤差數(shù)據(jù)進(jìn)行插值計(jì)算,最后基于已知的理論基礎(chǔ)進(jìn)行補(bǔ)償。

        圖2 軟件結(jié)構(gòu)

        4.2 軟件界面及功能設(shè)計(jì)

        (1)單軸誤差仿真計(jì)算

        圖3所示為單軸誤差仿真計(jì)算界面,其主要包括誤差數(shù)據(jù)導(dǎo)入、曲線擬合、插值點(diǎn)計(jì)算、仿真數(shù)據(jù)生成和數(shù)據(jù)圖形顯示區(qū)域六部分。通過輸入坐標(biāo)點(diǎn)數(shù)據(jù),可以進(jìn)行單軸測量補(bǔ)償?shù)姆抡嬗?jì)算。

        圖3 單軸誤差仿真計(jì)算

        圖4 四坐標(biāo)綜合測量儀回轉(zhuǎn)工作臺試驗(yàn)驗(yàn)證程序

        (2)空間綜合試驗(yàn)驗(yàn)證程序

        圖4為根據(jù)ISO10360標(biāo)準(zhǔn)和JJF1064-2010規(guī)范中相關(guān)內(nèi)容編寫的四坐標(biāo)綜合測量儀空間綜合試驗(yàn)驗(yàn)證程序界面[5]。試驗(yàn)驗(yàn)證程序?qū)崿F(xiàn)了機(jī)器坐標(biāo)系與回轉(zhuǎn)工作臺坐標(biāo)系在進(jìn)行誤差補(bǔ)償時(shí)的換算,能夠充分利用原有測量軟件來完成試驗(yàn)。

        軟件首先從RationalDMIS中獲取測量得到的兩個(gè)標(biāo)準(zhǔn)球的球心坐標(biāo)值,根據(jù)該坐標(biāo)值和回轉(zhuǎn)角度進(jìn)行四軸空間誤差補(bǔ)償計(jì)算。之后,根據(jù)回轉(zhuǎn)中心坐標(biāo)、標(biāo)準(zhǔn)球回轉(zhuǎn)半徑和轉(zhuǎn)角,將原始坐標(biāo)換算到回轉(zhuǎn)工作臺坐標(biāo)系下。與軟件計(jì)算出的該次轉(zhuǎn)動(dòng)的理論坐標(biāo)值差分后,再將得到的X、Y值沿徑向和軸向分解、合成,最終得到規(guī)范中要求的徑向和軸向坐標(biāo)數(shù)據(jù),并顯示在右側(cè)的文本框中。

        5 誤差仿真計(jì)算分析

        為了驗(yàn)證所建空間誤差模型的可行性,運(yùn)用所開發(fā)的誤差仿真分析應(yīng)用軟件平臺,對空間測量誤差補(bǔ)償過程進(jìn)行仿真驗(yàn)證。仿真所研制的四坐標(biāo)綜合測量儀進(jìn)行測量,工作空間范圍600mm×300mm×600mm。

        首先在Access數(shù)據(jù)庫中錄入四坐標(biāo)綜合測量儀的29項(xiàng)系統(tǒng)誤差,仿真測量測量空間內(nèi)的四條空間體對角線,然后對測量數(shù)據(jù)進(jìn)行分析、誤差分離,最后生成補(bǔ)償文件并補(bǔ)償誤差。

        仿真測量完成后,對裝置空間體對角線的仿真數(shù)據(jù)進(jìn)行分析。從圖5和圖6中可以看到,對角線方向的最大絕對誤差從86.2μm減小到8.8μm,補(bǔ)償后誤差相對減少了89.8%。根據(jù)補(bǔ)償前后數(shù)據(jù)分析,可以基本驗(yàn)證誤差模型和計(jì)算方法的正確性。

        圖5 補(bǔ)償前的空間體對角線誤差

        圖6 補(bǔ)償后的空間體對角線誤差

        6 結(jié)語

        本文充分利用不同軟件的優(yōu)勢所在,采用VB.NET、MATLAB、Access等多種軟件混合編程的模式,開發(fā)了四坐標(biāo)綜合測量儀誤差仿真分析應(yīng)用軟件。通過對軟件模塊及功能進(jìn)行系統(tǒng)分析,合理設(shè)計(jì)軟件流程及軟件界面,然后編寫和調(diào)試代碼,完成了整個(gè)軟件的開發(fā)。最后,對空間測量過程進(jìn)行了仿真分析。利用所開發(fā)的軟件平臺進(jìn)行仿真分析,減少了時(shí)間成本和經(jīng)濟(jì)成本,為進(jìn)行試驗(yàn)驗(yàn)證分析奠定了基礎(chǔ)。

        [1] 楊仁平,張國雄,劉書桂,等.回轉(zhuǎn)曲面測量技術(shù)[J].天津大學(xué)學(xué)報(bào),2005,38(5):385-390.

        [2] 歐金成,林德杰,彭備戰(zhàn).通過VB調(diào)用MATLAB實(shí)現(xiàn)圖形和界面的結(jié)合[J].計(jì)算機(jī)工程與設(shè)計(jì),2002,23(12):64-66.

        [3] 陳振強(qiáng).基于混合編程的大壩安全監(jiān)測評價(jià)系統(tǒng)研究[D].鄭州:鄭州大學(xué),2009.

        [4] WILLIS T.VB.NET數(shù)據(jù)庫入門經(jīng)典[M].北京:清華大學(xué)出版社,2006.

        [5] JJG1064-2010,坐標(biāo)測量機(jī)校準(zhǔn)規(guī)范[S].

        猜你喜歡
        數(shù)據(jù)庫測量方法
        把握四個(gè)“三” 測量變簡單
        滑動(dòng)摩擦力的測量和計(jì)算
        滑動(dòng)摩擦力的測量與計(jì)算
        數(shù)據(jù)庫
        可能是方法不對
        數(shù)據(jù)庫
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        測量
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        国产一区二区三区不卡在线观看 | 极品av在线播放| 一区二区三区黄色一级片| 色视频网站一区二区三区| 日韩精品久久久肉伦网站| 91制服丝袜| 国内精品熟女一区二区| 久久黄色国产精品一区视频| 亚洲av无码专区在线播放| 国产女在线| 伊人久久婷婷综合五月97色| 色婷婷久久精品一区二区| 国产午夜福利精品一区二区三区| 亚洲欧美精品伊人久久| 亚洲AV手机专区久久精品| 日本人妻系列中文字幕| 欧美猛少妇色xxxxx猛交| 99精品电影一区二区免费看| 国产一区,二区,三区免费视频 | 最近中文字幕在线mv视频在线 | 国产主播一区二区在线观看 | 国产午夜精品久久久久| 日本久久精品福利视频| 最新国产精品久久精品| 正在播放国产多p交换视频| 国产精品久久国产精品久久| 国产黄污网站在线观看| 人妻夜夜爽天天爽一区| 亚洲AV无码久久精品成人| 亚洲av高清一区二区| 国产成人av乱码在线观看| 亚洲日韩精品国产一区二区三区| 日韩国产自拍精品在线| 精品女同一区二区三区免费战| 女人被狂c躁到高潮视频| 伊人久久一区二区三区无码| 成人全部免费的a毛片在线看| 亚洲精品国产成人片| 色妺妺视频网| 国产三级av在线播放| 人禽杂交18禁网站免费|