趙 強,常振臣,王金田,于蘇橫
(長春軌道客車股份有限公司,吉林長春130062)
列車網絡控制系統作為對全車關鍵設備發送控制命令、監測狀態信息及故障診斷的核心設備,其安全性在列車運行中尤為重要,保證列車網絡控制系統具有較高的安全性、完整性等級是列車安全運行的前提條件。
目前國內開發的列車網絡控制系統并沒有全面系統的安全性要求,這表明,TCMS故障監測診斷系統處于不完備狀態,即TCMS不能完全保證自身滿足安全性要求的情況下去監控其他子系統的安全狀態。因此,更高安全要求的TCMS是必須要考慮的。長春軌道客車股份有限公司針對北京地鐵項目旨在使用現貨供應的部件來開發具有安全完整性等級2級(SIL2)的列車網絡控制系統。論文描述了應當滿足這些目標的列車網絡控制系統的基本架構及主要硬件和軟件特性,包括建議的錯誤檢測技術和相關故障處理措施。
對于SIL2級的TCMS,意味著其安全容忍率要達到10-7≤T HR<10-6(故障數/h)[1]。北京地鐵項目TCSM的硬件和軟件的設計和開發的一個重要挑戰是使用現貨供應部件和簡化的系統架構降低由安全要求所引入的成本,以達到SIL2的要求。更高安全完整性等級的TCMS的開發實際上由更為冗余的架構及更為嚴密的開發過程予以保證。
開發滿足SIL2級TCMS的要求包括硬件[1]及軟件[2]兩方面。完整的TCMS硬件和軟件應在滿足要求的基礎上進行開發設計,并保證得以實施。
EN 50129標準要求保證嚴重的單一故障的安全性,對其失效后的安全保證可以通過組合的、反應性的或者固有的安全技術予以達到。
組合的故障。安全意味著單一硬件每一安全相關功能至少由兩個獨立項予以執行,并且只要必要的失效項一致,非約束性活動就予以允許。依據TCMS設計的初始目標,特別是考慮到降低系統中硬件部件的數量的要求,這一替代方案不予選擇。
反應性故障。安全通過發生在單一硬件中危險故障的適當檢測和否定來保證安全運行。但是,為了避免共因故障,故障檢測功能被視為將是獨立的第二個項,其獨立性可能會由于實際內、外影響,或者功能內、外影響而喪失。
如果單個硬件的所有不可忽略故障模式都是非危險性的,則其固有的安全功能予以考慮,固有失效安全可用于特定功能(例如,強制關閉)。
此外,EN 50129標準建議了SIL2級的硬件架構相關技術:“帶有自測試和監督的單獨電子結構”和“基于反應性失效安全的單獨電子結構”是有效的替代方案;通過在線動態測試來檢驗安全相關系統是否正確運行及通過程序順序的時間或者邏輯監控向操作員提供故障指示等安全保護措施予以高度建議實施。
開發滿足SIL2要求的軟件,必須嚴格貫徹執行軟件生存期所有軟件質量活動。通過危害分析,明確軟件安全要求;依據安全要求,實施軟件代碼、模塊及系統集成的安全性設計;根據軟件開發階段,進行驗證與測試,確認及評估軟件安全性、完整性。
此外,在保證軟件嚴密開發過程要求的基礎上,EN 50128標準建議了一套在架構設計階段執行的技術和措施,見表1。在SIL2級情況中,這些技術應予以實施來滿足安全性要求。
北京地鐵項目列車采用6輛編組(4動2拖),列車網絡控制系統按照IEC 61375-1標準規定的列車通信網絡組建,系統總線采用絞線式列車總線(WTB)+多功能車輛總線(MVB)的形式,列車級總線(WTB)采用雙絞線進行數據的傳輸,MVB的電氣接口為電氣中距離(EMD)介質,見圖1。

表1 故障檢測和處理的建議技術

