陳文輝,余衛(wèi)東,武向萍,陳江浩,林德強(qiáng),董國(guó)敏
(中國(guó)石油集團(tuán)測(cè)井有限公司,陜西西安710077)
EILog測(cè)井系統(tǒng)前端數(shù)據(jù)采集控制軟件設(shè)計(jì)與實(shí)現(xiàn)
陳文輝,余衛(wèi)東,武向萍,陳江浩,林德強(qiáng),董國(guó)敏
(中國(guó)石油集團(tuán)測(cè)井有限公司,陜西西安710077)
EILog測(cè)井系統(tǒng)是基于前端和后臺(tái)的網(wǎng)絡(luò)化分布式架構(gòu)設(shè)計(jì)的,前端是基于VxWorks嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)設(shè)計(jì)開發(fā),主要負(fù)責(zé)系統(tǒng)硬件的控制與數(shù)據(jù)采集;后臺(tái)主要負(fù)責(zé)數(shù)據(jù)的處理、數(shù)據(jù)顯示和繪圖等功能。從測(cè)井信號(hào)采集控制時(shí)序以及采集接口板的特點(diǎn)分析入手,闡述了操作系統(tǒng)平臺(tái)選擇的設(shè)計(jì)思想,介紹了VxWorks操作系統(tǒng)的特點(diǎn),以及基于V xWo rks操作系統(tǒng)實(shí)現(xiàn)cPCI總線采集接口板的設(shè)備驅(qū)動(dòng),討論了利用Vxwo rks操作系統(tǒng)多任務(wù)技術(shù)如何實(shí)現(xiàn)測(cè)井信號(hào)的采集與控制,以及VxWorks與Window s前后臺(tái)之間的的數(shù)據(jù)接收和命令控制的方式?;诖思軜?gòu)設(shè)計(jì)的ACM E采集軟件已經(jīng)成功應(yīng)用。
測(cè)井系統(tǒng);VxWorks操作系統(tǒng);測(cè)井?dāng)?shù)據(jù)采集;實(shí)時(shí)多任務(wù);網(wǎng)絡(luò)
測(cè)井采集系統(tǒng)包括地面數(shù)據(jù)采集控制平臺(tái)和井下儀器測(cè)量和傳輸平臺(tái),其中地面采集平臺(tái)是針對(duì)自身系統(tǒng)的測(cè)井信號(hào)特點(diǎn)設(shè)計(jì)的,包括測(cè)井采集硬件接口和軟件采集控制技術(shù)的實(shí)現(xiàn)。
EILog測(cè)井系統(tǒng)的地面采集技術(shù)路線以cPCI總線技術(shù)為系統(tǒng)硬件支撐平臺(tái),采用前后臺(tái)分布式結(jié)構(gòu),前臺(tái)采用嵌入式技術(shù)和V xWorks操作系統(tǒng),負(fù)責(zé)完成系統(tǒng)硬件的控制;后臺(tái)采用工業(yè)控制計(jì)算機(jī)技術(shù)和Window s操作系統(tǒng),負(fù)責(zé)完成測(cè)井信號(hào)的記錄和成果輸出,兩者之間利用以太網(wǎng)技術(shù)形成測(cè)井局域網(wǎng),實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸和遠(yuǎn)程控制。
1.1 基本特點(diǎn)[1-3]
VxWorks實(shí)時(shí)操作系統(tǒng)包括微內(nèi)核w ind、網(wǎng)絡(luò)支持、文件系統(tǒng)和I/O管理、C++和第三方CPU板軟件支持包BSP等核心功能。
(1)微內(nèi)核設(shè)計(jì)。處于V xWorks實(shí)時(shí)操作系統(tǒng)核心的是高性能的微內(nèi)核w ind,主要實(shí)時(shí)特征是快速任務(wù)切換、中斷支持、搶占式和時(shí)間片輪轉(zhuǎn)調(diào)度等。微內(nèi)核設(shè)計(jì)減少了系統(tǒng)開銷,從而保證了對(duì)外部事件快速、確定的反應(yīng)。運(yùn)行環(huán)境也提供了有效的任務(wù)間通信機(jī)制(如消息隊(duì)列和管道、網(wǎng)絡(luò)套接字等)和任務(wù)同步機(jī)制(如二進(jìn)制、計(jì)數(shù)、有優(yōu)先級(jí)繼承特性的互斥信號(hào)燈)。
(2)可裁剪的運(yùn)行軟件。開發(fā)者能夠根據(jù)自己的應(yīng)用程序需要,而不是根據(jù)操作系統(tǒng)的需要分配稀少的內(nèi)存資源,其多個(gè)子系統(tǒng)本身也是可裁剪的,這樣就允許開發(fā)者為應(yīng)用程序進(jìn)行更為優(yōu)化的Vx-Works運(yùn)行環(huán)境配置。
1.2 VxWorks下cPCI總線測(cè)井信號(hào)采集板地址空間的配置
EILog測(cè)井系統(tǒng)硬件接口總線采用了cPCI總線。cPCI總線是PCI總線在工業(yè)控制和嵌入式平臺(tái)領(lǐng)域的擴(kuò)展,它遵循PICM G 2.0電氣規(guī)范。為了訪問動(dòng)態(tài)分配地址的PCI總線,在機(jī)器通電時(shí),配置軟件必須掃描PCI總線,確定存在PCI設(shè)備的數(shù)目和配置要求。
PCI設(shè)備需要訪問3種地址:PCI I/O地址、PCI內(nèi)存映射地址和PCI配置空間。VxWorks操作系統(tǒng)提供了訪問這些地址空間的應(yīng)用接口,PCI I/O和內(nèi)存地址空間由設(shè)備驅(qū)動(dòng)程序使用,而 PCI設(shè)備配置空間的訪問則由操作系統(tǒng)核心中PCI初始化代碼使用。為了獲得信號(hào)采集板PCI I/O和內(nèi)存地址,首先必須查找設(shè)備,讀取設(shè)備的PCI配置空間。通用的PCI配置空間[4]共有256 B,頭部分大小為64 B,設(shè)備寄存器配置在64~255 B之間。每個(gè)PCI功能設(shè)備都有64個(gè)配置雙字節(jié)用于實(shí)現(xiàn)配置寄存器,PCI協(xié)議定義了頭16個(gè)雙字的格式和用途,它是設(shè)備的配置頭區(qū)域,其他48個(gè)雙字可以用戶定制。
配置軟件讀取測(cè)井信號(hào)采集板PCI接口的廠商標(biāo)志、設(shè)備標(biāo)志、分類碼等信息以確定設(shè)備的存在及其類型,然后訪問采集板的基地址寄存器,確定采集板的存儲(chǔ)方式和存儲(chǔ)器地址空間,并保證每個(gè)設(shè)備的I/O和存儲(chǔ)器地址范圍互不沖突。
EILog測(cè)井系統(tǒng)地面采集平臺(tái)測(cè)井信號(hào)采集板的設(shè)備標(biāo)志和廠商標(biāo)志都是已知的,在實(shí)際應(yīng)用中,采用靜態(tài)指定的方法進(jìn)行 PCI地址空間到 Vx-Wo rks操作系統(tǒng)中的邏輯映射,實(shí)現(xiàn)對(duì)信號(hào)采集板的存取訪問。首先查出信號(hào)采集板上的接口內(nèi)存映射基地址,在V xWo rks板級(jí)支持包BSP軟件的sysLib.c文件中查找到PHYS_M EM_DESC結(jié)構(gòu),在該結(jié)構(gòu)按照VxWorks操作系統(tǒng)內(nèi)存分配的格式進(jìn)行虛擬內(nèi)存分配,再生成相應(yīng)的系統(tǒng)映像文件。當(dāng)前端采集軟件啟動(dòng)時(shí),自動(dòng)將該結(jié)構(gòu)中的指定的內(nèi)存空間映射到系統(tǒng)的內(nèi)存映射表中,設(shè)備驅(qū)動(dòng)程序就可以直接使用這些地址進(jìn)行讀寫操作,實(shí)現(xiàn)測(cè)井信號(hào)的采集和控制操作。
2.1 前端采集軟件多任務(wù)劃分
在設(shè)計(jì)采集軟件時(shí),根據(jù)測(cè)井作業(yè)的要求,用V xWo rks操作系統(tǒng)多任務(wù)的特點(diǎn)劃分不同的任務(wù),采用相應(yīng)的同步協(xié)調(diào)機(jī)制,實(shí)現(xiàn)多種測(cè)井信號(hào)的共同采集,可以有效保證多種信號(hào)同時(shí)采集的實(shí)時(shí)性要求和數(shù)據(jù)的完整性。前端數(shù)據(jù)采集軟件主要負(fù)責(zé)系統(tǒng)的硬件控制和數(shù)據(jù)實(shí)時(shí)采集任務(wù),它利用V x-Works實(shí)時(shí)多任務(wù)操作系統(tǒng)的優(yōu)良性能,完成測(cè)井過程中所有數(shù)據(jù)的實(shí)時(shí)采集和處理工作。
在硬件控制方面,前端主要實(shí)現(xiàn)對(duì)信號(hào)采集箱體各個(gè)接口板的訪問、數(shù)據(jù)采集與控制、通過串口控制實(shí)現(xiàn)對(duì)接線箱體繼電器矩陣控制和井下電源的選擇控制。在數(shù)據(jù)采集方面,根據(jù)測(cè)井信號(hào)采集種類和時(shí)序的特點(diǎn),前端主要負(fù)責(zé)網(wǎng)絡(luò)服務(wù)器的建立、后臺(tái)命令控制任務(wù)管理、采集接口的分配與控制、多個(gè)中斷的服務(wù)與控制、各種測(cè)井信號(hào)的采集任務(wù)管理,實(shí)時(shí)多任務(wù)采集模塊的調(diào)度等功能的實(shí)現(xiàn)。
前端采集軟件的主要任務(wù)主要是初始化任務(wù)、命令交互任務(wù)、信號(hào)采集任務(wù)、深度采集傳輸任務(wù)和反饋控制任務(wù)。任務(wù)之間的通訊及同步采用信號(hào)量技術(shù)實(shí)現(xiàn)。
前端采集控制軟件主要任務(wù)的具體功能如下。
(1)初始化任務(wù)。初始化任務(wù)包括網(wǎng)絡(luò)初始化、cPCI總線初始化、采集通道初始化等工作。前端機(jī)開機(jī)后,首先啟動(dòng)網(wǎng)絡(luò)傳輸?shù)姆?wù)器,等待主機(jī)客戶程序的連接申請(qǐng)。然后根據(jù)cPCI的板卡配置信息自動(dòng)配置各采集通道,完成系統(tǒng)的初始化任務(wù)。
(2)網(wǎng)絡(luò)服務(wù)器任務(wù)。網(wǎng)絡(luò)服務(wù)器任務(wù)是前端實(shí)時(shí)采集軟件的核心任務(wù),它在系統(tǒng)初始化時(shí)啟動(dòng),并一直處于有效運(yùn)行狀態(tài)。它首先完成系統(tǒng)網(wǎng)絡(luò)的基本設(shè)置,提供主機(jī)客戶端連接的通道,然后進(jìn)入到網(wǎng)絡(luò)監(jiān)控狀態(tài),監(jiān)聽網(wǎng)絡(luò)上的客戶連接申請(qǐng),并提供相應(yīng)權(quán)限的網(wǎng)絡(luò)服務(wù)。設(shè)計(jì)時(shí)將客戶端權(quán)限分為2類,一類是既有接收權(quán)限,又有發(fā)送命令控制采集過程的權(quán)限;另一類是只有接收數(shù)據(jù)的權(quán)限,不能向前端發(fā)送命令控制測(cè)井的采集過程。
(3)命令控制任務(wù)。命令控制任務(wù)主要負(fù)責(zé)接收主機(jī)傳過來的各種控制命令,按照系統(tǒng)的命令約定,將接收到的命令進(jìn)行解釋和處理,完成下發(fā)命令的各種控制過程。該任務(wù)在服務(wù)器接受客戶的連接申請(qǐng)后創(chuàng)建,在客戶退出連接時(shí)取消。
(4)實(shí)時(shí)測(cè)井信號(hào)采集任務(wù)。實(shí)時(shí)信號(hào)采集任務(wù)在啟動(dòng)測(cè)井采集功能時(shí)啟動(dòng),負(fù)責(zé)從各采集通道中讀取測(cè)井原始數(shù)據(jù),并按不同的測(cè)井儀器的特點(diǎn)對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,通過消息隊(duì)列由網(wǎng)絡(luò)傳輸任務(wù)發(fā)送給主機(jī)。采集過程分為按時(shí)間中斷采集和按深度中斷采集2種,根據(jù)不同的采樣率和不同的采集方式的要求可以靈活使用,2種采集方式也可同時(shí)使用,以保證系統(tǒng)采集過程的實(shí)時(shí)性和可靠性。
2.2 前端采集軟件的中斷控制
硬件中斷處理是實(shí)時(shí)系統(tǒng)設(shè)計(jì)的最重要、最關(guān)鍵的問題。中斷通常對(duì)應(yīng)著外部事件,系統(tǒng)通過中斷與外部事件交互。為了獲得盡可能快的中斷響應(yīng)時(shí)間,V xWo rks操作系統(tǒng)中斷處理程序運(yùn)行在特定的上下文中(在所有任務(wù)上下文之外),因此,中斷處理不會(huì)涉及任何任務(wù)上下文的交換。它可以實(shí)現(xiàn)1 m s的硬件中斷服務(wù)控制。
在系統(tǒng)設(shè)計(jì)中,采用了深度中斷、定時(shí)中斷和遙測(cè)幀中斷,在每個(gè)中斷服務(wù)程序中利用信號(hào)量同步數(shù)據(jù)的采集與控制過程,保證測(cè)井作業(yè)能按要求的時(shí)序進(jìn)行采集和處理。
采集軟件通過遙測(cè)幀中斷和數(shù)據(jù)傳輸中斷協(xié)同工作,遙測(cè)幀中斷來源于硬件接口的PCI總線物理中斷,負(fù)責(zé)測(cè)井信號(hào)的采集響應(yīng)事件驅(qū)動(dòng),數(shù)據(jù)傳輸中斷主要是深度中斷、前端機(jī)看門狗定時(shí)中斷,按照系統(tǒng)約定的數(shù)據(jù)包上傳給后臺(tái)處理模塊。
前端采集軟件的中斷服務(wù)功能實(shí)現(xiàn)主要有以下特點(diǎn)。
(1)由于EILog系統(tǒng)地面信號(hào)采集板的高度集成,100 kbit/s、W TC和430 kbit/s等數(shù)字編碼信號(hào)采樣幀中斷與深度中斷共用同一個(gè)物理中斷具有相同的中斷號(hào)和中斷向量,中斷服務(wù)控制上采用查詢中斷標(biāo)志字的方式實(shí)現(xiàn)了多中斷的控制。
(2)V xWorks提供看門狗定時(shí)器(Watchdog timer)機(jī)制,間隔時(shí)鐘精度高,可以精確到微秒級(jí),因而用它可以實(shí)現(xiàn)定時(shí)采樣方式下的中斷控制,從而滿足系統(tǒng)定時(shí)采樣的需求,如生產(chǎn)測(cè)井、地層測(cè)試等定點(diǎn)測(cè)量的要求。系統(tǒng)的采集時(shí)間可以通過命令由操作員交互設(shè)置。
(3)VxWorks提供二進(jìn)制信號(hào)量同步機(jī)制,它是任務(wù)間通信、同步和互斥的最優(yōu)選擇,對(duì)于同步,信號(hào)量可以協(xié)調(diào)外部事件與任務(wù)的執(zhí)行。中斷服務(wù)程序中采用了二進(jìn)制信號(hào)量的技術(shù),實(shí)現(xiàn)了中斷事件與測(cè)井信號(hào)采集任務(wù)的同步。
(4)對(duì)于數(shù)字編碼信號(hào),遙測(cè)幀中斷驅(qū)動(dòng)測(cè)井信號(hào)的采集、深度中斷驅(qū)動(dòng)數(shù)據(jù)的傳輸?shù)?個(gè)任務(wù)之間采用消息隊(duì)列的機(jī)制實(shí)現(xiàn)數(shù)據(jù)的采集;對(duì)于3506信號(hào)的采集和單一模擬信號(hào)、計(jì)數(shù)率信號(hào)一般只采用1個(gè)深度或看門狗定時(shí)中斷完成信號(hào)的采集和傳輸。
EILog測(cè)井地面系統(tǒng)采用的是計(jì)算機(jī)分布式處理結(jié)構(gòu),由主機(jī)和前端機(jī)組成測(cè)井采集系統(tǒng)。主機(jī)負(fù)責(zé)測(cè)井過程的操作和管理,前端機(jī)負(fù)責(zé)實(shí)時(shí)采集與處理任務(wù)。主機(jī)和前端機(jī)采集軟件運(yùn)行在不同操作系統(tǒng)平臺(tái)上,兩者之間的數(shù)據(jù)通訊通過標(biāo)準(zhǔn)的以太網(wǎng)套接字技術(shù)完成。V xWorks和Window s操作系統(tǒng)都提供了標(biāo)準(zhǔn)的網(wǎng)絡(luò)編程接口,前端為服務(wù)器端,主機(jī)為客戶端,服務(wù)器端一直等待客戶端的連接,如果連接成功,就建立了數(shù)據(jù)通訊的傳輸通道??蛻舳伺c服務(wù)器端按照約定的下發(fā)命令格式和上傳數(shù)據(jù)格式進(jìn)行數(shù)據(jù)的交互。
(1)下發(fā)命令分為2類,一類是和地面系統(tǒng)相關(guān)的直接發(fā)送到地面控制箱體(電源箱體、接線箱體、深度控制、操作控制等),后臺(tái)只需發(fā)送命令標(biāo)識(shí)和功能號(hào)到前端,具體的命令由前端軟件完成;另一類是和井下儀器相關(guān),由儀器組件庫(kù)完成,需要提供完整的命令(包括參數(shù)),按照約定的接口協(xié)議和格式通過網(wǎng)絡(luò)接口發(fā)送給前端采集軟件,設(shè)置到相應(yīng)的信號(hào)采集接口板的命令控制內(nèi)存區(qū),從而實(shí)現(xiàn)對(duì)井下儀器的控制。這樣前端軟件與井下儀器的具體命令內(nèi)容無關(guān),方便儀器的掛接,而地面硬件相對(duì)固定,這有利于系統(tǒng)故障的檢測(cè)。
(2)上傳數(shù)據(jù)主要由數(shù)據(jù)包標(biāo)志塊、深度數(shù)據(jù)塊、控制狀態(tài)信息塊和井下實(shí)際數(shù)據(jù)塊組成。數(shù)據(jù)包標(biāo)志塊中定義了后面數(shù)據(jù)塊的大小、起始位置、遙測(cè)幀大小等信息,采用這種動(dòng)態(tài)數(shù)據(jù)的管理方式方便了數(shù)據(jù)接口的擴(kuò)展和新儀器的掛接。
基于網(wǎng)絡(luò)架構(gòu),EILog測(cè)井系統(tǒng)采集軟件ACM E2.0的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在前端與主控、主控與顯示繪圖之間都采用了以太網(wǎng)技術(shù)實(shí)現(xiàn)數(shù)據(jù)的交互,在現(xiàn)場(chǎng)可以有多個(gè)顯示繪圖程序,或者網(wǎng)絡(luò)連接的異地進(jìn)行測(cè)井?dāng)?shù)據(jù)的監(jiān)視,使得測(cè)井?dāng)?shù)據(jù)的遠(yuǎn)程控制和傳輸成為可能。中國(guó)石油集團(tuán)測(cè)井有限公司在任××井等幾口井基于衛(wèi)星和互聯(lián)網(wǎng)通訊介質(zhì),將EILog快速與成像測(cè)井系統(tǒng)、統(tǒng)一軟件、數(shù)字巖心和ERP信息系統(tǒng)4個(gè)工作場(chǎng)景集成在1個(gè)平臺(tái)上,成功地完成了多路雙向視頻監(jiān)控、遠(yuǎn)程測(cè)井控制、遠(yuǎn)程實(shí)時(shí)測(cè)井?dāng)?shù)據(jù)傳輸、遠(yuǎn)程技術(shù)支持的測(cè)井網(wǎng)測(cè)試,并已經(jīng)投入實(shí)際的生產(chǎn)應(yīng)用。
(1)EILog測(cè)井系統(tǒng)成功應(yīng)用了VxWorks操作系統(tǒng)及開發(fā)平臺(tái),實(shí)現(xiàn)了系統(tǒng)硬件的設(shè)備驅(qū)動(dòng)、多中斷多任務(wù)調(diào)度和實(shí)時(shí)數(shù)據(jù)采集、前后臺(tái)數(shù)據(jù)的傳輸和命令的控制。
(2)基于V xWorks操作系統(tǒng)設(shè)計(jì)與開發(fā)的前端采集軟件保證了測(cè)井信號(hào)采集的實(shí)時(shí)性和數(shù)據(jù)的完整性。
(3)V xWo rks操作系統(tǒng)多任務(wù)的特點(diǎn)和EILog測(cè)井系統(tǒng)數(shù)據(jù)前端和后臺(tái)處理應(yīng)用的分布式架構(gòu)設(shè)計(jì)理念能更加方便快捷實(shí)現(xiàn)新的測(cè)井儀器的動(dòng)態(tài)添加,使EILog測(cè)井系統(tǒng)具有更好的擴(kuò)展性。
(4)基于以太網(wǎng)設(shè)計(jì)思想,對(duì)實(shí)現(xiàn)測(cè)井?dāng)?shù)據(jù)的遠(yuǎn)程傳輸與控制,為今后測(cè)井網(wǎng)的部署奠定了良好的技術(shù)基礎(chǔ)。
[1] WindRiver公司.VxWorks 5.5 Programmer’s Guide [Z].2002.
[2] WindRiver公司.Tornado User’s Guide[Z].2002.
[3] WindRiver公司.VxWo rks 5.5 Netwo rk’s Guide[Z]. 2002.
[4] Tom Shanley,Donanderson.PCI系統(tǒng)結(jié)構(gòu)[M].劉暉,冀然然,夏意軍,譯.北京:電子工業(yè)出版社,2000.
[5] 王元放,吳智銘,施 亮.實(shí)時(shí)操作系統(tǒng)VxWo rks下PCI總線配置技術(shù)[J].微計(jì)算機(jī)信息,2002,18(7):55 -59.
The Design and Implementation of Front-end Data Logging System Software of EILog System
CHEN Wenhui,YU Weidong,WU Xiangping,CHEN Jianghao,L IN Deqiang,DONG Guomin
(China Petroleum Logging CO.LTD.,Xi’an,Shaanxi 710077,China)
EILog logging system is designed based on front-end and back-end netwo rk-distributed architecture,the hardware of front-end system ismainly responsible for the control and data acquisition,the host ismainly responsible fo r data p rocessing,disp lay and p lo t.The front-end data acquisition software is designed and developed based on the VxWorksoperating system,w hich is embedded,real-time and multi-task.This paper discusses the design idea of operating system by analyzing the control timing sequence of the signal and the characteristicsof the acquisition interface board.Introduced are characteristics of the V xWo rks operating system,as well as how to develop device driver of cPCI bus interface board based on the VxWorks operating system,and discussed in detail are how to imp lement the signal acquisition and tool control suppo rted by the VxWorks operating system,as well as how to set up the data communication(data receive and command control)betw een V xWo rks and W indow s operating system based on Ethernet.ACM E acquisition software based on this architecture has been successfully app lied in log data p rocessing.
logging system,VxWorks operating system,logging data acquisition,real-time and multi-task,net
1004-1338(2010)05-0483-04
P631.84
A
陳文輝,男,1971年生,高級(jí)工程師,碩士研究生,從事生產(chǎn)管理工作。
2010-01-21 本文編輯 李總南)