国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

QT平臺(tái)下的多進(jìn)程三頻段雷達(dá)終端軟件設(shè)計(jì)

2021-05-12 08:11:40四創(chuàng)電子股份有限公司姜艷艷
電子世界 2021年7期
關(guān)鍵詞:網(wǎng)卡線程進(jìn)程

四創(chuàng)電子股份有限公司 姜艷艷 范 暉

隨著雷達(dá)技術(shù)的發(fā)展,為適應(yīng)相同天氣下,不同頻段雷達(dá)數(shù)據(jù)的比對(duì),多頻段雷達(dá)有了越來(lái)越多的應(yīng)用?;谀壳坝?jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的發(fā)展,實(shí)時(shí)處理顯示多頻段雷達(dá)數(shù)據(jù),并可靠的運(yùn)行,是多頻段雷達(dá)數(shù)據(jù)處理終端的需求。本文講述基于QT平臺(tái),運(yùn)用QT GDI、進(jìn)程、數(shù)據(jù)庫(kù)等技術(shù),實(shí)時(shí)顯示三頻段雷達(dá)的回波數(shù)據(jù),控制雷達(dá)運(yùn)行狀態(tài),基于QT的顯控終端軟件設(shè)計(jì)也使整個(gè)系統(tǒng)的兼容性和可擴(kuò)充性得以極大提升,為跨平臺(tái)操作提供便利。

雷達(dá)顯示終端系統(tǒng)是雷達(dá)系統(tǒng)的重要組成部分,是人機(jī)界面交互的工具,主要負(fù)責(zé)對(duì)雷達(dá)各分系統(tǒng)的控制、雷達(dá)故障報(bào)警、雷達(dá)狀態(tài)監(jiān)視、雷達(dá)數(shù)據(jù)采集、數(shù)據(jù)處理顯示及數(shù)據(jù)保存等功能。本文基于XKaW三頻段雷達(dá)系統(tǒng),利用QT平臺(tái)開發(fā)適應(yīng)多波段數(shù)據(jù)顯示的終端軟件。終端軟件界面簡(jiǎn)潔,人機(jī)交互性強(qiáng),且具有自動(dòng)加載模式等功能。

1 終端軟件的系統(tǒng)設(shè)計(jì)

1.1 系統(tǒng)的軟硬件平臺(tái)

軟件運(yùn)行于Win10操作系統(tǒng),基于Qt5.7平臺(tái),選用戴爾T7920工作站,型號(hào)5222,8核CPU,3.8G主頻,64G內(nèi)存,該電腦可滿足同時(shí)接收3頻段數(shù)據(jù)的帶寬。

雷達(dá)終端軟件運(yùn)行于戴爾T7920工作站,工作站置于雷達(dá)旁邊的移動(dòng)方艙內(nèi)。其他分系統(tǒng)通過(guò)RJ45接入交換機(jī),交換機(jī)接入工作站。工作站有多個(gè)網(wǎng)卡,一個(gè)網(wǎng)卡負(fù)責(zé)實(shí)現(xiàn)信號(hào)處理回波數(shù)據(jù)及狀態(tài)數(shù)據(jù)的接收,及信號(hào)處理的控制;另一個(gè)網(wǎng)卡接收伺服角碼及狀態(tài)回饋,還有一塊網(wǎng)卡負(fù)責(zé)與監(jiān)控的通信,實(shí)現(xiàn)發(fā)送雷達(dá)控制指令及其他分系統(tǒng)的回饋數(shù)據(jù)。

1.2 終端軟件設(shè)計(jì)

終端軟件采用基于千兆網(wǎng)絡(luò)的雷達(dá)系統(tǒng)架構(gòu),以此實(shí)現(xiàn)各分系統(tǒng)間的高速數(shù)據(jù)交換及配置加載等功能。終端軟件設(shè)計(jì)的原則是界面友好,人機(jī)交互性強(qiáng),符合軟件開發(fā)的標(biāo)準(zhǔn)化原則。QT是類MFC的面向?qū)ο蟮腃++開發(fā)包,具有信號(hào)與槽的事件驅(qū)動(dòng)機(jī)制,提供了豐富的類庫(kù)以及靈活易用的Qt Designer工具開發(fā)界面。Qt Designer是QT GUI編程語(yǔ)言一系列工具中的一個(gè),該工具提供QT基本的可繪制窗口的部件。能夠快速高效的實(shí)現(xiàn)GUI界面的整體設(shè)計(jì),界面直觀形象。Qt Designer為雷達(dá)終端的界面設(shè)計(jì)提供了便捷的方式和靈活的接口。終端軟件使用Qt Designer設(shè)計(jì)終端軟件主界面的部件和窗口,在人機(jī)交互中采用信號(hào)與槽的機(jī)制,使得對(duì)雷達(dá)的控制變得非常簡(jiǎn)單,響應(yīng)時(shí)間快。

