趙宏軍 上海鐵路局電務處
安全計算機是在冗余(硬件冗余、時間冗余、信息冗余、軟件冗余)的基礎上,在軟件的有效管理下而形成的高安全、高可靠、高可用的計算機系統。安全計算機控制系統被廣泛的應用于安全苛求系統的控制,以避免計算機系統向被控設備輸出危險側的控制信號,從而造成重大的人員傷亡和財產損失。
列車運行監控系統是控制列車運行和保障行車安全、提高運輸效率的主要設備,其主要任務在于監督列車的運行速度、輸出控制指令、實現列車的超速防護。這種安全性、可靠性要求很高的控制系統,必須要有高可靠、高安全的運行基礎,因此,對安全計算機技術在車載設備的應用進行研究具有十分重要的意義。
失效、故障、錯誤是影響系統可靠性和安全性的三個因素,失效是系統偏離其預期的設計要求或規定功能的現象,失效是不可避免的,所有系統都有固有的可以量化的失效概率。失效產生的根本原因為系統出現的功能性故障或技術性故障,功能性故障多為人為造成的,包括軟件及硬件的設計缺陷,技術性故障又稱物理故障或硬件故障,主要是由于系統內元件老化或外界環境影響,為隨機性故障。故障的發生并不意味著一定會影響系統的正常工作,只有在故障組件被應用而激活時,才會在系統功能中表現出來,由于故障而產生的非正常行為或狀態的現象稱為錯誤,故障是錯誤的起因,錯誤是故障的產物和結果,錯誤傳遞至整個系統時系統失效,系統失效導致危險側輸出時,系統處于非安全狀態。
故障只有被激活后才會產生錯誤,為有效規避故障對系統的影響通常采用冗余技術,冗余技術是提高系統可靠性和安全性最常用的技術手段,是故障掩蔽技術和系統重組技術的核心,當系統某一組件故障時,冗余組件投入運用并承擔故障組件的工作,以減少系統錯誤情況的發生,保證系統在規定的時間和規定的條件下完成規定的功能。雙機熱備冗余架構、三取二冗余架構、二乘二取二冗余架構等是通常采用的系統冗余架構。
系統可靠性的提高只能減少失效的發生而不可能徹底消除失效現象。歐洲(EN)系列標準中將系統失效分為兩類:安全失效和危險失效,安全失效會導致系統無法正常工作,但不會導致事故的發生,危險失效才是安全設計要考慮的首要對象,它可能會直接造成安全性事故的發生。
根據安全度的計算公式,系統的安全度可以通過以下三個方面采取措施進行提高:
(1)采用固有安全特性或故障安全型電路使其故障后自動導向安全側以降低危險失效的比率。
(2)通過選用高等級品質的元件或組件并正確的使用這些元件,合理規劃系統的架構,提高系統的可靠性。
(3)提高系統的檢測(診斷)覆蓋率,使故障能夠以極高的概率被檢測出來,并進入限制性的安全狀態。
三取二架構安全計算機是由三個獨立的模塊構成的三重冗余安全計算機系統,三個模塊同步工作,獨立完成數據采集、信息接收、故障檢測、運算判斷、命令輸出的過程,最終三個模塊的輸出通過表決機構表決后作為系統的最終輸出。三個模塊只要不同時出現相同的錯誤,就能屏蔽掉故障模塊的錯誤,保證系統正確的輸出。由于三個模塊是互相獨立的,兩個模塊同時出現同樣的錯誤是極小概率事件,故可以大大提高系統的可靠性。同時,為保障每個模塊的可靠性,保證及時處理一次故障的影響,系統通過上電自檢,周期性自檢或在需要時對故障的檢測,發現故障及時定位、及時處理,減少二次故障發生的概率。另外,對于關鍵性輸出,采用故障安全型設計,確保系統的故障安全特性。三取二架構安全計算機的基本冗余結構如圖1所示。

