一种基于QT的场景信息文件解析方法的设计与实现

2021-03-10 09:20吴迪代中华
电子技术与软件工程 2021年20期
关键词:解析软件模块

吴迪 代中华

(上海船舶电子设备研究所 上海市 201108)

1 引言

随着海洋技术的不断发展与进步,声纳显控软件的功能越来越复杂,处理信息的规模越发庞大。所以,对场景信息的记录及回放对海洋技术的研究至关重要。场景信息主要概括为四个方面内容:时间信息、位置信息、环境信息、目标信息。时间信息是指记录的数据中每一条数据的产生时间,包括北京时间的年、月、日、时、分、秒等。位置信息是指船舶所在的位置,包括经度、纬度等。环境信息是指船舶所在的客观环境,包括水文气象环境、地理环境、特殊环境等信息。目标信息是指船舶各个探测设备侦测到的各种目标信息。由于在试验环境下现场的场景信息转瞬即逝,所以需要将场景信息记录存储下来供后续复盘研究。针对于此需求,目前通常采用的方法有外置录像方法以及场景信息记录重演模块化方法。对于外置录像的方法,有操作简单、存储空间大等优点,但是物理空间占用较大,并且该方法所生成的视频文件在数据分析、数据提取等方面存在不便。场景信息记录重演模块化方法可以将此功能以软件模块的形式部署于应用软件中,使操作人员可以在应用软件运行的过程中根据实际需求实时记录及回放场景数据,具有占有空间小、反应时间短、操作简单等优点,但是该方法所记录的场景信息文件只能在相应的应用软件中回放,对回放设备的软、硬件要求较高。针对以上背景,本文提出了一种基于QT的场景信息文件解析方法,可将嵌入式系统应用软件记录生成的场景信息文件进行解析,转换为Windows 系统下可读的txt 文件,利用此方法对场景信息进行复盘分析可以避免对设备软、硬件的依赖,并且在数据提取、重点信息量化分析上较为便利。

2 总体设计

场景信息文件解析方法包括两个方面的设计:场景记录模块设计、文件解析软件设计。场景记录模块运行于嵌入式Vxworks 操作系统,在完成场景记录后生成场景信息文件。文件解析软件运行于windows 操作系统,将场景信息文件解析转换为txt 文件。总体设计图如图1所示。

图1:总体设计图

3 场景记录模块设计

场景记录模块的硬件环境为Intel Core Duo低电压双核处理器,其主频为1.66GHz;采用Intel 945GME 及ICH7M 芯片组;板载IDE 电子盘,用于安装操作系统和应用软件。场景记录模块是在嵌入式Vxworks 操作系统、支持软件、驱动程序的基础上所开发的应用软件。

场景记录模块可完成场景数据记录生成场景信息文件的功能。当操作人员选择开始记录后,首先检查硬盘剩余存储空间十分足够,如果剩余空间不足,则输出错误提示信息。若剩余空间充足,则开始记录数据。当操作人员结束记录或者记录时长达到4 小时时,文件记录完毕,生成场景信息文件,存储于硬盘制定路径中。后续可将场景信息文件通过FTP 导出,存至PC 机,供后续数据解析分析。场景记录流程图如图2所示。

图2:场景记录流程图

4 文件解析软件设计

文件解析软件开发、运行于Windows 操作系统PC 机,使用Qt4.8.3 工具及C++语言进行开发。Qt 是由Qt Company 于1991年开发的一种跨平台图形用户界面应用程序的开发框架,它可以开发GUI 及非GUI 程序。Qt Creator 是用于Qt 开发的轻量级的跨平台集成开发环境,其包含了一套用于开发和测试Qt 应用程序的高效工具。Qt 具有良好的跨平台特性以及封装机制,非常便于开发。Qt 提供了一种信号/槽机制可以用来替代传统消息机制,这种设计使得各个软件模块之间的交互变得简单、可靠。

文件解析软件根据功能可划分为主控模块、显示控制模块、数据解析模块。各模块间接口关系如图3所示。

文件解析软件提供了简洁、完整、友好的人机交互界面,如图4所示。

图4:文件解析软件界面

4.1 主控模块

主控模块是文件解析软件的控制中心,主要完成初始化文件解析软件内的软硬件资源、对其他模块的调用、创建并启动任务、显示初始画面。当文件解析软件启动时自动加载主控模块。通过子类化QMainWindow 类来创建初始应用程序窗口,通过定义QLabel、QPushButon、QLineEdit、QCheckBox 对象来实现软件初始画面的显示。通过派生QThread 线程类来实现数据解析任务的创建。

4.2 显示控制模块

显示控制模块主要功能为文件解析软件状态反馈信息的显示、识别并响应操作人员的控制命令。

状态反馈信息显示于软件界面下方“提示信息”区域,软件启动后默认显示“请点击“选择路径”选择文件路径”,后续根据情况显示对操作人员的操作提示信息以及数据解析情况信息。操作人员点击“选择路径”按钮后会弹出路径选择对话框,根据操作人员选择的路径信息“文件路径”一栏会显示此路径的详细信息,文件列表一栏QCheckBox 对象会列出此路径下场景信息文件列表,供操作人员选择。当操作人员选定某一场景信息文件后,点击“文件转换”按钮,软件数据解析模块会根据设定的逻辑对场景信息文件进行解析,并将转换完毕的txt 文件存入指定路径。主要示例代码如下:

4.3 数据解析模块

数据解析模块主要完成将场景信息文件数据内容的解析转换,解析采用的数据格式与记录数据格式保持一致。需要将关注的数据内容从场景信息文件中根据信息标识提取出来,并根据相应的数据格式提取相应字段的内容后写入文件。主要示例代码如下:

5 结束语

本文详细介绍了场景信息文件解析方法的设计与实现,克服了传统场景信息记录及回放时对于设备软、硬件环境的局限性,凭借生成的在Windows 下可读的txt 文件,操作人员可以方便、快捷的分析数据。该方法可应用于自动化、工业控制等多个方面,具有一定的工程应用价值。

猜你喜欢
解析软件模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
禅宗软件
软件对对碰
相机解析
谈软件的破解与保护
集成水空中冷器的进气模块