圖1 終端軟件接口圖

軟件采用多進(jìn)程的設(shè)計(jì),主要包括三個(gè)雷達(dá)數(shù)據(jù)采集進(jìn)程、監(jiān)控終端進(jìn)程、磁盤清理進(jìn)程。因多頻段雷達(dá)數(shù)據(jù)量大,采用多進(jìn)程可實(shí)現(xiàn)軟件的可靠性,優(yōu)化控制內(nèi)存的分配。采用QProcess調(diào)用start函數(shù)來(lái)啟動(dòng)一個(gè)進(jìn)程。雷達(dá)數(shù)據(jù)采集進(jìn)程和監(jiān)控終端進(jìn)程間采用TCP/IP協(xié)議,定義接收和發(fā)送端口進(jìn)行通訊??缙脚_(tái)的Qt Network模塊提供了眾多的類來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)編程。它提供了高層的類(比如QNetworkAccessManager等)來(lái)使用指定的應(yīng)用程序及協(xié)議,也提供了較底層的類(例如QTcoSocket、QTcpServer和QSslSocket)來(lái)實(shí)現(xiàn)相關(guān)的協(xié)議。監(jiān)控終端進(jìn)程采用定時(shí)器啟動(dòng)磁盤清理進(jìn)程,兩個(gè)進(jìn)程間不進(jìn)行通訊。

工作流程:終端軟件上電即自動(dòng)進(jìn)行初始化,主要完成主窗口應(yīng)用程序框架的創(chuàng)建、地圖數(shù)據(jù)讀取、控制面板創(chuàng)建、回波顯示窗口創(chuàng)建、繪圖各位面和調(diào)色板的初始化、網(wǎng)絡(luò)初始化、各波段雷達(dá)各分系統(tǒng)參數(shù)配置、程序內(nèi)存分配、創(chuàng)建回波數(shù)據(jù)口讀線程、創(chuàng)建狀態(tài)回饋口讀線程、創(chuàng)建控制命令口寫線程、創(chuàng)建數(shù)據(jù)保存線程、創(chuàng)建日志數(shù)據(jù)庫(kù)、發(fā)送控制指令使信號(hào)處理分系統(tǒng)、接收分系統(tǒng)和伺服分系統(tǒng)進(jìn)入初始化狀態(tài),同時(shí),獲取當(dāng)前顯示器最大分辨率和長(zhǎng)寬比以便動(dòng)態(tài)調(diào)整應(yīng)用程序界面各控件的位置和大小以實(shí)現(xiàn)顯示器自適應(yīng)的界面設(shè)計(jì)。初始化結(jié)束后程序進(jìn)入就緒態(tài),此時(shí)程序已經(jīng)可以通過(guò)回波數(shù)據(jù)口讀線程實(shí)時(shí)獲取雷達(dá)回波數(shù)據(jù),通過(guò)狀態(tài)回饋口讀線程獲取雷達(dá)工作狀態(tài)和監(jiān)測(cè)參數(shù),程序進(jìn)入控制態(tài)首先確定雷達(dá)各頻段工作模式,確認(rèn)工作模式后即可對(duì)發(fā)射分機(jī)、接收分機(jī)、信號(hào)處理分機(jī)和伺服分機(jī)通過(guò)控制命令口寫線程發(fā)送參數(shù)設(shè)置控制指令。最后根據(jù)用戶需求進(jìn)入掃描、標(biāo)定、數(shù)據(jù)保存或組合掃描等工作狀態(tài)。

1.2.1 數(shù)據(jù)采集進(jìn)程