圖1 北京地鐵項目網絡拓撲結構
以故障導向安全設計為原則,網絡拓補的設計更多的考慮了自愈環網的設計理念,列車總線及車輛總線均冗余結構設計,實現了信息傳輸中單點故障情況下的線路自動倒換;關鍵性硬件的主備配置,從根本上確保網絡對整車的安全控制。此外,整車網絡控制為主硬線控制為輔設計,更進一步全面保證了列車運行安全性。
TCMS硬件主要由中央控制單元(CCU)、診斷控制單元(DCCU)、TCN網關、人機接口單元、中繼器等10部分組成。
為保證TCMS系統整體設計上能夠滿足SIL2要求,在系統硬件架構設計采用通用的冗余配置基礎上,硬件自身的設計通過故障模式影響分析對安全性隱患進行了全面的控制。對于現貨供應的硬件產品,以其可靠性指標平均無故障間隔時間作為系統安全設計的保證。
CCU作為TCMS的核心硬件,其板卡是符合ROHS認證的嵌入板,主要由一個中間層CPU模塊及一個PC/104-Plus結構的承載板組成,其100 MHz高速緩存處理保證了信息處理的及時性;其內置看門狗定時獨立保護系統,保證了系統出現故障時,在可選的定時周期內(2~255 s)立即切換到備份/冗余系統。DCCU內部硬件配置與CCU具有完全一致的結構,關鍵區別在于軟件的配置。DCCU在整個系統的架構上依然以冗余設計為基礎,其內置Intel處理器、芯片集及雙備份的故障信息存儲機制充分保證了監控信息的可靠性。
作為控制WTB和MVB間的信息傳輸的UIC網關依照TCN標準設計,從MVB角度來看,它是一個通常作為仲裁者的設備;從WTB角度來看,它是一個可以配置為主節點或者從節點。其功能和能量消耗可以通過外部16個數字量輸入來控制,并且可以通過4個數字量輸出來控制車輛的其他設備。TCN-GW01可以用計算機軟件通過RS232線纜來配置,為了提高可靠性,TCN-GW01系統完全冗余,意味著所有的功能是雙份,進一步提高了TCMS系統整體的安全性。
人機接口單元X86成熟的硬件構架,顯示器的數據強大處理能力使其在RS485高速通訊的情況下能夠保持畫面的正常顯示以及數據的正確處理。數字量輸入、輸出模塊、中繼器及電源模塊等的成熟設計都在提高硬件可靠性的基礎上,保證了TCMS運行安全性。
由于TCMS硬件整體結構從降低成本角度考慮保持了簡單可靠的設計原則,而由此帶來的硬件冗余度的缺乏導致軟件結構的較大復雜性,更為全面的安全性要求只能通過軟件機制來完成。
對于TCMS的軟件架構,通過定義一系列"模塊"予以說明,如系統軟件模塊、底層支持軟件模塊及應用軟件模塊等。系統軟件為底層的支持軟件裝載于主控CCU單元內,主控CCU基于32位X86構架,增加了Vxworks實時操作系統和IEC 61131的圖形化編程功能,提升了整個控制系統軟件的實時性、可靠性和用戶開放性。底層支持軟件模塊主要包括與硬件相關接口驅動軟件、網絡配置組件及與TCN協議棧通訊功能等相關的接口軟件。應用軟件模塊采用圖形化編程軟件,采用符合IEC 61131國際標準的OPENPCS軟件。OpenPCS的軟件開發平臺支持IEC 61131-3標準所規定的5種編程方式IL,ST,LD,FBD,SFC。通過采用IEC 61131的圖形化編程功能可以將應用軟件的功能控制部分進行圖形化設計和編寫,保證了軟件的開發、驗證及確認安全性活動的有效實施。
全局監測組態關鍵是TCMS主軟件,它起到一個執行監測器、一個軟件看門狗、一個日志管理器和一個診斷管理器的作用。它充當一個全局調度程序,處理人機接口單元上執行的所有操作,實施調度規則,并允許和停止每個操作的執行。它可識別引起HMI運行模式更改的條件,并在模式改變(例如實施一個測試策略、執行一個操作、掛起或重新開始一個線程)時執行配置系統所必需的操作。在運行模式更改情況下,全局監測激活了模式更改程序。它同時包含一組靜態表格(這些表格支持停止進程、用于啟動的新進程和必要的存儲器指針),其中有關于模塊失效和激活的規則。此外,檢驗系統配置的全局監測通常在當前操作模式中所預先予以設定,其檢驗與測試程序模塊起到執行檢驗和測試操作的作用。測試模塊包含測試設備所需要的所有算法,并提供設置測試策略的服務;檢驗模塊則執行數據接受機制、可靠性校驗和多種計算的對比,并且它定期執行校驗。從安全機制角度考慮,在軟件設計中控制流程監測機制和軟件看門狗都采用。
北京地鐵項目TCMS軟件除在設計中對安全性要求予以充分貫徹外,軟件開發流程控制也嚴格遵守EN 50128中SIL2標準要求,形成了軟件代碼設計、測試、模塊設計、測試及系統集成設計、測試標準化開發體系,并且對生命周期各階段軟件開發活動進行了驗證,最終通過確認軟件開發SIL2的要求得以滿足。
根據安全性設計中的故障—安全導向原則,有效的故障檢測起到一個決定性作用。當一種故障被監測到,由此產生的風險必須導致安全的狀態,這種故障處理方式保證了通過正確重試機制或通過故障停止行為檢測故障情況下的TCMS運行安全性,而對于未檢測到的故障則促進了風險的增加。
根據安全性標準EN 50129可知,系統故障(尤其是軟件設計故障)的潛在風險主要通過相應于SIL2的質量和安全管理對開發期間故障進行防止和消除。通過故障檢測可檢測出永久故障和暫時故障兩種隨機故障。
永久硬件故障通過具有高故障覆蓋率的有效試驗程序進行檢測,包括以下4種測試方式:
⑴RAM和閃存通過marsh試驗算法[3]進行測試;
⑵CPU通過一個試驗軟件套件校驗以檢測寄存器、內部總線、算法和邏輯單元以及指令譯碼中的故障;
⑶基于校驗驗證的ROM測試;
⑷ 外設(鍵盤、LCD燈、音頻設備)的測試通過人工實際操作得以驗證。
硬件永久故障和隨機暫時故障的監測主要取決于軟件執行的檢測作用的最終影響結果。考慮到安全標準的推薦,我們把防錯性程序設計技術分成如下3類:(1)“防錯性程序設計”技術用于檢測反常數據流或數據值,如“故障斷言程序”、“安全包”、“譯碼”屬于數據接受、可靠性校驗的分類,因為這種技術關注于程序中間故障及輸出結果。(2)而“防錯性程序設計”技術用于檢測異常控制流,如“程序數組監控”和“存儲執行的路徑”則屬于控制流程監測范圍的分類,因為它們只致力于影響計算控制流的故障。(3)區別于以上兩類故障檢測技術,多種計算與對比是在數據和控制都有關的故障情況下一種高效率的通用技術,它的特點在于能夠結合多樣程序對軟件設計的故障進行檢測。
數據接受、可靠性校驗在數據處理功能情況下不失為一種有效方式,但只有在能分配接受準則給中間或輸出數據時結果正確性才能得到保證。控制流監測在控制相關功能中更為有效,但其覆蓋范圍是有限的,因為,即使控制流本身是正確的計算結果也可能不正確。此外,數據接受校驗還能檢測程序是否受到控制流誤差的影響。多種計算與對比在時間和存儲費用上來說是昂貴的,因此它們只能在其他技術不能滿足時才使用。根據這些觀察和TCMS系統不同特性的分析,選擇表2中列出的故障檢測技術予以實施。

