APP下载

台站监测数据恢复平台的开发

2015-03-11倪友忠朱培育朱佳苗束亚一

山西地震 2015年1期
关键词:存储器监测数据

倪友忠,朱培育,朱佳苗,束亚一

(1.上海市地震局佘山地震基准台,上海 200062;2.上海市地震局崇明地震台,上海 202164)

台站监测数据恢复平台的开发

倪友忠1,朱培育2,朱佳苗2,束亚一1

(1.上海市地震局佘山地震基准台,上海200062;2.上海市地震局崇明地震台,上海202164)

摘要:为应对雷电、网络故障等突发事件引起的通讯及网络故障,出现通过正常途径无法采集数据采集器中观测数据的情况,特研发监测数据恢复平台。该平台通过串口通信工程的开发研究,实现通过采集器的RS232串口连接,读取存储器单元中的数据,并将之提取并保存为固定格式。通过数据库编程技术,将提取的观测数据导入到“十五”Oracle数据库中,从而达到提高观测资料完整率的目的。

关键词:数据采集器;存储器;监测数据;恢复平台

0引言

随着上海佘山地震基准台(以下简称佘山台)前兆2012年“十五”数字台网的改造完成,佘山台形变观测已经全面实现数字网络化,监控能力得到了极大的提升。“十五”数字网络化系统的实现,大大提高了观测效率。但大量电子产品的应用,也不可避免地带来了新的问题。出现的问题主要有以下几点:(1) 夏季雷雨季节的时候,由于佘山台信息设备高度集中,电子设备的耐冲击能力却显著降低,雷电产生的电磁脉冲对佘山台形变电子设备的损害,有逐年上升的趋势;(2) 仪器本身的设计问题。如,产品设计的不成熟,科学实验的时间不长就应用到实际观测,电子产品的焊接工艺等等,导致地震监测设施的相关电子产品保质期过于短暂,设计运行的时间远远小于实际运行的时间;(3) 仪器自身的老化。佘山台大部分的前兆仪器是2000年安装,至今,已经超负荷运行14年;(4) 观测仪器的数量增多,手段多样化,与人员的专业化程度存在差异,造成了仪器维护的困难比以往大大增加,仪器故障率逐年提升。

鉴于上述问题,该文从提高观测资料完整率的角度出发,通过VB串口通讯工程的开发与研究及VB数据库编程技术,设计开发本平台[1]。当前兆管理平台无法正常收取数据时,通过该数据恢复平台,能完成各项仪器数据的采集及入库等操作。

1程序设计目的

设想在网络不通,光纤被破坏且暂时无法修复;或者网络协议转换设备故障,无备份设备替换等观测条件下,通过开发“台站监测数据恢复平台”,用笔记本实现和DSC-1A的RS232C串口直接通讯,将数采中的观测数据采集下来,并通过该平台将观测数据录入到Oracle数据库中。这样做的好处有3点:一是尽可能多的利用本平台恢复能够被恢复的台站第一手观测资料,避免被搁置,被遗漏。台站目前没有这方面的研究来达到这一目的,仪器生产厂商也未提供对应接口的软件。所以,通过该研究,能达到尽可能的降低观测数据的断记率,保证观测资料的完整率;二是可以作为“十五”前兆数据管理系统的数据采集备份,防患未然。当使用正常方式无法采集观测数据的时候,可以作为应急平台加以使用;三是此平台开发后,可以进一步应用推广到条件艰苦台站、无网络信号覆盖的偏远台站。

根据此目的,设计的程序流程图如第22页图1所示。

2平台的研究内容

这项研究涉及如下三方面的内容。

(1) 串口通信工程的开发[2]。通过成熟的Vbasic.net串口通讯技术,实现与RS232串口通讯,通过指令的方式将HK 非易失性随机存取存储器(NVRAM)中保存的前兆观测数据提取出来。需要了解数据采集器的接口标准、数据格式、通讯约定,从而在此基础上,设计台站监测数据恢复平台,兼容中国地震局前兆软件管理平台。学习研究了中国地震局已经发布的部分行业技术标准,如《传感器接口与控制》《前兆仪器网络通讯技术规程》等。

图1 程序流程简图Fig.1 Diagram of the program flow

(2) 数据的拼接功能。如,当天的数据采集器发生故障后,如果数采中的存储芯片未损坏,保存在其芯片中的数据完好,则通过本平台提取00点00分至故障发生时的这段数据,然后将该段数据与恢复正常记录时的数据(即故障解决时,恢复正常记录至23点59分的数据)进行拼接,拼接成一个相对完整的天文件数据,减少数据的缺失。以往,在数据采集器故障后,这部分数据(00点00分至发生故障时)由于生产商未提供相应的恢复软件,是无法恢复的。通过该研究,能够极大减少当天的数据丢失,有效提高观测资料的完整率。

