琼中地震台采用CTS-1EF甚宽频带地震计及EDAS-24IP型数据采集器记录地震数据,使用JOPENS观测系统进行地震波形实时监测(使用JOPENS观测系统的IPPLOT波形浏览软件,接收实时波形数据)。JOPENS观测系统2012年正式在琼中基准地震台安装使用,因雷击或暴雨等特殊天气导致GPS天线无法对时、网络故障导致数据传输中断、软件自身故障、计算机硬件故障等,导致该台平均每年有12小时数据断记。为此研制JOPENS观测系统连续波形断记报警软件,当地震计、数据采集器不能正常工作或数据接收机发生故障,导致IPPLOT波形浏览软件不能正常工作时,触发该软件进行报警(石玉燕等,2011),及时人为干预,减少数据断记时间,保障波形数据连续、可靠。
JOPENS观测系统连续波形断记报警软件是基于微软系统下的应用程序,采用VB语言编制完成。Visual Basic(以下简称VB语言)是一种由微软公司开发的基于窗体的可视化组件的联合,增加代码来指定组件属性和方法,因为默认属性和方法已有一部分定义在组件内,拥有面对对象程序的特点,少量代码即可完成一个简单程序,无需专业程序员就可编程。
1 设计思路JOPENS观测系统断记报警软件以数据库文件ibdata1的实时时间为监测对象,连续波形24小时不间断记录,在波形浏览软件IPPLOT正常运行情况下,d:\mysql datefiles文件夹下的ibdata1文件时间每分钟变化一次,当波形记录停止时,数据库文件时间停止,通过监测ibdata1文件的时间变化来监测波形连续记录情况。断记报警软件需要定时启动软件监测数据变化,利用VB语言里定时器(徐曼等,2003)和使软件暂时休眠的sleep语句,实现定时启动功能;编制音频软件,在连续2次监测数据库文件的时间无变化时,自启动音频软件(马宝君等,2006),实现数据断记报警。
2 工作原理JOPENS观测系统连续波形断记报警软件设定为每3 min自启动一次,在运行时,先获取ibdata1文件当前时间,并将数据赋值为a,软件自休眠2 min后,再次获取ibdata1文件当前时间,数据赋值为b,如b< >a,则停止运行,间隔3 min后再次启动。如果在软件运行过程中,2次获取文件ibdata1当前时间大小一致,既b = a,表示数据采集器已停止发送数据到计算机或IPPLOT软件停止运行,则运行音频文件,触动报警(王利兵等,2008)。报警软件工作原理见图 1。
![]() |
图 1 报警软件工作原理 Fig.1 Working principle of alarm software |
(1)建立新项目,给工程1属性命名为“Jopens观测系统断记报警软件”,在窗体设计器里添加两个botton控件,改变属性为“开始”和“结束”程序命令,添加两个定时器,其中一个为定时启动和休眠,另一个定时器在软件界面显示实时时间。
(2)观测系统断记报警软件运行后,将软件设定为每3 min启动一次,在窗体里双击开始(botton)控件进入代码编辑器窗口,通过做声明,调用定时器功能即可实现,代码如下
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 休眠声明
Private Sub cmdexit_Click() 启动程序
End
End Sub
Private Sub Command1_Click()
Timer1.Interval = 60000 每3 min启动一次
End Sub
(3)通过读取数据库文件ibdata1的时间变化,并对时间变化做对比,以此监控观测系统断记,观测系统断记报警软件主要代码如下
Private Sub Timer1_Timer()
Dim a, b As Double 设置a, b为常数
fname = "d:\Mysql datefiles\Ibdata1" 读取文件名
a = FileDateTime(fname) 读取文件当前时间, 并赋值为a
Call Sleep(40000) 软件休眠两分钟
b = FileDateTime(fname) 再次读取文件当前时间, 并赋值为b
If b = a Then 两次读取文件时间做对比, 如果b和a相等
Shell "D:\自动报警音频.exe" 启动断记报警音频
End If
End Sub 结束程序
(4)双击第2个定时器,进入代码编辑器窗口,使软件界面显示实时时间。代码如下
Private Sub Form_Load()
Timer2.Interval = 1000 在软件界面显示实时时间
End Sub
4 软件测试及应用(1)测试。在JOPENS观测系统连续波形断记报警软件编制过程中,不断做语句测试。调试过程中,出现软件启动后不响应及错误提示信息,主要存在以下问题:休眠语句sleep无法实现,做强制声明变量后实现休眠功能;在Windows系统中,音频文件有WAV和mini等格式,但shell语句不能启动后缀为音乐格式的音频文件,使用音频转换软件,转换为.exe可执行文件,可以在断记时自行启动音频执行文件。
(2)应用。JOPENS观测系统连续波形断记报警软件做为综合监测和自动报警软件,运行性能稳定。软件自2014年12月20日起测试,在测试过程中,人为停止IPPLOT波形浏览软件模拟断记环境,软件均能在3 min内启动音频文件做出断记报警。在实际使用过程中,也为台站连续数据及时做出断记报警。例如:2015年6月6日14:30,暴雨导致琼中台数采故障数据中断,14:33断记报警音频启动;2015年8月3日15:25,IPPLOT波形浏览软件运行异常导致数据中断,15:28断记报警音频启动。
5 结束语JOPENS观测系统连续波形断记报警软件能够对数据连续记录进行监控和断记自动报警,以尽快进行人为干预,减少连续数据断记。该软件可在WINDOWS XP以上操作系统运行,以可执行EXE格式封装。该软件对硬件和内存无要求,具有易于安装和卸载、操作简单的特点。软件界面简单方便,容易操作,点击开始按钮即可实现程序运行。基于此监控软件,可以通过2台记录连续数据的计算机互相监控数据库文件ibdata1的实时时间,实现数据断记报警,避免因计算机故障死机导致的数据断记,使连续波形断记报警软件功能更加稳定和全面。
马宝君, 赵谊, 崔东源, 等. NCDSN台站地震监测系统实时监视软件[J]. 地震地磁观测与研究, 2006, 27(2): 89-92. | |
石玉燕, 刘希强, 颜启, 等. 单台地震实时监测与应用软件设计[J]. 地震地磁观测与研究, 2011, 32(4): 136-139. | |
王利兵, 闫俊岗, 于春颂, 等. 数字地震台断记报警软件的设计与应用[J]. 华北地震科学, 2008, 26(1): 56-58. | |
徐曼, 李金平, 宋维堂. 用Visual Basic实现文本多媒体效果[J]. 信息技术, 2003, 27(10): 36-38. DOI:10.3969/j.issn.1671-3176.2003.10.014 |