舒立鵬,范繼,朱柏飛,吳曄,霍勇謀,楊永亮
(西北機(jī)電工程研究所,陜西 咸陽 712099)
在高炮研制過程中,為了檢測(cè)系統(tǒng)的功能和性能,需要模擬外部信息輸入到系統(tǒng),實(shí)時(shí)記錄系統(tǒng)的響應(yīng),以檢驗(yàn)系統(tǒng)性能或者查找問題。高炮研制過程中需要多種檢測(cè)工裝,其中信息模擬工裝仿真外部信息輸入到高炮系統(tǒng),作為系統(tǒng)檢測(cè)的激勵(lì)源,數(shù)據(jù)錄取工裝實(shí)時(shí)記錄總線數(shù)據(jù)。目前,高炮研制過程中檢測(cè)工裝功能單一、種類繁多是導(dǎo)致高炮的研制成本高的問題之一,如數(shù)字航路儀、數(shù)字正弦機(jī)以及姿態(tài)模擬器等都屬于滿足不同功能要求的信息模擬器。另外,由于不同型號(hào)高炮通信協(xié)議的不同導(dǎo)致同樣功能的信息模擬器不能在不同類型的高炮檢測(cè)中通用,造成了資源浪費(fèi)。
基于目前現(xiàn)狀,筆者提出了一種高炮通用型綜合檢測(cè)儀的設(shè)計(jì)方案,該方案包括信息模擬、數(shù)據(jù)記錄、狀態(tài)監(jiān)控等功能,具有通用性好、功能全面、操作簡(jiǎn)便、易于實(shí)現(xiàn)等特點(diǎn),可以降低高炮研制過程中檢測(cè)工裝的研制成本。
如圖1所示,高炮通用型綜合檢測(cè)儀通過CAN總線網(wǎng)絡(luò)與高炮相連接,構(gòu)成分布式半實(shí)物仿真系統(tǒng)[1]。根據(jù)不同功能要求,高炮通用型綜合檢測(cè)儀能根據(jù)不同的模型和通信協(xié)議進(jìn)行系統(tǒng)配置,實(shí)現(xiàn)不同類型信息的模擬輸出,以滿足不同的檢測(cè)需求,如室內(nèi)無真實(shí)目標(biāo)時(shí),火控系統(tǒng)檢測(cè)需要實(shí)現(xiàn)數(shù)字航路儀的功能,仿真輸入光電跟蹤、激光測(cè)距等不同的數(shù)據(jù)作為火控計(jì)算機(jī)輸入;為了檢測(cè)火炮隨動(dòng)系統(tǒng)性能,需要實(shí)現(xiàn)數(shù)字正弦機(jī)的功能,生成不同特征的正弦信號(hào)輸入到火炮隨動(dòng)系統(tǒng)。
相比于目前的檢測(cè)工裝,該方案具有以下特點(diǎn):
1)通用性好。該方案設(shè)計(jì)的高炮通用型檢測(cè)儀能滿足各種不同型號(hào)的高炮檢測(cè)過程中不同種類信息的模擬要求,解決高炮調(diào)試過程中同一種功能模擬器由于通信協(xié)議不同難以重用的問題。
2)功能齊全。該方案具有多種信息模擬、數(shù)據(jù)錄取和狀態(tài)監(jiān)控功能,將原來多種檢測(cè)工裝功能集成于一體,解決了模擬器功能單一導(dǎo)致研制過程中中模擬器種類多、成本高的問題,實(shí)現(xiàn)工裝的多功能化與一體化。
3)易于擴(kuò)展。該方案具有良好的可擴(kuò)展性,可以根據(jù)新需求增加新的信息模擬功能,以滿足新裝備研制要求。
圖1所示的高炮通用型綜合檢測(cè)儀方案采用客戶端-服務(wù)器的工作方式,客戶端為筆記本電腦或者PC機(jī);服務(wù)器端為半實(shí)裝實(shí)時(shí)設(shè)備,服務(wù)器端硬件與文獻(xiàn)[2]中的硬件組成相同,主要由基于PC104架構(gòu)的主板、CAN接口板、同步板和電源板組成??蛻舳伺c服務(wù)器通過以太網(wǎng)進(jìn)行通信??蛻舳送ㄟ^發(fā)送指令控制服務(wù)器端工作;服務(wù)器端接收客戶端指令并及時(shí)響應(yīng)。為了實(shí)現(xiàn)信息模擬功能的通用性,客戶端根據(jù)具體參數(shù)設(shè)置生成相應(yīng)的模擬數(shù)據(jù),傳輸?shù)椒?wù)器端,服務(wù)器端根據(jù)控制命令和數(shù)據(jù),進(jìn)行判斷處理和發(fā)送,以滿足各類高炮的檢測(cè)要求。
此方案的優(yōu)點(diǎn)是針對(duì)不同型號(hào)高炮對(duì)模擬器功能要求不同,服務(wù)器端軟硬件無需變動(dòng),只需在客戶端軟件進(jìn)行參數(shù)設(shè)置,即可滿足不同信息的模擬生成。
系統(tǒng)軟件組成如圖2所示,包括客戶端、服務(wù)器端軟件。客戶端軟件包括指令發(fā)送模塊、信息模擬等模塊,目前信息模擬模塊設(shè)計(jì)了航路信息模擬和正弦主令信息模擬等模塊,在此功能模塊下可以擴(kuò)展其他不同信息模擬模塊。服務(wù)器端包括網(wǎng)絡(luò)監(jiān)控、以太網(wǎng)數(shù)據(jù)發(fā)送、以太網(wǎng)數(shù)據(jù)接收、數(shù)據(jù)解析、CAN數(shù)據(jù)中斷發(fā)送、CAN數(shù)據(jù)中斷接收、外同步中斷處理等模塊。
高炮通用型綜合檢測(cè)儀基于TCP協(xié)議采用客戶端-服務(wù)器模式進(jìn)行信息的傳輸,信息分為指令信息和數(shù)據(jù)信息兩類。如表1所示,協(xié)議規(guī)定按順序定義為信息數(shù)據(jù)長度、信息號(hào)、信息緊急標(biāo)志、信息傳遞方向和信息內(nèi)容以及所對(duì)應(yīng)分配的字節(jié)數(shù)。
表1 通信協(xié)議數(shù)據(jù)格式
信息數(shù)據(jù)長度指一次信息傳輸中全部數(shù)據(jù)總字節(jié)數(shù)。信息號(hào)區(qū)別不同的數(shù)據(jù)信息和指令信息,如0~100為指令信息編號(hào)范圍,101~150表示數(shù)據(jù)信息編號(hào)范圍。信息的緊急標(biāo)志用于表示信息發(fā)送的緊迫程度,一般指令信息緊急程度高于數(shù)據(jù)信息,如0表示一般,1表示緊迫。信息傳遞方向用于區(qū)別是上傳還是下行信息,如0表示數(shù)據(jù)上傳,1表示下行。信息內(nèi)容是指一次信息傳輸中除去信息數(shù)據(jù)長度、信息號(hào)、信息緊急標(biāo)志、信息傳遞方向外的具體信息,數(shù)據(jù)信息存放于格式固定的數(shù)組內(nèi),指令信息為定義不同的控制命令。當(dāng)信息長度大于4 096字節(jié)時(shí)采用多次分組發(fā)送[2]。
下行信息數(shù)據(jù)格式如表2所示。數(shù)據(jù)ID為發(fā)送CAN總線數(shù)據(jù)對(duì)應(yīng)的ID號(hào)碼,數(shù)據(jù)內(nèi)容為生成的信息模擬數(shù)據(jù)。發(fā)送時(shí)刻為相對(duì)于外同步方波信號(hào)上升沿的時(shí)刻,如在第10 ms發(fā)送則該值為10.發(fā)送頻率是指數(shù)據(jù)發(fā)送頻率,如隨動(dòng)主令數(shù)據(jù)10 ms發(fā)送一次,則對(duì)應(yīng)數(shù)據(jù)發(fā)送頻率為100 Hz,發(fā)送頻率數(shù)值為100.
表2 下行信息數(shù)據(jù)格式
上傳信息主要為數(shù)據(jù)信息和單體狀態(tài)信息,在數(shù)據(jù)記錄模式下服務(wù)器將記錄在緩存的全部CAN總線數(shù)據(jù)按照表1格式打包一次性發(fā)送。在狀態(tài)監(jiān)控模式下服務(wù)器間隔20 ms上傳一次數(shù)據(jù)信息,上傳信息數(shù)據(jù)格式如表3所示。
系統(tǒng)客戶端軟件采用Visual studio 2010和Measurement Studio 2010混合編程的模式開發(fā)[3]。作為主流的可視化開發(fā)環(huán)境Visual studio 2010具有界面友好、功能強(qiáng)大、開發(fā)靈活等優(yōu)點(diǎn),但是在繪圖顯示等方面存在開發(fā)周期長和難度高的缺點(diǎn),而Measurement Studio 2010是美國NI公司專為測(cè)試和控制領(lǐng)域開發(fā)的新版虛擬儀器設(shè)計(jì)工具,能無縫集成到Visual studio 2010,更適用于該軟件界面的開發(fā)。服務(wù)器端軟件采用Tornado 2.2實(shí)現(xiàn)實(shí)時(shí)軟件的開發(fā)。
3.1.1 軟件功能設(shè)計(jì)
根據(jù)需求分析,軟件具有信息模擬、數(shù)據(jù)錄取、狀態(tài)監(jiān)控3種功能,對(duì)應(yīng)設(shè)計(jì)了3種工作模式。啟動(dòng)軟件后,首先進(jìn)行初始化,與服務(wù)器端連接,連接成功后可以選擇進(jìn)入不同的工作模式。
1)信息模擬模式。用戶在客戶端軟件界面上設(shè)置如數(shù)據(jù)的ID、發(fā)送時(shí)刻、發(fā)送頻率等通用參數(shù)和專用參數(shù)。軟件按照相應(yīng)算法和協(xié)議生成相應(yīng)的數(shù)據(jù)進(jìn)行分發(fā),等待服務(wù)器端接收好后,可以進(jìn)行模擬信息的發(fā)送控制。目前信息模擬包括航路信息、正弦主令信息模擬功能,該模塊具有擴(kuò)展性,后續(xù)可以實(shí)現(xiàn)其他信息模擬功能。
2)數(shù)據(jù)錄取模式。用戶通過發(fā)送指令控制服務(wù)器記錄開始和停止,開始記錄時(shí)服務(wù)器端記錄系統(tǒng)總線全部數(shù)據(jù),收到停止指令后傳輸全部數(shù)據(jù)到客戶端保存,用于離線分析。
3)狀態(tài)監(jiān)控模式。用戶通過發(fā)送指令控制服務(wù)器監(jiān)控開始和停止,開始監(jiān)控后服務(wù)器端轉(zhuǎn)發(fā)接收到系統(tǒng)總線數(shù)據(jù),實(shí)時(shí)上傳數(shù)據(jù)和狀態(tài)信息到客戶端,數(shù)據(jù)進(jìn)行曲線顯示,用于監(jiān)控火炮狀態(tài)。
在軟件設(shè)計(jì)中,為了滿足數(shù)據(jù)接收和曲線繪制的實(shí)時(shí)性要求,采用多線程技術(shù)將數(shù)據(jù)的接收與顯示功能分別實(shí)現(xiàn),提高了軟件實(shí)時(shí)性;為了保證數(shù)據(jù)接收及顯示的完整性,將數(shù)據(jù)接收線程的接收數(shù)據(jù)暫存環(huán)形緩沖區(qū),保證了數(shù)據(jù)的完整性,并減少內(nèi)存使用,提高線程間通信安全性[4]。由于NI控件不是線程安全的,用戶不能在線程中刷新繪圖控件,因此軟件自定義了刷新消息,通過發(fā)送消息的方式,驅(qū)動(dòng)繪圖控件刷新[5]。
3.1.2 軟件算法
軟件信息模擬實(shí)現(xiàn)是系統(tǒng)設(shè)計(jì)的關(guān)鍵,不同的信息模擬功能對(duì)應(yīng)的算法不同,限于篇幅,這里只對(duì)隨動(dòng)正弦跟蹤試驗(yàn)中正弦主令信息生成算法進(jìn)行描述,航路信息模擬可參考文獻(xiàn)[6]。
隨動(dòng)正弦跟蹤試驗(yàn)中系統(tǒng)要從當(dāng)前位置開始平穩(wěn)運(yùn)行,運(yùn)行完成后要緩慢過渡停到當(dāng)前位置,因此需要加入引導(dǎo)使隨動(dòng)系統(tǒng)啟動(dòng)和停止過程平穩(wěn)。引導(dǎo)采用線性函數(shù)讓正弦運(yùn)動(dòng)振幅從0線性遞增到指定振幅[7]的方式,幅值變化曲線如圖3所示。
對(duì)應(yīng)振幅變化,控制過程也分為前引導(dǎo)段(0~MT)、正弦運(yùn)動(dòng)段(MT~NT)和后引導(dǎo)段(NT~KT)[8],3個(gè)階段的正弦信號(hào)計(jì)算公式如下:
(1)
式中:Φ(t)為第t時(shí)刻的角位置;Φ0為正弦零位;A是正弦運(yùn)動(dòng)的幅值;T為正弦運(yùn)動(dòng)的周期;t為正弦運(yùn)動(dòng)的時(shí)間。
假定正弦信息間隔Δt時(shí)間輸出一次,對(duì)上式進(jìn)行離散化為
(2)
客戶端軟件根據(jù)上述算法和設(shè)置參數(shù)可生成正弦主令數(shù)據(jù),發(fā)送給服務(wù)器端,由其控制隨動(dòng)運(yùn)動(dòng),從而檢測(cè)火炮隨動(dòng)系統(tǒng)的正弦跟蹤性能。
3.2.1 實(shí)時(shí)多任務(wù)設(shè)計(jì)
服務(wù)器端基于VxWorks實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)了多個(gè)任務(wù)協(xié)同實(shí)現(xiàn),主要包括以下任務(wù):
1)網(wǎng)絡(luò)監(jiān)控任務(wù)。該任務(wù)監(jiān)控網(wǎng)絡(luò)連接正常與否。
2)以太網(wǎng)數(shù)據(jù)接收任務(wù)。該任務(wù)通過以太網(wǎng)通信recv()函數(shù)接收客戶端數(shù)據(jù)并存入緩沖區(qū)[9]。
3)數(shù)據(jù)解析任務(wù)。該任務(wù)讀取緩沖區(qū)數(shù)據(jù)后根據(jù)協(xié)議對(duì)數(shù)據(jù)進(jìn)行解釋,以控制服務(wù)器端的動(dòng)作,實(shí)現(xiàn)工作模式控制及不同模式下軟件狀態(tài)控制,例如在信息模擬模式下軟件工作又劃分為待機(jī)、準(zhǔn)備、發(fā)送3個(gè)子狀態(tài)。
4)以太網(wǎng)數(shù)據(jù)發(fā)送任務(wù)。該任務(wù)在狀態(tài)監(jiān)控模式下向客戶端發(fā)送對(duì)高炮系統(tǒng)進(jìn)行監(jiān)控的數(shù)據(jù)。
5)CAN數(shù)據(jù)中斷發(fā)送任務(wù)。該任務(wù)實(shí)現(xiàn)總線模擬數(shù)據(jù)的發(fā)送。
6)CAN數(shù)據(jù)中斷接收任務(wù)。該任務(wù)使用中斷方式接收系統(tǒng)CAN總線數(shù)據(jù)。
7)外同步中斷處理任務(wù)。該任務(wù)中斷接收外同步信號(hào),實(shí)現(xiàn)數(shù)據(jù)發(fā)送基準(zhǔn)時(shí)刻的確定。
8)時(shí)鐘中斷處理任務(wù)。該任務(wù)實(shí)現(xiàn)具體發(fā)送時(shí)刻定時(shí)功能。
根據(jù)任務(wù)的重要性和VxWorks的工作機(jī)制,對(duì)任務(wù)優(yōu)先級(jí)進(jìn)行劃分,關(guān)鍵任務(wù)采用中斷方式實(shí)現(xiàn),中斷任務(wù)優(yōu)先級(jí)由中斷號(hào)確定。在VxWorks系統(tǒng)里,中斷服務(wù)程序經(jīng)過事先綁定,一旦硬件產(chǎn)生中斷,就會(huì)被優(yōu)先調(diào)用,相當(dāng)于最高優(yōu)先級(jí)[10]。根據(jù)任務(wù)的重要和緊迫程度對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)劃分,如表4所示。
表4 任務(wù)優(yōu)先級(jí)分配表
3.2.2 任務(wù)協(xié)同設(shè)計(jì)
如圖4所示,軟件多任務(wù)間同步控制基于信號(hào)量實(shí)現(xiàn),以太網(wǎng)數(shù)據(jù)接收任務(wù)、數(shù)據(jù)解析任務(wù)和以太網(wǎng)數(shù)據(jù)發(fā)送任務(wù)之間通過信號(hào)量進(jìn)行同步,CAN數(shù)據(jù)中斷發(fā)送、CAN數(shù)據(jù)中斷接收、外同步中斷處理任務(wù)以及時(shí)鐘中斷處理任務(wù)均采用事件觸發(fā)中斷方式實(shí)現(xiàn)。任務(wù)間數(shù)據(jù)通信采用多個(gè)緩沖隊(duì)列實(shí)現(xiàn),分別建立以太網(wǎng)發(fā)送緩沖隊(duì)列和接收緩沖隊(duì)列,CAN總線驅(qū)動(dòng)程序自帶發(fā)送和接收緩沖區(qū)。服務(wù)器端根據(jù)客戶端設(shè)置的工作模式調(diào)用不同的任務(wù)。
在信息模擬模式下,服務(wù)器端接收全部生成數(shù)據(jù)暫存于以太網(wǎng)緩沖區(qū),數(shù)據(jù)解析任務(wù)收到信號(hào)量,從緩沖區(qū)解析提取數(shù)據(jù)和指令,實(shí)現(xiàn)數(shù)據(jù)解析執(zhí)行,對(duì)于數(shù)據(jù)信息如發(fā)送時(shí)刻和頻率等,設(shè)置標(biāo)志變量并打包到CAN發(fā)送數(shù)據(jù)幀里,時(shí)鐘中斷處理任務(wù)判斷發(fā)送時(shí)刻和標(biāo)志,送到CAN發(fā)送緩沖區(qū),由CAN數(shù)據(jù)中斷發(fā)送任務(wù)執(zhí)行發(fā)送;對(duì)于指令信息用于控制服務(wù)器工作狀態(tài)。
在記錄和監(jiān)控模式下,數(shù)據(jù)解析任務(wù)從CAN總線數(shù)據(jù)緩沖區(qū)提取數(shù)據(jù)按照協(xié)議打包后送往以太網(wǎng)發(fā)送緩沖區(qū),并釋放信號(hào)量,以太網(wǎng)數(shù)據(jù)發(fā)送任務(wù)接收到信號(hào)量后上傳數(shù)據(jù)到客戶端。
在兩類不同高炮的火控系統(tǒng)校驗(yàn)中,采用基于上述方案設(shè)計(jì)的高炮通用型檢測(cè)儀取代了各自原來的數(shù)字航路儀和正弦機(jī)兩套檢測(cè)工裝,分別模擬勻速直線航路和正弦信息,輸入到系統(tǒng),記錄總線輸出結(jié)果。根據(jù)結(jié)果統(tǒng)計(jì)出該高炮的火控精度以及隨動(dòng)精度,實(shí)現(xiàn)了對(duì)兩型裝備的火控系統(tǒng)有效檢驗(yàn)。上述實(shí)踐驗(yàn)證了該方案的可行性和其良好的通用性。
通過對(duì)當(dāng)前高炮研制過程中檢測(cè)工裝存在功能單一、通用性差的問題進(jìn)行分析,筆者提出了一種通用型綜合檢測(cè)儀的設(shè)計(jì)方案,詳細(xì)描述了該方案的工作原理、組成、功能及實(shí)現(xiàn)方法。實(shí)踐證明該方案具有通用性好、功能全且易于擴(kuò)展的特點(diǎn),較好地解決了目前檢測(cè)工裝存在的問題,該方案及其具體實(shí)現(xiàn)方法可為相關(guān)設(shè)計(jì)提供有益參考。