999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabView圖形化編程語言的軟件架構(gòu)設(shè)計方法研究

2016-03-11 10:48:52蘇娟鄭國昆張帆李志超北京航天發(fā)射技術(shù)研究所北京100076
工程建設(shè)與設(shè)計 2016年18期
關(guān)鍵詞:功能模塊系統(tǒng)設(shè)計

蘇娟,鄭國昆,張帆,李志超(北京航天發(fā)射技術(shù)研究所,北京100076)

基于LabView圖形化編程語言的軟件架構(gòu)設(shè)計方法研究

蘇娟,鄭國昆,張帆,李志超
(北京航天發(fā)射技術(shù)研究所,北京100076)

分析了LabView圖形化編程語言的特點及運行機理,提煉出應(yīng)用LabView語言編寫地面發(fā)射支持系統(tǒng)監(jiān)控類軟件的總體架構(gòu)、功能模塊劃分及優(yōu)先級設(shè)定方法,并對各個功能模塊的可重用程序框圖進行說明,提供了一種基于LabView編程語言的地面發(fā)射支持系統(tǒng)監(jiān)控類軟件通用設(shè)計方法。

LabView;監(jiān)控類軟件;可重用

【DOI】10.13616/j.cnki.gcjsysj.2016.12.182

1 引言

目前,我國航天地面發(fā)射支持系統(tǒng)型號配套軟件、仿真測試軟件,并使用了LabView語言準(zhǔn)確地實現(xiàn)了用戶需求。近年來,在軟件的使用過程中,軟件出現(xiàn)了時序不同導(dǎo)致的多線程變量賦值錯誤、軟件界面觸發(fā)邏輯混亂導(dǎo)致用戶誤觸發(fā)等典型的質(zhì)量問題,分析主要原因為:軟件無統(tǒng)一設(shè)計架構(gòu),設(shè)計師精力集中在功能實現(xiàn)及代碼級,導(dǎo)致當(dāng)軟件使用場景及輸入負(fù)載變化時,軟件性能不達標(biāo),并影響正常功能的實現(xiàn)。

針對上述問題,論文提出一種基于LabView語言的通用設(shè)計架構(gòu),并提出了功能模塊劃分依據(jù)和優(yōu)先級設(shè)定方法,提煉出了常用功能模塊可重用設(shè)計思路,為監(jiān)控類軟件提供了一種可靠的設(shè)計方法。

2 軟件總體架構(gòu)設(shè)計

在進行程序框圖設(shè)計時,應(yīng)考慮將源代碼控制在一屏能顯示的范圍內(nèi)。主VI只處理前面板用戶事件,涉及數(shù)據(jù)處理和通信接口,均通過調(diào)用子VI實現(xiàn)。

基于LabView的軟件總體架構(gòu)一般采用標(biāo)準(zhǔn)狀態(tài)機設(shè)計架構(gòu),通過While循環(huán)+狀態(tài)判斷條件架構(gòu)實現(xiàn)軟件運行狀態(tài)的切換,基于狀態(tài)機的架構(gòu)設(shè)計,關(guān)鍵在于狀態(tài)的定義和狀態(tài)切換條件定義。

數(shù)據(jù)采集需要持續(xù)執(zhí)行的功能模塊,一般采用動態(tài)調(diào)用的方法,實現(xiàn)主VI和子VI并行運行。

3 軟件多線程架構(gòu)設(shè)計

3.1 多線程運行機理

LabView通過6個執(zhí)行系統(tǒng)實現(xiàn)了多線程調(diào)度系統(tǒng),并為每個執(zhí)行系統(tǒng)分配一個線程池和一個調(diào)度隊列,實現(xiàn)程序框圖中多個循環(huán)模塊并行執(zhí)行。一般情況下,可通過VI屬性—執(zhí)行—首選執(zhí)行系統(tǒng)來實現(xiàn)對執(zhí)行系統(tǒng)的選擇。一般為默認(rèn)選項:與調(diào)用方一致。調(diào)用方(主VI)的選項一般為默認(rèn)標(biāo)準(zhǔn)系統(tǒng),當(dāng)界面顯示要求高,頻繁使用屬性節(jié)點時,應(yīng)將與界面顯示相關(guān)的VI執(zhí)行系統(tǒng)設(shè)置為用戶界面,以避免頻繁的執(zhí)行系統(tǒng)和線程切換導(dǎo)致程序性能下降。

