国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CORBA命名服務(wù)的海上拖纜綜合導(dǎo)航系統(tǒng)命名設(shè)計(jì)

2020-03-16 02:31阮福明張昊楠胡廣浩趙希昉崔燾
電子技術(shù)與軟件工程 2020年24期
關(guān)鍵詞:拖纜導(dǎo)航系統(tǒng)命名

阮福明 張昊楠 胡廣浩 趙希昉 崔燾

(中海油田服務(wù)股份有限公司物探事業(yè)部 天津市 300451)

海洋油氣勘探中,拖纜地震作業(yè)是主要勘探方式之一,在整個作業(yè)過程中,主要由拖纜綜合導(dǎo)航系統(tǒng)對作業(yè)進(jìn)行規(guī)劃及控制,該系統(tǒng)功能復(fù)雜,軟硬件交互數(shù)據(jù)量大,種類多,需配置作業(yè)參數(shù)及作業(yè)設(shè)備,規(guī)劃作業(yè)路徑,進(jìn)行高精度導(dǎo)航定位,監(jiān)控作業(yè)狀態(tài),控制采集、震源、鳥控等多套系統(tǒng)協(xié)調(diào)作業(yè),系統(tǒng)開發(fā)難度較大。中海油田服務(wù)股份有限公司近年來對拖纜綜合導(dǎo)航系統(tǒng)進(jìn)行持續(xù)研究,形成了二維和三維拖纜導(dǎo)航系統(tǒng)產(chǎn)品,已投入多個工區(qū)生產(chǎn)應(yīng)用[1][2]。本文提出了一種基于CORBA 命名服務(wù)來構(gòu)建綜合導(dǎo)航系統(tǒng)數(shù)據(jù)命名及交互的方法,實(shí)際驗(yàn)證表明,該方法可較好地滿足拖纜綜合導(dǎo)航系統(tǒng)內(nèi)部以及同其他作業(yè)系統(tǒng)之間數(shù)據(jù)交互及進(jìn)程間通信的要求。

1 拖纜綜合導(dǎo)航系統(tǒng)數(shù)據(jù)及命令控制簡介

拖纜綜合導(dǎo)航系統(tǒng)由系統(tǒng)軟件及導(dǎo)航采集與控制箱體兩部分構(gòu)成。拖纜勘探作業(yè)時,綜合導(dǎo)航系統(tǒng)需要通過導(dǎo)航控采集與控制箱體的串口及網(wǎng)絡(luò)通信等方式接入多類設(shè)備,包括2-3 套的差分全球定位系統(tǒng)、1 套相對全球定位系統(tǒng)、2 組船舶測深儀、1 套水速儀、2-3套電羅經(jīng)、雷達(dá)AIS、氣槍激發(fā)數(shù)據(jù)、及水下拖纜控制與定位系統(tǒng)數(shù)據(jù)(每條拖纜上掛載多個水平鳥、聲學(xué)鳥、羅經(jīng)鳥、聲速鳥、水速鳥等)等總計(jì)超過10 多種共計(jì)數(shù)百個傳感器設(shè)備數(shù)據(jù),系統(tǒng)對接入的傳感器數(shù)據(jù)進(jìn)行實(shí)時解算,進(jìn)行導(dǎo)航定位,并通過特定的時序,輸出槍控頭端到震源控制系統(tǒng),并控制激發(fā)震源,收到震源返回的TimeBreak 脈沖信號及傳回的氣槍激發(fā)數(shù)據(jù)后,合并產(chǎn)生采集頭段,輸出到拖纜采集系統(tǒng),同時也可觸發(fā)控制拖纜采集系統(tǒng)采集地震數(shù)據(jù),觸發(fā)控制控制拖纜控制與定位系統(tǒng)采集水鳥數(shù)據(jù)。各數(shù)據(jù)通過網(wǎng)絡(luò)或RS232、RS422 串口,遵循相應(yīng)的通信協(xié)議同導(dǎo)航系統(tǒng)進(jìn)行交互。系統(tǒng)數(shù)據(jù)及控制結(jié)構(gòu)如圖1 所示。

