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