前兆台站数字化展示软件的设计与实现

丁成, 常玉柱, 鞠永, 孙贵成

丁成,常玉柱,鞠永,等. 前兆台站数字化展示软件的设计与实现[J]. 华北地震科学,2023, 41(4):61-65. doi:10.3969/j.issn.1003−1375.2023.04.009.
引用本文: 丁成,常玉柱,鞠永,等. 前兆台站数字化展示软件的设计与实现[J]. 华北地震科学,2023, 41(4):61-65. doi:10.3969/j.issn.1003−1375.2023.04.009.
DING Cheng,CHANG Yuzhu,JU Yong,et al. Design and Implementation of Digital Display Software for Earthquake Precursor Station[J]. North China Earthquake Sciences,2023, 41(4):61-65. doi:10.3969/j.issn.1003−1375.2023.04.009.
Citation: DING Cheng,CHANG Yuzhu,JU Yong,et al. Design and Implementation of Digital Display Software for Earthquake Precursor Station[J]. North China Earthquake Sciences,2023, 41(4):61-65. doi:10.3969/j.issn.1003−1375.2023.04.009.

前兆台站数字化展示软件的设计与实现

基金项目: 河北省地震科技星火计划青年项目
详细信息
    作者简介:

    丁成(1989—),男,河北承德人,工程师,主要从事地震监测工作. E-mail:704791364@qq.com

  • 中图分类号: P315-39

