亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Qt的衛(wèi)星通信上位機軟件架構設計

        2018-08-24 11:15:14李敬李昕岳
        現(xiàn)代計算機 2018年21期
        關鍵詞:機軟件線程視圖

        李敬,李昕岳

        (廣州海格通信集團股份有限公司,廣州 510663)

        0 引言

        Qt是桌面、嵌入式和移動的跨平臺應用開發(fā)框架,支持的平臺包括 Linux、Windows、VxWorks、Android等。Qt本身不是一種編程語言,它是一個用C++編程的框架。但它不僅僅只是一個GUI工具包,它提供了在網絡、數(shù)據庫、OpenGL、Web技術、傳感器、通信協(xié)議、XML和JSON處理、打印、PDF生成等領域的跨平臺開發(fā)模塊[1-2]。Qt5采用新的模塊化代碼庫,使得移植更加簡單,只需移植所需模塊即可。

        上位機和下位機的操作方式為:上位機是指可以直接發(fā)出操控指令的計算機或軟件,下位機是直接控制設備獲取設備狀況的計算機或軟件。根據上位機界面上的觸生成相應命令,此命令傳輸給下位機后,下位機再把命令翻譯成相應時序信號來控制相應設備或機器。下位機不定時地獲取設備狀態(tài)數(shù)據,把數(shù)據轉成數(shù)字信號,反饋給相應的上位機。本文討論的上位機軟件運行在PC上,主要功能是實現(xiàn)在PC機上控制衛(wèi)星通信板卡,對板卡進行配置、狀態(tài)查詢、數(shù)據誤碼等測試。

        1 上位機軟件模型MVC架構

        典型的MVC架構,如圖1所示:

        圖1 MVC組件類型的關系和功能

        MVC 的縮寫為模型(Model)、視圖(View)和控制器(Controller),分別指內部數(shù)據、數(shù)據表示和輸入輸出控制部分。

        (1)模型(Model)

        Model是整個MVC架構的核心,它是與問題相關數(shù)據的邏輯抽象,代表對象的內在屬性。

        Model的作用有:①抽象應用程序,把程序數(shù)據的結構和操作進行封裝;②對Controller提供對程序功能的訪問;③接受View對數(shù)據的查詢請求;④當數(shù)據變化時,通知對此感興趣的View。

        (2)視圖(View)

        View是Model的外在表現(xiàn),一個Model可以與一個或多個View對應。View是應用系統(tǒng)跟外界的接口,具有與外界進行交互的功能。

        View的作用有:①對數(shù)據的表現(xiàn)部分進行抽象;②將數(shù)據展現(xiàn)給用戶,獲得用戶輸入;③將用戶輸入轉發(fā)給Controller;④當接收到來自Model的“數(shù)據已更新”通知后,更新顯示信息。

        (3)控制器(Controller)

        Controller是連接Model和View的紐帶。

        Controller的作用有:①把用戶的交互和應用程序語義的映射抽象出來;②將用戶輸入命令翻譯為應用程序可識別的動作,并轉發(fā)給Model;③根據用戶的輸入命令和Model對程序動作的輸出,選擇適當?shù)腣iew來呈現(xiàn)數(shù)據。

        MVC是模型用一種業(yè)務邏輯、數(shù)據、界面顯示分離的方法組織代碼,將業(yè)務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務邏輯[3-4]。

        Qt上位機的MVC將View與Controller結合在一起,添加了代理Delegate,組成了模型Model(表示數(shù)據)、視圖View(表示用戶界面)、代理Delegate(自定義數(shù)據條目item的顯示與編輯方式)的模式。

        圖2中Model與數(shù)據(Data)通信,并提供接口,View從Model中獲取Data條目索引,Delegate繪制Data條目。整個模型的通信方式為:信號&槽。此模型的工作方式為:Data改變時,Model發(fā)出信號給View;用戶對界面進行操作時,View發(fā)出信號;Delegate發(fā)出信號告知Model和View編輯器目前的狀態(tài)。

        2 上位機軟件系統(tǒng)架構設計

        上位機系統(tǒng)需要滿足高吞吐量的數(shù)據處理,同時需要適應多個通信體制,將上位機軟件的收發(fā)數(shù)據、業(yè)務處理、視圖分別單獨剝離開來,統(tǒng)一模型、視圖和控制器之間的交互接口,屏蔽不同通信體制內部處理的差異[5]。上位機軟件系統(tǒng)架構設計如圖3所示:

        圖2 Qt上位機模型與視圖結構圖

        圖3 上位機軟件架構

        不同體制均采用所示軟件架構,線程1負責讀取接口數(shù)據并將數(shù)據傳遞到“讀緩存”,線程2負責從“讀緩存”讀取數(shù)據,并分發(fā)到各個“數(shù)據接收處理模塊”,“數(shù)據接收處理模”塊對相應消息進行響應,并更新“數(shù)據庫”相應的狀態(tài)。線程3中的“控制器”負責“視圖”選擇,將用戶動作映射成業(yè)務“數(shù)據處理模塊”狀態(tài),并進行更新;“視圖”用于人機交互。線程4負責“數(shù)據發(fā)送處理”,由“控制器”傳遞過來的指令觸發(fā)相應數(shù)據發(fā)送功能,需要發(fā)送的數(shù)據傳遞到“數(shù)據發(fā)送緩存”,并通過“數(shù)據庫管理”更新“數(shù)據庫”相應的狀態(tài)。線程5負責從“數(shù)據發(fā)送緩存”讀取數(shù)據并發(fā)送到接口。

        2.1 上位機軟件通信體制加載

        對于不同通信體制,線程1和線程5對應的功能和數(shù)據結構不存在差異,可單獨開發(fā)成一個獨立的模塊,適用于所有體制[6]。

        該上位機為了兼容不同通信體制,線程2、線程3、線程4以及數(shù)據庫針對不同體制需要進行差異化開發(fā)。針對不同體制,將線程2、線程3、線程4以及數(shù)據庫進行單獨開發(fā),封裝成DLL,在不同體制下進行加載。即在實現(xiàn)過程中整合各項目的上位機構架,把公共功能做成公共界面,特有功能做成風格統(tǒng)一的動態(tài)庫加載的形式。這樣不僅能夠大大減少開發(fā)人員的工作量,提高工作效率,還能有效地增強程序的可維護性和可移植性,實現(xiàn)多項目資源共享,代碼繼承。同時統(tǒng)一界面風格,進一步提升用戶體驗。

        2.2 上位機軟件模塊接口數(shù)據格式定義

        為了保持各個模塊的獨立性,減少程序之間的耦合,提高程序的可移植性,降低開發(fā)難度,需規(guī)定各個核心功能模塊之間數(shù)據交互格式[7]。定義了兩種數(shù)據格式,如下所示:

        接口交互數(shù)據格式1:

        2.3 上位機軟件收數(shù)據處理模塊設計

        上位機軟件收數(shù)據處理模塊設計如圖4所示:

        上位機軟件接收數(shù)據按照功能劃分7類,包括物理層接口處收發(fā)數(shù)據監(jiān)控、接口性能測試、物理層功能模塊監(jiān)測、網絡協(xié)議層功能模塊監(jiān)測、接入設備網絡狀態(tài)監(jiān)控、接入設備參數(shù)監(jiān)控和接收業(yè)務數(shù)據管理。不同體制均采用同樣的功能模塊劃分,模塊對外接口命名、參數(shù)類型均統(tǒng)一,屏蔽不同體制造成的內部處理的差異。

        圖4 上位機軟件收數(shù)據處理模塊

        2.4 上位機軟件發(fā)數(shù)據處理模塊設計

        上位機軟件發(fā)送數(shù)據處理模塊設計如圖5所示:

        圖5 上位機軟件發(fā)數(shù)據處理模塊

        上位機軟件發(fā)數(shù)據處理模塊按照功能分為5類,包括誤碼測試數(shù)據發(fā)送、單個參數(shù)配置/查詢、接入設備信道資源配置、單個測試信令發(fā)送、業(yè)務數(shù)據發(fā)送。不同體制均采用同樣的功能模塊劃分,模塊對外接口命名、參數(shù)類型均統(tǒng)一,屏蔽不同體制造成的內部處理的差異。

        2.5 上位機數(shù)據庫設計

        上位機數(shù)據庫包括宏定義、數(shù)據結構定義、接入設備參量定義和管理等。數(shù)據庫分為公共部分和針對不同體制的個性化定義部分。數(shù)據庫通過統(tǒng)一的接口供所有開發(fā)人員調度,屏蔽對數(shù)據庫參量的直接操作?!皵?shù)據管理”主要管理接入設備參量和狀態(tài),對外提供對相應的更新和讀取的接口。

        3 結語

        目前很多軟件項目的功能測試都是通過上位機來配合,上位機作為應用中感知節(jié)點信息,進行顯示和控制的應用控制臺,在項目研發(fā)、調試、測試等階段起著至關重要的作用。所以上位機操作界面的設計、開發(fā)、完善的過程都需要進行充分的驗證,尤其誤碼、誤幀統(tǒng)計等性能測試時,要求上位機給出實時、準確的顯示結果,更需要上位機具備一套合理的架構,能夠實現(xiàn)后續(xù)功能擴展的要求。

        猜你喜歡
        機軟件線程視圖
        5.3 視圖與投影
        視圖
        Y—20重型運輸機多視圖
        SA2型76毫米車載高炮多視圖
        淺談linux多線程協(xié)作
        道岔監(jiān)測系統(tǒng)上位機軟件設計
        基于正交試驗法的北斗用戶機軟件測試用例設計
        PCI-e高速數(shù)據采集卡的驅動與上位機軟件設計
        電子器件(2015年5期)2015-12-29 08:43:12
        圖形化儀表控制系統(tǒng)上位機軟件的設計與開發(fā)
        Linux線程實現(xiàn)技術研究
        欧美一片二片午夜福利在线快 | 一区二区三区日本高清| 国产精品无码无卡无需播放器| 亚洲欧洲日本综合aⅴ在线| 午夜a福利| 日本高清人妻一区二区| 亚洲av天堂在线视频| 人人妻人人澡人人爽精品欧美 | 亚洲午夜无码久久久久软件| 国产一区二区视频免费| 99久热在线精品视频观看| 日韩精品无码一区二区三区视频 | 少妇极品熟妇人妻无码| 一区二区丝袜美腿视频| 久久夜色国产精品噜噜亚洲av| 欧美video性欧美熟妇| 免费观看国产精品| 久久精品国产精品亚洲婷婷| 精品国产成人av久久| 97久久人人超碰超碰窝窝| 中文字幕在线观看国产双飞高清| 一区二区在线观看日本免费| 色窝窝亚洲av网在线观看| 五月天激情婷婷婷久久| 亚洲第一免费播放区| 国产丝袜美腿在线播放| 男女高潮免费观看无遮挡 | 人妻熟妇乱系列| 狠狠久久av一区二区三区| 日日噜噜夜夜狠狠久久丁香五月 | 日本午夜免费福利视频| 激,情四虎欧美视频图片| 日本黑人乱偷人妻在线播放| 日夜啪啪一区二区三区| 国产一级黄色录像| 人妻人妇av一区二区三区四区| 日本大骚b视频在线| 亚洲伊人久久大香线蕉综合图片 | 欧美一欧美一区二三区性| 激情视频在线播放一区二区三区| 日韩av无码中文字幕|