3.2 多線程架構(gòu)設(shè)計方法

設(shè)計多線程架構(gòu)時,應(yīng)當(dāng)遵循這樣的原則:一般一個功能模塊對應(yīng)一個線程,對于通信類多通道并行執(zhí)行的功能一般按照通道數(shù)建立多個線程并行運行。可以同時運行的功能模塊可并排擺放,不要用連線、順序框等方式強制它們依次執(zhí)行。在并行執(zhí)行時,LabView會自動把它們安排在不同的線程下同時運行,以提高程序的執(zhí)行速度,節(jié)省運行時間。為避免某一個線程占用CPU資源達100%,其他線程反應(yīng)遲鈍,導(dǎo)致用戶認(rèn)為程序死鎖的情況,應(yīng)在循環(huán)中加延時函數(shù)。延時的時間長短應(yīng)根據(jù)本循環(huán)實現(xiàn)功能的優(yōu)先級來確定,優(yōu)先級越高的線程延時時間越短。

4 軟件功能模塊設(shè)計

根據(jù)軟件功能不同,將系統(tǒng)劃分為“參數(shù)初始化”“數(shù)據(jù)接收”“數(shù)據(jù)解析”“數(shù)據(jù)發(fā)送”“UI界面顯示”“曲線圖像”“數(shù)值顯示”“系統(tǒng)心跳”“錯誤響應(yīng)”“數(shù)據(jù)存儲”10個功能模塊,每個功能模塊設(shè)計思路如下。

4.1 參數(shù)初始化

采用順序結(jié)構(gòu),程序首先完成參數(shù)初始化工作,初始化成功后順序結(jié)構(gòu)后移,開始運行主程序。程序在初始化模塊中可進行變量初始化、讀取硬盤參數(shù)配置文件等工作。

4.2 數(shù)據(jù)接收

軟件實際應(yīng)用中,必須保證分析處理的實時性,此處軟件設(shè)計無延時,While循環(huán)實現(xiàn)數(shù)據(jù)接收功能。同時為保證數(shù)據(jù)的完整性和實時性,接收完數(shù)據(jù)后將數(shù)據(jù)與時間信息打包為簇常量,并入數(shù)據(jù)接收隊列。若存在多個數(shù)據(jù)接收通道,為保證多個通道間數(shù)據(jù)互補干擾,采用多個獨立While循環(huán)實現(xiàn)多通道數(shù)據(jù)接收工作[1]。

4.3 數(shù)據(jù)解析

數(shù)據(jù)解析功能模塊用于將數(shù)據(jù)接收隊列內(nèi)的數(shù)據(jù)進行解析,并賦給相應(yīng)的系統(tǒng)變量。由于系統(tǒng)解析在要求一定的處理實時性的同時,還具有一定的處理復(fù)雜度,設(shè)計采用循環(huán)間隔為200ms的While循環(huán)結(jié)構(gòu)實現(xiàn)。將所有系統(tǒng)變量打包至一個簇常量,對數(shù)據(jù)進行解析,分別更新簇常量內(nèi)對應(yīng)系統(tǒng)的參數(shù)值,可以避免系統(tǒng)變量增多導(dǎo)致結(jié)構(gòu)復(fù)雜的現(xiàn)象,同時提高數(shù)據(jù)刷新速度。在完成數(shù)據(jù)解析功能的同時,設(shè)計數(shù)據(jù)存儲隊列,解析數(shù)據(jù)完成入列操作,為數(shù)據(jù)存儲模塊準(zhǔn)備。

4.4 數(shù)據(jù)發(fā)送

