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