• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于Lua腳本的航天器遙控快速測試驗證技術(shù)

      2020-07-15 09:37:02宋宏江高何盧成志何曉宇白少華
      航天器工程 2020年3期
      關(guān)鍵詞:綜合測試字符串腳本

      宋宏江 高何 盧成志 何曉宇 白少華

      (北京空間飛行器總體設(shè)計部,北京 100094)

      航天器綜合測試是衛(wèi)星研制流程中的重要環(huán)節(jié),測試期間需要頻繁向航天器上注遙控指令,同時通過遙測反饋檢查航天器動作執(zhí)行的正確性。目前,各類航天器均設(shè)計了大量遙控指令(二進制碼格式),需要在航天器綜合測試現(xiàn)場進行指令編制和簽字復(fù)核,主要包括間接指令、星務(wù)指令、總線指令、數(shù)據(jù)注入指令以及由上述指令組合而成的任務(wù)級指令序列等,用于實現(xiàn)航天器的動作執(zhí)行及任務(wù)操控[1]。這些事先難于準(zhǔn)備和充分驗證,同時制作的指令數(shù)量過多,使用時難于檢索和實時上注,無法滿足航天器快速測試驗證需求。因此本文提出基于Lua腳本的航天器遙控快速測試驗證技術(shù),將遙控指令注冊為Lua函數(shù),航天器綜合測試過程中需要上注指令時,由綜合測試平臺中的指令控制臺發(fā)送遙控指令參數(shù),再通過綜合測試平臺集成并擴展的Lua解釋器將腳本語言轉(zhuǎn)換為能夠生成遙控指令的函數(shù)語言完成指令碼字的生成、校驗并進行實時上注。

      1 Lua腳本語言特點

      Lua[2-4]是一種嵌入式腳本語言,由標(biāo)準(zhǔn)C編寫而成,具備可擴展性好、簡單、高效的特點,在其類庫的支持下,Lua腳本語言可非常方便地與C語言結(jié)合,完成遙控指令生成的流程控制,基于Lua腳本的航天器遙控快速測試驗證方法,應(yīng)用了Lua的下列特點。

      (1)Lua腳本語言是基于關(guān)聯(lián)數(shù)組和可擴展語法結(jié)構(gòu)設(shè)計的語言,具有變量無類型、動態(tài)定義類型、面向?qū)ο蠼Y(jié)構(gòu)、編譯產(chǎn)生中間代碼和內(nèi)存自動回收等特點,所以常被作為一種腳本嵌入于其它主系統(tǒng)中。

      (2)Lua腳本模塊作為一個獨立的線程,與主程序和其他線程互不影響地同時工作。Lua腳本模塊位于主程序的進程內(nèi)部,可容易地訪問主程序內(nèi)部的變量和函數(shù)。

      (3)Lua腳本程序可很好地創(chuàng)建接口,定義數(shù)據(jù)結(jié)構(gòu),編碼和解碼每條指令。由于Lua本身是一種解釋性的語言,因此,不需要編譯過程,大大縮短了動態(tài)鏈接庫方式的程序語言的編寫、編譯、鏈接和運行的時間,允許用戶運行時編寫應(yīng)用程序,這樣,主程序變得更加靈活和實用,非常適合實時性要求高、運行環(huán)境多樣的場合。

      圖1 綜合測試平臺與Lua腳本的調(diào)用關(guān)系圖Fig.1 Relationship between integrated test platform and Lua script

      本文中綜合測試平臺與Lua腳本的調(diào)用關(guān)系[5]如圖1所示。航天器綜合測試平臺作為測試處理服務(wù)器,Lua作為嵌入式腳本,嵌入到宿主語言實現(xiàn)的綜合測試平臺遙控指令生成模塊中,為綜合測試平臺的遙控指令快速生成功能提供參數(shù)配置和邏輯描述;同時綜合測試平臺遙控指令生成模塊又作為Lua的底層擴展庫,支撐Lua腳本訪問航天器綜合測試系統(tǒng)中各種數(shù)據(jù)和計算資源。

      2 遙控指令快速生成方法設(shè)計

      遙控指令快速生成系統(tǒng)遵循平臺化思想,在航天器綜合測試系統(tǒng)基礎(chǔ)上深度融合Lua腳本,通過Lua用來描述各類指令的模型和生成算法,屏蔽各型號指令生成接口協(xié)議和數(shù)據(jù)格式的多樣性,實現(xiàn)了航天器綜合測試平臺和Lua腳本之間的交互通信,解決了航天器綜合測試遙控指令快速生成的難題。

      設(shè)計思路如下:

      (1)遙控指令快速生成系統(tǒng)創(chuàng)建一個獨立的進程用于完成航天器遙控指令的快速生成任務(wù),該進程啟動時加載動態(tài)指令生成模塊。

      (2)當(dāng)遙控指令快速生成系統(tǒng)收到用戶發(fā)送的遙控指令生成命令后,對命令進行解析,調(diào)用Lua語言提供的luaL_newstate接口函數(shù)創(chuàng)建Lua解釋器,然后調(diào)用lua_checkstack接口擴展Lua的堆棧容量,用來接收用戶的指令參數(shù),調(diào)用luaL_openlibs接口加載Lua通用擴展庫,最后調(diào)用lua_register接口向Lua解釋器注冊遙控指令快速生成的擴展函數(shù)。本系統(tǒng)中設(shè)計的Lua擴展有:①getparamhex是獲取實時參數(shù)的函數(shù),供Lua指令文件使用,該函數(shù)含有兩個參數(shù),第一個參數(shù)是DATE.A001形式,第二個參數(shù)是%08x形式;②savefile是將數(shù)據(jù)存儲至遙控指令快速生成系統(tǒng)型號目錄下,第一個參數(shù)為要存儲的數(shù)據(jù),第二個參數(shù)為要存儲的文件名;③isocompute是計算字符串的ISO校驗,參數(shù)為要計算的字符串,返回值為需要計算的字符串加上校驗碼;④crccompute是計算字符串的CRC校驗,參數(shù)為要計算的字符串,返回值為需要計算的字符串加上校驗碼;⑤paramreverse是將字符串按照字節(jié)反轉(zhuǎn)的函數(shù),供Lua指令文件調(diào)用。

      (3)按照Lua語法以及已經(jīng)在Lua解釋器中擴展的包含各種獲取航天器綜合測試系統(tǒng)資源的Lua命令將航天器自動化測試需要的動態(tài)指令的生成邏輯編寫到Lua腳本中,保存為klu.lua文件。

      (4)獲取用戶發(fā)送的指令生成命令的參數(shù),包括指令生成的規(guī)則名稱和參數(shù)數(shù)值,并傳遞給遙控指令快速生成系統(tǒng)的Lua解釋器,然后系統(tǒng)調(diào)用lua_pcall動態(tài)生成指令,期間如果指令需要獲取實時遙測數(shù)據(jù)作為其參數(shù),利用系統(tǒng)擴展的getparamhex函數(shù)訂閱遙測工程值,最后系統(tǒng)通過lua_tostring獲取腳本生成的指令字符串。

      (5)整個指令生成過程的差錯控制首先由系統(tǒng)調(diào)用luaL_loadfile接口將Lua腳本文件加載到遙控指令快速生成系統(tǒng)的Lua解釋器中,調(diào)用lua_pcall對Lua腳本文件進行語法和詞法檢查,返回航天器綜合測試系統(tǒng)靜態(tài)檢查信息;然后再是指令生成過程中系統(tǒng)對指令參數(shù)及生成邏輯進行合法性判斷和差錯控制;最后指令字符串生成后,遙控指令快速生成系統(tǒng)將字符串轉(zhuǎn)換成二進制數(shù)據(jù)返回給測試系統(tǒng)判斷并處理,當(dāng)返回結(jié)果為0時表示指令生成腳本邏輯有錯,不做上星處理,當(dāng)返回結(jié)果為非0數(shù)值時,則系統(tǒng)生成二進制碼流由前端設(shè)備上注至航天器,實現(xiàn)航天器遙控指令的快速生成及上注執(zhí)行。遙控指令生成過程如圖2所示。

      圖2 遙控指令快速生成過程Fig.2 Fast generation process of remote control command

      3 測試驗證

      本文以高分七號衛(wèi)星綜合測試平臺[6-8]為例介紹遙控指令快速生成驗證方法,如圖3所示。

      高分七號指令快速生成主要涉及:前端設(shè)備、指令控制臺以及遙控指令快速生成系統(tǒng)3部分。

      (1)前端設(shè)備接收衛(wèi)星下傳的遙測信息并送入遙控指令快速生成系統(tǒng)中。

      (2)指令控制臺提供用戶操作界面,實現(xiàn)指令參數(shù)輸入的可視化效果,傳遞遙控指令生成所需參數(shù)給遙控指令快速生成系統(tǒng)。

      (3)遙控指令快速生成系統(tǒng)包括遙測解析模塊、動態(tài)指令生成模塊:遙測解析模塊將遙測信息從數(shù)據(jù)源碼狀態(tài)處理為數(shù)據(jù)工程值狀態(tài);動態(tài)指令生成模塊加載Lua腳本文件,完成Lua腳本函數(shù)注冊,當(dāng)需要進行遙控指令上注時,動態(tài)指令生成模塊傳遞遙控指令生成所需參數(shù)給Lua解釋器,Lua解釋器對所述Lua腳本文件進行解釋執(zhí)行,生成指令二進制碼并實時發(fā)送給前端設(shè)備,最終送達(dá)衛(wèi)星。

      測試驗證過程如下。

      1)指令腳本創(chuàng)建

      創(chuàng)建高分七號動態(tài)指令腳本邏輯文件klu.lua[9-10],編寫動態(tài)指令的生成邏輯,如某功能指令-載荷單站回放DZHF,其腳本如圖4所示。

      圖4中,DZHF為指令函數(shù)名,對應(yīng)測試系統(tǒng)傳遞的指令名稱;(p1…)為傳遞的參數(shù)數(shù)量及內(nèi)容;crccompute() 等為在測試系統(tǒng)中用C語言定義的擴展函數(shù),用來計算校驗和;string.format( )等為Lua內(nèi)置函數(shù)及運算符,實現(xiàn)對指令字符串的格式轉(zhuǎn)換及數(shù)學(xué)計算等,最終返回生成的字符串結(jié)果至測試系統(tǒng)。

      圖3 遙控指令快速生成系統(tǒng)Fig.3 Fast generation and test system of remote control command

      圖4 動態(tài)指令生成腳本Fig.4 Dynamic instruction generation script

      2)遙控指令發(fā)送

      測試系統(tǒng)指令操作臺界面選擇載荷單站回放(DZHF)指令,填寫相應(yīng)參數(shù),并發(fā)送指令,如圖5所示。

      3)遙控指令生成

      遙控指令快速生成系統(tǒng)收到指令控制臺傳遞的載荷單站回放(DZHF)指令參數(shù)后,調(diào)用kua.lua中的DZHF函數(shù)生成載荷單站回放(DZHF)的指令碼。

      通過上述測試驗證系統(tǒng),將高分七號衛(wèi)星模式測試中96個指令序列模板抽象為8個Lua函數(shù)腳本,使指令模板數(shù)量降低了90%以上,指令生成和上注時間由原來的5~30 min縮短為10~30 s。試驗表明:基于Lua腳本的航天器遙控指令快速生成方法利用Lua擴展性、高效率的特點,獲取實時遙測使遙控指令更加真實可信,不需重新編譯可即時調(diào)整腳本邏輯,提高了測試效率與驗證的充分性,簡化了生成步驟,最終較好地完成了遙控指令實時生成及上注的需求(見圖5)。

      圖5 指令發(fā)送示意圖Fig.5 Instruction sending diagram

      4 技術(shù)應(yīng)用

      本文提出的基于Lua腳本的航天器遙控指令快速生成方法,實現(xiàn)了指令參數(shù)與指令碼字、邏輯時序的映射關(guān)系,根據(jù)測試項目靈活選取指令參數(shù),大幅降低測試準(zhǔn)備時間,尤其適用于指令參數(shù)多、衍生需求大的遙感衛(wèi)星載荷任務(wù)指令任務(wù)編排場景,現(xiàn)已在我國多個航天器綜合測試中推廣應(yīng)用,無論是在整合指令模板數(shù)量方面,還是在縮短指令生成時間方面,其效率均顯著地提升達(dá)90%以上。

      5 結(jié)束語

      本文基于Lua腳本,提出了一種航天器遙控快速測試驗證技術(shù),該技術(shù)通過測試前完成遙控指令Lua函數(shù)的注冊,測試時根據(jù)測試項目靈活選取指令參數(shù),即可完成遙控指令傳參-生成-上傳-存儲-上注等一系列動作,大幅降低測試準(zhǔn)備時間,解決了指令生成靈活性差的問題,同時利用Lua擴展性、高效率的特點,獲取實時遙測使遙控指令更加真實可信,不需重新編譯可即時調(diào)整腳本邏輯,有效保障了遙控指令執(zhí)行的安全性,避免了人工重復(fù)制作或復(fù)核不到位等風(fēng)險。實踐證明,該方法可以快速生成各類結(jié)構(gòu)復(fù)雜的遙控指令,大幅提高了遙感衛(wèi)星指令生成上注的測試效率。

      猜你喜歡
      綜合測試字符串腳本
      酒駕
      安奇奇與小cool 龍(第二回)
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      電子測試(2018年14期)2018-09-26 06:04:24
      快樂假期
      解三角形綜合測試(A卷)
      解三角形綜合測試(B卷)
      有機化學(xué)基礎(chǔ)知識綜合測試
      漢語拼音綜合測試
      一種新的基于對稱性的字符串相似性處理算法
      依據(jù)字符串匹配的中文分詞模型研究
      安多县| 通河县| 嘉鱼县| 白水县| 平山县| 容城县| 扶风县| 太白县| 赣州市| 集贤县| 奇台县| 奉贤区| 固镇县| 晋江市| 龙游县| 青岛市| 弥勒县| 芦山县| 平乐县| 东阳市| 左云县| 金塔县| 青海省| 彰化市| 盈江县| 汉川市| 贵州省| 永寿县| 嵊泗县| 琼中| 南溪县| 长春市| 弥渡县| 安溪县| 和平县| 唐河县| 威海市| 瑞安市| 大安市| 纳雍县| 东城区|