(3) 格式转换功能及数据库编程。在满足《地震前兆数据库结构规范》及中华人民共和国地震行业标准《地震测项分类与代码》的基础上,编制标准的格式转换程序及入库程序,保证入库数据格式正确,从而保证“十五前兆数据处理系统”能正常处理入库数据。同时兼顾科学研究,满足数据分析的要求。编制三类观测数据格式:“九五”格式——能兼容早期的“九五”数据处理系统;“十五”格式——方便数据入库;mapsis等会商格式——能使用mapsis等地震分析软件,方便对观测数据进行更深入地分析研究。

3模块划分

参考地震前兆观测数据处理系统[3],将软件基本功能划分为参数设置、连接数采并采集观测数据、数据操作、数据入库等四大模块(见图2)。

(1) 参数设置模块。参数设置包括:台站参数设置及仪器测项设置。

图2 程序结构示意图Fig.2 Diagram of the program structure

(2) 连接数采并采集观测数据模块。参考地震前兆数据采集器的设计考虑[4],通过成熟的Vbasic.net串口通讯技术,实现与RS232串口通讯,通过指令的方式将HK 非易失性随机存取存储器(NVRAM)中保存的前兆观测数据提取出来,并保存。

(3) 数据操作模块。该模块划分为4个小模块[3],即:数据拼接、格式转换、数据保存、数据作图。数据拼接功能,将故障前记录的当天某一段数据和故障检修排除后记录的数据进行拼接,减少缺测时间。格式转换功能,具备3种格式(“九五”格式、“十五”格式、MAPSIS会商格式)相互转换的功能;数据保存功能,将采集或者拼接后的数据保存成如上的3类格式;数据作图功能,具备3类格式的作图功能,方便查看仪器的工作状态。

(4) 数据入库模块。通过VB数据库技术,将采集的数据及拼接处理后的数据,导入Oracle数据库。

4平台的技术途径及研究方法

4.1 技术途径

本系统是基于Vbasic.net架构,采用了较为成熟的开发模式。数据库系统前端采用oracle 11g数据库系统,主要功能模块采用Visual basic.net编写,采用标准的串口通信技术开发通信平台(见第23页图3)。

4.2 研究方法

(1) 软件内存管理。

软件中,对仪器的管理采取如下方法:为每个仪器定义一个结构变量,并且在程序启动时为每个仪器的结构变量分配内存和初始化结构变量,直到软件退出时才删除所有仪器的结构变量空间。实验证明,这种内存管理方法对软件的稳定性起了关键作用。

图3 串口通讯模式架构示意图Fig.3 Diagram of architecture with serial communication mode

Public Type Station_info//自定义台站信息存储类型

Sname As String//仪器 台站名称

jingdu As Double//仪器 台站经度

weidu As Double//仪器 台站纬度

gaocheng As Double//仪器 台站高程

daima As String//仪器 台站代码

yiqihao As String//仪器号

End Type

Public StationInfo() As Station_info ′台站信息

Option Explicit

Dim SendCount As Integer//定义已发送字符对应字节数

Dim ReceiveCount As Integer//定义已接收字符对应字节数

Dim PortSwitch As Boolean//定义串口是否打开标志

Dim DisplayFlag As Boolean//定义接收窗口是否继续显示标志

Dim item As Integer//定义串口的通讯类型

Dim tempbyte() As Byte//定义串口通讯返回字节类型

Dim databuffer(9000) As Byte//定义字节数组

(2) 串口通讯模式。

当软件工作在串口通讯模式下时,其硬件连接如图3所示,现场总线向下通过光隔副侧与前兆仪器相连,向上通过光隔主侧与台站收数计算机相连。工作模式切换到串口通讯模式,然后根据仪器串口属性,相应地打开收数计算机串口(如,波特率19200、数据位8、奇偶校验无、停止位1、数据流控无等),即可通过图4所示软件,对现场总线上仪器进行控制与数据采集。

图4 串口通讯模式采数程序示意图Fig.4 Diagram of data acquisition program of serial communication mode

串口通讯模式采数程序如下:

′ 串口初始化

Private Sub InitialPort(SerialPort As String, BaudRate As String, ParityBit As String, DataBit As String, StopBit As String)

MSComm.CommPort = val(Mid(SerialPort, 4, Len(SerialPort) - 3))//设定端口

//设置波特率、校验位、数据位、停止位

MSComm.Settings = BaudRate & ″,″ & Left(ParityBit, 1) & ″,″ & DataBit & ″,″ & StopBit

MSComm.InBufferSize = 1024//设置接收缓冲区为1 024字节

MSComm.OutBufferSize = 4096//设置发送缓冲区为4 096字节

MSComm.InBufferCount = 0//清空输入缓冲区

MSComm.OutBufferCount = 0//清空输出缓冲区

′ 接收数据

Private Sub MsComm_OnComm()//接收数据

Dim InputString As Variant//定义接收变量

Dim BytReceived() As Byte//定义接收数组

Dim ReceiveData As String//定义输入字符串变量

Dim strCharacter As String//定义每次接收字符的变量

Dim Counter As Integer//定义接收字符的数量

