陳文輝,余衛(wèi)東,武向萍,陳江浩,林德強,董國敏
(中國石油集團(tuán)測井有限公司,陜西西安710077)
EILog測井系統(tǒng)前端數(shù)據(jù)采集控制軟件設(shè)計與實現(xiàn)
陳文輝,余衛(wèi)東,武向萍,陳江浩,林德強,董國敏
(中國石油集團(tuán)測井有限公司,陜西西安710077)
EILog測井系統(tǒng)是基于前端和后臺的網(wǎng)絡(luò)化分布式架構(gòu)設(shè)計的,前端是基于VxWorks嵌入式實時多任務(wù)操作系統(tǒng)設(shè)計開發(fā),主要負(fù)責(zé)系統(tǒng)硬件的控制與數(shù)據(jù)采集;后臺主要負(fù)責(zé)數(shù)據(jù)的處理、數(shù)據(jù)顯示和繪圖等功能。從測井信號采集控制時序以及采集接口板的特點分析入手,闡述了操作系統(tǒng)平臺選擇的設(shè)計思想,介紹了VxWorks操作系統(tǒng)的特點,以及基于V xWo rks操作系統(tǒng)實現(xiàn)cPCI總線采集接口板的設(shè)備驅(qū)動,討論了利用Vxwo rks操作系統(tǒng)多任務(wù)技術(shù)如何實現(xiàn)測井信號的采集與控制,以及VxWorks與Window s前后臺之間的的數(shù)據(jù)接收和命令控制的方式?;诖思軜?gòu)設(shè)計的ACM E采集軟件已經(jīng)成功應(yīng)用。
測井系統(tǒng);VxWorks操作系統(tǒng);測井?dāng)?shù)據(jù)采集;實時多任務(wù);網(wǎng)絡(luò)
測井采集系統(tǒng)包括地面數(shù)據(jù)采集控制平臺和井下儀器測量和傳輸平臺,其中地面采集平臺是針對自身系統(tǒng)的測井信號特點設(shè)計的,包括測井采集硬件接口和軟件采集控制技術(shù)的實現(xiàn)。
EILog測井系統(tǒng)的地面采集技術(shù)路線以cPCI總線技術(shù)為系統(tǒng)硬件支撐平臺,采用前后臺分布式結(jié)構(gòu),前臺采用嵌入式技術(shù)和V xWorks操作系統(tǒng),負(fù)責(zé)完成系統(tǒng)硬件的控制;后臺采用工業(yè)控制計算機技術(shù)和Window s操作系統(tǒng),負(fù)責(zé)完成測井信號的記錄和成果輸出,兩者之間利用以太網(wǎng)技術(shù)形成測井局域網(wǎng),實現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸和遠(yuǎn)程控制。
1.1 基本特點[1-3]
VxWorks實時操作系統(tǒng)包括微內(nèi)核w ind、網(wǎng)絡(luò)支持、文件系統(tǒng)和I/O管理、C++和第三方CPU板軟件支持包BSP等核心功能。
(1)微內(nèi)核設(shè)計。處于V xWorks實時操作系統(tǒng)核心的是高性能的微內(nèi)核w ind,主要實時特征是快速任務(wù)切換、中斷支持、搶占式和時間片輪轉(zhuǎn)調(diào)度等。微內(nèi)核設(shè)計減少了系統(tǒng)開銷,從而保證了對外部事件快速、確定的反應(yīng)。運行環(huán)境也提供了有效的任務(wù)間通信機制(如消息隊列和管道、網(wǎng)絡(luò)套接字等)和任務(wù)同步機制(如二進(jìn)制、計數(shù)、有優(yōu)先級繼承特性的互斥信號燈)。
(2)可裁剪的運行軟件。開發(fā)者能夠根據(jù)自己的應(yīng)用程序需要,而不是根據(jù)操作系統(tǒng)的需要分配稀少的內(nèi)存資源,其多個子系統(tǒng)本身也是可裁剪的,這樣就允許開發(fā)者為應(yīng)用程序進(jìn)行更為優(yōu)化的Vx-Works運行環(huán)境配置。
1.2 VxWorks下cPCI總線測井信號采集板地址空間的配置
EILog測井系統(tǒng)硬件接口總線采用了cPCI總線。cPCI總線是PCI總線在工業(yè)控制和嵌入式平臺領(lǐng)域的擴展,它遵循PICM G 2.0電氣規(guī)范。為了訪問動態(tài)分配地址的PCI總線,在機器通電時,配置軟件必須掃描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ū)動程序使用,而 PCI設(shè)備配置空間的訪問則由操作系統(tǒng)核心中PCI初始化代碼使用。為了獲得信號采集板PCI I/O和內(nèi)存地址,首先必須查找設(shè)備,讀取設(shè)備的PCI配置空間。通用的PCI配置空間[4]共有256 B,頭部分大小為64 B,設(shè)備寄存器配置在64~255 B之間。每個PCI功能設(shè)備都有64個配置雙字節(jié)用于實現(xiàn)配置寄存器,PCI協(xié)議定義了頭16個雙字的格式和用途,它是設(shè)備的配置頭區(qū)域,其他48個雙字可以用戶定制。
配置軟件讀取測井信號采集板PCI接口的廠商標(biāo)志、設(shè)備標(biāo)志、分類碼等信息以確定設(shè)備的存在及其類型,然后訪問采集板的基地址寄存器,確定采集板的存儲方式和存儲器地址空間,并保證每個設(shè)備的I/O和存儲器地址范圍互不沖突。
EILog測井系統(tǒng)地面采集平臺測井信號采集板的設(shè)備標(biāo)志和廠商標(biāo)志都是已知的,在實際應(yīng)用中,采用靜態(tài)指定的方法進(jìn)行 PCI地址空間到 Vx-Wo rks操作系統(tǒng)中的邏輯映射,實現(xiàn)對信號采集板的存取訪問。首先查出信號采集板上的接口內(nèi)存映射基地址,在V xWo rks板級支持包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)前端采集軟件啟動時,自動將該結(jié)構(gòu)中的指定的內(nèi)存空間映射到系統(tǒng)的內(nèi)存映射表中,設(shè)備驅(qū)動程序就可以直接使用這些地址進(jìn)行讀寫操作,實現(xiàn)測井信號的采集和控制操作。
2.1 前端采集軟件多任務(wù)劃分
在設(shè)計采集軟件時,根據(jù)測井作業(yè)的要求,用V xWo rks操作系統(tǒng)多任務(wù)的特點劃分不同的任務(wù),采用相應(yīng)的同步協(xié)調(diào)機制,實現(xiàn)多種測井信號的共同采集,可以有效保證多種信號同時采集的實時性要求和數(shù)據(jù)的完整性。前端數(shù)據(jù)采集軟件主要負(fù)責(zé)系統(tǒng)的硬件控制和數(shù)據(jù)實時采集任務(wù),它利用V x-Works實時多任務(wù)操作系統(tǒng)的優(yōu)良性能,完成測井過程中所有數(shù)據(jù)的實時采集和處理工作。
在硬件控制方面,前端主要實現(xiàn)對信號采集箱體各個接口板的訪問、數(shù)據(jù)采集與控制、通過串口控制實現(xiàn)對接線箱體繼電器矩陣控制和井下電源的選擇控制。在數(shù)據(jù)采集方面,根據(jù)測井信號采集種類和時序的特點,前端主要負(fù)責(zé)網(wǎng)絡(luò)服務(wù)器的建立、后臺命令控制任務(wù)管理、采集接口的分配與控制、多個中斷的服務(wù)與控制、各種測井信號的采集任務(wù)管理,實時多任務(wù)采集模塊的調(diào)度等功能的實現(xiàn)。
前端采集軟件的主要任務(wù)主要是初始化任務(wù)、命令交互任務(wù)、信號采集任務(wù)、深度采集傳輸任務(wù)和反饋控制任務(wù)。任務(wù)之間的通訊及同步采用信號量技術(shù)實現(xiàn)。
前端采集控制軟件主要任務(wù)的具體功能如下。
(1)初始化任務(wù)。初始化任務(wù)包括網(wǎng)絡(luò)初始化、cPCI總線初始化、采集通道初始化等工作。前端機開機后,首先啟動網(wǎng)絡(luò)傳輸?shù)姆?wù)器,等待主機客戶程序的連接申請。然后根據(jù)cPCI的板卡配置信息自動配置各采集通道,完成系統(tǒng)的初始化任務(wù)。
(2)網(wǎng)絡(luò)服務(wù)器任務(wù)。網(wǎng)絡(luò)服務(wù)器任務(wù)是前端實時采集軟件的核心任務(wù),它在系統(tǒng)初始化時啟動,并一直處于有效運行狀態(tài)。它首先完成系統(tǒng)網(wǎng)絡(luò)的基本設(shè)置,提供主機客戶端連接的通道,然后進(jìn)入到網(wǎng)絡(luò)監(jiān)控狀態(tài),監(jiān)聽網(wǎng)絡(luò)上的客戶連接申請,并提供相應(yīng)權(quán)限的網(wǎng)絡(luò)服務(wù)。設(shè)計時將客戶端權(quán)限分為2類,一類是既有接收權(quán)限,又有發(fā)送命令控制采集過程的權(quán)限;另一類是只有接收數(shù)據(jù)的權(quán)限,不能向前端發(fā)送命令控制測井的采集過程。
(3)命令控制任務(wù)。命令控制任務(wù)主要負(fù)責(zé)接收主機傳過來的各種控制命令,按照系統(tǒng)的命令約定,將接收到的命令進(jìn)行解釋和處理,完成下發(fā)命令的各種控制過程。該任務(wù)在服務(wù)器接受客戶的連接申請后創(chuàng)建,在客戶退出連接時取消。
(4)實時測井信號采集任務(wù)。實時信號采集任務(wù)在啟動測井采集功能時啟動,負(fù)責(zé)從各采集通道中讀取測井原始數(shù)據(jù),并按不同的測井儀器的特點對原始數(shù)據(jù)進(jìn)行預(yù)處理,通過消息隊列由網(wǎng)絡(luò)傳輸任務(wù)發(fā)送給主機。采集過程分為按時間中斷采集和按深度中斷采集2種,根據(jù)不同的采樣率和不同的采集方式的要求可以靈活使用,2種采集方式也可同時使用,以保證系統(tǒng)采集過程的實時性和可靠性。
2.2 前端采集軟件的中斷控制
硬件中斷處理是實時系統(tǒng)設(shè)計的最重要、最關(guān)鍵的問題。中斷通常對應(yīng)著外部事件,系統(tǒng)通過中斷與外部事件交互。為了獲得盡可能快的中斷響應(yīng)時間,V xWo rks操作系統(tǒng)中斷處理程序運行在特定的上下文中(在所有任務(wù)上下文之外),因此,中斷處理不會涉及任何任務(wù)上下文的交換。它可以實現(xiàn)1 m s的硬件中斷服務(wù)控制。
在系統(tǒng)設(shè)計中,采用了深度中斷、定時中斷和遙測幀中斷,在每個中斷服務(wù)程序中利用信號量同步數(shù)據(jù)的采集與控制過程,保證測井作業(yè)能按要求的時序進(jìn)行采集和處理。
采集軟件通過遙測幀中斷和數(shù)據(jù)傳輸中斷協(xié)同工作,遙測幀中斷來源于硬件接口的PCI總線物理中斷,負(fù)責(zé)測井信號的采集響應(yīng)事件驅(qū)動,數(shù)據(jù)傳輸中斷主要是深度中斷、前端機看門狗定時中斷,按照系統(tǒng)約定的數(shù)據(jù)包上傳給后臺處理模塊。
前端采集軟件的中斷服務(wù)功能實現(xiàn)主要有以下特點。
(1)由于EILog系統(tǒng)地面信號采集板的高度集成,100 kbit/s、W TC和430 kbit/s等數(shù)字編碼信號采樣幀中斷與深度中斷共用同一個物理中斷具有相同的中斷號和中斷向量,中斷服務(wù)控制上采用查詢中斷標(biāo)志字的方式實現(xiàn)了多中斷的控制。
(2)V xWorks提供看門狗定時器(Watchdog timer)機制,間隔時鐘精度高,可以精確到微秒級,因而用它可以實現(xiàn)定時采樣方式下的中斷控制,從而滿足系統(tǒng)定時采樣的需求,如生產(chǎn)測井、地層測試等定點測量的要求。系統(tǒng)的采集時間可以通過命令由操作員交互設(shè)置。
(3)VxWorks提供二進(jìn)制信號量同步機制,它是任務(wù)間通信、同步和互斥的最優(yōu)選擇,對于同步,信號量可以協(xié)調(diào)外部事件與任務(wù)的執(zhí)行。中斷服務(wù)程序中采用了二進(jìn)制信號量的技術(shù),實現(xiàn)了中斷事件與測井信號采集任務(wù)的同步。
(4)對于數(shù)字編碼信號,遙測幀中斷驅(qū)動測井信號的采集、深度中斷驅(qū)動數(shù)據(jù)的傳輸?shù)?個任務(wù)之間采用消息隊列的機制實現(xiàn)數(shù)據(jù)的采集;對于3506信號的采集和單一模擬信號、計數(shù)率信號一般只采用1個深度或看門狗定時中斷完成信號的采集和傳輸。
EILog測井地面系統(tǒng)采用的是計算機分布式處理結(jié)構(gòu),由主機和前端機組成測井采集系統(tǒng)。主機負(fù)責(zé)測井過程的操作和管理,前端機負(fù)責(zé)實時采集與處理任務(wù)。主機和前端機采集軟件運行在不同操作系統(tǒng)平臺上,兩者之間的數(shù)據(jù)通訊通過標(biāo)準(zhǔn)的以太網(wǎng)套接字技術(shù)完成。V xWorks和Window s操作系統(tǒng)都提供了標(biāo)準(zhǔn)的網(wǎng)絡(luò)編程接口,前端為服務(wù)器端,主機為客戶端,服務(wù)器端一直等待客戶端的連接,如果連接成功,就建立了數(shù)據(jù)通訊的傳輸通道??蛻舳伺c服務(wù)器端按照約定的下發(fā)命令格式和上傳數(shù)據(jù)格式進(jìn)行數(shù)據(jù)的交互。
(1)下發(fā)命令分為2類,一類是和地面系統(tǒng)相關(guān)的直接發(fā)送到地面控制箱體(電源箱體、接線箱體、深度控制、操作控制等),后臺只需發(fā)送命令標(biāo)識和功能號到前端,具體的命令由前端軟件完成;另一類是和井下儀器相關(guān),由儀器組件庫完成,需要提供完整的命令(包括參數(shù)),按照約定的接口協(xié)議和格式通過網(wǎng)絡(luò)接口發(fā)送給前端采集軟件,設(shè)置到相應(yīng)的信號采集接口板的命令控制內(nèi)存區(qū),從而實現(xiàn)對井下儀器的控制。這樣前端軟件與井下儀器的具體命令內(nèi)容無關(guān),方便儀器的掛接,而地面硬件相對固定,這有利于系統(tǒng)故障的檢測。
(2)上傳數(shù)據(jù)主要由數(shù)據(jù)包標(biāo)志塊、深度數(shù)據(jù)塊、控制狀態(tài)信息塊和井下實際數(shù)據(jù)塊組成。數(shù)據(jù)包標(biāo)志塊中定義了后面數(shù)據(jù)塊的大小、起始位置、遙測幀大小等信息,采用這種動態(tài)數(shù)據(jù)的管理方式方便了數(shù)據(jù)接口的擴展和新儀器的掛接。
基于網(wǎng)絡(luò)架構(gòu),EILog測井系統(tǒng)采集軟件ACM E2.0的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在前端與主控、主控與顯示繪圖之間都采用了以太網(wǎng)技術(shù)實現(xiàn)數(shù)據(jù)的交互,在現(xiàn)場可以有多個顯示繪圖程序,或者網(wǎng)絡(luò)連接的異地進(jìn)行測井?dāng)?shù)據(jù)的監(jiān)視,使得測井?dāng)?shù)據(jù)的遠(yuǎn)程控制和傳輸成為可能。中國石油集團(tuán)測井有限公司在任××井等幾口井基于衛(wèi)星和互聯(lián)網(wǎng)通訊介質(zhì),將EILog快速與成像測井系統(tǒng)、統(tǒng)一軟件、數(shù)字巖心和ERP信息系統(tǒng)4個工作場景集成在1個平臺上,成功地完成了多路雙向視頻監(jiān)控、遠(yuǎn)程測井控制、遠(yuǎn)程實時測井?dāng)?shù)據(jù)傳輸、遠(yuǎn)程技術(shù)支持的測井網(wǎng)測試,并已經(jīng)投入實際的生產(chǎn)應(yīng)用。
(1)EILog測井系統(tǒng)成功應(yīng)用了VxWorks操作系統(tǒng)及開發(fā)平臺,實現(xiàn)了系統(tǒng)硬件的設(shè)備驅(qū)動、多中斷多任務(wù)調(diào)度和實時數(shù)據(jù)采集、前后臺數(shù)據(jù)的傳輸和命令的控制。
(2)基于V xWorks操作系統(tǒng)設(shè)計與開發(fā)的前端采集軟件保證了測井信號采集的實時性和數(shù)據(jù)的完整性。
(3)V xWo rks操作系統(tǒng)多任務(wù)的特點和EILog測井系統(tǒng)數(shù)據(jù)前端和后臺處理應(yīng)用的分布式架構(gòu)設(shè)計理念能更加方便快捷實現(xiàn)新的測井儀器的動態(tài)添加,使EILog測井系統(tǒng)具有更好的擴展性。
(4)基于以太網(wǎng)設(shè)計思想,對實現(xiàn)測井?dāng)?shù)據(jù)的遠(yuǎn)程傳輸與控制,為今后測井網(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] 王元放,吳智銘,施 亮.實時操作系統(tǒng)VxWo rks下PCI總線配置技術(shù)[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年生,高級工程師,碩士研究生,從事生產(chǎn)管理工作。
2010-01-21 本文編輯 李總南)