微波原油含水率检测仪与油田PCS通信的ZigBee实现

2022-12-01 08:42刘晓军秦红杰方浩孟敏
传感器世界 2022年8期
关键词:检测仪报文含水率

刘晓军 秦红杰 方浩 孟敏

1. 中石化河南油田分公司采油一厂,河南南阳 474780;2. 江苏麦赫物联网科技有限公司,江苏无锡 214603

0 前言

油田信息化管理是把生产监控作为重要手段,以完成数据采集、动态分析和自动化控制为目的,全面实现油田可视化、数字化、智能化的一种管理模式[1]。井口压力、温度、功图、位移、含水率和现场图像等数据采集是实现信息化的重要基础。

一般井口各设备数据上传过程:现场设备将数据送至RTU(Remote Terminal Unit)模块,RTU负责将数据上传到后台服务器,并将后台服务器发出的指令送到相应设备。目前井口各设备与RTU之间的连接主要分有线和无线2种方式:有线方式主要使用RS485总线;无线方式则是利用ZigBee网络。本文介绍微波原油含水率检测仪的ZigBee网络通信实现方法。

1 ZigBee技术

ZigBee是采用IEEE802.15.4的无线通信标准[2],是一种适用于短距离和低速率下小数据量传输的无线通信技术,有低功耗、低成本、低复杂度和容纳节点多(一个网络理论上可支持65,536个)等优点[3-4]。缺点主要有:无线频率容易受到干扰;各个ZigBee厂商协议栈太多或版本不兼容,造成各种ZigBee模块不能互相通信。

针对油井来说,采集的数据基本在20 m范围之内,并且空旷,部分功耗小的设备可用电池供电,适合采用ZigBee网络进行数据传输。

2 微波原油含水率检测仪

本文介绍的原油含水率检测仪能够测量原油中0%~100%含水率。其主要特点是采用微波在线测量方式,根据原油与水介电常数的巨大差异,对比微波速度变化测算出原油含水率[5]。

3 PCS系统网络结构图

图1为PCS系统网络结构图。中心控制室与现场各种仪表设备的通信通过因特网实现,服务器和现场RTU配合工作,达到操作员与现场设备的数据透明传输、实时控制的功能。历史数据存储于服务器上,供用户随时调阅查询。图1中的通信模块用于连接到2G/4G通信基站。

4 硬件设计情况

微波原油含水率检测仪中实现信号上传的主要硬件为MCU(Micro controller Unit)和ZigBee模块。其中,MCU选用意法半导体STM32F103C8T6芯片,基于ARM Cortex-M3内核,性能强大;ZigBee模块采用厦门四信通信科技有限公司的F8913D,其遵循中石化四化标准通信协议规范SZ9-GRM V3.01,具备中继路由和终端设备功能,最长报文可达300 Bytes。MCU和F8913D的接线连接如图2所示。

F8913D和MCU有3个引脚相连:RST是模块复位脚,为防止F8913D死机,需要在程序中检测通信回应报文,当检测到3次无应答报文时,则控制此信号进行模块复位;RX是通信接收,TTL电平,连接到UART1_TX;TX是通信发送,TTL电平,连接到UART1_RX。串口通信波特率设置为9600,起始位1,数据位8,停止位1,校验位无。

5 通信实现

5.1 通信参数设置

ZigBee网络通信中有3个重要参数:网络号、信道号和地址。每个网络都有唯一的标识符PAN ID(网络号),因此,F8913D必须与RTU的协调器信道号一致。首先确定网络号和信道号,根据中石化四化标准通信协议SZ9-GRM V3.01规定确认这2个参数:将油井名称做CRC16校验,以校验码为网络ID号,信道号为ID号对16取余再加11。网络号和信道号设置到RTU协调器和检测仪中保存,地址按RTU规定设置。

5.2 数据通信

RTU和原油含水率检测仪之间的数据通信过程如图3所示。

RTU接收到常规数据后,发送常规应答,结束本次通信,仪表进入休眠。休眠时间在应答数据中体现,若RTU没有应答,仪表不做重发处理。本含水仪不休眠,按RTU给的休眠时间定时发送数据即可。

5.3 ZigBee模块命令设置

MCU对F8913D的命令设置是通过AT命令实现的,根据节点类型和通信协议确定使用表1所示命令。

其中,1至10号命令是在使用模块前由USB-TTL线通过串口设置到ZigBee模块中,11、12号命令在仪表启动后根据存储的参数进行设置[6]。

表1 AT命令使用表

5.4 ZigBee通信程序实现步骤

(1)初始化程序。程序启动时按参数中网络号和信道号对ZigBee模块进行设置;

(2)检测和处理主程序。在主程序中一旦检测到网络号或信道号参数改变,需要重新对ZigBee模块进行设置。图4显示了信道号改变处理流程,网络号处理与此类似;

图中AT命令操作部分流程逻辑采用不同标记状态来控制,减少等待时间占用MCU。串口接收发送用中断,使用定时器返回判断等待时间,在主程序大循环中,根据标记来查看串口缓冲区数据,确定本次AT命令是否返回正确;

(3)定时发送数据报文程序。MCU按休眠时间间隔周期,通过F8913D模块向RTU发送数据报文。

5.5 报文实例和解析

微波原油含水率检测仪发送报文:

00 01 A0 12 30 12 00 01 00 00 0014 00 FF 00 FE 00 FD 00 FF 01 00 03 EC 04 EE 03 EC 04 EE

斜体部分为帧头数据报文,后面为数据内容,解析方式如表2和表3所示。

用户实际使用分钟含水率,每次发送报文后收到“OK”回复;若3次接收不到,则认为ZigBee模块死机,重新启动模块。

6 结束语

软件使用Keil MDK5编制,成功实现微波原油含水率检测仪与RTU通信,将数据上传到服务器,并在油田PCS系统显示。目前设备在现场正常运行超过2年,充分验证了本方案的实用性和可靠性。先进的原油含水率测量方法与低成本、高可靠的数据通讯方式有机结合,为油田无人化监测提供了成功且有益的尝试,为今后各类石油仪表传感器智能化探索了道路。

表3 数据内容报文解释

猜你喜欢
检测仪报文含水率
基于J1939 协议多包报文的时序研究及应用
直接估计法预测不同层凋落物含水率的适用性分析
以太网QoS技术研究及实践
千针万线草幼苗出土及生长对土壤含水率的响应
浅析反驳类报文要点
一种防雷接地装置的便携式检测仪电路
体脂检测仪
基于Android平台的便携式痕量重金属离子检测仪的研制
1588v2中的PTP报文格式及应用
级联型PID系统在加料含水率控制上的应用