CN112162733A - 基于Qt的相控阵雷达模块化监控软件的设计方法 - Google Patents
基于Qt的相控阵雷达模块化监控软件的设计方法 Download PDFInfo
- Publication number
- CN112162733A CN112162733A CN202011144120.0A CN202011144120A CN112162733A CN 112162733 A CN112162733 A CN 112162733A CN 202011144120 A CN202011144120 A CN 202011144120A CN 112162733 A CN112162733 A CN 112162733A
- Authority
- CN
- China
- Prior art keywords
- module
- file
- display
- network
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于Qt的相控阵雷达模块化监控软件的设计方法,属于雷达测试技术领域。分别执行如下操作:创建项目工程RadarMonitor.pro;新建窗口管理模块MainWindow;新建XML表管理模块LoadPara;新建SPU网络模块NetSPUData、FSU网络模块NetFSUData、T/R电源监控板网络模块NetArrayData、寻北仪网络模块NetXBYData、惯导网络模块NetNaviData;新建控制界面模块CtrlPanel;新建波形显示模块ARView;新建文件记录模块FileRecord和文件回放模块FileReplay。通过本方法设计的相控阵雷达模块化监控软件操作员可以在界面对话框中对配置参数进行修改并保存;调试员直接通过修改XML表更改程序里的参数设置,在调试程序的时候更方便操作;可以充分利用XML表的灵活构建、删除管理的特点进行配置参数管理。
Description
技术领域
本发明属于雷达测试技术领域,具体涉及一种基于Qt的相控阵雷达模块化监控软件的设计方法。
背景技术
随着日益复杂的现代战争环境,雷达作为探测目标信息的重要传感器,出现了一系列新体制雷达。采用电扫描技术的雷达称为相控阵雷达,且相控阵雷达广泛应用于各种领域。相控阵雷达有如下优点:第一,打破传统机械扫描雷达的固有模式,能够实现灵活的波束指向;第二,即使单个T/R组件功能受损,其余组件仍能提供足够大的发射功率;第三,目标容量大,且同时形成多波束,能够对多目标的同时搜索和跟踪;第四,拥有多种工作模式,能够应对更加复杂的电磁环境,以保障国土安全。
本模块化监控软件用于二维有源旋转相控阵体制的雷达天线测试实验中,给操作员提供天线测试数据监控的人机交互界面。如图1所示,本模块化监控软件旨在对信号处理机(SPU)和频率综合器(FSU)的工作参数进行监控,并用图形化方式进行波形显示,同时通过串口服务器监控外围设备的工作参数,其中外围设备有:T/R电源监控板、寻北仪、惯性导航设备。本模块化监控软件首先利用C++中面向对象的编程思想,将监控软件拆分成若干功能模块;然后选用面向对象的开发平台Qt5.6,因为它支持扩展的C++类库、可跨多平台移植、松耦合的信号槽机制、XML技术,利用Qt元对象系统中的信号槽机制实现程序内部模块之间的数据交互。
目前,国内对基于Qt的模块化显示技术研究的相关文献包括:
(1)刊载于《雷达与对抗》2014年第34卷第3期的“一种基于Qt的被动雷达显控软件设计”(练学辉著),主要分析了使用Qt Designer工具和Qt的样式表使得图形界面风格多样化来刷新显示被动雷达信息,介绍了大概的理论知识,对于实际具体工程应用讲解过少且核心分析内容少。
(2)刊载于《电子科技》2016年第29卷第4期的“基于Qt的雷达信号模拟器软件界面设计与实现”(胡杨,刘馨丹著),主要分析了通过对界面元素的生成及管理、界面通信机制、事件响应方面的设计,实现了基于Qt的雷达信号模拟器软件界面。仅介绍了大量书本上的基础知识,没有描述具体设计过程。
这些论文不涉及在Qt平台下的模块化建模,不涉及从XML配置文件中读写参数、波形具体显示处理、存储和回放加入多线程、对与串口服务器相连的外围设备的监控方面的技术。
国外与此相关的技术未见公开。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于Qt的相控阵雷达模块化监控软件的设计方法。
技术方案
一种基于Qt的相控阵雷达模块化监控软件的设计方法,其特征在于步骤如下:
步骤1:创建项目工程RadarMonitor.pro,在main()函数中通过加载不同风格的样式表实现换肤操作,注册自定义的数据结构以便元对象系统可以识别,实例化窗口管理模块MainWindow的对象并显示,最后使监控软件的可执行应用程序进入事件循环;
步骤2:新建窗口管理模块MainWindow,此模块不仅要处理其他模块之间数据交互的信号槽关联,同时处理UI控件响应的信号槽关联,而且对界面显示进行窗口显示管理,即将控制界面模块CtrlPanel设置为停靠窗口,将波形显示模块ARView设置为中央窗体;
步骤3:新建XML表管理模块LoadPara,首先加载指定路径的配置文件Config.xml并按节点读取参数,如窗口名称、窗口大小、可配置的网络IP和端口号、曲线颜色,然后将参数赋值到结构体变量allParas中;然后在析构函数中将操作员在使用监控软件过程中修改的曲线颜色,重新写入配置文件Config.xml中,即下次打开监控软件可实现自动加载最新版本的配置文件;
步骤4:新建SPU网络模块NetSPUData、FSU网络模块NetFSUData、T/R电源监控板网络模块NetArrayData、寻北仪网络模块NetXBYData、惯导网络模块NetNaviData,以上五个模块首先要初始化UDP的双向通信网络,然后设置网络接收和发送套接字,端口绑定,发送网络数据,接收网络流数据后根据通信协议实现网络数据解析;且通过KIEN1008BA-8P2T-T-02型串口服务器连接的外围设备工作之前,要预先给串口服务器加24V稳压电压,然后根据在网页上配置网络配置即设置串口服务器的IP地址,操作设置将默认的TCP/Clientm修改为UDP操作模式,设置COM1、COM2、COM3串口端;
步骤5:新建控制界面模块CtrlPanel,结合UI设计师文件共同实现控件及其响应功能,将诸多控件进行合理的摆放和布局,实现参数控制功能和状态显示功能;且在此控制界面模块上通过按钮控件可以响应二级控制界面模块,如文件上传界面模块ProgramSendCtrl、频综监控界面模块FsuSetting、外围设备监控界面模块DeviceCtrl;文件上传模块可选择将电子盘里的某文件通过网络上传给信号处理机并实时显示文件上传信息,通过定时器QTimer类进行管理,并将定时器管理加入多线程;频综监控界面模块可将频综显示、频标和射频模块故检、基准和中频模块故检、校准通道及备份故检、抽取率进行实时显示;外围设备监控界面模块,根据实际144个T/R组件的分布图在界面上同步显示对应位置的工作电压、电流、温度,显示并可控风机转速信息,且风速可以单个、分区、全区可控,显示惯导和寻北仪的信息;
步骤6:新建波形显示模块ARView,实现接收数据的实时图形化显示,先通过读取配置参数XML表对曲线颜色进行可编辑控制,且可以在软件内部通过颜色选择框选择曲线颜色并存入XML表中,然后从SPU网络模块NetSPUData接收传来的I、Q两路时域点数据,一帧数据接收满屏点数据显示,且最多3000点。模块内部的具体功能有:刻度显示、曲线显示、显示边角文字信息、微表显示、坐标转换与反转换、拖拽矩形后局部放大显示、恢复正常显示、鼠标点击、移动事件处理、清屏处理;
步骤7:新建文件记录模块FileRecord和文件回放模块FileReplay,文件记录模块FileRecord是将接收到的网络数据存到电子盘中,文件格式可以是二进制也可以是文本文件;文件回放模块FileReplay是选择电子盘里需要回放的文件,通过暂停定时器后跳到对应位置处,再开启定时器读取,实现人工拖到回放进度条的任意位置处读取文件,且回放速度是通过设置不同的定时器间隔实现可控,最终将文件记录类和文件回放类加入多线程。
有益效果
本发明提出的一种基于Qt的相控阵雷达模块化监控软件的设计方法,有益效果如下:
(1)本发明基于Qt平台下,可以使用Qt自身强大的功能,如丰富的C++类库、跨平台移植、信号槽机制、元对象系统、设计师文件、容器变量、加载预设样式表实现界面换肤,通过使用Qt特有的UI文件与信号槽机制共同实现人机交互界面,并通过模块化建模,不仅有利于多人共同开发一个软件,而且可以缩短建模周期降低建模难度;
(2)之前程序加载的参数在程序内部写定,或读取多个文本文件,如若参数有多种格式,要新增或减少参数修改程序繁琐,且容易出错;而本监控软件通过XML表读取并写入相关配置参数,一来在程序使用过程中,操作员可以在界面对话框中对配置参数进行修改并保存;二来调试员直接通过修改XML表更改程序里的参数设置,在调试程序的时候更方便操作;三是因为XML表拥有层次结构清晰的表格管理方式,可以充分利用XML表的灵活构建、删除管理的特点进行配置参数管理;
(3)本发明基于串口服务器实现模块化监控软件对外围设备的统一监控管理,通过配置串口服务器的网络设置、串口配置、操作模式,对于不同的外围设备配置不同的IP地址和端口号来实现串口与网口的互连,然后在监控软件上进行统一管理。
附图说明
图1模块化监控软件的外部连接图
图2模块化监控软件的模块组成图
图3串口服务器的连接关系图
图4窗口管理模块处理流程
图5XML表管理模块处理流程
图6网络模块处理流程
图7显示界面处理流程
图8波形显示模块处理流程
图9文件记录模块处理流程
图10文件回放模块处理流程
具体实施方式
现结合实施例、附图对本发明作进一步描述:
下面以某型号相控阵雷达为例,该模块化监控软件运行平台为X86架构的计算机,操作系统为Windows 7,使用Qt5.6作为编程工具。本发明方法的具体实施方法:
(1)创建项目工程后,在main()函数中调用CommonHelper类的public静态函数setStyle()加载资源文件中不同名称的样式表实现换肤操作;为了在信号槽函数中传递自定义参数类型,需利用模板函数qRegisterMetaType<T>("T")逐个将自定义的数据类型名进行元系统注册;显示实例化窗口管理模块MainWindow的对象,最后在main()函数结束处返回exec(),使模块化监控软件的应用程序进入事件循环。
(2)窗口管理模块MainWindow的实现过程,流程图如图4所示,首先将配置文件Config.xml里的配置参数,如窗口名称、窗口大小、可配置的网络IP和端口号、曲线颜色信息加载到该模块;然后利用QDockWidget类将主控制界面类CtrlPanel设置为停靠窗口,利用QStackedWidget类将波形显示模块ARView设置为堆栈窗口,且调用setCentralWidget()函数将堆栈窗口设为中央窗体;最后将SPU网络模块NetSPUData、FSU网络模块NetFSUData、T/R电源监控板网络模块NetArrayData、寻北仪网络模块NetXBYData、惯导网络模块NetNaviData进行实例化,并利用connect()函数进行信号槽关联处理实现网络模块的数据传递,同时利用信号槽关联处理响应操作指令及其响应,如通过确认按钮可将控制指令通过网络发送给相应的设备实现控制的功能。
(3)XML表管理模块类LoadPara的实现过程,流程图如图5所示,首先整理好需要灵活设置的配置参数,在类中的构造函数进行初始化赋值,并写一个配置文件到电子盘里;然后加载指定路径的配置文件并按节点读取初始化参数赋值到相应结构体变量allParas中,即调用read()函数,使用QDomElement类创建子节点,用函数parseWindowElement()把Config.xml配置文件载入allParas的成员变量中,再用nextSiblingElement()将节点切换到下一个兄弟节点上,继续读取参数到其他成员变量;最后将应用程序使用过程中修改后的参数,如用户通过颜色对话框选择的自定义曲线颜色在析构函数中调用saveAllParas()函数写入Config.xml(新的XML配置文件)和Config.xml.bak(备份文件)文件中;程序每次新运行时读取最新版本配置文件中的配置参数信息。除此之外,该模块不仅给MainWindow模块输出QSize型的窗口大小、QString型的窗口标题,还分别给FSU网络模块NetFSUData、SPU网络模块NetSPUData、T/R电源监控板网络模块NetArrayData、寻北仪网络模块NetXBYData和惯导网络模块NetNaviData输出相应的IP地址和端口号。
(4)SPU网络模块NetSPUData、FSU网络模块NetFSUData、T/R电源监控板网络模块NetArrayData、寻北仪网络模块NetXBYData、惯导网络模块NetNaviData的实现过程,如图6所示,分别对UDP的网络接收和发送套接字进行设置和端口绑定,通过使用QUdpSocket、QHostAddress、bind()、connect()、setSocketOption()实现UDP的双向通信网络初始化,通过使用readyRead()、hasPendingDatagrams()和readDatagram()函数实现UDP通信的接收功能,通过使用writeDatagram()函数实现UDP通信的发送功能;实现监控软件与外围设备与串口服务器连接过程,先要预先给串口服务器加24V稳压电压,然后在网页上进行网络配置,即将串口服务器的LAN1口设置IP地址为192.168.0.249,子网掩码设置为255.255.255.0;然后进行操作设置,即将默认的TCP/Clientm修改为UDP操作模式;然后分别配置COM1、COM2、COM3串口端的目标开始和结束IP地址,设置为RS-422串行接口,设置传输波特率为115200bps,起始位1位、数据位8位、无校验位、停止位1位;强制传输可设置成在指定时间内收到的数据通过协议打包到相同的数据帧,保存配置点击重启使用;最后实现占用端口1的T/R电源监控板网络模块NetArrayData、占用端口2的寻北仪网络模块NetXBYData、占用端口3惯导网络模块NetNaviData,根据各自的通信协议收发不同的数据流,网络接收和发送函数流程一样。
(5)如图7所示,控制界面模块CtrlPanel的实现过程,结合UI设计师文件共同实现控件及其响应功能,根据协议将控件进行合理的摆放和布局,通过人工选择命令操作,比如当切换数据类型或通道选择或回放、回放结束、回放停止控件,波形显示会响应清屏函数clearScreen();发送控制命令至SPU网络模块NetSPUData和FSU网络模块NetFSUData,实现参数控制功能;在此控制界面模块通过点击控件可弹出二级控制界面,如文件上传界面模块ProgramSendCtrl、频综监控界面模块FsuSetting和外围设备监控界面模块DeviceCtrl,具体实现步骤如下:
(a)文件上传模块ProgramSendCtrl的实现过程,在电子盘中选择.dat二进制文件,并将其文件名显示在编辑框中,点击“开始上传”,将文件通过网络上传给信号处理机。在定时器QTimer类进行管理(一帧按1024长度发送),前3帧的定时器间隔设置为500ms,等待应答,因为前3帧太快容易丢帧,三次后定时器间隔设置为1ms读一次,一次读1024长度的文件内容,若文件长度达不到1024,则修正数据流的长度为1024;在定时器溢出事件中,实现和校验、帧计数,进而再将文件数据发送至SPU网络模块NetSPUData,并将定时器加入多线程改善程序结构,这样不仅有利于提高应用程序的响应速度,而且使多CPU系统更加有效;
(b)频综监控界面模块FsuSetting,首先进行显示界面参数初始化显示,然后将操作员设置的工作模式、工作频点参数设置并通过网络发送给FSU网络模块NetFSUData;将接收到的频综网络数据,如频综、故障数据显示,即在QPainter的绘图事件函数paintEvent()中,用画笔调用drawText()函数绘制,通过网络数据驱动后使用函数update()刷新事件函数的内容;
(c)外围设备监控界面模块DeviceCtrl,主界面分为三个TAB页面,第一页为T/R电源监控板传送的风机调速页面,并根据相控阵雷达风机安装的实际位置进行摆放,实现单独可控、分区可控、全区可控三种方式;第二页为T/R电源监控板的144个子阵的电源、电压、温度状态显示页,并根据相控阵雷达子阵的实际位置关系进行摆放,因为前端负载采用分布式电源,每个电源模块位置相对独立,所以需要将其位置关系进行绑定,实际中利用鼠标悬浮事件和鼠标点击事件共同实现正向、反向标记,这样有利于操作员进行测试时,观察出故障位置并迅速进行排故维修;第三页实现寻北仪和惯性导航设备的监控页面,首先进行显示界面参数初始化显示,然后将操作员设置的子阵风机的风速、子阵电源电压、设备电源风机转速、询问机的控制信息参数设置并通过网络发送给T/R电源监控板;将接收到的网络数据进行显示,即在QPainter的绘图事件函数paintEvent()中,用画笔调用drawText()函数绘制,通过网络数据驱动后,使用函数update()刷新事件函数的内容,除此之外,传统的txt文档存储宽度受限,所以将网络数据存储成任意宽度的.csv格式文本文件,并实现从Navi.xml配置文件将惯导设备的初始经纬高信息一键载入参数的功能,实现过程可参考步骤(3)。
(6)波形显示模块ARView显示从SPU网络模块NetSPUData传来的I、Q两路时域点数据,如图8所示,具体实现步骤如下:
(a)首先在构造函数载入Config.xml表的配置参数,将相关控件和参数进行初始化赋值,调用更新绘制坐标参数函数coordsParams()、设置背景色、开始鼠标跟踪、开启定时器;
(b)然后在绘图函数paintEvent()中,调用画坐标drawCoordnates()函数、画曲线函数drawCurves()、画拖拽矩形函数drawDragRect()和画微表函数drawSmallTable();其中,在循环中利用QHash<int,QVector<QPointF>>::iterator定义读写迭代器i,用函数drawPolyline()画曲线函数即画容器变量里的坐标点(*i).data(),用函数drawText()实时更新曲线最新点位置(*i).first()附近画曲线编号i.key(),且当曲线被选中和未被选有颜色区分;画微表函数用来显示鼠标选中点的详细信息,如“选中的曲线编号、位置信息”;画拖拽矩形函数用来确认局部放大的中心点、放大倍率,即利用鼠标点击的左击作为起始坐标点和鼠标释放事件的左击作为终止坐标点确定;
(c)当父窗口被操作员放大或缩小,则在resizeEvent()中确定相关参数,如新的窗口宽度和高度信息通过QResizeEvent变量获得父窗口参数,然后更新相应的坐标参数函数coordsParams(),更新在屏幕坐标下显示点的位置函数curvesRelocation(),确定好需要同步变化的内容是背景坐标和点在屏幕坐标下的位置;
(d)定时溢出函数timerEvent()中当鼠标移动标志位mouseMoved为1时调用坐标反转换函数cursorRealPos(),即将鼠标光标所在屏幕坐标位置curMousePos转化成真实物理意义下的坐标curRealPos,结合鼠标左击事件,调用找曲线点的函数findCurvePoint()寻找当前鼠标左击后光标所处的点位置是否为曲线中的已有点信息,差值若在门限内则判断找到曲线上的点信息,进而调用画微表函数予以显示,且在鼠标左击事件中调用函数update()实现绘图事件再次刷新显示;
(e)数据接收槽函数rcv_data(),一帧数据接收操作员选取的某个通道的I路或Q路各2048个点DDC数据,共16个通道且每个通道插入2048个距离单元的幅度值,且设置界面上最多容纳3000个点进行显示,若接收到的数据长度不超过3000,则将接收的数据直接插入到容器变量QHash<int,QVector<QVector2D>>realData中,若超过则进行长度修正;然后进行坐标转换,即将真实物理意义下的点信息realData循环转化为屏幕坐标点,然后插入QHash<int,QVector<QPointF>>curvePoints变量中,并调用函数update()实现绘图事件再次刷新显示;通过ARView类的对象arv1画I路数据,同时通过ARView类的对象arv2画Q路数据;
(g)鼠标事件分为以下三种:第一种是鼠标移动事件mouseMoveEvent(),将获得鼠标光标所处的屏幕坐标位置,并调用函数update()实现绘图事件再次刷新显示;第二种是鼠标点击事件mousePressEvent(),当鼠标左击后判断选中的点是否为曲线上的点,若是则要通过微表进行信息显示,且记录鼠标左击事件的起始坐标点信息;第三种是鼠标释放事件mouseReleaseEvent(),实现屏幕的左击拖拽矩形进行局部放大,将显示中心放到新的显示中心点,确定X、Y方向的放大倍率,更新相应的坐标参数函数coordsParams(),更新在屏幕坐标下显示点的位置函数curvesRelocation(),并调用函数update()实现绘图事件再次刷新显示,鼠标右击复原屏幕为正常显示状态,放大倍率变回1,再次重新调用更新坐标参数函数、重绘曲线函数、刷新函数;
(h)当显示界面被操作员切换、屏幕大小变化、通道选择切换、文件回放时,要调用清屏处理函数clearScreen(),清空实际数据点容器变量QHash<int,QVector<QVector2D>>realData,清空屏幕坐标点容器变量QHash<int,QVector<QPointF>>curvePoints,清空屏幕曲线容器变量QHash<int,QVector<QLineF>>curveLines,并调用函数update()实现绘图事件再次刷新显示。
(7)文件记录模块FileRecord的实现过程,如图9所示,将接收到的网络数据通过QByteArray类打包存到电子盘中,结合QDateTime类通过makeFileName()函数生成网络数据存储的文件名,文件存放在当前程序执行的文件夹record里,当文件不可写时弹出报错提示框,且文件格式若为二进制文件,则存储速度快,若为文本文件,则观察员直观查阅;利用connect()函数连接SPU网络模块中的接收数据函数和文件记录中的写文件函数,用disconnect()函数断开与SPU网络的连接;在文件记录模块中,在构造函数中调用函数moveToThread()将本类加入多线程,在析构函数中退出多线程。
(8)文件回放模块FileReplay的实现过程,如图10所示,首先打开文件对话框选择电子盘里需要回放的文件,然后点击回放按钮,且调用清屏函数clearScreen(),然后将文件里的数据通过信号槽发送给SPU网络模块,调用解析数据函数dataExplain()进行解析后进行相关数据显示;开启定时器,文件在回放结束之前,定时器溢出函数每次执行读取一帧数据,并求取读取进度百分比通过信号槽函数传递给控制界面模块CtrlPanel予以显示;当通过鼠标将回放进度条拖动到任意位置,通过信号槽控制文件回放模块停止定时器并将文件跳到指定位置处,再开启定时器读取,并调用清屏函数clearScreen();当文件回放被停止,通过信号槽关联到文件回放模块让定时器停止,且调用清屏函数clearScreen();当文件读完,正常结束回放关闭回放文件并停止定时器,且调用清屏函数clearScreen();回放速度可控是通过设置不同的定时器间隔实现;在文件回放模块中,在构造函数中调用函数moveToThread()将本类加入多线程,在析构函数中退出多线程。
Claims (1)
1.一种基于Qt的相控阵雷达模块化监控软件的设计方法,其特征在于步骤如下:
步骤1:创建项目工程RadarMonitor.pro,在main()函数中通过加载不同风格的样式表实现换肤操作,注册自定义的数据结构以便元对象系统可以识别,实例化窗口管理模块MainWindow的对象并显示,最后使监控软件的可执行应用程序进入事件循环;
步骤2:新建窗口管理模块MainWindow,此模块不仅要处理其他模块之间数据交互的信号槽关联,同时处理UI控件响应的信号槽关联,而且对界面显示进行窗口显示管理,即将控制界面模块CtrlPanel设置为停靠窗口,将波形显示模块ARView设置为中央窗体;
步骤3:新建XML表管理模块LoadPara,首先加载指定路径的配置文件Config.xml并按节点读取参数,如窗口名称、窗口大小、可配置的网络IP和端口号、曲线颜色,然后将参数赋值到结构体变量allParas中;然后在析构函数中将操作员在使用监控软件过程中修改的曲线颜色,重新写入配置文件Config.xml中,即下次打开监控软件可实现自动加载最新版本的配置文件;
步骤4:新建SPU网络模块NetSPUData、FSU网络模块NetFSUData、T/R电源监控板网络模块NetArrayData、寻北仪网络模块NetXBYData、惯导网络模块NetNaviData,以上五个模块首先要初始化UDP的双向通信网络,然后设置网络接收和发送套接字,端口绑定,发送网络数据,接收网络流数据后根据通信协议实现网络数据解析;且通过KIEN1008BA-8P2T-T-02型串口服务器连接的外围设备工作之前,要预先给串口服务器加24V稳压电压,然后根据在网页上配置网络配置即设置串口服务器的IP地址,操作设置将默认的TCP/Clientm修改为UDP操作模式,设置COM1、COM2、COM3串口端;
步骤5:新建控制界面模块CtrlPanel,结合UI设计师文件共同实现控件及其响应功能,将诸多控件进行合理的摆放和布局,实现参数控制功能和状态显示功能;且在此控制界面模块上通过按钮控件可以响应二级控制界面模块,如文件上传界面模块ProgramSendCtrl、频综监控界面模块FsuSetting、外围设备监控界面模块DeviceCtrl;文件上传模块可选择将电子盘里的某文件通过网络上传给信号处理机并实时显示文件上传信息,通过定时器QTimer类进行管理,并将定时器管理加入多线程;频综监控界面模块可将频综显示、频标和射频模块故检、基准和中频模块故检、校准通道及备份故检、抽取率进行实时显示;外围设备监控界面模块,根据实际144个T/R组件的分布图在界面上同步显示对应位置的工作电压、电流、温度,显示并可控风机转速信息,且风速可以单个、分区、全区可控,显示惯导和寻北仪的信息;
步骤6:新建波形显示模块ARView,实现接收数据的实时图形化显示,先通过读取配置参数XML表对曲线颜色进行可编辑控制,且可以在软件内部通过颜色选择框选择曲线颜色并存入XML表中,然后从SPU网络模块NetSPUData接收传来的I、Q两路时域点数据,一帧数据接收满屏点数据显示,且最多3000点。模块内部的具体功能有:刻度显示、曲线显示、显示边角文字信息、微表显示、坐标转换与反转换、拖拽矩形后局部放大显示、恢复正常显示、鼠标点击、移动事件处理、清屏处理;
步骤7:新建文件记录模块FileRecord和文件回放模块FileReplay,文件记录模块FileRecord是将接收到的网络数据存到电子盘中,文件格式可以是二进制也可以是文本文件;文件回放模块FileReplay是选择电子盘里需要回放的文件,通过暂停定时器后跳到对应位置处,再开启定时器读取,实现人工拖到回放进度条的任意位置处读取文件,且回放速度是通过设置不同的定时器间隔实现可控,最终将文件记录类和文件回放类加入多线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011144120.0A CN112162733B (zh) | 2020-10-23 | 2020-10-23 | 基于Qt的相控阵雷达模块化监控软件的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011144120.0A CN112162733B (zh) | 2020-10-23 | 2020-10-23 | 基于Qt的相控阵雷达模块化监控软件的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112162733A true CN112162733A (zh) | 2021-01-01 |
CN112162733B CN112162733B (zh) | 2022-11-22 |
Family
ID=73866100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011144120.0A Active CN112162733B (zh) | 2020-10-23 | 2020-10-23 | 基于Qt的相控阵雷达模块化监控软件的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112162733B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485700A (zh) * | 2021-07-07 | 2021-10-08 | 华中科技大学鄂州工业技术研究院 | 基于Qt的光机电模块化控制软件的设计方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997539A (zh) * | 2014-06-06 | 2014-08-20 | 北京航空航天大学 | 基于web服务的雷达运行状态采集分发系统及其方法 |
CN106569801A (zh) * | 2016-10-18 | 2017-04-19 | 中国运载火箭技术研究院 | 一种基于复杂参数的组态化显控系统 |
CN210072060U (zh) * | 2019-04-12 | 2020-02-14 | 无锡市引宵科技有限公司 | 一种用于雷达处理机测试的便携式综合测试系统 |
CN111596912A (zh) * | 2020-05-22 | 2020-08-28 | 北京无线电测量研究所 | 基于组件库的雷达显控软件无编程可视化构建系统及方法 |
-
2020
- 2020-10-23 CN CN202011144120.0A patent/CN112162733B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997539A (zh) * | 2014-06-06 | 2014-08-20 | 北京航空航天大学 | 基于web服务的雷达运行状态采集分发系统及其方法 |
CN106569801A (zh) * | 2016-10-18 | 2017-04-19 | 中国运载火箭技术研究院 | 一种基于复杂参数的组态化显控系统 |
CN210072060U (zh) * | 2019-04-12 | 2020-02-14 | 无锡市引宵科技有限公司 | 一种用于雷达处理机测试的便携式综合测试系统 |
CN111596912A (zh) * | 2020-05-22 | 2020-08-28 | 北京无线电测量研究所 | 基于组件库的雷达显控软件无编程可视化构建系统及方法 |
Non-Patent Citations (3)
Title |
---|
CAREL J. COMBRINK等: ""Reconfigurable, XML-driven, OO framework for real-time control and monitoring of embedded Radar Signal Processor"", 《2011 SAUDI INTERNATIONAL ELECTRONICS, COMMUNICATIONS AND PHOTONICS CONFERENCE (SIECPC)》 * |
赵士瑄: ""舰载相控阵雷达信号处理的建模与仿真"", 《现代导航》 * |
雷张华等: ""机载相控阵雷达系统功能级建模与仿真"", 《火控雷达技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485700A (zh) * | 2021-07-07 | 2021-10-08 | 华中科技大学鄂州工业技术研究院 | 基于Qt的光机电模块化控制软件的设计方法及设备 |
CN113485700B (zh) * | 2021-07-07 | 2022-06-28 | 华中科技大学鄂州工业技术研究院 | 基于Qt的光机电模块化控制软件的设计方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112162733B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2419847C2 (ru) | Интегрирование диаграмм в документы | |
CN112162733B (zh) | 基于Qt的相控阵雷达模块化监控软件的设计方法 | |
CN106846431A (zh) | 一种支持多表现形式的统一Web图形绘制系统 | |
KR20180066356A (ko) | BPM 기반의 IoT DIY 시스템 및 이의 구현방법 | |
CN112148611A (zh) | 一种基于云架构的自动化测试中间接口方法与平台 | |
Heath et al. | UTML Design Project | |
Zhu | ROS based LiDAR autonomous navigation robot design and application | |
KR20140115456A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 기록매체 | |
KR20140114968A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체 | |
KR20140115006A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20140114983A (ko) | 애플리케이션 개발 환경 제공 방법 | |
CN102467371A (zh) | 一种测量资源控制方法和测量资源控制系统 | |
Barnwell et al. | Petri Net Analyser–Group 4 | |
Taylor | Soft instrumentation: a review | |
KR20140114966A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 | |
KR20140115457A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 | |
KR20140114967A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 | |
KR20140115002A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20140115478A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140114971A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체 | |
KR20140115469A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140115007A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140114991A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140114995A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140114972A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |