微控梦想

搜索:
您的位置: 首页 > 计算机 > » 正文

基于RTU油井远程测控系统的数据采集与传输层软

时间:   来源:嵌入网   作者:佚名   阅读:

引 言

每一个油田都拥有众多的油气井, 并且分布在山川旷野里,油气井的管理方式多为由人工每日值守,定时检查设备运行情况,记录相关数据。这种方式增加了用工人数,加大了护井工劳动强度,最重要的是影响对设备的监控。当抽油机、电泵出现微小故障时,往往很难被人工及时发现,从而得不到有效地防护与控制[9]。

为了能有效地发现油井、地层、油藏的变化,可用油井远程测控系统,通过在抽油机上安装位移传感器和载荷传感器,检测抽油机的工况,实时在线监测抽油机工作参数,及时发现故障并报警,及时维护。本文提出了一种基于RTU的油井远程测控系统的数据采集与传输层设计方案,并将该方案用于实际的井场应用中。

1 油井远程测控系统总体架构

油井远程测控系统的总体架构如图1所示,整个测控系统的组网架构分为现场局域网、企业信息网两大部分。网络拓扑采用分层星型拓扑,是为了在中央测控室的中央测控服务器与现场局域网的各个测控代理服务器的测控对象之间建立更有效的连接方式。每个测控分站设测控代理服务器,实时发送或读取的井场设备数据先经测控代理服务器处理后再并行传输到中央测控服务器,这样既让等级高的设备预警信号得到现场级的及时响应,又减轻了中央测控服务器处理数据的压力。WEB服务器与中央测控服务器通过数据库服务器连接,这种连接方式使WEB服务器面向的对象是数据库服务器,有利于WEB服务器在处理管理用户的指令时与中央监控服务器保持一定的时差,避免了相互动作间的冲突[2]。而所有这些数据来自于代理测控服务器通过井场数据采集与传输层得到的。IT目前最常见的数据采集与传输层的工作方式有图1所示的两种情况。其中井场1针对安装多个传感器的油气井,在每个油气井处安装一个RTU从站,能够对该油气井的传感器进行统一管理,并在每个井场设置一个RTU主站,采用主叫/从响应的方式,采集各从站的传感器数据,然后将各从站数据上传到上位机(测控代理服务器);井场2针对安装几个传感器的油气井,在每个井场放置一个RTU,直接将传感器的数据采集后发送到上位机;为了能够兼容这两种工作方式,本文设计了一个基于RTU的数据采集与传输层系统软件。

2 数据采集与传输层硬件基础——RTU

有些油气田由于地理原因WLM.COM整理,不易铺设电缆,本系统引入物联网技术,加入无线通信ZigBee模块,并利用其自组织原理,实现在井场无线自组织寻址和数据传输,可以简单、方便地实现井场实时数据采集,利用这些有效数据指导油田油气生产,提高产量,其构成一个物联网回路,改变了油田生产方式[5]。

油井远程测控系统RTU采用Samsung公司的S3C2440A,具有400 MHz的工作频率,主要控制数据流的输入输出;采用具有2 Mb存储能力的Nor flash (EN29LV160AB)存储程序;用有128 Mb存储能力的Nand flash(K9F2G08U0B)存储数据;利用AD转换器ADS7952采集8通道12位模拟数据;系统环境温度由温度传感器TMP100获得;考虑到ZigBee模块的接口以及有线方式下的长距离传输等因素,RTU的串行链路口为RS 232及RS 485;为与代理测控服务器PC机相连,RTU采用DM9000实现以太网连接;RTU的初始配置信息采用E2PROM存储;RTU内还包含隔离电路、控制单元等几个部分。RTU的硬件框图如图2所示。

3 数据采集与传输层系统软件

3.1 数据采集与传输层通信协议

Modbus通信协议已经非常广泛地应用于自动控制和通信领域中,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以实现通信。Modbus网络属于一种主从网络,允许一个主站和一个或多个从站通信。它采用命令/应答方式,每种命令报文都对应着一种应答报文。网络中的每个从站都必须分配一个唯一的地址。主站发出的命令中含有要求访问的从站地址,只有具有该地址的从站才会对该命令响应。

3.1.1 Modbus/RTU通信协议

RTU主/从站串口通信时,通常使用的是Modbus/RTU传输模式。在Modbus报文RTU帧中,如果两个字符之间的空闲间隔大于1.5个字符时间,那就认为报文帧不完整,此时接收站应该丢弃这个报文。时长至少为3.5个字符时间的空闲间隔将报文帧区分。RTU消息帧的典型格式如表1所列。

表1 Modbus/RTU消息帧典型格式

地址设备功能码数据CRC校验

8 bits8 bits8n bits16 bits

3.1.2 Modbus/TCP通信协议

Modbus/TCP是一种应用层的协议,上层为 Modbus协议,下层为 TCP协议,它规定了网络互联节点间的请求/应答的通信方式。帧格式必须严格遵守协议所规定的ADU(Application Data Unit)格式,才能在以太网上实现数据的传输。图3所示即为 Modbus/TCP的数据帧格式[3]。

MBAP报文头 (Modbus Application Protocol Header)是TCP/IP使用的专用报文头,用来识别Modbus的应用数据单元。MBAP共有 7个字节,其具体组成及含义如表 2所列。

国际互联网编号分配管理机构IANA(Internet Assigned Numbers Authority)专门为其赋予了一个TCP端口号502端口,利用TCP发送所有的Modbus/TCP ADU[1]。

3.1.3 Modbus/TCP与Modbus RTU数据帧的区别

Modbus/TCP虽然包括了从站地址、功能码和传输的数据,但是没有校验控制码,这是因为Modbus/TCP校验功能已经在下面的四层如 TCP/IP协议和链路层的校验机制得到了保证。

3.2 数据采集与传输层系统软件设计

油井远程测控系统的数据采集与传输层主要完成的功能:传感器数据的采集、传输和对继电器的控制。图1中提到了两种常见的工作方式。在井场1中存在RTU主站和从站:主站主要负责对各从站进行轮询、数据打包和向上位机发送数据,从站主要负责数据的采集、继电器的控制和轮询命令的响应,主从站之间的通信使用的是Modbus/RTU。在井场2中只存在一个RTU,主要完成数据的采集、继电器的控制和向上位机发送数据,通信使用的是Modbus/TCP。在数据采集与传输层的工作过程中,考虑到系统的兼容性,对RTU软件设计提出了可配置的要求,不需要重新下载程序,只需要使用系统配置软件就可选择不同的工作方式和通信方式,这就保证了系统的可操作性和兼容性,系统的适应性大大加强。

在软件开发过程中,考虑到串行通信速度较慢的特点,采用多线程技术,故引入实时操作系统μC/OS_II,将Modbus/RTU通信、Modbus/TCP通信等放在单独的线程中进行,而数据采集和控制等则采用另外的线程实现。
------------ ---------- ----------- ---------- --------- -------- ------- ------ ----- ---- --- -- -  -  -