摘要:本文基于ZigBee无线通讯组网技术,以iennic5139为控制核心,构建了适合油田信息采集的无线传感器网络给出了传感器节点与中转节点的硬软件设计。提出了一种组网灵活、成本低、维护方便的解决方案。
随着“数字油田”建设的不断推进,油田信息化建设得到了很大发展。各种生产信息系统的建立极大地方便了技术人员的日常工作,提高了安全生产的效率。数据自动化采集、信息处理将是建设“数字油田”乃至“智能油田”的必然趋势。近些年,各种无线传感器网络和无线传输技术发展日趋成熟,为油田信息系统建设提供了又一种行之有效的技术手段。
无线传感器网络(Wireless Sensor Network,WSN)技术是利用布置在无人值守的监控区域内具有通信和运算能力的传感器节点,自主完成对检测对象的信息采集、感知等指定任务的技术。无线传感器网络是集传感器技术、通信技术、嵌入式计算和分布式处理技术为一体,特别适合于油田点多面广的应用场合。
1 系统网络结构
以油田A为例,需为生产设备相对集中的“井群”设计无线传输方案。如图1,湖滩分布着69口油井(浅黄色标记)和21口注水井(深绿色标记)。
针对现场需求和ZigBee无线传感器网络技术,考虑将温压仪、示功仪、双压仪节点作为“终端(End Device)”,负责采集信息以监控油田生产设备,用电池供电;中转节点作为“路由(Router)”转发网络中的信息;“协调器(Co-ordinator)”则安装在各区块的平台上,并通过终端机与队部中控室通信。路由和协调器均由市电供电。这样就将5个油井区块划分为5个协调器短地址不同的ZigBee网络。主站(协调器)负责启动网络,所有终端通过路由接入网络,组成树状或网状结构。上位机通过主站及其网络便可实现命令的下发和数据的读取。
通过Google Earth和现场测量,一般油井之间的距离在50米至100米。经测试,ZigBee节点间较大数据量(功图数据,约为1 KB)的最大稳定通信距离在50米左右,距离越远传输效果越差,且通信时节点传输信道之间须尽可能无遮挡。因此可靠传输的关键在于“路由”型节点的合理布置。同时需解决两个问题:一是因现场比较空旷,要保证“路由”型节点的安装位置能提供可靠供电并满足防汛要求;二是在软件设计上,经过“路由”型节点透明传输的数据一旦丢失,则无法通过协议栈捕获,而必须在数据接收端由上位机来判断。
基于上述考虑,温压仪、示功仪、双压仪作为“终端”节点,中转节点由原来的“路由”节点改为“协调器”,并与电量仪一起安装在油井平台的电机控制柜中。即每个油井平台使用(或多个共用)一个中转节点,每个中转节点即代表一个独立的个人局域网(PAN),其附近的终端型节点为其子节点。中转节点又作为网关,以433 MHz无线方式与主站(433 MHz数传模块)进行通信,当然5个区块的433 MHz频道各不相同,每个区块作为一个独立的网络,各网络间互不干扰。
基于Zigbee无线传感器网络的智能油田信息采集系统网络结构如图2所示。
2 系统硬件设计
2.1 传感器(终端)节点
综合节点设计的各种需求,选择Jennic的JN5139模块作为节点的主控芯片,它是一款适用于IEEE802.15.4和ZigBee应用环境的低功耗、低成本微控制器,集成了32位RISC处理器(32MIPS)、2.4 GHz IEEE802.15.4无线收发器、192 kBROM、96kB RAM以及丰富的模拟数字外围接口。节点硬件结构如图3所示。
传感器模块包括传感器和信号调制电路,示功仪传感器为加速度ADXL202和载荷CL—YB—10M/15t,温压仪包括温度PT100和压力Honey well C13L型传感器,双压仪的压力传感器同样选择Honeywell C13系列。“示功仪采集的载荷”(或压力)、“温压仪采集的温度和压力”以及“双压仪需要采集的压力”对应的四种传感器的原理基本相同,基本电路都是带有特殊(热敏或压敏)电阻的电阻桥,由物理量变化引发电阻变化,导致电路输出电压的变化,输出电压视传感器从几毫伏到上百毫伏不等。JN5139芯片带有4路12位ADC通道,对应的模拟电压值范围为0~2.4 V。传感器到芯片ADC引脚之间用运算放大器对电压信号进行放大,合理调节放大倍数,使得运放输出的电压在2.2 V左右,即留有一定裕量。时钟模块选用DS1302芯片,根据其时间值,程序发起采集和记录数据。电源模块也视节点而不同——终端节点包括4 000 mAh锂电池、太阳能板及其充电电路。
2.2 中转节点
中转节点配有与传感器节点相同的主控芯片,具有IEEE802.15.4协议规定的所有功能与特性,负责建立网络、管理传感器节点、储存传感器节点信息,为消息进行路由选择等功能。另外增加无线串口通信模块与管理控制中心进行通信,中转节点硬件结构如图4所示。
中转节点通过电量仪设备读取电机的电参量,由AC220V供电,433 MHz串口透传模块使用SM55D无线串口通信模块。与电量仪采用RS485接口进行数据通信。JN5139模块有两路UART接口,故将中转节点JN5139模块的UART1通过UART—RS485接口芯片与电量仪RS485接口相连。
3 系统软件设计
系统软件主要包括传感器节点软件设计、中转节点软件设计和管理控制中心软件设计3部分。传感器节点主要实现数据的采集和发送;中转节点一方面负责网络的配置和管理,另一方面收集各个传感器节点发送的数据,将数据处理后转发给管理控制中心。管理控制中心主要实现数据的储存、实时显示及数据分析与管理等功能。
3.1 传感器节点软件
传感器节点程序的主要任务分为“采集数据”和“网络响应”,前者是按照给定的时间间隔定时采样,后者则包括“无线数据协议命令响应”和“ZigBee网络协议栈事件处理”(包括入网、掉网等),采用中断处理方式。考虑片上系统(SOC)的单任务特性,可以将节点程序设计成“任务检查制”——每次从休眠中醒来,初始化后,判断是否要进行网络响应,或根据时钟时间判断是否有采集任务,若空闲则进入休眠,休眠一定时间间隔后再次被唤醒,如此反复。
为了能采用使节点功耗更低的无内存驻留的休眠方式,因此将一些重要的参量保存在flash中,并在初始化中重新加载。终端节点的软件框架流程图如图5所示。
3.2 中转节点软件设计
中转节点的任务相对简单,只需处理触发的协议栈事件、接收和处理“网络消息”。“网络消息”分为来自串口透明传输设备的一级网络命令和来自二级ZigBee网络的消息。电量仪的处理包含在“命令解析与转发”环节中。中转节点没有休眠,是不间断工作的,其软件设计流程图如图6所示。
中转通过433 MHz串口透明传输模块“SM55D”接收来自上位机的命令,“SM55D”会将接收的字符提供给JN5139模块的串口(UART)0,可利用串口0的中断处理解析节点命令。
串口0设置为每接收一个字符便进行中断,在中断处理中将字符添加至缓冲区,待缓冲区中的字符达到解析长度的下限值时,根据命令中的节点号和功能码查表获得对应命令的指定长度S(包括CRC校验码);若字符总数N等于S,根据“网络号”进行判断,若非本PAN节点的命令,则不作任何处理,立即返回;否则进行CRC校验,对于校验通过的命令,查找表格对子节点进行地址映射,再进行下一步操作。中断处理流程图如图7:
从图7中可以看到“CRC16校验失败”、“子节点未注册”、“命令下发失败”三种特殊情况(若下发设置命令成功后,也会有特殊返回信息ACK0)发生后,中转均通过发送特殊ACK信息对上位机进行反馈,便于设备的调试。对于ZigBee子节点设备,命令是否下发成功,中转节点可通过ZigBee协议事件获取;对于电量仪设备,根据其数据传输协议,所有命令都应有数据返回,可在命令下发的同时,启动定时器,若规定时间内无正确数据返回,则认为命令下发失败。
3.3 管理控制中心软件设计
上位机只需按照节点的数据传输协议向串口写入字符,即可实现命令发送。节点的网络号和节点号,可从数据库中相应的配置表读出。上位机程序利用时钟驱动,对每个通信区块的节点轮流下发命令并解析数据,每30分钟进行一次。
在对子节点下发命令后,即侦听对应串口,解析其433MHz模块接收到的字符,根据起始/终止符“0x7E”提取数据,找到数据中字符0x 7D”并抛除,并对其后的字符进行转义,即再与“0x20”按位异或。对得到的数据包进行CRC16校验,校验通过后的数据按节点类型进行数据解析和相应操作。操作流程图如图8所示。
4 结束语
通过传感器节点、中转节点组建的无线传感器网络,实现了油田生产信息的采集、传输与处理。适应了油田点多面广的应用需求,同时也降低了组网、部署和维护成本。作为油田生产信息系统数据获取的一种有效技术手段,无线传感器网络具有很好的应用前景。