勘探作業(yè)中導(dǎo)航系統(tǒng)的定位信號及各系統(tǒng)關(guān)系如圖2 所示。

2 CORBA命名服務(wù)在綜合導(dǎo)航系統(tǒng)中的應(yīng)用

2.1 CORBA簡介

CORBA(Common ObjectRequest Broker Architecture 公共對象請求代理體系結(jié)構(gòu)),是一個為簡化跨平臺應(yīng)用而提出的規(guī)范,其獨(dú)立于軟硬件平臺、網(wǎng)絡(luò)協(xié)議和編程語言,支持異構(gòu)的分布式計(jì)算環(huán)境和不同編程語言間的對象重用。Corba 可以作為不同平臺應(yīng)用間信息傳遞的中間件,通過引入經(jīng)過充分驗(yàn)證的有效的框架結(jié)構(gòu)和通信手段,使應(yīng)用者聚焦業(yè)務(wù)邏輯方面的實(shí)現(xiàn),而無需關(guān)注通信的細(xì)節(jié)。CORBA 在銀行、航空、制造、軍事和電信等領(lǐng)域應(yīng)用廣泛[3]。

圖1:綜合導(dǎo)航系統(tǒng)數(shù)據(jù)與控制結(jié)構(gòu)圖

圖2:地震勘探船定位信號及各系統(tǒng)關(guān)系圖

圖3:命名服務(wù)實(shí)現(xiàn)進(jìn)程間通信結(jié)構(gòu)圖

2.2 基于CORBA命名服務(wù)的導(dǎo)航系統(tǒng)命名設(shè)計(jì)

命名服務(wù)是CORBA 較為常用的服務(wù),其本質(zhì)是將名字與CORBA 對象引用綁定,通過名字與CORBA 對象引用之間建立映射關(guān)系。一個名字對應(yīng)一個對象引用,一個對象引用可以對應(yīng)多個名字。命名服務(wù)可以不需要知道對象的物理位置,通過名字即可獲取該對象的引用,實(shí)現(xiàn)了網(wǎng)絡(luò)透明[4]。

綜合導(dǎo)航系統(tǒng)數(shù)據(jù)類型有原始數(shù)據(jù)、處理過的數(shù)據(jù)、控制類型數(shù)據(jù)等,由任何一節(jié)點(diǎn)(進(jìn)程)產(chǎn)生,保存到數(shù)據(jù)服務(wù)器,各節(jié)點(diǎn)與數(shù)據(jù)服務(wù)器交互。通過命名服務(wù)可方便的實(shí)現(xiàn)這一過程。以系統(tǒng)配置模塊為例,配置信息主要有:自動命名、設(shè)備參數(shù)配置、電纜配置等三個主要子模塊,以自動命名說明,自動命名定義了各設(shè)備的前綴以及命名寬度等命名規(guī)則,通過一次配置實(shí)現(xiàn)整個系統(tǒng)所有設(shè)備的的自動命名。進(jìn)程間數(shù)據(jù)操作如下圖,界面管理進(jìn)程、數(shù)據(jù)服務(wù)進(jìn)程、接口進(jìn)程、自動命名等進(jìn)程存在數(shù)據(jù)交互。CORBA 命名服務(wù)實(shí)現(xiàn)了該過程。命名服務(wù)實(shí)現(xiàn)進(jìn)程間通信結(jié)構(gòu)如圖3 所示。

自動命名伺服接口ScnAutoNameServant.idl,定義了獲取、更新命名規(guī)則的方法:

綜合導(dǎo)航系統(tǒng)數(shù)據(jù)服務(wù)端,實(shí)現(xiàn)了IScnAutoNameServant 接口,編譯后的文件自動添加_i 后綴,IScnAutoNameServant _i.h 文件:

