智慧油田中嵌入式RTU应用设计

智慧油田中嵌入式RTU应用设计
魏学良;李卓然;于聪智
【摘 要】在现今油田进行智能化、数字化技术改造的背景下,本文通过运用嵌入式技术和网络通信技术并通过在实验室及油田现场进行实物实验,提出了嵌入式技术的RTU系统总体设计方案,包含硬件支撑平台设计和软件设计。硬件支撑平台以三星公司的S3C2440的arm为核心处理器并外接功能接口芯片;嵌入式Linux多任务操作系统作为系统软件平台并在此系统平台上开发应用程序,实现嵌入式RTU的设计。目前该系统原型机已经实现,通过现场实验表明,本系统性能稳定,各项指标均达到要求。%Under the background of current oilfields in its intelligent and digital transformation, by using embedded technology and network communication technology and through the physical experiments in laboratory and samples from oilfield, this paper proposed a design scheme based on embedded RTU system and the communication technology, including hardware design and software design. The hardware design is based on a hardware platform with a Samsung S3C2440 core processor and it can attach an external function internal chip; Embedded Linux as a multita
sking operating system software platform developped applications on the system platform to implement the RTU design. At present the system prototype is implemented.The field experiment shows that this system has stable performance and the indicators are up to par.
空气过滤材料【期刊名称】《电子设计工程》
丰年虾孵化器【年(卷),期】2016(024)003
【总页数】4页(P184-187)
【关键词】RTU;ZigBee;物联网;嵌入式
【作 者】魏学良;李卓然;于聪智
【作者单位】中国石油大学 北京 地球物理与信息工程学院 北京 102249;中国石油大学 北京 地球物理与信息工程学院 北京 102249;中国石油大学 北京 地球物理与信息工程学院 北京 102249
【正文语种】中 文
【中图分类】TN87
智慧油田建设是依托物联网应用系统、结合智能巡检和自动感知、数据融合技术基础上,探索建立组织运维、层级简化的现代油田管理新模式,以实现油田管理系统可靠、优质、高效运行。系统包含3个层次的内容:感知层、传输层、应用层。
其中:感知层:主要包括油田现场应用的各类传感器和摄像探头等,例如温度、压力、载荷、流量传感器等仪表设备,通过这些设备采集油田现场数据,通过摄像探头捕捉现场视频信息,通过传输层的RTU将数据直接传到控制中心;
应用层主要是油田专业软件平台,它主要是根据采集数据和数据库历史数据对油水井工况进行综合分析优化。
数据传输层:是连接应用层和感知层的关键环节。由传输网络和支持网络的数据采集传输终端(RTU)构成。
根据油田现场工作需求,传输层中的RTU(数据传输终端)主要具备如下功能:
1)支持多接口传感器接入功能:
①ZIGBEE无线仪表接入,温度、压力、电量、功图采集等仪表通过ZIGBEE无线方式接入网关与网关通讯。珍珠岩保温管壳
②RS485有线仪表,RS485作为备用有线仪表接入口,用于车间内有线仪表与网关通讯。
③USB摄像头接入,视频监控采用了中微星星光摄像头,该摄像头以USB方式接入网关。
2)协议转换与数据管理
传感器数据以ZIGBEE协议、RS485协议、USB协议接入RTU,把底层的数据进行标准化统一封装、确保不同的传感器网络协议可以转换成统一的命令或数据;并把顶层向下发送的数据压缩包解码为传感器子网协议可辨识的命令[1]。
3)RTU具有仪表数据进行备份功能。
设计中的基于嵌入式RTU主要实现包括高速的数据通讯、油井现场视频监控、现场无线仪表信息采集(温度、压力、电量、功图等数据)和抽油机控制等功能。
考虑到物联网网关的复杂功能和对硬件平台处理速度需求,硬件平台的核心处理器选用了三星的 S3C2440 (ARM920T)32位处理器[2]。考虑到网关系统的后期可扩展和升级维护成本,硬件设计上根据功能进行了模块划分,分成以下几个功能模块分别实现,如图1所示。
1)核心处理器模块,负责对整个系统的资源进行调度,对网关上行、下行的数据进行解析处理并对上下两层的协议进行转换。本设计采用三星的S3C2440(ARM920T核)处理器,核心处理器上运行物联网网关嵌入式Linux系统和网关应用服务程序,完成网关的各项服务和管理功能,例如,包括数据接收、协议查询、协议部署和协议转换等功能。
2)传感器接入模块可以允许接入多种类型的传感器,目的在于保证网关接入节点的兼容性。可接入模块类型,如ZIGBEE模块、RS485模块和USB摄像头等。管状电机
3)TCP/IP网络模块和3G网络模块的功能是实现网关与互联网公共网络Internet的网络通信。网关通过网络模块将传感器子网数据(包括无线仪表数据和USB摄像头视频数据)通过Ethernet或者3G网络发送到井场中心控制室,便于油田监控人员实时了解油井现场各个仪表的数据和现场周围环境状况。
4)存储模块主要包括非易失介质NANDFLASH和易失介质SDRAM两种存储设备。NANDFLASH作为非易失性设备,掉电信息不丢,主要用来存储操作系统引导程Bootloader、Linux内核和根文件系统。SDRAM作为高速随机访问存储(RAM)单元,提供给网关嵌入式Linux操作系统和网关服务程序运行所需的内存空间[3]。
RTU硬件平台搭好之后,必须通过移植操作系统内核和根文件系统给网关系统注入了灵魂。根据油田现场对RTU系统处理速度、实时性、可靠性都有很高的要求,嵌入式操作系统选定嵌入式Linux2.6.32作为物联网网关软件平台操作系统。本设计的物联网网关软件平台架构设计如图2所示。
电力驱动单人车在RTU硬件平台上搭建基于嵌入式Linux的软件平台及在平台上设计应用程序。具体包括启动程序和内核的分析与移植、设计根文件系统和驱动程序开发环节。
在启动阶段,从文件结构归纳出Linux与处理器相关的一套接口文件,实现嵌入式内核初始化,保证Linux在不同平台上的移植;根文件是Linux系统不可缺少的组件,是系统内核与应用程序之间的桥梁。在Linux内核初始化完成后,完成根文件系统的挂载,系统通过根文件系统中的启动脚本和其他配置脚本文件完成应用程序的初始化。抗生素制作方法
在设备驱动阶段,开发兼容IPV6/IPV4的网络硬件设备驱动程序、开发CAN总线、RS485总线驱动程序、基于FLASH ROM及SD卡等存储设备的应用程序设计。基于嵌入式技术RTU设计中,根据实际功能,系统所需要的硬件设备驱动如下:EM770W模块的USB驱动、ZigBee模块的串口驱动、USB摄像头驱动和网卡DM9000驱动等。如下以3G模块USB驱动程序为例。
1)实际的Linux内核下USB相关配置:
配置完毕后,选择EXIT并保存配置信息。然后在宿主Ubuntu下输入make zImage命令对内核进行编译并等待内核编译完成。编译生成的zImage文件在内核源代码目录arch/ arm/boot目录下。
2)USB接口的3G模块EM770W是通过USB转串口方式驱动的。在前面Linux内核选项配置USB设备驱动的时候,已经选择了对USB转串口支持(USB Serial Convertersupport)。
3)网关系统启动后,将USB 3G网卡插入网关USB主机接口,调试终端打印信息如下所示:
可以看出,3G网卡设备驱动已成功加载,设备厂商号是0x12d1,产品号是 0x1404,设备名称是 HUAWEI MOBILE WCDMA EM770W。另外,设备驱动将该3G网卡映射为ttyUSB0-ttyUSB5共6个ttyUSB类型的设备,其中ttyUSB0是3G网卡控制所用到的主要设备。
通过移植操作系统内核和根文件系统给网关系统注入了灵魂。但仅此而已。要想实现物联网网关各种复杂的功能需求,最终离不开系统应用程序。
考虑到软件系统结构和层次,本系统设计根据RTU功能划分为以下4个部分:主线程、网络通信线程、视频采集通信线程、ZigBee通信线程。
4.1 Main线程设计流程
主线程main负责系统初始化,创建进程任务线程,获取视频采集数据、检测仪表状态,更新压力、温度、功图和电量仪表数据到Modbus寄存器内,供modbus_tcp_task线程读取,反馈给上位机客户端。Main线程流程如图3所示。
4.2 网络通信线程
网络通信线程主要是针对仪表数据和摄像头视频数据的传输而创建的。因为视频数据量大,对数据实时性要求高,可对靠性要求低;而传感器节点数据量小,对传输实时性要求高,可对靠性要求高。基于这3点不同,将这两种不通的数据通信用两个独立的线程video_tcp_task和modbus_tcp_task来实现数据传输。视频数据通过普通tcp协议传输,zigbee传感器数通过modbus tcp协议传输。modbus_tcp_task线程
该线程负责上位机modbus命令解析和应答。解析和应答通过调用make_modbus_ack函数实现:
tx_num=make_modbus_ack(rx_buf,tx_buf,rx_num);make_modbus_ack调用modbus_data函数读取相应寄存器的值(即压力和温度值),并形成应答帧。
u_short modbus_data (u_char *command_buf,u_char *ack_buf)
应答帧指针为*ack_buf,数据长度为tx_num。最后调用send(events[i].data.fd,tx_buf,tx_num,0)完成应答。
4.3 视频监控线程
视频监控线程主要完成摄像头设备初始化,创建socket传输,解析网络命令,完成视频采集和传输。其中视频采集是整个过程最主要的部分,在Linux下进行视频采集,都是通过调用Video4Linux(简称V4L)的API函数实现采集摄像头视频数据的。

本文发布于:2024-09-25 02:24:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/147828.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   系统   网关   视频
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议