圖1 三取二架構安全計算機冗余結構示意圖
輸入信號分別通過三個獨立的輸入通道進入三套控制主機中的每套主機,每套主機對三路冗余的輸入信號進行三取二表決,表決后的結果作為計算輸入。對輸入信息的表決將規避輸入信息處理通道、控制主機的單點故障及其交叉故障。
依據表決后的輸入信息,每套主機分別計算,計算后的輸出結果進行三取二表決,表決后的結果作為控制輸出。對計算輸出結果的表決將規避控制主機的單點故障和可能的軟件缺陷。
各控制主機將表決結果進行輸出,三路控制輸出最終由硬件進行三取二表決,表決結果作為系統的最終控制輸出。
二乘二取二安全計算機由兩個獨立的二取二架構計算機系統構成,兩個系統互為冗余,每個系統上集成兩個獨立的模塊,兩個模塊同步運行并進行實時比較,只有兩個模塊一致時才對外輸出或傳送運算結果,二取二架構可快速發現系統出現的故障并保證系統的安全輸出導向。而二乘二取二架構綜合了二取二和雙機熱備兩種結構的優點,既包括了二取二的高安全性,又包括了雙機熱備的高可靠性。
二乘二取二架構安全計算機的基本冗余結構如圖2所示。

圖2 二乘二取二架構安全計算機冗余結構示意圖
系統由相互獨立的I系和II系組成,兩系構成相同,互為冗余,當某系出現故障時,故障系退出控制,系統由正常系控制并持續運行,當雙系均故障時,系統導向安全側。系統中的每系由兩套相互獨立的處理模塊組成,兩個模塊同時處理同一任務,并將結果進行相互比較,當比較結果一致時,認為兩個模塊均正常工作,結果正確可以輸出。當比較結果不一致時,即認為兩個模塊中至少有一個出現錯誤。在這種情況下,即使只有一個模塊出現錯誤,由于不能確定那一個模塊的運算結果是正確的,因而必須同時放棄兩套結果,并觸發相應的安全反應。
三取二安全計算機系統和二乘二取二安全計算機系統各有優劣,二取二架構采用的是主動冗余的方式,以檢測錯誤為主要目的,雖然為雙模結構,但在運行中所有的部件都是不可或缺的,兩個模塊執行相同的任務,輸出結果進行比較驗證,為提高系統的可靠性,實際使用過程中,采用雙系統冗余的方式,即由兩套二取二架構的安全計算機系統,組成熱備冗余或并行運行的系統。三取二系統采用的是被動冗余的方式,它由三個模塊執行相同的任務,可以屏蔽單點故障的發生,可進行故障定位并及時提示,有利于異常模塊的快速修復。
以二乘二取二架構安全計算機作為控制核心的系統,由于采用的是雙套冗余的架構,維修方便、可以進行脫機測試,這是三取二安全計算機系統所不具備的,同時其安全性能也高于三取二安全計算機系統,在強調“安全第一”的列控設備中獲得了更廣泛的應用并逐漸成為列控設備的主流架構。
通常使用的故障安全技術包括組合-故障安全技術、反應故障-安全技術及固有故障-安全技術。
組合-故障安全技術要求每種安全功能至少由兩個部件完成,每個部件必須和其它部件保持獨立,以避免共模故障,只有大多數部件一致時,才允許進行非限制性輸出,當某個部件發生危險失效,必須在足夠短的時間內被診斷或切除,以防止另一個部件出現相關聯的失效,常見的組合-故障安全大多指冗余架構,例如二取二、三取二架構。
反應-故障安全技術允許安全功能由一個部件完成,但需要通過危險失效的快速診斷和對失效進行避錯處理來保證它的安全操作(例如通過編碼、反復計算和多版本比較或通過連續的測試)。盡管只有一個部件完成安全功能,但相關的檢測/監視/診斷/切除部分可以看作是第二部件,他們之間需要保持獨立性以避免產生共模故障,也就是說控制和防護部分應該完全獨立。
固有故障-安全技術是在假定單個部件所有可信的失效模式均無危險的情況下,允許安全功能由一個單獨部件來執行。固有故障-安全技術也可用在“組合故障-安全”和“反應故障-安全”系統的某些功能中,例如用來確保部件之間的獨立性或如果檢測到一個危險失效時來強制停止運轉。
容錯技術是在容忍故障的前提下考慮解除故障影響的技術措施。根據對故障處理方式的不同,容錯技術主要包括故障檢測技術、故障屏蔽技術、冗余技術等。
故障檢測技術包含兩個主要的類別,即脫機檢測和聯機檢測,在脫機檢測情況下,進行檢測時設備不能進行正常的工作;而聯機檢測提供了實時檢測能力,因為聯機檢測與正常的工作可同時執行。奇偶校驗、冗余校驗、一致性校驗和協議檢查是檢測故障的常用手段。
故障屏蔽技術是防止系統中的故障在該系統的信息結構中產生差錯的各種措施的總稱,其實質是在故障效應達到模塊的輸出以前,利用冗余資源將故障影響掩蓋起來,達到容錯的目的。依據故障屏蔽措施層級的不同,故障屏蔽技術分為元件級故障屏蔽技術、邏輯級故障屏蔽技術、模塊級故障屏蔽技術和系統級故障屏蔽技術。
冗余技術是容錯技術的基礎,采取的主要手段是投入更多的設計資源來換取更高的可靠性,冗余的方式主要包括:硬件冗余、軟件冗余、信息冗余、時間冗余。依據不同的運營環境,四種冗余要有機的相互配合使用才能達到較高的可靠性指標。
二取二或三取二架構安全計算機均要求各模塊同步運行,同步是安全計算機進行數據采集、運算處理、數據校核的基礎。按照使用同步方式的不同,同步分為時鐘同步(指令同步)和周期同步(任務同步)兩種。時鐘同步(指令同步)的實現方法通常將兩套完全一樣的CPU及其核心電路集成在同一電路板上,使用同一時鐘并采用總線校核電路對CPU總線進行比較監督,時鐘同步方式主要依靠硬件完成,包括雙CPU的同步控制、數據校核、錯誤檢出、故障導向等,對硬件有較高的要求。周期同步(任務同步)的實現方法通常為雙CPU獨立工作,軟件通過CPU的同步控制接口和數據校核通道,在應用程序、任務或進程中設置檢查點或同步表決點,通過通信協議實現CPU的同步校核,周期同步(任務同步)對軟件有較高要求,軟件的相關算法要有高度的安全性和可靠性。
時鐘同步的方式存在無法在兩個CPU間實現相異算法的缺點,無法消除軟件的共模故障。同時,隨著硬件技術的發展,CPU芯片本身存在封閉緩存,時鐘同步的方式對于高性能的CPU芯片幾乎無能為力,硬件平臺在硬件的更新換代時也受到了一定的限制。目前國內研發的二乘二取二系統多基于周期同步(任務同步)方式,通常將同步點設置在硬件層,而同步協議基于軟件的方法,以達到容易設計制造和應用軟件兼容性好的目的。
為滿足當前鐵路運輸安全的要求,按照鐵總的統一安排,河南思維自動化設備股份有限公司、中車株洲電力機車研究所有限公司聯合開展了LKJ-15型列車運行監控系統的研發工作,與既有LKJ相比,LKJ-15型列控設備主要技術特點如下:
(1)使用安全計算機作為系統的控制核心,安全性和可靠性獲得大幅提升。
LKJ-15基于二乘二取二安全計算機平臺,綜合應用了故障安全技術、容錯技術和安全數據通信技術,平臺達到了國際鐵路應用的安全計算機技術先進水平,并通過了獨立第三方評估。
(2)人機界面單元采用主備冗余架構,確保了人機界面單元的應急保障能力。
人機界面單元核心控制、按鍵輸入、供電、IC卡輸入等部分均采用主備冗余架構,故障時可迅速在主備機間進行切換,確保單機故障不影響系統正常工作。
(3)對LKJ外圍設備進行了統一的整合,有利于設備的統一管理。
LKJ-15設置獨立的擴展單元實現相關的功能擴展,便于設備的統一安裝、維護和管理。
(4)支持車載計算機預存基礎數據和應答器提供基礎數據兩種控車方式,滿足列車在不同線路上的運營要求。
LKJ-15增加了與應答器設備的通信接口,豐富了車地通信的手段,使系統的控制方式更加準確和靈活。
(5)依托更合理的數據結構和編制管理辦法,確保數據的安全高效管理
通過深入分析基礎數據項的特征,LKJ-15超脫了LKJ2000虛擬數據交路的組織結構形式,實現了徑路數據與線路設施、設備數據分離,滿足了靈活多變的鐵路運輸需求。
目前LKJ-15已經完成需求評審、方案評審、試用評審、技術評審等階段的工作,在一年多的在線運行期間,設備工作穩定、可靠,LKJ-15型列車運行監控系統的推廣應用,必將使LKJ列控設備在安全性、可靠性方面取得大幅提升。
本文對影響系統安全性和可靠性的關鍵因素進行了討論,給出了二乘二取二和三取二安全計算機系統的基本架構,并對安全計算機平臺所使用的關鍵技術進行了簡要描述,按照鐵總要求,應用安全計算機技術的LKJ-15型列車運行監控系統已研發完成并通過獨立第三方SIL4級安全認證。