Corba 命名服務(wù)建立及調(diào)用過程:

(1)初始化orb。

(2)將名字幫定到命名環(huán)境。

(3)綁定對象引用。

(4)獲得對象引用。

就綜合導(dǎo)航系統(tǒng)而言,服務(wù)端CORBA 初始化及建立命名服務(wù)方法:

pIScnAutoNameRule->init( ptrORB, ptrPOA, ptrSubPOA, "DSN", "ScnAutoNameCfgServant" ) ),pIScnAutoNameRule 為idl 編譯后的類的指針,DSN/ ScnAutoNameCfgServant 為定義的名字,同樣,客戶端首先引用idl 接口的聲明文件,獲取服務(wù)端的對象引用,

IScnAutoNameCfgMgrServant_var _varScnAutoNameRule;

然后實(shí)現(xiàn)了獲取遠(yuǎn)程對象的方法,getRemoteObj(),CORBA 初始化過程不詳述,聲明名字:

至此,客戶端即可直接使用服務(wù)器端的對象,并操作服務(wù)器端定義的方法,如:m_varScnAutoNameRule->queryAutoNameRule( varsAutoNameRule, errorCode )。在客戶端本地“透明”地操作服務(wù)器端對象。

這樣,只需按照CORBA 基本編程過程按照步驟建立命名服務(wù),使得不同進(jìn)程間通信變得很容易,通過名字獲取對象引用,不同進(jìn)程,只要獲取了客戶端定義的名字,通過名字建立CORBA 對象的一一映射關(guān)系,即可操作客戶端對象,獲取客戶端對象定義的方法和數(shù)據(jù),整個網(wǎng)絡(luò)“透明”,且避免了常規(guī)socket 等通信方式定義數(shù)據(jù)傳輸協(xié)議的復(fù)雜性,大大減少了編程工作量。

3 結(jié)束語

本文利用CORBA 技術(shù)設(shè)計(jì)構(gòu)建了綜合導(dǎo)航系統(tǒng)的基本通訊架構(gòu),利用CORBA 命名服務(wù)滿足了整個系統(tǒng)所有設(shè)備的的自動命名要求,且避免了常規(guī)Socket 等通信方式定義數(shù)據(jù)傳輸協(xié)議的復(fù)雜度,減少了編程工作量,將命名服務(wù)與CORBA 通知服務(wù)相結(jié)合,可完成整個拖纜綜合導(dǎo)航系統(tǒng)的通信架構(gòu)基礎(chǔ)設(shè)計(jì)。

猜你喜歡
拖纜導(dǎo)航系統(tǒng)命名
拖纜引繩的設(shè)計(jì)改進(jìn)
命名——助力有機(jī)化學(xué)的學(xué)習(xí)
拖纜對水下航行器的操縱性能影響
潛水器水下拖帶航行運(yùn)動響應(yīng)數(shù)值計(jì)算與性能分析
一種GNSS/SINS容錯深組合導(dǎo)航系統(tǒng)設(shè)計(jì)
解讀全球第四大導(dǎo)航系統(tǒng)
海洋平臺工作船深水大型拖纜機(jī)選型分析
河鲀命名小考
邵武市| 靖远县| 怀化市| 廉江市| 金塔县| 加查县| 万载县| 米林县| 台南县| 九江市| 靖边县| 慈溪市| 永修县| 阳朔县| 科技| 阳新县| 靖边县| 若尔盖县| 孟村| 遂溪县| 潜山县| 东辽县| 裕民县| 双桥区| 邹城市| 颍上县| 昭苏县| 乐山市| 西城区| 丹江口市| 天镇县| 青岛市| 施秉县| 岳普湖县| 杭锦后旗| 普安县| 通渭县| 邛崃市| 沐川县| 始兴县| 姜堰市|