基于C#的多通道磁场显示软件的设计与应用

2020-02-03 02:37朱自强段树岭段然姜作喜彭巍巍
电子技术与软件工程 2020年19期
关键词:磁场按钮航空

朱自强 段树岭 段然 姜作喜 彭巍巍

(中国自然资源航空物探遥感中心 北京市 100083)

磁场是重要的地球物理信息参数,航空磁测是磁场测量的重要手段,他是将磁力仪搭载在航空器上进行地球磁场测量的一种技术。本软件是基于航空磁场测量野外生产的实际工作需要而开发,航遥中心自主研发的航磁测量系统的GR33 磁场模拟打印机对分析仪器工作状态有很大帮助,同事们将打印输出的模拟纸卷比喻成航空磁场测量系统的“心电图”,但苦于打印机有输出错误甚至不工作的情况,为准确快速的掌握航磁测量系统的工作状态,笔者编写了这个监测仪器“心电图”状态的软件。本软件对航磁测量系统的航空磁场测量数据读取并显示,提供多重滤波放大窗口。软件小巧灵活、使用方便,方便仪器维护人员快速分析判断仪器的工作状态,以及随时快速查询历史久远的航空磁场测量数据。

1 开发环境选择

针对软件的功能需求,选择在WINDOS 平台下采用C#语言开发软件。C#是一种安全的、稳定的、简单的、优雅的面向对象的编程语言。C#具有快速数据操作流,强大的界面显示功能,它在继承C 和C++强大功能的同时去掉了一些它们的复杂特性。C#综合了VB 简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET 开发的首选语言。

2 软件设计流程

软件采用如图1所示设计流程,首先进行资料收集和需求分析,确定软件所要实现的功能,然后进行概要设计,对任务模块进行划分并生成数据流图。接下来是详细设计各个模块的算法实现并编写程序流程图,进而进行代码编写,最后进行功能测试、集成测试与安全性测试,全部测试通过后投入使用,使用过程中出现问题进行后期维护以保障软件的正常使用,每个设计环节均要生成设计文档。

2.1 需求分析

需求分析在软件开发流程中起着“筑地基”的作用,需求分析完整准确才能开发出有利于生产的实用化程序,笔者结合自己从事野外一线航空测量的实际需求,对此软件的功能做如下需求分析。

航空磁测野外生产要求快速准确判断仪器状态,如果仪器出现故障而没有及时发现,不仅数据报废而且经济损失巨大,还会影响工作进度的如期完成,因此需要快速读出并显示磁场数据,需要程序小巧灵活,启动快。

图1:磁场记录软件设计流程

而高灵敏度的磁力仪的工作状态需要直观多通道的综合判断,需要将屏幕划分成相互独立的几个区域,每个区域显示不同滤波通道的数据,不同通道数据之间相互不干扰,每个通道可相互联系起来比较。

对于典型或疑似故障的航空磁场曲线数据,可以保存成图片格式,同时可连接打印机打印下来,供事后仔细研究。

2.2 界面设计

根据需求分析对软件的功能需求,并结合模拟输出打印机输出格式的特点设计界面。航空磁力仪测量的原始磁场数据包括飞行器产生的干扰场,需要对飞行器产生的干扰场进行补偿后得到的磁场数据才是真实的地球磁场数据。对于仪器维护人员主要关注的是补偿后的磁场数据,航空磁场测量的磁场范围大概在20000-70000NT,磁异常引起的变化大概在数百至数千NT,因此要看清楚磁场变化的细节,需要显示磁场显示的量程在百NT 量级为宜。

图2:磁场记录软件界面

图3:多通道磁场显示软件界面

本软件设计了不同显示量程的补偿后磁场通道。因此需要不同尺度的显示磁场数值,才能显示才能看出磁场变化的细节来判断仪器的工作状态。因此需要根据航空磁测显示功能的实际需求,将整个显示界面分成上、中、下三个部分,用于显示不同的磁场尺度,超出设计的尺度,将进行换挡显示。界面的横轴显示时间信息,每隔20 秒显示GPS 时间,纵轴显示磁场的尺度,通过左右拖动进度条更新数据。

3 软件功能实现

3.1 快速读取磁场数据

针对快速读取磁场数据的要求,采用C# 的MemoryStream 内存流读数功能,一次性的将所有内容都读到内存(Memory)中,然后操作内存,提高读取文件速度,软件运行后,点击图2 左上角所示“打开文件”按钮,弹出文件选择对话框,在文件类型中选择航空磁场测量系统专用的“.dat”格式文件,软件设置缺省的文件格式为dat 格式。选中一个文件,点击“打开”按钮,软件读入.dat格式数据,对于一个10M 左右大小的航空磁场测量数据,打开文件时间小于1 秒,方便快捷。

3.2 多通道显示

图3所示软件可视部分由三个结构组成,分别是功能按钮、磁场曲线和进度条。屏幕最上面是功能按钮,功能按钮下面是磁场曲线,磁场曲线分为上、中、下三个通道,每个通道的竖轴被分割成十等份,上部通道蓝色曲线是对磁总场进行100nT 滤波,即上部通道量程是100nT,每一小格是10nT,此通道可以观察磁场的细节变化。中部通道红色曲线是对磁总场进行10nT 滤波,即上部通道量程是10nT,每一小格是1nT,此通道可以更进一步观察磁场的细节变化,相当于对上部通道的磁场进行了放大。下部通道上面的曲线是补偿前高通滤波磁场,下部通道中下面的曲线是补偿后高通滤波磁场,可以对比补偿前后的磁场数值,以观察补偿的效果。

如图3所示,每个区域的竖线对应着横轴的GPS 时刻,每一小格是10 秒,屏幕右上角显示为数据的起始收录时间和结束收录时间,均为GPS 时刻,格式从左往右是时:分:秒,以及数据收录日期,格式从左往右为年/月/日。例如图3所示开始收录时间为13年08月28日14 时52 分25 秒,结束时间为13年08月28日16 时41 分25 秒。可以通过左右拖动进度条刷新数据,软件友好易操作,与纸质磁场记录纸卷阅读体验一致。

3.3 图片保存及打印

当需要保存当前界面上的磁场数据时,可点击功能按钮区的“保存”按钮,选择保存图片的位置和名称,进行保存数据。同样点击“打印”按钮,连接打印机后会将当前屏幕显示的内容打印出来。

4 结论与应用

航空磁场测量多通道滤波显示软件大大提高了判断仪器状态的工作效率,同时也为快速查阅历史资料提供了方便。软件编写之后迅速在数个野外工区投入使用,挽救数十飞行架次的经济损失,受到野外生产队的一致好评。

猜你喜欢
磁场按钮航空
西安的“磁场”
为什么地球有磁场呢
“闪电航空”来啦
“闪电航空”来啦
磁场的性质和描述检测题
2016年春季性感磁场
达美航空的重生之路
内心不能碰的按钮
一战航空百年回眸