系統(tǒng)包含三個(gè)數(shù)據(jù)采集進(jìn)程,三個(gè)數(shù)據(jù)采集進(jìn)程軟件分別與三個(gè)信號(hào)處理板通信,接收三個(gè)波段雷達(dá)回波數(shù)據(jù),包含基數(shù)據(jù)及功率譜數(shù)據(jù),通過(guò)虛擬磁盤存儲(chǔ),發(fā)送到主程序監(jiān)控終端進(jìn)程,一定時(shí)間后清除虛擬磁盤中的數(shù)據(jù)。數(shù)據(jù)采集進(jìn)程在監(jiān)控終端進(jìn)程啟動(dòng)時(shí)自動(dòng)調(diào)用,在主進(jìn)程退出時(shí),自動(dòng)退出。數(shù)據(jù)采集進(jìn)程會(huì)提示對(duì)信號(hào)處理的設(shè)置,如不成功會(huì)出現(xiàn)提示信息,因基數(shù)據(jù)及功率譜數(shù)據(jù)較大,數(shù)據(jù)采集進(jìn)程需做好內(nèi)存分配,及時(shí)釋放內(nèi)存。采集三個(gè)波段的數(shù)據(jù),保證數(shù)據(jù)通訊的及時(shí)性,可靠性,是終端軟件設(shè)計(jì)開發(fā)時(shí)面臨的難點(diǎn),在使用高性能計(jì)算機(jī)、千兆網(wǎng)卡、巨型幀等技術(shù)后,及時(shí)解決此問題。

1.2.2 監(jiān)控終端進(jìn)程

監(jiān)控終端進(jìn)程軟件采用多線程技術(shù),以確保軟件可實(shí)時(shí)執(zhí)行不同的任務(wù),優(yōu)化軟件結(jié)構(gòu)。主線程主要負(fù)責(zé)軟件系統(tǒng)的同步控制及啟動(dòng)從線程,從線程又包括數(shù)據(jù)采集線程、數(shù)據(jù)保存線程、網(wǎng)絡(luò)控制線程、數(shù)據(jù)顯示線程等,負(fù)責(zé)數(shù)據(jù)處理、雷達(dá)狀態(tài)參數(shù)回饋、發(fā)送雷達(dá)控制指令、回波數(shù)據(jù)的實(shí)時(shí)讀取、顯示和存儲(chǔ)等。多線程的應(yīng)用提高了軟件的并行性及高效、快速、安全的數(shù)據(jù)處理能力。

監(jiān)控終端進(jìn)程軟件采用Socket網(wǎng)絡(luò)通信,通過(guò)發(fā)送網(wǎng)絡(luò)指令可實(shí)現(xiàn)對(duì)雷達(dá)的操控,網(wǎng)絡(luò)指令采用UDP組播協(xié)議,UDP是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議,具有資源消耗小、處理速度快的優(yōu)點(diǎn),無(wú)需事先進(jìn)行握手操作,且允許和多臺(tái)計(jì)算機(jī)進(jìn)行通信,對(duì)不同分系統(tǒng)采用不同IP、不同端口發(fā)送數(shù)據(jù),指令按照協(xié)議經(jīng)打包發(fā)送到相應(yīng)的分系統(tǒng)。終端可通過(guò)網(wǎng)絡(luò)接收并解析各分系統(tǒng)的回饋及故障信息,并可實(shí)時(shí)顯示狀態(tài)及故障報(bào)警。

監(jiān)控終端實(shí)時(shí)顯示畫面的穩(wěn)定性和連續(xù)性是天氣雷達(dá)實(shí)時(shí)掃描的基本要求。由于雷達(dá)數(shù)據(jù)量大,數(shù)據(jù)顯示及存儲(chǔ)的處理速度要求較高。戴爾T7920工作站具有領(lǐng)先圖形卡提供商推出的最新圖形卡技術(shù),對(duì)圖形的處理能力較強(qiáng),顯示速度及效果較好,能完成工作所需的功能。

系統(tǒng)采用34in顯示器,分屏顯示不同波段的數(shù)據(jù);監(jiān)控終端進(jìn)程軟件回波顯示采用GDI繪圖技術(shù),運(yùn)用雙緩沖機(jī)制保證圖像數(shù)據(jù)的繪制和畫面刷新交替有效進(jìn)行,避免畫面閃爍,保證畫面的正常顯示。可顯示實(shí)時(shí)和非實(shí)時(shí)圖像,每個(gè)圖像顯示區(qū)可選擇單屏或四屏顯示,并可任意選擇顯示要素。

