楊磊

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