李 鹏 王 刚 李奇茂 李 宁
(云南大学信息学院1,云南 昆明 650091;宣威革香河水电开发有限责任公司2,云南 宣威 655400)
在云南省,各种规模的水电站以及农田水利设施遍布于全省各地。一些大中型水电站,由于建设资金充足,配套了坝体的安全监测系统并实现了监测数据的自动化采集。而对于大部分小型水电站以及中小型水库而言,它们虽然按规范要求都布置了大坝安全监测点,但监测数据仍然处于人工记录分析阶段,不能有效及时地发现大坝安全隐患,这就直接影响到水利枢纽或水电站的安全运行,因而有必要建设自动化的安全监测系统。
解决以上问题的关键在于实现小型水电站以及中小型水库安全监测系统的网络化、可视化、数字化和智能化[1-4]。因此,亟需针对上述水坝开发一套低成本、安装方便、数据接口丰富、具有采集及分析功能的自动化安全监测系统。本文以云南宣威达开水电站坝体安全监测系统开发为应用背景,基于ARM9嵌入式系统平台,设计了一套数据采集终端与处理控制中心相分离的网络化水坝安全监测平台。
本文设计的水坝安全监测系统如图1所示。
图1 水坝安全监测系统结构Fig.1 The structure of monitoring system for dam safety
数据采集终端位于水坝现场,由于基于ARM9的嵌入式系统接口丰富,驱动程序开发比较方便,无论是通过有线方式传输的模拟量信号还是通过MCU与无线模块通信的数字信号,都可以较为便利地实现坝体的多传感数据(渗流、形变、水位等)与数据采集终端之间的互连互传。
尤为重要的是基于ARM9的嵌入式平台带有以太网接口,且上游水文站与监控管理中心处于同一局域网。因此,数据采集终端与上位监控计算机、上游水文站之间的数据可以实现网络化传输。
这种数据采集终端与监控管理中心相分离的网络化水坝安全监测平台使得数据采集器的小型化和便携式成为了可能,并且具有很好的易扩展性,因此,它特别适合应用于监测点不太多的中小型水电站坝体的安全监测。
宣威达开电站大坝的安全监测采集数据主要有水位、应力、温度、渗流和坝体变形等,本文所设计的安全监测系统需采集的数据如表1所示。
表1 达开电站水坝监测数据Tab.1 The data of monitoring system for Dakai dam
目前,水电站坝体安全监测系统中大多采用的是以8位或16位单片机为内核的硬件系统。设计一套基于单片机的数据采集系统相对比较容易,且能达到一般的技术要求,但也存在着存储容量小、独立工作能力较弱、数据接口单一以及人机交互复杂等缺点。此外,基于单片机的数据采集终端不具有底层的操作系统,若要开发较为复杂的人机接口或数据接口功能,其软件的设计较为复杂,且系统在使用过程中若要求发生很小的改变,都要对整个系统做较大的改动。因此,软件升级较为困难。而对于中小型水坝而言,虽然监测数据采集点不太多,但传感器输出信号的种类却多种多样,且不同的水坝有不同的需求。因而,开发一套接口丰富、适应性强、可变更升级的大坝安全监测系统成为亟待解决的问题。
随着芯片技术和嵌入式操作系统的发展,上述问题将越来越容易得到解决。本文设计的大坝安全监测系统的数据采集器是以ARM-Linux为开发平台,基于ARM9 系列处理器进行设计开发的[3-4]。
数据采集系统的硬件结构如图2所示。由于现场传感器在大坝的位置分布不同,有的传感器采集信号可以通过预先埋设的线路传输至水泵房,而有的则需要用特定设备到传感器安放现场人工测量后进行记录。对于前者,我们通过有线的方式采集传感器数据,而对于后者,我们则在传感器现场加装单片机处理系统(MCU),使采集数据通过无线模块发送至位于水泵房的数据采集器(ARM)。因此,基于ARM的数据采集系统主要用来实现对有线传感器数据(模拟量)和无线传感器数据进行采集,并把采集数据打包后通过以太网传送给上位监控计算机。
图2 采集系统硬件结构图Fig.2 The hardware structure of the acquisition system
本文选取了S3C2440的ARM9芯片。该芯片为32位嵌入式微处理器,系统工作频率为200 MIPS(180 MHz);SDRAM容量为64 MB,Flash容量为10 MB,其中8 MB为Program Flash,2 MB为boot Linux Flash;芯片支持10/100 Mbit以太网,支持TCP/IP、UDP等网络协议,并带有RS-232串口通信接口。
针对达开电站监测量模拟信号较多的特点,S3C2440芯片内部集成了一个8路的10位A/D转换器,分辨率为10 bit。该转换器可以通过软件设置为Sleep模式,这样可以减少功率的损失,最大转换率为500 kS/s/10。假定CPU主时钟的频率为50 MHz,并且将A/C采用预分频寄存器(ADCPSR)置为49,则采样一次数据(一次A/D转换)的时间大约为5 μs。而本系统中仅要求60 s采集一次大坝安全监测数据,由此可见,该芯片采集转换模拟量数据的速度已满足大坝安全监测中的要求。
此外,通过多路选择开关的模拟量输入信号采用光耦隔离方式,避免了现场信号对数据采集设备正常工作产生的干扰,提高了系统的抗干扰性。
根据革香河水电站坝体传感器放置的特点,图2中无线收发模块采用NRF905,空旷地带的传输距离可达到2500 m左右。
根据上述设计,基于ARM9(S3C2440)的数据采集系统充分利用其CPU外部丰富的接口功能,使得监测平台的数据通信更加可靠、合理,且易于扩展,系统集成度更高、体积更小,达到了便携式的要求。
数据采集系统的软件设计主要有3部分:ARMLinux开发平台、数据采集设备驱动程序及应用程序。
Linux操作系统与Unix相似,是一个以内核为基础、完全内存保护的多任务多进程操作系统,其内核直接提供网络支持,而不必像其他操作系统要外挂TCP/IP或UDP协议包。
数据采集系统的驱动程序部分主要包括:①系统初始化;②启动/关闭采集设备;③中断服务程序;④应用层控制接口;⑤应用层数据接口。
应用程序部分主要实现启动采集过程并将数据打包向服务器发送的功能。其中,发送协议采用了UDP广播方式,可同时传输给多台上位机接收。
基于ARM9的数据采集系统、上游水文站及上位监控计算机之间的数据通过快速以太网进行互连互传,虽然以太网技术比较成熟且费用低廉,但本文所设计的水电站坝体安全监测平台存在下面2个问题[5]。
① 传输的确定性问题:以太网的数据传输协议是基于冲突检测的载波监听多路访问协议(CSMA/CD)以及二进制指数退避算法。该算法被认为是一种非确定性的网络系统通信算法,因此,不能直接用于实时性要求高的通信环境。
② 传输的可靠性问题:以太网采用超时重发机制,因此,会引发单点故障扩散现象;另外,无差错的TCP协议往往会因为“三次握手”策略造成通信阻塞,策略失败还会引发通信故障。
针对以上问题,本文在设计上采取了以下2个措施。
① 在网络传输层选用“不可靠”的UDP协议(用户数据报协议,没有握手信息和回告信息),为后续在用户层设计灵活的通信策略打下基础。
② 在用户层的通信报文设计中加入时间信息、序列号信息、确认信息和状态控制信息,实现“可以控制”的可靠通信。收发数据帧格式如图3所示。
图3 收发数据帧格式Fig.3 Formats of the data frames of sending and receiving
根据所设计的数据采集系统的实时性要求[6],本文设计了如图4所示的实时性测试仿真平台,并在基于UDP协议通信方式下,以一定频率发送定量数据对ARM实验开发板和上游水文站仿真平台、上位监控计算机仿真平台进行了测试[7],观察数据错漏包率和传输时延情况是否满足设计要求。
图4 实时性测试仿真平台Fig.4 The simulation platform for real-time performance test
图4中:仿真平台均为主频2.2 GHz的PC机,网卡为TP-Link 100 M快速以太网卡,交换机使用TP-Link 10 M/100 M快速Switch,共有12个端口,传输介质为5类UTP。仿真平台与交换机的连线距离约为15 m。
测试方法为:实验板及上游水文站仿真平台同时向上位监控计算机仿真平台发送500~2000个字节的数据,发送周期为100 ms,每次测试共发送10000次。
上位监控计算机仿真平台接收到的数据发生错漏包及时延的情况如表2所示。
表2 以太网实时性测试结果Tab.2 The results of real-time testing for Ethernet
根据系统设计要求,数据采集系统以及上游水文站每60 s向上位监控计算机发送一次约600字节的监测数据。因此,其实时性满足性能指标要求。
上位监控系统是水坝安全监测后续处理系统,主要对已采集的监测数据进行显示、处理和备份,以便于用户查询与统计。本系统是一个集通信、解包、分析、后备和人机交互平台为一体的计算机系统,其为水坝管理人员和设计人员提供实时监测信息及数据,并对坝体的安全性、稳定性做出初步的分析,为灾害的防治提供决策支持。
上位监控系统的软件架构如图5所示。
图5 上位监控系统软件架构Fig.5 The software framework of host computerized monitoring
本文基于C/S结构进行上位监控系统的设计,开发工具选用了对数据库操作快捷方便的PowerBuilder软件系统,数据库采用Microsoft SQL Server。软件实现的主要功能包括系统管理、工程信息概况、数据处理与分析、监测信息数据库管理等,通过对变形、渗流、渗压、应力应变和温度等各类大坝安全监测数据的处理和计算分析,进行安全评估。该系统还能够对坝体的概貌、监测布置图、实时监测曲线以及报警状态等进行实时显示,也可对历史的监测数据进行查询和离线分析。
本文以云南宣威达开水电站坝体安全监测系统开发为应用背景,针对中小型水站及水库坝体安全监测的特点和需求,设计了基于ARM9嵌入式系统的网络化坝体安全监测系统,实现了库水位、应力、温度、渗流、坝体变形以及上游水文站和监控中心数据的互连互传,并能够通过上位监控系统,对采集数据进行分析处理,为相关的安全隐患的防治提供决策支持。系统采用数据采集终端和处理分析中心相分离的模式,使得数据采集器的小型化和便携式成为可能,并且具有易扩展性,特别适合于监测点不太多的中小型水电站坝体的安全监测。
[1]岳建平,方露,黎昵.变形监测理论与技术研究进展[J].测绘通报,2007(7):1-4.
[2]张宗亮.超高面板堆石坝监测信息管理与安全评价理论方法研究[D].天津:天津大学,2008.
[3]李永江.土石坝安全监测技术及安全监控理论研究进展[J].水利水电科技进展,2006,26(5):73 -77.
[4]李季,陆声鸿,郭晨.李家峡水电站大坝安全监测自动化系统[J].水力发电,2005(6):63-65.
[5]王启宁,杜刚,姜景捷.基于ARM的海底大地电磁信号采集系统主控模块改进[J].计算机应用,2005,31(1):17 -21.
[6]李学桥,陈晓雷,郭功兵,等.基于ARM的远程数据采集系统的设计与实现[J].仪表技术与传感器,2004(2):29-34.
[7]李凤保,古天祥,沈艳.基于Ethernet的网络化测试技术研究[J].仪器仪表学报,2001(4):261-263.