數(shù)據(jù)發(fā)送模塊用于將數(shù)據(jù)發(fā)送隊列中的數(shù)據(jù)出列并按照一定的格式發(fā)送出去,由于軟件發(fā)送數(shù)據(jù)一般為指令幀,為非周期觸發(fā),故采用隊列傳遞方式,當(dāng)隊列中無數(shù)據(jù)時,此線程處于阻塞模式,此時,線程一次循環(huán)的等待時間設(shè)置為250ms,在本時間段內(nèi),其他線程占用CPU資源執(zhí)行。

4.5 UI界面響應(yīng)

UI界面以While循環(huán)結(jié)合事件觸發(fā)的結(jié)構(gòu)實現(xiàn),用于響應(yīng)用戶在UI界面進行的操作,同時生成相應(yīng)的操作代碼,并將操作代碼入列數(shù)據(jù)發(fā)送隊列。

4.6 曲線圖像

曲線圖像模塊用于以曲線的方式顯示系統(tǒng)反饋參數(shù),由于多曲線多通道占用系統(tǒng)資源,此處設(shè)計使用時間間隔為100ms的定時While循環(huán)模塊。由于人眼錯覺,100ms的刷新速度可以滿足需求,又可以降低系統(tǒng)資源占用。

4.7 數(shù)值顯示

數(shù)值顯示模塊用于以數(shù)值的方式顯示系統(tǒng)反饋參數(shù),由于占用系統(tǒng)資源較少,此處設(shè)計使用時間間隔為100ms的定時While循環(huán)模塊。由于人眼錯覺,100ms的刷新速度滿足需求。

4.8 系統(tǒng)心跳

系統(tǒng)心跳用于檢測系統(tǒng)心跳信息,周期固定2s,用間隔周期2000ms的定時While循環(huán)實現(xiàn)。設(shè)計中采用心跳數(shù)組,每接收一次心跳信息,數(shù)組值加1,軟件周期判斷該數(shù)值是否增加,若增加則心跳指示燈亮,否則為滅。

4.9 錯誤響應(yīng)

錯誤響應(yīng)模塊用于響應(yīng)系統(tǒng)錯誤并執(zhí)行相應(yīng)處理操作。使用時間間隔為1000ms的While循環(huán)控件實現(xiàn),模塊獨立運行,采集系統(tǒng)錯誤,經(jīng)過系統(tǒng)信息處理函數(shù)處理,根據(jù)處理信息選擇相應(yīng)執(zhí)行操作。

4.10 數(shù)據(jù)存儲

數(shù)據(jù)存儲模塊用來實現(xiàn)系統(tǒng)接收發(fā)送數(shù)據(jù)的存儲功能。本模塊基于數(shù)據(jù)完成性要求高,而存儲實時性低且文件讀取寫入資源消耗高的特點,使用數(shù)據(jù)存儲隊列與While循環(huán)結(jié)合進行設(shè)計實現(xiàn)。本模塊使用循環(huán)間隔為10000ms的定時While循環(huán),讀取數(shù)據(jù)存儲隊列內(nèi)數(shù)據(jù),每次將隊列中的所有數(shù)據(jù)讀出,并以二維數(shù)組的形式批量寫入存儲文件,當(dāng)存儲隊列中無數(shù)據(jù)時,結(jié)束本次循環(huán),避免造成軟件響應(yīng)滯后。

存儲數(shù)據(jù)線程通過對存儲隊列的出列操作,按照時間、數(shù)據(jù)解除簇常量捆綁,分別經(jīng)過“時間存儲格式化輸出”“數(shù)據(jù)存儲格式化輸出”子VI,實現(xiàn)存儲格式格式化存儲。同時,模塊檢測當(dāng)前系統(tǒng)時間,按照小時為單位進行數(shù)據(jù)存儲,若存在新的小時,則創(chuàng)建新的存儲文件路徑,這樣可以避免長時間運行程序造成存儲文件異常,同時提高文件檢索效率。

5 應(yīng)用效果評估

在發(fā)射平臺環(huán)境監(jiān)測上位機軟件中應(yīng)用了上述設(shè)計方法。經(jīng)試驗表明,本架構(gòu)滿足系統(tǒng)使用功能、性能需求,軟件使用過程中未發(fā)生卡滯、死機等異常現(xiàn)象。在軟件參加總裝調(diào)試階段,對于總體及用戶提出的界面易用性更改,只涉及主VI變更,并未影響子VI及軟件架構(gòu)改變,大大降低了軟件維護成本。

