崔新民
(北京全路通信信號研究設計院,北京 100073)
DS6-K 5B(以下簡稱K 5B)系統是北京全路通信信號研究設計院與日本京三公司合作開發的成熟的計算機聯鎖系統。
該系統具有二乘二取二冗余結構, 聯鎖機由并列兩重系組成,以主從方式并行運行。每一系采用故障-安全的雙CPU處理器,稱邏輯控制單元,用于完成聯鎖邏輯運算和聯鎖系統軟硬件管理,以二取二表決保證該層的故障-安全特性。
該系統單系采用雙CPU總線同步比較方式保障故障-安全。兩系之間采取處理周期同步的并行運行方式。正常時,兩系同時具有向外進行控制輸出的能力。當一系發生故障時,另外一系轉入單系工作,而故障系停止對外輸出。系統單系保證“故障-安全”,兩重系保證高可用性。
K 5B系統中,邏輯部的軟件由應用軟件和系統軟件兩部分組成。應用軟件負責邏輯運算;系統軟件負責硬件管理、輸入輸出管理以及通信和周期管理。
多年來,K 5B系統在現場運行狀況良好,邏輯部的雙系幾乎未發生不同步的現象,一系故障時,自動切換到另一系運行,對現場使用沒有任何影響。
但K 5B系統增加以太網接口后,現場發生雙系不同步的情況明顯增多。當雙系不同步時,如果發生系切換,會影響設備運行的連續性,嚴重時可能使系統停機,甚至產生危險性錯誤。
雖然問題發生的概率比較小,但在二乘二取二系統冗余結構中,雙系的同步運行是至關重要的。在CTCS-3級列控系統中,作為聯鎖或列控中心控制的K 5B系統一旦故障,可能會影響相關RBC控制范圍內的所有列車運行,影響面巨大。為了提高設備可用性,我們組織人員,對問題發生的原因進行了分析。
K 5B系統邏輯部的兩系間采用“或”的思想來保證輸入數據一致性,從而獲得一致的輸出,保證雙系的同步,如圖1所示。

圖1中,邏輯部每一系的輸入數據,包括電子終端(ET)輸入數據,人機界面(MM I)輸入數據、125 M高速LAN輸入數據,在進入邏輯部前,都由系統軟件經過“或”處理。這樣處理的目的是使外部不同通道收到的數據,在送達雙系之前經過一致性處理,使邏輯部雙系在每周期運算的開始得到相同的輸入數據,由于它們運行相同的邏輯,自然產生相同的輸出數據,從而保證雙系運行的同步。
邏輯部在增加以太網接口后,與外部的接口發生了變化,如圖2所示。

圖2中,以太網的數據與其他來源的數據有所區別。由于以太網數據對系統軟件不透明,系統軟件無法對以太網數據進行“或”操作。通常K 5B通過以太網連接的設備對象較多,雙系分別使用自己的以太網接口與通信對象建立通信任務,冗余連接的通信任務存在一些微小的通信時差,這些時差可使每個周期K 5B兩系所獲得的外部數據產生不同。當兩系以太網的數據不一致時,雙系就不能同時得到相同的運算輸入,容易產生不同步的對外輸出,如圖3所示。

綜上所述,由于以太網的接入,導致雙系輸入數據的不一致,從而造成系統不同步。由于以太網數據對系統軟件不透明,使系統軟件無法對以太網輸入數據進行同步處理,但通過應用軟件對以太網數據進行解析后,進行“或”處理,可以有效解決該問題。
如圖4所示,大多數情況下,系統都是雙系同時運行,在每個運行周期內,I系可以接收到一份以太網數據,同時又通過雙系間的通信通道,取得II系的以太網數據,然后進行適當的合并處理,得到的新數據作為運算輸入。同樣,對于II系來說,將自己接收到的以太網數據與通過雙系間的通信通道得到的I系以太網數據進行合并處理,作為運算輸入。

由于K 5B的雙系基本是同步運行的,每個運行周期經過以上處理后,即使I系和II系的以太網數據不一致,合并處理后的以太網數據卻可保持一致,經過運算后,自然產生相同的輸出,保證I系和II系的同步。
值得注意的是,雙系數據的合并處理算法應根據具體的應用和接口數據協議來確定,合并處理的目的是使兩系輸入數據保持一致性,并能提高系統的可用性。因此,必須遵守任何一系的數據均是通過了安全校驗的數據原則,即保證當兩系以太網數據不一致時,合并處理的結果數據既能保證一致性,又能保證安全性。
我們采用上述方案對應用軟件進行修改,并在實驗室進行了試驗驗證。試驗環境采用一套完整的邏輯部,I系作為主系,II系作為備系,如圖5所示。

試驗結果如表1所示。

表1 試驗結果
通過對K 5B加入以太網接口,導致的雙系不同步現象的分析,找到了問題產生的原因,根據導致問題的原因,采取了數據合并的處理措施,并且對實施方案進行了有效的驗證。
通過以太網的數據合并處理,大大提升了K 5B系統的雙系同步機率,從而提高了系統的可用性,使該系統在運行CTCS-3級列控系統的客運專線上的可靠運營得到了保障。