一种RTU控制器可扩展功能的软硬件实现方法
- 关键词:RTU,CAN,Zigbee无线传输
- 摘要:针对油气生产井场站对IO点量需求的增加及对无线智能仪表数据采集问题,提出了一种RTU控制器IO可扩展功能的软硬件实现方法,主要研究讨论了通过硬件CAN接口、用户定义扩展实现IO扩展,利用Zigbee协议实现对无线智能仪表数据采集功能。
一种RTU控制器可扩展功能的软硬件实现方法
黄兵1 郭月明2 谢华锋3
(1.2.3北京中油瑞飞信息技术有限责任公司 北京 100007)
摘要:针对油气生产井场站对IO点量需求的增加及对无线智能仪表数据采集问题,提出了一种RTU控制器IO可扩展功能的软硬件实现方法,主要研究讨论了通过硬件CAN接口、用户定义扩展实现IO扩展,利用Zigbee协议实现对无线智能仪表数据采集功能。
The hardwareand software principle of RTU extensible function
Huang Bing1 Guo Yueming2 Xie Huafeng3
(1.2.3 Beijing Richfit Information Technology Co., Ltd., Beijing 100007, China)
Abstract: This paper proposed a hardware and software principle of RTU extensiblefunction to solve the problem of an increased IO point demand in the well siteand data acquisition, mainly discussed on the realization of IO expansion withCAN interface and implement data collection functions of wirelesssmart meters by using Zigbee protocol.
关键词:IO可扩展;RTU;CAN;Zigbee无线传输
Key words:IO expansion;RTU;CAN;Wireless transmission of Zigbee
1 引言
RTU(远程测控终端)因其具有遥测、遥信、遥调及遥控功能[1] 广泛应用于现代油气生产领域。然而,油气井场站控制需求的增加使得控制现场对IO点的需求也随之增加,这就要求在不增加单体RTU的情况下提高对现场IO点量的采集能力。另外,无线智能仪表的广泛应用要求RTU除对传统有线仪表进行数据采集外,也能实现对无线智能仪表的数据采集。本文针对以上2点需求提出了一种RTU控制器的IO可扩展及对无线智能仪表数据采集的软硬件实现方法。
2 RTU控制器的系统概述
RTU控制器由硬件、软件驱动层、操作系统层、协议栈层,硬件驱动层为上层程序提供外部设备的操作接口,包括现场IO采集驱动、通用RS485通信口、RS232通信口、以及1路以太网通信口。为实现IO扩展功能设计CAN通信接口和Zigbee无线通信接口IO。采用嵌入式LINUX[2-5]操作系统;协议栈层包括MODBUS协议簇、CAN自定义 IO BUS协议和ZIGBEE[6-7]协议。
3 RTU控制器的硬件实现方法
可扩展的RTU控制器硬件由核心板和底板两部分组成。CPU、内存等控制核心集中在核心板上,外部数据接口和通信接口集中在底板上,如图1(a)、(b)所示。这种结构化设计实现了核心基础电路与外围接口电路分离,提高了核心电路的技术复用率,且便于产品生产和升级。
图1 (a)核心板原理框图 图1 (b)底板原理框图
由图1(a)可知,RTU控制器CPU采用ATMEL的32位ARM9工业级处理器、1GB NAND FLASH、32MB SDRAM、8MB的SPI FLASH;16KB FRAM保证系统在掉电情况下仍可保存数据;WATCH DOG用来防止程序跑飞。 图1(b)所示底板集成了除3路RS485通信口、2路RS232通信口及1路以太网通信口等现场通用通信接口外,还增加了为实现IO扩展2路CAN通信口及为实现无线仪表数据采集的1路Zigbee无线通信接口。电源采用独立的DC/DC隔离电源模块,隔离电压可达2KVDC,支持反接保护和短路保护。
3.1 CAN总线接口电路
CAN总线接口电路主要包含控制器部分、收发器部分、隔离部分、外围电路部分及供电电源5部分,如图2所示。
图2 CAN总线接口电路
CAN总线通信的核心是CAN总线控制器,本文采用CPU片上集成控制器实现CAN数据链路层、传输层功能,物理层功能通过CAN总线收发器芯片PCA82C250T实现,并能过光耦隔离方式实现CAN物理总线与内部系统的隔离。由于光耦合器输入/输出间互相隔离且电信号传输具有单向性特点,因而具有良好的电绝缘和抗干扰能力。另外,光耦合器的输入端属于电流型工作的低阻元件,具有很强的共模抑制能力,因此在长线信息传输中作为终端隔离元件可以大大提高信噪比。
4 RTU控制器的软件实现方法
可扩展的RTU控制器的软件实现方法包括自定义IO可扩展协议和优化的无线传输算法。
4.1 可扩展功能软件实现
为实现RTU扩展模块紧凑互连,结构上通过,采用35mm标准导轨,将RTU扩展模块固定在一起,实现设计的紧凑和一体化。软件过自定义IO可扩展协议(IOBUS协议)实现与扩展模块通信。IOBUS总线协议基于CAN2.0B串行通信协议,采用应答传输机制。CAN协议涵盖了ISO规定的OSI基本参照模型中的传输层、数据链路层及物理层,如图3所示。
图3 ISO/OSI基本参照模型和CAN协议
图3所示的物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤。数据链路层分为MAC子层和LLC子层,MAC子层是CAN协议的核心部分。数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。 具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告。
CAN2.0 B协议数据帧由包括帧起始、仲裁段、控制段、数据段、CRC段、ACK段和帧结束7个段构成。帧起始表示数据帧开始的段;仲裁段表示数据的优先级;控制段由6位构成,表示数据段的字节数;数据段可包含0~8个字节的数据,从MSB(最高位)开始输出;CRC段由15位的CRC顺序和1位的CRC界定符构成,用于检查帧的传输错误;ACK段用来确认是否正常接收,由ACK槽和ACK界定符2位构成;帧结束由7位隐性位构成,表示数据帧结束。我们在CAN2.0 B协议格式封装上进行了扩展,形成了自定义的报文格式,如图4所示。
图4 IOBUS报文格式
图4所示的报文格式中,SRR和IDE为1,RTR为0。协议的数据区为固定8字节长度,主从节点在发送数据时把DLC恒定设置为1000。另外,仲裁区包含方向标识、从节点号、协议号、总包号、包序号和板卡类型等信息。
4.2 优化的无线传输算法
设计了优化的无线传输算法来降低仪表功耗,延长仪表内置电池的寿命,算法流程如图5所示,每一步操作的具体内容如下:
操作一:RTU初始化集成的无线Zigbee模块;
操作二:是否有无线仪表在网;
操作三:RTU无线Zigbee模块进入睡眠状态;
操作四:无线仪表发送命令,RTU无线模块回应,无线仪表获取RTU系统时间并与之同步;
操作五:每隔25秒无线仪表向RTU端上报数据;
操作六:过整30min时,无线仪表再次申请与RTU时钟同步;
操作七:无线仪表进入深度睡眠状态。
图5 优化的无线传输算法流程图
5 RTU控制器的应用实例
油气生产数字化系统利用RTU和智能仪表组成现场层数字化采集系统,完成站内计量、集输、注水等主要生产运行参数的集中监测及优化控制。将可扩展的RTU控制器与其他数字、模拟等扩展模块互连,对多个井口的数据进行采集和通信,以确保油气生产处理持续、稳定、高效的运行。图6为油气生产现场数字采集系统连接图,利用可扩展的RTU控制器和智能仪表的实现方法。
图6油气生产现场数字采集系统连接图
6 结论
本文提出的可扩展RTU控制器结构上可通过35mm标准导轨与其他扩展模块实现一体化连接,电气上可通过IOBUS实现互连、数据传输;支持多种工控编程语言,方便工程上进行二次开发。另外,优化的无线传输算法和增强的硬件/软件设计不仅降低了与RTU互连的无线智能仪表的功耗,而且保证RTU在极端环境下也能稳定、可靠地正常工作。
参考文献:
[1] 候贵双等.微功耗RTU应用系统研究与实现[D].西安石油大学硕士学位论文,2010.
[2] 田泽.嵌入式系统开发与应用[M].北京:北京航空航天出版社,2005:1-133.
[3] 魏忠、蔡勇、雷红卫著,嵌入式系统开发详解[M].北京:电子工业出版社,2003.
[4] AlessandroRubini. Linux Device Drivers [M].O’Reilly&Associates, Inc. 1998.
[5] Neil Matthew, Richard Stones.Beginning Linux Programming, ThirdEdition . 2004.
[6] ZigBee Allianee,http://www. ZigBee.org/ Products/Overview/tabidi232/ Default.aspx,2008. 12.
[7] 瞿雷,刘盛德,胡咸斌.ZigBee技术及应用[M].北京:北京航空航大大学出版社,2007.