【1】謝冰.基于LabView的數(shù)據(jù)采集與信號處理系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2011(14):13-15.

Research on the Software Architecture Design Methods Based on the LabView Graphical Programming Language

SU Juan,ZHENG Guo-kun,ZHANG Fan,LI Zhi-chao
(Beijing Space Launch Technology Institude,Beijing 100076,China)

This paper analyzes the characteristics and operation mechanism of the Labview,and refined the architecture、the function moduledivision and the priority setting of the monitoring software on the ground support system.And it described the reusable program block diagram ofeach functional module,provided ageneral designing method of monitoring software on the ground support system.

LabView;monitoring software;reusable

TP311.52

A

1007-9467(2016)12-0196-03

2016-11-07

蘇娟(1982~),女,河南鄭州人,工程師,從事控制系統(tǒng)軟件設(shè)計研究。

猜你喜歡
功能模塊系統(tǒng)設(shè)計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設(shè)計萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于ASP.NET標(biāo)準(zhǔn)的采購管理系統(tǒng)研究
輸電線路附著物測算系統(tǒng)測算功能模塊的研究
M市石油裝備公服平臺網(wǎng)站主要功能模塊設(shè)計與實現(xiàn)
石油知識(2016年2期)2016-02-28 16:20:16
主站蜘蛛池模板: 亚洲天堂精品在线观看| 亚洲av综合网| 亚洲无码视频喷水| 欧美三级不卡在线观看视频| a级毛片免费播放| 国产精选小视频在线观看| 老汉色老汉首页a亚洲| 亚洲区视频在线观看| 日韩a级毛片| 国产高潮流白浆视频| 国模视频一区二区| 精品91视频| 国产成人精品男人的天堂下载 | 亚洲一区二区三区中文字幕5566| 中文成人在线| 国产精品九九视频| 97在线免费| 四虎影院国产| 亚洲最大情网站在线观看| 一区二区三区四区精品视频| 天堂在线亚洲| 日韩午夜福利在线观看| 最新无码专区超级碰碰碰| 91蝌蚪视频在线观看| 亚洲精品无码日韩国产不卡| 日韩av高清无码一区二区三区| 亚洲区视频在线观看| 免费毛片网站在线观看| 精品无码一区二区三区在线视频| 日本黄色不卡视频| 露脸一二三区国语对白| 2020亚洲精品无码| 国产成人精品第一区二区| 一区二区影院| 日本高清有码人妻| 国产福利免费在线观看| 成人国产精品2021| 四虎国产精品永久在线网址| 亚洲国产欧美自拍| 免费高清a毛片| 直接黄91麻豆网站| 精品久久国产综合精麻豆| 欧美第一页在线| 四虎亚洲国产成人久久精品| 亚洲欧洲日韩久久狠狠爱| 国产在线视频自拍| 日本道综合一本久久久88| 亚洲国产91人成在线| 国产区在线观看视频| 一级毛片免费播放视频| …亚洲 欧洲 另类 春色| 久久综合色播五月男人的天堂| 在线观看的黄网| 日韩高清一区 | 亚洲人妖在线| 亚洲高清在线天堂精品| 伊人狠狠丁香婷婷综合色| 人妻精品久久无码区| 亚洲男女在线| 免费一级毛片完整版在线看| 欧美精品另类| 不卡午夜视频| 自拍偷拍欧美日韩| 中文国产成人精品久久| 国产午夜精品鲁丝片| 九色国产在线| 国产激情无码一区二区免费| 青青青草国产| 中文字幕免费播放| 人妻无码中文字幕第一区| 最新国产成人剧情在线播放| 亚洲人成网站18禁动漫无码| 天堂成人在线视频| 亚洲无线视频| 国产女人18毛片水真多1| 国产精品短篇二区| 国产人成午夜免费看| 一级全黄毛片| 国产精品无码一区二区桃花视频| 国产永久免费视频m3u8| 精品超清无码视频在线观看| 国产精品hd在线播放|