表2 分配給TCMS功能的誤差檢測技術
數據接受、可靠性校驗作為規定應用的故障檢測技術應在相應模塊設計階段提出。而控制流監測作為對所校驗模塊實際功能的檢測可以獨立應用的一種檢測機制予以采用:參考的控制流能從模塊的源代碼提取,并且一個可再次使用的校驗器元件(通常所謂的一個看門狗程序,WP)能檢驗運行控制流是否對應于參考數據流。為了便于對比,壓縮標志符分配給不同的程序狀態,并且這些識別標志的運行結果被轉換到WP。WP檢驗識別標志是否能定期地收到,并表現為參考控制流所允許的一個有效的控制流。識別標志按在處理(檢驗結果和時序安排)、功能運行(檢驗函數調用分類)或聲明(依據句法結構檢驗允許的轉換)的等級進行有效分配。
用于識別標志的操作說明能夠通過手動或通過一個源代碼預處理程序插入到程序源中。預處理程序執行一個輸入編程語言的句法分析程序,分配識別標志給程序狀態(取決于選定的等級水平),并最終產生測試化的原始資料和用于WP的參考信息。北京地鐵項目TCMS的設計過程中,用一個看門狗程序處理器在源程序中插入標志數據符實現故障的有效檢測。
針對目前國內鐵路運營系統設備的安全要求狀況,TCMS是一個沒有完整安全要求定義的系統。但是,對于列車運行控制的安全性以及運營服務的安全任務保證性,對TCMS是完全必要的。
以北京地鐵項目為例詳述了一個基于SIL2要求的列車網絡控制系統的整體設計。系統構建難點在于簡化的硬件結構及低開發成本。在軟件模塊化設計中TCMS已經滿足功能性和安全性的要求;TCMS更多的軟件邏輯編程的控制及硬線冗余設計都使列車運行安全性得以充分保證,最終確保列車網絡控制系統安全完整性等級達到2級水平。
[1]CENELEC.EN50129-鐵路應用-通信、信號發送與處理系統-用于信號發送的安全相關的電子系統[S].2003.
[2]CENELEC.EN50128-鐵路應用-通信、信號發送與處理系統-用于鐵路控制與保護系統的軟件[S].2001.
[3]A.J.van de Goor.半導體存儲器測試:理論與實踐[M].John Wiley&Sons,Inc.,紐約,NY,美國,1991.