陈文辉,余卫东,武向萍,陈江浩,林德强,董国敏
(中国石油集团测井有限公司,陕西西安710077)
EILog测井系统前端数据采集控制软件设计与实现
陈文辉,余卫东,武向萍,陈江浩,林德强,董国敏
(中国石油集团测井有限公司,陕西西安710077)
EILog测井系统是基于前端和后台的网络化分布式架构设计的,前端是基于VxWorks嵌入式实时多任务操作系统设计开发,主要负责系统硬件的控制与数据采集;后台主要负责数据的处理、数据显示和绘图等功能。从测井信号采集控制时序以及采集接口板的特点分析入手,阐述了操作系统平台选择的设计思想,介绍了VxWorks操作系统的特点,以及基于V xWo rks操作系统实现cPCI总线采集接口板的设备驱动,讨论了利用Vxwo rks操作系统多任务技术如何实现测井信号的采集与控制,以及VxWorks与Window s前后台之间的的数据接收和命令控制的方式。基于此架构设计的ACM E采集软件已经成功应用。
测井系统;VxWorks操作系统;测井数据采集;实时多任务;网络
测井采集系统包括地面数据采集控制平台和井下仪器测量和传输平台,其中地面采集平台是针对自身系统的测井信号特点设计的,包括测井采集硬件接口和软件采集控制技术的实现。
EILog测井系统的地面采集技术路线以cPCI总线技术为系统硬件支撑平台,采用前后台分布式结构,前台采用嵌入式技术和V xWorks操作系统,负责完成系统硬件的控制;后台采用工业控制计算机技术和Window s操作系统,负责完成测井信号的记录和成果输出,两者之间利用以太网技术形成测井局域网,实现数据的网络传输和远程控制。
1.1 基本特点[1-3]
VxWorks实时操作系统包括微内核w ind、网络支持、文件系统和I/O管理、C++和第三方CPU板软件支持包BSP等核心功能。
(1)微内核设计。处于V xWorks实时操作系统核心的是高性能的微内核w ind,主要实时特征是快速任务切换、中断支持、抢占式和时间片轮转调度等。微内核设计减少了系统开销,从而保证了对外部事件快速、确定的反应。运行环境也提供了有效的任务间通信机制(如消息队列和管道、网络套接字等)和任务同步机制(如二进制、计数、有优先级继承特性的互斥信号灯)。
(2)可裁剪的运行软件。开发者能够根据自己的应用程序需要,而不是根据操作系统的需要分配稀少的内存资源,其多个子系统本身也是可裁剪的,这样就允许开发者为应用程序进行更为优化的Vx-Works运行环境配置。
1.2 VxWorks下cPCI总线测井信号采集板地址空间的配置
EILog测井系统硬件接口总线采用了cPCI总线。cPCI总线是PCI总线在工业控制和嵌入式平台领域的扩展,它遵循PICM G 2.0电气规范。为了访问动态分配地址的PCI总线,在机器通电时,配置软件必须扫描PCI总线,确定存在PCI设备的数目和配置要求。
PCI设备需要访问3种地址:PCI I/O地址、PCI内存映射地址和PCI配置空间。VxWorks操作系统提供了访问这些地址空间的应用接口,PCI I/O和内存地址空间由设备驱动程序使用,而 PCI设备配置空间的访问则由操作系统核心中PCI初始化代码使用。为了获得信号采集板PCI I/O和内存地址,首先必须查找设备,读取设备的PCI配置空间。通用的PCI配置空间[4]共有256 B,头部分大小为64 B,设备寄存器配置在64~255 B之间。每个PCI功能设备都有64个配置双字节用于实现配置寄存器,PCI协议定义了头16个双字的格式和用途,它是设备的配置头区域,其他48个双字可以用户定制。
配置软件读取测井信号采集板PCI接口的厂商标志、设备标志、分类码等信息以确定设备的存在及其类型,然后访问采集板的基地址寄存器,确定采集板的存储方式和存储器地址空间,并保证每个设备的I/O和存储器地址范围互不冲突。
EILog测井系统地面采集平台测井信号采集板的设备标志和厂商标志都是已知的,在实际应用中,采用静态指定的方法进行 PCI地址空间到 Vx-Wo rks操作系统中的逻辑映射,实现对信号采集板的存取访问。首先查出信号采集板上的接口内存映射基地址,在V xWo rks板级支持包BSP软件的sysLib.c文件中查找到PHYS_M EM_DESC结构,在该结构按照VxWorks操作系统内存分配的格式进行虚拟内存分配,再生成相应的系统映像文件。当前端采集软件启动时,自动将该结构中的指定的内存空间映射到系统的内存映射表中,设备驱动程序就可以直接使用这些地址进行读写操作,实现测井信号的采集和控制操作。
2.1 前端采集软件多任务划分
在设计采集软件时,根据测井作业的要求,用V xWo rks操作系统多任务的特点划分不同的任务,采用相应的同步协调机制,实现多种测井信号的共同采集,可以有效保证多种信号同时采集的实时性要求和数据的完整性。前端数据采集软件主要负责系统的硬件控制和数据实时采集任务,它利用V x-Works实时多任务操作系统的优良性能,完成测井过程中所有数据的实时采集和处理工作。
在硬件控制方面,前端主要实现对信号采集箱体各个接口板的访问、数据采集与控制、通过串口控制实现对接线箱体继电器矩阵控制和井下电源的选择控制。在数据采集方面,根据测井信号采集种类和时序的特点,前端主要负责网络服务器的建立、后台命令控制任务管理、采集接口的分配与控制、多个中断的服务与控制、各种测井信号的采集任务管理,实时多任务采集模块的调度等功能的实现。
前端采集软件的主要任务主要是初始化任务、命令交互任务、信号采集任务、深度采集传输任务和反馈控制任务。任务之间的通讯及同步采用信号量技术实现。
前端采集控制软件主要任务的具体功能如下。
(1)初始化任务。初始化任务包括网络初始化、cPCI总线初始化、采集通道初始化等工作。前端机开机后,首先启动网络传输的服务器,等待主机客户程序的连接申请。然后根据cPCI的板卡配置信息自动配置各采集通道,完成系统的初始化任务。
(2)网络服务器任务。网络服务器任务是前端实时采集软件的核心任务,它在系统初始化时启动,并一直处于有效运行状态。它首先完成系统网络的基本设置,提供主机客户端连接的通道,然后进入到网络监控状态,监听网络上的客户连接申请,并提供相应权限的网络服务。设计时将客户端权限分为2类,一类是既有接收权限,又有发送命令控制采集过程的权限;另一类是只有接收数据的权限,不能向前端发送命令控制测井的采集过程。
(3)命令控制任务。命令控制任务主要负责接收主机传过来的各种控制命令,按照系统的命令约定,将接收到的命令进行解释和处理,完成下发命令的各种控制过程。该任务在服务器接受客户的连接申请后创建,在客户退出连接时取消。
(4)实时测井信号采集任务。实时信号采集任务在启动测井采集功能时启动,负责从各采集通道中读取测井原始数据,并按不同的测井仪器的特点对原始数据进行预处理,通过消息队列由网络传输任务发送给主机。采集过程分为按时间中断采集和按深度中断采集2种,根据不同的采样率和不同的采集方式的要求可以灵活使用,2种采集方式也可同时使用,以保证系统采集过程的实时性和可靠性。
2.2 前端采集软件的中断控制
硬件中断处理是实时系统设计的最重要、最关键的问题。中断通常对应着外部事件,系统通过中断与外部事件交互。为了获得尽可能快的中断响应时间,V xWo rks操作系统中断处理程序运行在特定的上下文中(在所有任务上下文之外),因此,中断处理不会涉及任何任务上下文的交换。它可以实现1 m s的硬件中断服务控制。
在系统设计中,采用了深度中断、定时中断和遥测帧中断,在每个中断服务程序中利用信号量同步数据的采集与控制过程,保证测井作业能按要求的时序进行采集和处理。
采集软件通过遥测帧中断和数据传输中断协同工作,遥测帧中断来源于硬件接口的PCI总线物理中断,负责测井信号的采集响应事件驱动,数据传输中断主要是深度中断、前端机看门狗定时中断,按照系统约定的数据包上传给后台处理模块。
前端采集软件的中断服务功能实现主要有以下特点。
(1)由于EILog系统地面信号采集板的高度集成,100 kbit/s、W TC和430 kbit/s等数字编码信号采样帧中断与深度中断共用同一个物理中断具有相同的中断号和中断向量,中断服务控制上采用查询中断标志字的方式实现了多中断的控制。
(2)V xWorks提供看门狗定时器(Watchdog timer)机制,间隔时钟精度高,可以精确到微秒级,因而用它可以实现定时采样方式下的中断控制,从而满足系统定时采样的需求,如生产测井、地层测试等定点测量的要求。系统的采集时间可以通过命令由操作员交互设置。
(3)VxWorks提供二进制信号量同步机制,它是任务间通信、同步和互斥的最优选择,对于同步,信号量可以协调外部事件与任务的执行。中断服务程序中采用了二进制信号量的技术,实现了中断事件与测井信号采集任务的同步。
(4)对于数字编码信号,遥测帧中断驱动测井信号的采集、深度中断驱动数据的传输等2个任务之间采用消息队列的机制实现数据的采集;对于3506信号的采集和单一模拟信号、计数率信号一般只采用1个深度或看门狗定时中断完成信号的采集和传输。
EILog测井地面系统采用的是计算机分布式处理结构,由主机和前端机组成测井采集系统。主机负责测井过程的操作和管理,前端机负责实时采集与处理任务。主机和前端机采集软件运行在不同操作系统平台上,两者之间的数据通讯通过标准的以太网套接字技术完成。V xWorks和Window s操作系统都提供了标准的网络编程接口,前端为服务器端,主机为客户端,服务器端一直等待客户端的连接,如果连接成功,就建立了数据通讯的传输通道。客户端与服务器端按照约定的下发命令格式和上传数据格式进行数据的交互。
(1)下发命令分为2类,一类是和地面系统相关的直接发送到地面控制箱体(电源箱体、接线箱体、深度控制、操作控制等),后台只需发送命令标识和功能号到前端,具体的命令由前端软件完成;另一类是和井下仪器相关,由仪器组件库完成,需要提供完整的命令(包括参数),按照约定的接口协议和格式通过网络接口发送给前端采集软件,设置到相应的信号采集接口板的命令控制内存区,从而实现对井下仪器的控制。这样前端软件与井下仪器的具体命令内容无关,方便仪器的挂接,而地面硬件相对固定,这有利于系统故障的检测。
(2)上传数据主要由数据包标志块、深度数据块、控制状态信息块和井下实际数据块组成。数据包标志块中定义了后面数据块的大小、起始位置、遥测帧大小等信息,采用这种动态数据的管理方式方便了数据接口的扩展和新仪器的挂接。
基于网络架构,EILog测井系统采集软件ACM E2.0的网络拓扑结构。在前端与主控、主控与显示绘图之间都采用了以太网技术实现数据的交互,在现场可以有多个显示绘图程序,或者网络连接的异地进行测井数据的监视,使得测井数据的远程控制和传输成为可能。中国石油集团测井有限公司在任××井等几口井基于卫星和互联网通讯介质,将EILog快速与成像测井系统、统一软件、数字岩心和ERP信息系统4个工作场景集成在1个平台上,成功地完成了多路双向视频监控、远程测井控制、远程实时测井数据传输、远程技术支持的测井网测试,并已经投入实际的生产应用。
(1)EILog测井系统成功应用了VxWorks操作系统及开发平台,实现了系统硬件的设备驱动、多中断多任务调度和实时数据采集、前后台数据的传输和命令的控制。
(2)基于V xWorks操作系统设计与开发的前端采集软件保证了测井信号采集的实时性和数据的完整性。
(3)V xWo rks操作系统多任务的特点和EILog测井系统数据前端和后台处理应用的分布式架构设计理念能更加方便快捷实现新的测井仪器的动态添加,使EILog测井系统具有更好的扩展性。
(4)基于以太网设计思想,对实现测井数据的远程传输与控制,为今后测井网的部署奠定了良好的技术基础。
[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系统结构[M].刘晖,冀然然,夏意军,译.北京:电子工业出版社,2000.
[5] 王元放,吴智铭,施 亮.实时操作系统VxWo rks下PCI总线配置技术[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年生,高级工程师,硕士研究生,从事生产管理工作。
2010-01-21 本文编辑 李总南)