掃描一定時(shí)間后,按照每種掃描模式的數(shù)據(jù)保存周期,經(jīng)過(guò)一定質(zhì)量控制的數(shù)據(jù),可進(jìn)行手動(dòng)及自動(dòng)數(shù)據(jù)保存,啟動(dòng)數(shù)據(jù)保存線程,保存三個(gè)波段的數(shù)據(jù),并可進(jìn)行磁盤檢測(cè),若磁盤不足則啟動(dòng)報(bào)警。數(shù)據(jù)保存文件名按照掃描方式及當(dāng)前日期時(shí)間來(lái)命名,數(shù)據(jù)按照雷達(dá)常用的站點(diǎn)、觀測(cè)參數(shù)、性能參數(shù)、數(shù)據(jù)塊等進(jìn)行保存,保證雷達(dá)數(shù)據(jù)與站點(diǎn)、參數(shù)等的相關(guān)性。

雷達(dá)基數(shù)據(jù)擬采用通用數(shù)據(jù)格式NetCDF。NetCDF是由美國(guó)大學(xué)大氣研究協(xié)會(huì)UCAR下Unidata項(xiàng)目科學(xué)家針對(duì)科學(xué)數(shù)據(jù)的特點(diǎn),提出的一種面向數(shù)組型數(shù)據(jù),適于網(wǎng)絡(luò)共享的數(shù)據(jù)描述和編碼標(biāo)準(zhǔn)。NetCDF軟件獨(dú)立于機(jī)器并用于保存科學(xué)數(shù)據(jù),同時(shí)也是一個(gè)數(shù)據(jù)類庫(kù)接口,該數(shù)據(jù)類庫(kù)包含了訪問數(shù)組格式的功能。這種格式的接口、類庫(kù)都支持產(chǎn)生、訪問和共享科學(xué)數(shù)據(jù)。

日志管理功能采用SQLite數(shù)據(jù)庫(kù)技術(shù),SQLite數(shù)據(jù)庫(kù)開發(fā)桌面數(shù)據(jù)庫(kù)非常簡(jiǎn)單、高效,體積小,用于小型系統(tǒng),以每天一個(gè)數(shù)據(jù)庫(kù)文件方式保存,記錄每天的操作及故障日志,并可查詢及導(dǎo)出記錄。并支持記錄日記,操作者可記錄當(dāng)天重要工作,以便后續(xù)查看。

雷達(dá)系統(tǒng)機(jī)內(nèi)溫度是影響雷達(dá)各系統(tǒng)器件能否正常工作的重要因素,終端系統(tǒng)每分鐘記錄恒溫器件的溫度,保存在文件中,為后續(xù)分析雷達(dá)數(shù)據(jù)提供溫度數(shù)據(jù)。

1.2.3 磁盤清理進(jìn)程

每隔一段時(shí)間,主進(jìn)程會(huì)啟動(dòng)磁盤清理進(jìn)程,對(duì)已經(jīng)讀取的數(shù)據(jù)進(jìn)行清除,釋放磁盤空間,為保證系統(tǒng)的穩(wěn)定性,磁盤清理進(jìn)程對(duì)數(shù)據(jù)進(jìn)行監(jiān)測(cè),使磁盤中保留部分最新數(shù)據(jù),以免因磁盤無(wú)數(shù)據(jù)造成主進(jìn)程退出。

2 結(jié)論

綜上所述,通過(guò)使用QT多進(jìn)程、多線程、GDI、數(shù)據(jù)庫(kù)等技術(shù),實(shí)現(xiàn)的三波段雷達(dá)終端軟件運(yùn)行可靠、人機(jī)交互性強(qiáng),能夠滿足具體的任務(wù)需求,且具有跨平臺(tái)優(yōu)勢(shì),已應(yīng)用于多個(gè)試驗(yàn)點(diǎn),為冬奧會(huì)等提供天氣保障。

猜你喜歡
網(wǎng)卡線程進(jìn)程
在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
Server 2016網(wǎng)卡組合模式
淺談linux多線程協(xié)作
挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
社會(huì)進(jìn)程中的新聞學(xué)探尋
我國(guó)高等教育改革進(jìn)程與反思
Linux僵死進(jìn)程的產(chǎn)生與避免
Linux線程實(shí)現(xiàn)技術(shù)研究
么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
河西区| 密山市| 铁力市| 湟源县| 江口县| 凌源市| 芜湖市| 兰西县| 博客| 韩城市| 陆川县| 盐池县| 德庆县| 桃园市| 汉川市| 平武县| 澄江县| 巴彦县| 许昌市| 河池市| 昭平县| 新乡县| 万年县| 南岸区| 吉木乃县| 菏泽市| 琼海市| 周宁县| 张家口市| 丹东市| 阿巴嘎旗| 荔波县| 杭锦后旗| 高台县| 汶川县| 永春县| 安康市| 光泽县| 仙居县| 吉安市| 鱼台县|