Dim i As Long//定义临时变量

Dim Ii As Long//定义临时变量

Dim jj As Long//定义临时变量

Select Case MSComm.CommEvent

Case comEvSend//每发送1个数就触发一次

SendCount = SendCount + LenB(StrConv(TxtSend.Text, vbFromUnicode))

Case comEvReceive//发生接收事件时

Select Case item

Case 1001//调回仪器时钟

tempbyte = MSComm.Input

Call dispdata

Case 1002, 1003//调回昨天、当天数据

tempbyte = MSComm.Input

For i = LBound(tempbyte) To UBound(tempbyte)

databuffer(Ii) = tempbyte(i)

If databuffer(Ii) < 16 Then

RichTextBox1.Text = RichTextBox1.Text + ″0″ & Hex(databuffer(Ii))

Else

RichTextBox1.Text = RichTextBox1.Text + Hex(databuffer(Ii))

End If

Ii = Ii + 1

Text17.Text = Ii

′If Ii Mod 48=0 Then

′jj = jj + 1

′End If

Next i

Case 1004//调回当前数据

tempbyte = MSComm.Input

For i = LBound(tempbyte) To UBound(tempbyte)

If Ii >= 5 Then

If Ii < 50 Then

RichTextBox1.Text = RichTextBox1.Text + Chr(tempbyte(i))

Else

RichTextBox1.Text = RichTextBox1.Text + Chr(tempbyte(i))

End If

End If

Ii = Ii + 1

Next i

Case Else

End Select

Case Else

End Select

5软件应用

该软件自调试完毕后,即投入地震台站日常工作,效果良好。图4展示的是该软件的一部分主要功能,即通过“九五”串口通讯方式(通讯协议符合“九五通信标准”细则)采集数据。该功能菜单简洁直观,具备以下几大功能:校对仪器时钟;调回仪器时钟;采集前N天数据;采集当天数据;采集当前数据;数据保存。当网络通讯无法使用时,台站人员可以携带便携式笔记本电脑,进入仪器安装现场或者山洞洞室内,利用现场总线,分别联接笔记本串口及数据采集器串口,启动台站监测数据平台,实时采集数据,避免数据的丢失。

该软件还具备现场调试的功能,确定数据采集器等是否正常工作。

6结语

笔者通过几个月的努力,完成了该系统的开发研制,并制作了安装盘,在台站试用。在使用过程中,根据实际情况,做了多次改动和完善,基本满足了台站观测的要求。通过测试和使用,证明该平台已达到设计的预期效果,但仍存在一些设计缺陷,主要表现在软件只能在本台站进行应用,还无法面向其他地震台站进行推广使用。今后,该软件还需要不断改进系统性能,增强软件推广应用功能。

参考文献:

[1]Microsoft Corporation.VISUAL BASIC 6.0中文版程序员指南[M].北京:希望电子出版社,1998.

[2]周振安.地震前兆数据采集器的设计考虑[J].大地测量与地球动力学,2004,24(3):120-123.

[3]尹亮,曾文浩,李东生,等.地震前兆观测数据处理系统[J].地震地磁观测与研究,2005,26(2):97-102.

[4]周振安,范良龙,王秀英,等.数据采集系统的设计与实践[M].北京:地震出版社,2005.

Development of Monitoring Data Recovery Platform of Seismic Stations

NI You-zhong1, ZHU Pei-yu2, ZHU Jia-miao2, SHU Ya-yi1

(1.Sheshan Referential Seismological Station of Earthquake Administration of Shanghai City, Shanghai 200062, China;2.Chongming Seismological Station of Earthquake Administration of Shanghai City, Shanghai 202164, China)

Abstract:In order to deal with communication failures caused by lightning, network failures and other emergency, monitoring data recovery platform are developed to resolve the problems that data are unable to be collected from data collector by usual way. Through the development of serial port communication, the platform realizes connection of RS232 serial through collector, reads the data from the memory unit and extract and store data in fixed format. Observational data are imported to “Tenth five-year plan” Oracle database by database programming to improve the integrity rate of observation data.

Key words:Data collector; Memory; Monitoring data; Recovery platform

作者简介:第一倪友忠(1974—),男,上海市人。2012年毕业于上海交通大学,工程师。

基金项目:中国地震局监测、预测、科研三结合课题(140901)。

收稿日期:2014-09-19

中图分类号:P315.6-39

文献标志码:A

文章编号:1000-6265(2015)01-0021-05

猜你喜欢

存储器监测数据
静态随机存储器在轨自检算法
GSM-R接口监测数据精确地理化方法及应用
任意2~k点存储器结构傅里叶处理器
统计分析监测数据采集技术要求标准研究
环评中引用大气现状监测数据的研究
Altera演示FPGA中高性能DDR4存储器数据速率
GPS异常监测数据的关联负选择分步识别算法
基于小波函数对GNSS监测数据降噪的应用研究
存储器——安格尔(墨西哥)▲
变电站监测数据采集系统