楊磊
摘? 要:鐵路微機聯(lián)鎖控制系統(tǒng)是保障鐵路安全高效運行的重要部分,文章以鐵路微機聯(lián)鎖控制系統(tǒng)的可靠性為研究對象,分別討論了聯(lián)鎖系統(tǒng)中軟件可靠性設計技術基礎以及進入死循環(huán)、聯(lián)鎖運算錯誤、數(shù)據(jù)去向錯誤等故障的軟件檢測技術,為更進一步熟知鐵路微機聯(lián)鎖控制系統(tǒng)的工作過程提供參考。
關鍵詞:微機聯(lián)鎖;控制;可靠性;鐵路
中圖分類號:U284 文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2020)36-0049-02
Abstract: The railway microcomputer interlocking control system is an important part to ensure the safe and efficient operation of the railway. this paper takes the reliability of the railway microcomputer interlocking control system as the research object. the technical basis of software reliability design in the interlocking system and the software detection techniques for entering the dead loop, interlocking operation errors and data destination errors are discussed respectively, which provides a reference for further understanding the working process of the railway microcomputer interlocking control system.
Keywords: microcomputer interlocking; control; reliability; railway
鐵路信號的準確穩(wěn)定關系著列車運行安全,微機聯(lián)鎖控制系統(tǒng)是保障信號高可靠性與安全性的關鍵,設計應考慮系統(tǒng)的高可靠性、高穩(wěn)定性和故障導向安全原則,要求系統(tǒng)在設計和制作過程中,采用系列化的行之有效的技術措施[1-2]。聯(lián)鎖系統(tǒng)可靠性是硬件系統(tǒng)和軟件系統(tǒng)共同作用的結果,本文將對鐵路聯(lián)鎖系統(tǒng)中的軟件可靠性技術相關內(nèi)容進行論述。
1 鐵路微機聯(lián)鎖控制系統(tǒng)可靠性分析概述
鐵路微機聯(lián)鎖控制系統(tǒng)結構較為復雜(圖1),對其軟件系統(tǒng)的可靠性設計技術主要包含了四方面的內(nèi)容:即系統(tǒng)的管理、軟件程序的設計、系統(tǒng)軟件的可靠性分析以及軟件驗證等技術。軟件可靠性設計技術中包含軟件管理主要的原因是因為軟件屬于無形產(chǎn)品,其管理難度往往超過了一些有形產(chǎn)品。政策、法律與標準化是軟件管理最為直接的問題,具體的一個軟件項目,需要有確定的開發(fā)總目標,每個階段的目標,以及軟件的驗收標準。在軟件系統(tǒng)管理工作完善的基礎上,才可以進一步使編輯的軟件具備可靠性。
軟件設計技術指的是對開發(fā)軟件的功能進行規(guī)范性說明,包含了軟件核心設計方法與軟件程序的變換方法與技術[2]。通過運用這些技術,能夠使軟件結構更便于理解與驗證,很大程度上提升了軟件的可靠性。軟件可靠性分析是通過對軟件的定量評價來實現(xiàn)的,以軟件的可靠性模型為基礎,采用數(shù)學方法評價軟件的可靠性。驗證過程是測試和驗證程序正確性的過程。以上提到的技術方法,是軟件設計中極為重要的。不過這些技術多處于理論研究階段,實踐過程仍存在一些問題。鐵路的聯(lián)鎖軟件而言,采取何種技術來指導聯(lián)鎖軟件的設計,仍需要一段實踐經(jīng)驗。
缺陷多是由于軟件開發(fā)人員在設計軟件和測試驗證軟件過程中忽略一些關鍵性、細節(jié)性問題所帶來的。因此,嚴格進行軟件的設計、修正和測試驗過程,能夠提升軟件的可靠性。鐵路的聯(lián)鎖軟件而言,因為軟件主要是為了實現(xiàn)邏輯運算,只能夠有限的輸入邏輯變量,這些中間結果、最終結果在邏輯運算階段能夠得以驗證。因此驗證軟件的可靠性是容易實現(xiàn)的,但是不能確保軟件的絕對可靠。需要指出的是,假如軟件驗證可以達到完全可靠,也會由于硬件方面的故障和干擾,破壞軟件的正常運行,進而出現(xiàn)發(fā)生故障。
因此,在保證硬件可靠的措施同時,也要確保軟件系統(tǒng)的可靠性。二者協(xié)同提升保障可靠性和安全性。事實上,軟件措施只能夠驗證微機聯(lián)鎖控制系統(tǒng)的功能性故障,對于系統(tǒng)中的硬件物理缺陷難以直接發(fā)現(xiàn)。檢測驗證知道軟件的功能性故障后,需要再采取對應的軟件和硬件措施才能夠提升系統(tǒng)的可靠性與安全性。
2 聯(lián)鎖軟件可靠性設計技術基礎
2.1 功能規(guī)范化說明
程序設計的目的在于解決具體問題。對于問題的提出,一般是由用戶以自然語言表述的,這種自然語言的表述往往存在著不完備,過于冗長而且有二義性。因此在軟件開發(fā)階段,首要的任務是用一種嚴謹?shù)恼Z言或符號將問題表述清楚。即要對問題作出規(guī)范化(或形式化)的說明。在規(guī)范化說明中,一是要有功能性說明,即要做什么;二是要有邏輯性說明,即如何做[3]。
對于進路控制的功能性說明最好以電氣集中聯(lián)鎖系統(tǒng)的功能為參考。這樣可使新的微機聯(lián)鎖系統(tǒng)的功能至少能滿足既有聯(lián)鎖系統(tǒng)功能要求,而不致有所遺漏。在此基礎上再考慮如何發(fā)揮計算機的特點,使系統(tǒng)的功能進一步豐富和完善。
根據(jù)上述規(guī)范方法,可按共性設計一個各條進路共享的通用聯(lián)鎖程序,向該聯(lián)鎖程序提供不同的進路數(shù)據(jù)表,就實現(xiàn)了不同進路的控制。實際上在一個車站范圍內(nèi),同時需要辦理的進路數(shù)量不過幾條乃至幾十條而已。利用現(xiàn)代計算機的快速處理能力,使一個聯(lián)鎖程序為多條進路服務而不影響作業(yè)效率是可能的,而且實踐證明是可行的。
這種通用聯(lián)鎖程序至少有下列優(yōu)點:第一,不需針對每條具體進路設計程序,提高了標準化程度,能適應不同規(guī)模車站的需要:第二,由于程序為各條進程所共享,如果程序中隱含著某種缺陷,則在調(diào)試過程中,即在模擬各條進路的控制過程中易于暴露出來,可以及時克服,提高了程序的可靠性和安全性;第三,便于聯(lián)鎖系統(tǒng)的設計、生產(chǎn)和維護,對于不同的車站,聯(lián)鎖程序是通用的,只是提供不同的進路數(shù)據(jù)表就可以了;第四,適應車站的改建和擴建。
2.2 好的程序設計方法
程序設計就是把問題的規(guī)范化說明轉(zhuǎn)換成某種計算機語言程序。對于這種轉(zhuǎn)換有不同的方法和技巧。人們希望得到一個好的程序。評價一個程序的質(zhì)量,很難制定定量的標準,但根據(jù)現(xiàn)在流行的觀點,一個好程序需具有如下素質(zhì):(1)能夠正確安全地工作,在此前提下再考慮節(jié)省存儲空間和機時(效率);(2)清晰易懂,易于調(diào)試;(3)易于維護;(4)易于修改;(5)簡潔;(6)高效[4]。
理論上已經(jīng)證明,任何形式的程序結構總是可以用以上四種基本結構來代換。如果在設計程序時,一開始就采用這種基本結構,則有利于實現(xiàn)程序結構模塊化,便于閱讀和理解,有利于調(diào)試和分段驗證,是提高程序可靠性的重要技術。
3 檢測故障的軟件技術
在討論聯(lián)鎖微機的結構時曾經(jīng)指出,對于三模冗余(靜態(tài)屏蔽)聯(lián)鎖微機來說,它的可靠性是建立在三取二的機理上,它的安全性是建立在雙機輸出比較的機理上。因此,這種結構的微機,在工作期間,原則上不需以軟件方法對微機內(nèi)的故障進行檢測。對于二模動態(tài)冗余的聯(lián)鎖微機來說,則以軟件方法檢測微機內(nèi)部故障是必需的。聯(lián)鎖微機在工作期間也必須進行檢測,常稱這種檢測為動態(tài)檢測。動態(tài)檢測不同于靜態(tài)檢測,它要受到時間和條件的限制。檢測任務主要是在執(zhí)行聯(lián)鎖程序的過程中檢測故障的外在現(xiàn)象,而不是直接檢查硬件的物理失效,軟件的缺陷以及故障的位置。故障現(xiàn)象表現(xiàn)為:進入死循環(huán);聯(lián)鎖運算錯誤;數(shù)據(jù)去向錯誤。
3.1 死循環(huán)檢測
檢測死循環(huán)的方法比較簡單,因為機器進入死循環(huán)時,其故障現(xiàn)象較多,例如工作周期受到破壞,某些程序模塊得不到執(zhí)行等。通過檢測這些故障現(xiàn)象可以發(fā)現(xiàn)機器是否進入死循環(huán)。機器進入死循環(huán)時,最嚴重的情況是在形成開放信號命令之后無休止地執(zhí)行信號控制命令輸出程序模塊。如果此時又發(fā)生了雙機不能切換的故障,那么有導致信號長期無條件開放的危險。因此,當故障繼電器落下時,應切斷信號控制命令的輸出(切斷有關電源或電路)。
3.2 運算錯誤檢測
比較法是檢測運算錯誤的有效方法。在動態(tài)冗余雙機結構中,采用功能相同而編制風格、存儲空間和執(zhí)行時各異的雙份軟件比較法,是檢測運算錯誤的強有力的技術。這是因為:第一,由于編制的風格(指令、流程等)不同,兩個程序中潛在著同樣缺陷的可能性極小,如存在缺陷則通過運算比較就能暴露出來;第二,由于兩套程序和數(shù)據(jù)存于不同的空間,如果發(fā)生硬件故障而使兩份軟件產(chǎn)生相同的錯誤的可能性極小,因此通過運算結果的比較是能發(fā)現(xiàn)硬件故障的;第三,由于兩套軟件的執(zhí)行時間不同(只能順序執(zhí)行),如果出現(xiàn)了瞬間的或間歇的故障而使雙程序產(chǎn)生同樣錯誤的可能性也極小,所以也是能夠發(fā)現(xiàn)的。
雙軟件比較法不是對運算的最終結果進行比較,而是在程序的子模塊級進行比較。如果一個程序包括了m個子模塊,那么應進行m次比較,在任何一次測得結果不一致時就給出一個“運算錯誤”的信息,總檢程序測得“運算錯誤”信息時就停止輸出脈沖串,使故障繼電器落下。這種按子模塊級進行比較的優(yōu)點是可防止因多次故障積累而導致故障不被檢出的可能[5]。
3.3 數(shù)據(jù)去向錯誤檢測
在微機中,有多種譯碼器,其功能各不相同,不同功能的譯碼器發(fā)生故障時,其后果是不一樣的。例如指令譯碼器的故障將導致程序的混亂,而地址譯碼器故障將把數(shù)據(jù)引向錯誤的去處,而數(shù)據(jù)本身并未遭到破壞。對于數(shù)據(jù)的去向錯誤不一定在雙份軟件比較中能得到檢測,特別是對于輸入/輸出口的地址譯碼器故障尤應進行深入細致的分析,以便采取有效對策。
在聯(lián)鎖微機中,如果存在某些數(shù)據(jù)和某些程序段無法用比較法進行故障檢測(例如,一段軌道區(qū)段的狀態(tài)信息,僅由一個輸入口輸入時,那么該狀態(tài)信息的安全側就不能確切反映是車輛占用造成的還是電路故障造成的,也就無法用比較法檢測出來),則需在兩個微機間進行互檢,測得故障后同樣需進行雙機切換以提高系統(tǒng)的可靠性。
4 結束語
聯(lián)鎖系統(tǒng)是一種實時控制系統(tǒng),它必須具有非常高的可靠性,才能保證車站技術作業(yè)的安全與效率。就機械的和電氣的聯(lián)鎖系統(tǒng)而論,系統(tǒng)的可靠性主要是靠高可靠的器材來實現(xiàn)的,聯(lián)鎖系統(tǒng)的故障-安全性,本質(zhì)上也屬于可靠性理論的范疇。為了能定量地分析系統(tǒng)的故障-安全性能,也需要可靠性基礎知識。
參考文獻:
[1]閆昊鵬.鐵道信號計算機聯(lián)鎖控制系統(tǒng)探究[J].通訊世界,2016(22):57.
[2]王洪,趙峻松.TYJL-Ⅱ型計算機聯(lián)鎖系統(tǒng)在火車編組站的應用[C].第六屆全國石油和化學工業(yè)儀表及自動化技術交流研討會,2008.
[3]李劍峰.計算機連鎖系統(tǒng)在發(fā)電廠火車站的應用[J].煤礦機械,2011(2):228.
[4]安亞松.鐵道信號聯(lián)鎖設備的故障診斷探討[J].中國新通信,2019,21(5):156.
[5]張彥青.鐵路信號微機聯(lián)鎖仿真系統(tǒng)分析[J].工程技術(全文版),2017(1):300-300.