邵思杰,熊 偉,曹 勇,張繼紅,高 春
(1.裝甲兵工程學院 兵器工程系,北京 100072;2.解放軍駐617廠軍代室,內(nèi)蒙古 包頭 014032;3.裝甲兵工程學院 控制工程系,北京 100072;4.內(nèi)蒙古科技大學 信息工程學院,內(nèi)蒙古 包頭 0140105.國營617廠 科研所,內(nèi)蒙古 包頭 014032)
故障注入是一種檢驗系統(tǒng)容錯能力的測試方法。針對裝甲裝備武器系統(tǒng)組成復雜,故障檢測與隔離困難等問題,以某型自動裝彈機為例開展故障注入系統(tǒng)研究,為指導操作人員進行故障分析和維修訓練,提供技術支撐。
某型自動裝彈機是一種機電一體化的綜合系統(tǒng),主要由旋轉輸彈機、提升機構、推彈機、火炮閉鎖器、拋殼機構、開窗機構等執(zhí)行機構以及程控箱、彈艙識別器、裝彈機MIC盒及控制電纜組成[1]。
通過收集近年來總裝工廠生產(chǎn)試驗以及部隊使用維修過程中出現(xiàn)的自動裝彈機故障數(shù)據(jù),并對其進行統(tǒng)計分析和優(yōu)化整理,共提取常見故障現(xiàn)象12個,如表1所示。
表1所示故障現(xiàn)象覆蓋了自動裝彈機各執(zhí)行機構,具有典型性和代表性,可以反映自動裝彈機的常見多發(fā)故障,對開展故障注入系統(tǒng)設計,有著重要的參考價值。
表1 自動裝彈機典型故障統(tǒng)計
一般情況下,自動裝彈機出現(xiàn)故障時,計算機終端上會有簡單的故障代碼顯示,幫助操作人員進行故障的分析和排除。故障代碼只是反映目前部件所處的狀態(tài)是否正確,并不會顯示執(zhí)行部件(電機、電磁體)的工作狀態(tài)錯誤,對于判斷故障只起輔助作用。為了實現(xiàn)故障注入,需要重點分析典型故障的機理原因。
例如,對于GZ1來說,正常情況下,拋殼機構拋殼后,程控箱輸出開窗機構電機關窗驅動信號,開窗機構執(zhí)行關窗動作,當關窗到位,輸出到位信號至程控箱后,程控箱停止輸出關窗驅動信號,使開窗機構電機停止工作,之后,開始進行推彈機收回推彈鏈等一系列后續(xù)動作。由此看出,若發(fā)生GZ1現(xiàn)象,可能原因有以下幾個方面:
1)開窗機構微動開關K1故障導致關窗到位后沒有向程控箱輸出到位信號;
2)程控箱本身故障沒有接收到到位信號或沒有輸出下一步進行的推彈機收鏈驅動信號;
3)推彈機推彈鏈卡滯或電機故障,無法進行收鏈動作;
4)電纜故障導致信號無法傳遞。
GZ1故障樹如圖1所示。
圖1 GZ1故障樹
其他典型故障現(xiàn)象故障機理分析同上,限于篇幅,不再一一贅述,詳細內(nèi)容見后節(jié)故障注入?yún)R編表。
故障注入是指按照選定的故障模型,用人工的方法有意識地產(chǎn)生故障并施加于運行特定工作負載的目標系統(tǒng)中,以加速該系統(tǒng)的錯誤和失效的發(fā)生,同時觀測和回收系統(tǒng)對所注故障的反應信息,并對回收信息進行分析,從而向試驗者提供有關結果的試驗過程[2]。故障注入技術是對系統(tǒng)性能評價的一個重要手段,通過對注入故障后系統(tǒng)的反應信息進行監(jiān)測和分析,可獲得系統(tǒng)可靠性和容錯特性的評測結果。
按所注入的故障注入途徑,故障注入總體上可分為硬件故障注入仿真和軟件故障注入仿真兩大類[3-4]。硬件故障注入仿真是通過附加硬件對目標系統(tǒng)的作用,使目標系統(tǒng)的正常硬件環(huán)境受到影響,從而產(chǎn)生故障。軟件實現(xiàn)的故障注入無需額外的硬件設備,可以在程序指令能夠訪問到的硬件或軟件上選擇故障注入位置。
對于自動裝彈機而言,如果采用硬件故障注入技術,一種是在現(xiàn)有裝備上人為設置故障,勢必要損壞裝備;一種是需要消耗大量費用開發(fā)相應的半實物仿真平臺[5],模擬自動裝彈機各機構功能,通過在真實環(huán)境下人為的進行故障注入來實現(xiàn)有效的故障分析。如果采用軟件故障注入技術,則需要改寫自動裝彈機程序代碼,可能會給裝備的系統(tǒng)性能帶來嚴重影響,這對于定型裝備而言是嚴格不允許的。
因此,需要針對自動裝彈機特點以及典型故障機理分析,充分借鑒各種技術優(yōu)缺點,設計一種合理可行的故障注入方案。
自動裝彈機各執(zhí)行機構主要是在程控箱輸出的驅動信號作用下響應執(zhí)行各動作程序,而程控箱是在采集各執(zhí)行機構有關狀態(tài)信息后按照一定的程序輸出相應的驅動信號,可以看出程控箱中核心控制單元的程序軟件的主要功能就是按照一定的邏輯和時序,控制各類信號的傳遞。若采用軟件故障注入仿真的方法,修改程控箱核心控制單元軟件源代碼,使程序變異進而導致系統(tǒng)產(chǎn)生故障,其實際上仍是依靠破壞信號的正常傳遞流程來實現(xiàn)故障注入。為此,可以借鑒軟件故障注入仿真方法的思想,通過在自動裝彈機各執(zhí)行機構與程控箱之間加入一個采用硬件結構的故障注入器,按照一定的故障注入邏輯和控制程序對自動裝彈機系統(tǒng)的有關信號進行控制,進而實現(xiàn)故障仿真及注入。
例如:對于GZ1而言,由故障機理分析可以看出,開窗機構微動開關K1故障,程控箱輸入板、輸出板故障,推彈機電機故障,以及電纜故障均能導致GZ1故障現(xiàn)象的發(fā)生,而微動開關K1故障和程控箱輸入板故障實際上就是中斷了關窗到位信號的正常傳遞,而程控箱輸出板故障和推彈機電機故障實際上就是中斷了推彈機收鏈驅動信號的正常傳遞,電纜故障同樣是中斷了這些信號的正常傳遞。因此,通過控制這些信號通斷即可實現(xiàn)GZ1的故障注入,故障注入模型如圖2所示。
圖2 GZ1故障注入模型
其他典型故障現(xiàn)象故障注入模型原理同上。這里,將自動裝彈機各典型故障機理分析以及故障注入模型原理分析成果進行匯總整理,形成故障注入?yún)R編,如表2所示。通過故障注入?yún)R編將故障現(xiàn)象、故障機理與部件接口、故障注入方案一一對應,同時進行故障編號,形成應用于故障注入實現(xiàn)的故障模型,為故障注入系統(tǒng)設計提供依據(jù)。
根據(jù)故障注入實現(xiàn)方案,自動裝彈機故障注入系統(tǒng)主要由故障注入器和故障注入管理軟件組成,系統(tǒng)通過中繼電纜,采用高可靠的隔離技術,與自動裝彈機實現(xiàn)無縫接入。系統(tǒng)總體組成如圖3所示。
系統(tǒng)工作原理為:首先,故障注入器采集自動裝彈機各執(zhí)行機構輸出的狀態(tài)信號,即故障注入器的輸入信號;其次,故障注入器能夠模擬這些狀態(tài)信號,根據(jù)相應的控制命令,輸入至自動裝彈機程控箱,同時,也可以模擬程控箱輸出的驅動信號,根據(jù)相應的控制命令,輸入至自動裝彈機各執(zhí)行機構,故障注入器模擬的信號即其輸出信號。故障注入軟件安裝在PC終端,能夠實時監(jiān)測并顯示故障注入器采集的狀態(tài)信號,同時根據(jù)故障注入策略,通過通信總線將相應的控制命令發(fā)送到故障注入器,進而通過控制故障注入器輸出不同的信號給自動裝彈機各執(zhí)行機構或程控箱,實現(xiàn)故障注入。當注入某一故障
表2 自動裝彈機故障注入?yún)R編
圖3 自動裝彈機故障注入系統(tǒng)組成
后,軟件能夠自動調(diào)出故障原因分析數(shù)據(jù)庫,用于指導操作人員。
故障注入器主要由主控單元電路、信號輸入調(diào)理電路、信號輸出控制電路、通信電路、供電電路等部分組成。
主控單元電路的MPU選用ST公司32位高性能嵌入式產(chǎn)品STM32F407ZE。為了避免自動裝彈機系統(tǒng)對故障注入器的干擾,同時降低MPU功耗,信號輸入調(diào)理電路主要采用光電隔離技術實現(xiàn)故障注入器對自動裝彈機各執(zhí)行機構輸出狀態(tài)信號的實時采集。信號輸入調(diào)理電路如圖4所示。
圖4信號輸入調(diào)理電路
自動裝彈機各執(zhí)行機構輸出的狀態(tài)信號,經(jīng)過信號輸入調(diào)理電路實現(xiàn)光電隔離處理后,送入MPU的I/O端口,MPU經(jīng)過數(shù)據(jù)緩存及運算后實時監(jiān)測這些狀態(tài)信號,進而判斷各執(zhí)行機構工作狀態(tài),并通過通信電路上傳至PC終端的軟件中。信號輸出控制電路如圖5所示。
圖5 信號輸出控制電路
操作人員通過操作PC終端的故障軟件向故障注入器發(fā)送故障注入指令,MPU按照故障注入策略控制I/O端口輸出不同狀態(tài)信號至信號輸出控制電路,經(jīng)過繼電器隔離處理后發(fā)送至自動裝彈機相應的部件,進而實現(xiàn)故障注入。
軟件采用LabWindows/CVI集成環(huán)境開發(fā),主要作用是驅動系統(tǒng)硬件、與故障注入器進行通信、提供交互式操作界面并完成故障設置、故障原因分析等。
軟件設計流程為:程序開始運行后,第一步,配置通信。第二步,進行硬件初始化,主要是監(jiān)測自動裝彈機各執(zhí)行機構輸出的狀態(tài)信號,控制故障注入器輸出匹配的信號至程控箱,確保故障注入器與自動裝彈機相互兼容。第三步,進入系統(tǒng)主界面,等待用戶選擇。第四步,根據(jù)用戶的選擇,或進入相應功能界面。
系統(tǒng)對故障注入器硬件進行初始化,實時監(jiān)測自動裝彈機各執(zhí)行機構輸出的狀態(tài)信號,并根據(jù)信號狀態(tài),通過輸出信號控制電路一一對應送至程控箱。此時,若要進行故障注入,按照表2故障注入?yún)R編選擇相應的故障注入信號,通過軟件界面的開關按鈕進行狀態(tài)切換即可實現(xiàn)故障注入。
在PC終端故障注入軟件中對有關信號進行開關操作,用萬用表測量故障注入器相應輸出接口管腳的電壓變化情況。測試數(shù)據(jù)記錄表如表3所示。
由表3可知,通過在軟件中操作被測信號開啟或關閉,相應輸出管腳的電壓狀態(tài)均對應切換低電平或高電平(懸空),說明故障注入系統(tǒng)信號控制功能正常。
根據(jù)故障注入?yún)R編表,在軟件中選擇故障注入信號,對照界面故障信息欄,觀察裝備故障現(xiàn)象是否與控制界面設置一致,觀察車長指揮終端是否顯示故障提示,測試結果示例如圖6所示。
表3 系統(tǒng)靜態(tài)測試數(shù)據(jù)記錄表
圖6 實裝測試結果示例
由圖6可知,輸彈機正常工作時,XS-DT1-K2信號導通,通過故障注入軟件強行關閉該信號后,裝備指控終端報警顯示裝彈機未就緒,輸彈機閉鎖器(DT1)K2開關故障,說明故障注入系統(tǒng)成功對裝備注入故障。
通過系統(tǒng)靜態(tài)測試和實裝測試,結果表明:故障注入模型正確,故障注入系統(tǒng)能夠按照預先設定對自動裝彈機進行故障注入,為指導操作人員進行故障分析排查和維修訓練提供了可靠的技術支撐和方便有效的手段。
[1] 馮益柏. 坦克裝甲車輛設計-武器系統(tǒng)卷[M]. 北京:北京化學工業(yè)出版社,2015.
[2] 徐曉露. 基于故障注入的嵌入式系統(tǒng)測試研究[D].杭州:浙江大學,2008
[3] 李志宇, 黃考利, 連光耀. 基于測試性設計的軟件故障注入研究綜述[J]. 計算機測量與控制, 2013,21(5):1112-1114.
[4] 朱 鵬, 張 平. 基于單片機的故障注入系統(tǒng)[J].計算機測量與控制,2004,12(10):996-998.
[5] 李志宇, 黃考利, 連光耀. 基于半實物仿真的故障注入系統(tǒng)設計[J]. 計算機測量與控制, 2013,21(3):570-572.