Design and Implementation of Digital Display Software for Earthquake Precursor Station

  • 摘要:

    使用C++语言,基于Qt框架,设计开发了一款前兆台站数字化展示软件。该软件采用模块化设计,方便用户切换模块并自由编辑展示内容和仪器信息,不但有利于保证仪器数据的连续性和完整性,还可提高来台参观人员对台站的了解程度,实现了台站宣传展示和仪器状态监控相结合的功能,目前已应用于丰宁地震台、易县地震台,经过简单配置即可应用于其他前兆台站。

    Abstract:

    Using the C++ programming language and based on the Qt framework, we have developed a digital display software for earthquake precursor stations. The software features a modular design, allowing users to easily switch between modules and freely edit display content and instrument information. This not only ensures the continuity and integrity of instrument data, but also enhances the understanding of the station for visitors. The software combines station publicity and instrument status monitoring. It has already been implemented at Fengning Seismic Station and Yixian Seismic Station. With a simple configuration, it can be applied to other earthquake precursor stations as well.

  • 仪器正常稳定运行是观测资料产出的基础,仪器出现网络故障、供电故障、硬件故障时,如不能及时发现会影响资料的连续性及完整性。为保证仪器能连续正常记录观测数据,许多人尝试开发客户端软件对仪器状态监控[1-3]

    随着丰宁台整体搬迁工作的完成,2020年丰宁台又新增多套仪器,通过网页查看仪器状态不但十分繁琐,且难以确定仪器数据曲线形态是否正常。此外,搬迁后的丰宁地震台办公地点位于县政府大院内,与县政府内其他单位有了更多交流展示的机会,因此还将承担部分宣传展示工作。相对于采用讲解和播放视频的方式进行宣传展示,将台站日常处理的数字资料以数据曲线的形式进行展示,可以让人民群众更直观地了解地震仪器和台站日常工作。在此需求的基础上,使用C++语言,基于Qt框架开发完成了前兆台站数字化展示软件,实现了台站宣传展示及仪器状态监控功能,该软件通过简单配置即可应用于前兆台站。

    前兆台站数字化展示软件主要包含2个子模块:宣传展示模块和仪器状态监控模块。宣传展示模块下面包含:台站简介、仪器介绍、人才队伍和其他风采4个部分,通过图片和文字,配合台站职工的讲解,用于向来台人员展示台站的基本情况。仪器状态监控模块主要有仪器网络状态监控和仪器数据曲线显示两大功能,除了方便工作人员日常对仪器进行监控外,也可以向来台参观人员进行展示(图1)。

    图  1  功能架构图
    Figure  1.  Functional architecture diagram

    软件的使用者主要是来台参观人员和台站工作人员。来台参观人员可以查看用于展示的宣传信息也可以查看台站仪器的状态信息,而台站工作人员除了有来台参观人员的权限外,还负责维护台站用于宣传展示的材料以及台站仪器信息(图2)。

    图  2  用例图
    Figure  2.  Use case diagram

    前兆台站数字化展示软件将宣传展示模块和仪器状态监控模块用2个界面分别展示,可通过软件左上角的模式切换功能进行切换。

    软件打开后的主界面是宣传展示模块界面,分为台站简介、人才队伍、仪器介绍和其他风采4个子模块,点击相应子模块进入展示材料界面。为了方便展示材料编辑和呈现,统一采用左侧文字介绍和右侧图片介绍的界面(图3)。台站工作人员可以通过文字和图片向参观人员进行介绍,点击右侧的导航按键,可方便切换展示材料。

    图  3  宣传展示界面
    Figure  3.  Publicity and display interface

    本文软件采用可编辑模板的方式使宣传展示材料可以自由的增减和替换,满足本台站宣传展示多样性的同时,还可使软件应用于其他前兆台站。在软件所在文件夹中的images文件夹下存放宣传展示的图片和配置文件(图4),其中文件夹用于存放用于展示的图片,而与之同名的xml文件中可编写与图片对应的文字介绍。

    图  4  宣传展示部分文件结构
    Figure  4.  Publicity and display files structure

    将想要展示的图片放在相应展示模块的文件夹下,编辑对应的xml文件即可实现自定义展示材料。

    以“其他风采”展示模块为例,4_Others文件夹下存放的是台站获奖情况的图片。在xml文件中,intro为一个宣传展示材料,name为展示的标题,pic为展示图片名称,instruction内容为文字介绍部分。使用人员可通过编辑xml实现自定义宣传展示内容(图5)。

    图  5  4_Others.xml文件内容
    Figure  5.  Contents of 4_Others.xml

    点击左上角“模式切换”按钮将模式切换到仪器状态监控模块。界面左侧区域为仪器列表区,中间区域为数据曲线显示区,右侧为信息区和控制区。该模块可以供台站工作人员日常检查仪器状态使用,也可以用于向外来参观人员展示仪器数据曲线(图6)。工作人员可以根据仪器列表区的状态判断仪器网络状况是否正常,可以通过控制区选取查看仪器数据的时间范围,可以通过信息区查看仪器在收取数据时的状态,可以在数据曲线区域查看仪器数据曲线。

    图  6  仪器状态主界面
    Figure  6.  Main interface of instrument status

    仪器列表不但有显示和选取仪器的作用,还可以用于判断列表内仪器的网络状态。软件会定时自动ping仪器列表的仪器,如果ping不通,仪器列表内对应仪器的名称会变为红色;如果可以ping通,则为绿色(图7)。台站人员通过仪器列表可以对仪器网络状态一目了然。

    图  7  仪器网络状态
    Figure  7.  Network status of instrument

    本功能提供仪器曲线显示功能。点击左侧“仪器列表”中对应的仪器,在软件的右下角有数据日期选择下拉框,可选择最近15天的仪器数据曲线(图8)。

    图  8  数据日期选择
    Figure  8.  Data date selection box

    此时点击“全天曲线”按钮,软件会尝试与仪器建立TCP连接并获取数据,台站人员可通过右侧的信息框查看与仪器的连接情况和数据读取情况(图9)。当仪器获取数据后,会在显示区按照各个测项显示每个测项的数据曲线,可通过鼠标拖动或放大缩小曲线。

    图  9  仪器数据曲线展示
    Figure  9.  Instrument data curve display

    为了方便软件的推广,使其可应用于其他台站,软件将仪器的IP、ID等信息存放到instruments.xml配置文件中,通过修改instruments.xml中的字段,其他台站也可使用本软件查看仪器状态(图10)。xml中各字段名称含义如表1 所示。

    图  10  instrments.xml内容
    Figure  10.  The content of instruments.xml
    表  1  仪器信息配置文件含义
    Table  1.  Meaning of instrument information configuration file
    字段名称含义
    name仪器在软件中的名称
    ip仪器IP
    id仪器ID
    num测项分量个数
    item*测项分量代码,*从0递增
    samplerate采样率
    instruction简介
    下载: 导出CSV 
    | 显示表格

    前兆仪器入网需满足“十五”通信规程,与仪器建立TCP连接后,可按照通讯协议格式发送命令与仪器互动。与仪器进行网络TCP连接时,需使用Socket技术。套接字(Socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。

    与仪器通讯的主要代码如下:

    QByteArray logByte=m_currentCommand.toUtf8();//将命令转换成byte

    tcpClient->connectToHost(m_IP,**);//连接到主机

    if (tcpClient->waitForConnected(2000)) { // 连接成功发送命令

    tcpClient->write(logByte);}else{ //将命令传入TCP

    emit ErrorDetected(m_Name+":连接超时");}//连接失败发出错误信息

    仪器数据曲线展示采用QCustomPlot控件。QCustomPlot是一个基于Qt图形库,用于绘制和数据可视化,制作曲线图、趋势图、坐标图、柱状图等,并为实时可视化应用程序提供高性能服务。QCustomPlot使用简单,易于使用,只需要在项目中加入头文件qcustomplot.h和qcustomplot.cpp文件,然后将界面中的widget控件提升为QCustomPlot类即可使用。

    按照软件开发流程开发前兆台站数字化展示软件一套,软件分为展示宣传子模块和仪器状态监控子模块,实现了仪器数据曲线显示、台站概况简介、仪器信息简介等功能。在满足工作人员仪器状态监控的同时,还具有对外展示宣传的作用。软件具有较好的可推广性,通过简单编辑几个配置文件即可应用于其他台站,目前已应用于丰宁台和易县台的日常工作中。

  • 图  1   功能架构图

    Figure  1.   Functional architecture diagram

    图  2   用例图

    Figure  2.   Use case diagram

    图  3   宣传展示界面

    Figure  3.   Publicity and display interface

    图  4   宣传展示部分文件结构

    Figure  4.   Publicity and display files structure

    图  5   4_Others.xml文件内容

    Figure  5.   Contents of 4_Others.xml

    图  6   仪器状态主界面

    Figure  6.   Main interface of instrument status

    图  7   仪器网络状态

    Figure  7.   Network status of instrument

    图  8   数据日期选择

    Figure  8.   Data date selection box

    图  9   仪器数据曲线展示

    Figure  9.   Instrument data curve display

    图  10   instrments.xml内容

    Figure  10.   The content of instruments.xml

    表  1   仪器信息配置文件含义

    Table  1   Meaning of instrument information configuration file

    字段名称含义
    name仪器在软件中的名称
    ip仪器IP
    id仪器ID
    num测项分量个数
    item*测项分量代码,*从0递增
    samplerate采样率
    instruction简介
    下载: 导出CSV
  • [1] 李雨泽, 陶鑫, 肖健, 等. 九江台前兆仪器监控软件[J]. 科技创新与应用, 2017(29): 50-51.
    [2] 丁成, 孙贵成, 鞠永. SQ-70D型石英水平摆倾斜仪状态监控软件[J]. 地震地磁观测与研究, 2018, 39(3): 213-217. doi: 10.3969/j.issn.1003-3246.2018.03.032
    [3] 李俊超, 赵瑞, 王秋良. 地震台站综合观测仪器自动化监控报警系统的设计与实现[J]. 大地测量与地球动力学, 2019, 39(1): 107-110. doi: 10.14075/j.jgg.2019.01.021
图(10)  /  表(1)
计量
  • 文章访问数:  154
  • HTML全文浏览量:  65
  • PDF下载量:  61
  • 被引次数: 0
出版历程
  • 收稿日期:  2023-04-25
  • 网络出版日期:  2023-11-07
  • 刊出日期:  2023-10-14

目录

/

返回文章
返回