翟慧杰 張昊楠
(中海油田服務(wù)股份有限公司物探事業(yè)部,天津 300450)
拖纜地震勘探是海洋油氣勘探的主要施工方式之一,在其作業(yè)過程中,綜合導(dǎo)航系統(tǒng)處于指揮和控制中心地位。綜合導(dǎo)航系統(tǒng)在作業(yè)中需要接入DGNSS、電羅經(jīng)、測(cè)深儀、RGNSS 及水鳥等多種數(shù)據(jù),這些數(shù)據(jù)的格式不同,采樣率從0.1 秒到數(shù)十秒,通過網(wǎng)絡(luò)及串口傳輸,同時(shí)綜合導(dǎo)航系統(tǒng)還需控制觸發(fā)拖纜控制與定位系統(tǒng)、地震采集系統(tǒng)及槍控系統(tǒng),在整個(gè)作業(yè)過程中涉及大量的數(shù)據(jù)交互及命令控制。中海油田服務(wù)股份有限公司經(jīng)過多年技術(shù)攻關(guān),形成了以海途HQI-Navi?實(shí)時(shí)綜合導(dǎo)航系統(tǒng)軟件及導(dǎo)航采集控制平臺(tái)INSP (Integrated navigation system platform)在內(nèi)的拖纜綜合導(dǎo)航系統(tǒng)產(chǎn)品。
由于海上試驗(yàn)環(huán)境特殊,系統(tǒng)無法長(zhǎng)期在海上進(jìn)行試驗(yàn),而室內(nèi)測(cè)試,則難以搭建測(cè)試環(huán)境,因此需開發(fā)一套綜合導(dǎo)航模擬測(cè)試軟硬件系統(tǒng),可模擬海上試驗(yàn)場(chǎng)景。QT 是一個(gè)基于C++語言開發(fā)的跨平臺(tái)圖形化用戶界面應(yīng)用程序開發(fā)框架,文獻(xiàn)[5]設(shè)計(jì)了一套基于QT 多線程多串口的綜合導(dǎo)航模擬上位機(jī)軟件,但該軟件直接通過串口連接到導(dǎo)航INSP 箱體,無法對(duì)觸發(fā)信號(hào)進(jìn)行配置及控制,且對(duì)數(shù)據(jù)的支持格式有限。本文針對(duì)海上拖纜地震勘探綜合導(dǎo)航系統(tǒng)的室內(nèi)開發(fā)測(cè)試需求,設(shè)計(jì)了一套可與綜合導(dǎo)航模擬測(cè)試系統(tǒng)硬件相配合的上位機(jī)軟件,對(duì)軟件的需求及設(shè)計(jì)方案進(jìn)行探討,并進(jìn)行功能模塊劃分和設(shè)計(jì)開發(fā)。
海上拖纜地震勘探作業(yè)中,綜合導(dǎo)航系統(tǒng)收發(fā)的數(shù)據(jù)可分為3 類:
(1)被動(dòng)接收,接入的傳感器種類多,數(shù)量大,包含DGNSS、RGNSS、電羅經(jīng)、測(cè)深儀、水速儀等,其中DGNSS 和電羅經(jīng)一般需要各接入3 套,數(shù)據(jù)格式也存在差異,該類數(shù)據(jù)完全按照傳感器自身的采樣間隔,通過RS232 或RS422 串口,遵循相應(yīng)的通信參,持續(xù)不斷發(fā)送到導(dǎo)航系統(tǒng)中。
(2)是通過導(dǎo)航控制平臺(tái)主動(dòng)觸發(fā)后接收到的數(shù)據(jù),主要包括槍陣數(shù)據(jù)和羅經(jīng)鳥、聲學(xué)鳥、水平鳥、聲速鳥等數(shù)據(jù),一般槍陣數(shù)據(jù)每炮觸發(fā)采集1 次,通過串口發(fā)送到導(dǎo)航系統(tǒng),各類水鳥數(shù)據(jù)按照作業(yè)配置1~2 炮觸發(fā)采集1 次,主要通過網(wǎng)絡(luò)傳輸,羅經(jīng)鳥數(shù)據(jù)也可支持串口傳輸。
(3)主動(dòng)發(fā)送,每炮響炮前將炮號(hào)和炮源發(fā)送給震源控制系統(tǒng),響炮后收到槍數(shù)據(jù),合并生成儀器頭段數(shù)據(jù),發(fā)送給拖纜采集系統(tǒng),2 種數(shù)據(jù)均通過串口發(fā)送。不同傳感器數(shù)據(jù)的具體信息見表1。
表1 傳感器采樣間隔
上位機(jī)軟件需要完成數(shù)據(jù)模擬及抽取,并通過通信接口將模擬數(shù)據(jù)發(fā)送給導(dǎo)航模擬測(cè)試機(jī)箱(硬件設(shè)備)進(jìn)行進(jìn)一步的格式、內(nèi)容和時(shí)序的處理操作。同時(shí),需要配合模擬實(shí)際作業(yè)中槍控、鳥控、采集系統(tǒng)的觸發(fā)控制,數(shù)據(jù)的發(fā)送依賴于特定的時(shí)序。此外,上位機(jī)還可監(jiān)控導(dǎo)航系統(tǒng)發(fā)出的槍頭段和儀器頭段。具體如下:
(1)二維、三維導(dǎo)航定位數(shù)據(jù)抽取及模擬。
(2)串口數(shù)據(jù)模擬發(fā)送:實(shí)現(xiàn)對(duì)DGPS、RGPS、電羅經(jīng)、測(cè)深儀、羅經(jīng)鳥、槍陣、頭段數(shù)據(jù)的模擬發(fā)送,可進(jìn)行串口配置。
(3)網(wǎng)絡(luò)數(shù)據(jù)模擬發(fā)送:實(shí)現(xiàn)對(duì)聲學(xué)鳥、水平鳥、羅經(jīng)鳥、聲速鳥等數(shù)據(jù)的模擬發(fā)送,通過導(dǎo)航模擬測(cè)試機(jī)箱以網(wǎng)絡(luò)方式發(fā)送給綜合導(dǎo)航系統(tǒng)。
(4)同步控制:模擬實(shí)際作業(yè)中槍控、鳥控、采集等系統(tǒng)的觸發(fā)控制,數(shù)據(jù)的發(fā)送依賴于特定的時(shí)序。
(5) 能夠與導(dǎo)航模擬測(cè)試機(jī)箱進(jìn)行數(shù)據(jù)通信,支持通信參數(shù)配置。
數(shù)據(jù)模擬是上位機(jī)軟件的主要功能之一,主要實(shí)現(xiàn)方式為解析P294 文件,按照配置格式,生成每個(gè)傳感器數(shù)據(jù)的數(shù)據(jù)文件及時(shí)間間隔文件。
P294 是國(guó)際通用的拖纜地震勘探原始數(shù)據(jù)交換文件,由頭信息和數(shù)據(jù)信息兩部分構(gòu)成,其中頭信息規(guī)定了勘探船的作業(yè)配置信息,包括傳感器的種類、數(shù)量,各傳感器的觀測(cè)值ID、掛載位置等信息,數(shù)據(jù)信息部分按照P294 規(guī)定的數(shù)據(jù)格式,記錄傳感器數(shù)據(jù)。P294 中記錄的數(shù)據(jù)格式與傳感器的原始數(shù)據(jù)格式不同,因此在進(jìn)行數(shù)據(jù)模擬時(shí),首先,根據(jù)P294 文件頭的配置信息確定數(shù)據(jù)種類、數(shù)據(jù)格式,以及數(shù)據(jù)對(duì)應(yīng)的觀測(cè)值ID;其次,在P294 文件數(shù)據(jù)記錄部分,將各傳感器數(shù)據(jù),按照導(dǎo)航控制平臺(tái)可接收的數(shù)據(jù)格式,進(jìn)行數(shù)據(jù)合成,生成每個(gè)傳感器的數(shù)據(jù)文件,同時(shí)根據(jù)各傳感器相鄰數(shù)據(jù)的時(shí)間間隔,生成對(duì)應(yīng)的時(shí)間間隔文件。RGNSS 數(shù)據(jù)中包含了多個(gè)傳感器數(shù)據(jù),但在P294 文件中僅定義了一個(gè)觀測(cè)值ID,需在生成數(shù)據(jù)文件前,對(duì)每個(gè)RGNSS 傳感器配置獨(dú)立的ID,該ID配置需和綜合導(dǎo)航系統(tǒng)中的參數(shù)配置保持一致,才可使得數(shù)據(jù)發(fā)送到綜合導(dǎo)航系統(tǒng)時(shí)被正常解析。
除了水鳥數(shù)據(jù)外,所有數(shù)據(jù)格式均為標(biāo)準(zhǔn)ASCII數(shù)據(jù)串,水鳥數(shù)據(jù)為16 進(jìn)制格式,在解析P294 文件進(jìn)行模擬數(shù)據(jù)生成時(shí)也需按照綜合導(dǎo)航系統(tǒng)中的參數(shù)進(jìn)行拖纜的平臺(tái)配置。
綜合導(dǎo)航模擬測(cè)試系統(tǒng)的軟件報(bào)告上位機(jī)軟件和ARM 嵌入式軟件兩部分。軟件架構(gòu)示意圖如圖1所示,考慮到上位機(jī)與嵌入式設(shè)備性能上的差異,上位機(jī)軟件主要用于與用戶進(jìn)行交互,實(shí)現(xiàn)數(shù)據(jù)處理與顯示等復(fù)雜功能。嵌入式軟件主要用于數(shù)據(jù)的接收與轉(zhuǎn)發(fā)。上位機(jī)軟件與ARM 嵌入式軟件使用網(wǎng)絡(luò)通信方式連接,通過socket 相交互,擁有該socket 的類,通過對(duì)接收的協(xié)議數(shù)據(jù)進(jìn)行解析,控制數(shù)據(jù)的發(fā)送。
圖1 軟件架構(gòu)示意圖
綜合導(dǎo)航模擬測(cè)試系統(tǒng)的上位機(jī)軟件基于QT5開發(fā),采用C++語言,可跨平臺(tái)運(yùn)行在有Windows 或Linux 操作系統(tǒng)的計(jì)算機(jī)上,以實(shí)現(xiàn)導(dǎo)航原始數(shù)據(jù)的模擬及多種指定格式數(shù)據(jù)的控制發(fā)送,配置通信參數(shù),監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)。其主要功能為:
(1)系統(tǒng)參數(shù)配置,包括網(wǎng)絡(luò)配置、P2 文件抽取文件目錄及參數(shù)配置、串口通信參數(shù)配置、觸發(fā)端口及觸發(fā)時(shí)序配置等,參數(shù)配置可保存及加載。
(2)導(dǎo)航數(shù)據(jù)模擬,對(duì)P2 文件解析及數(shù)據(jù)抽取,支持多種數(shù)據(jù)種類及數(shù)據(jù)格式,支持整個(gè)文件抽取及部分炮號(hào)抽取。
(3)顯示數(shù)據(jù)發(fā)送、接收及觸發(fā)狀態(tài),監(jiān)控收到的頭端數(shù)據(jù)內(nèi)容。
(4)系統(tǒng)運(yùn)行控制,包括打開與關(guān)閉串口、開始與結(jié)束發(fā)送、數(shù)據(jù)計(jì)數(shù)清零等;綜合導(dǎo)航模擬測(cè)試系統(tǒng)上位機(jī)軟件運(yùn)行界面如圖2 所示。
圖2 上位機(jī)軟件
本軟件針對(duì)多套拖纜導(dǎo)航數(shù)據(jù)進(jìn)行了數(shù)據(jù)模擬及發(fā)送測(cè)試,能有效支持拖纜綜合導(dǎo)航系統(tǒng)的室內(nèi)開發(fā)測(cè)試,后續(xù)將進(jìn)一步增加對(duì)海底電纜P2 數(shù)據(jù)的支持,為海底地震勘探綜合導(dǎo)航系統(tǒng)的研發(fā)提供支撐。