王先帥 中國(guó)鐵路上海局集團(tuán)有限公司電務(wù)部
目前,采用CTCS-3 級(jí)列控系統(tǒng)構(gòu)建的錯(cuò)綜復(fù)雜的高速鐵路網(wǎng)已實(shí)現(xiàn)互聯(lián)互通。但隨著新線路的陸續(xù)開(kāi)通,線路上不同廠家設(shè)備并存的現(xiàn)象越來(lái)越普遍,設(shè)備間的接口也越來(lái)越多,越來(lái)越復(fù)雜。我國(guó)高速鐵路交叉成網(wǎng)、運(yùn)輸密度高、運(yùn)營(yíng)場(chǎng)景復(fù)雜,在某些特定的場(chǎng)景下,設(shè)備之間通信不匹配的問(wèn)題偶有發(fā)生。筆者結(jié)合管內(nèi)設(shè)備運(yùn)行情況,對(duì)兩起設(shè)備間通信中斷問(wèn)題進(jìn)行分析與探討。
徐鹽鐵路引入徐州東樞紐時(shí),對(duì)徐州東樞紐地區(qū)的RBC管轄范圍做過(guò)適應(yīng)性調(diào)整,調(diào)整后的RBC 管轄情況見(jiàn)圖1。
圖1 徐州東樞紐RBC 管轄范圍示意圖
其中,徐鹽RBC1 為鐵科院產(chǎn)品,首次在管內(nèi)運(yùn)用。鄭徐RBC3 為通號(hào)院產(chǎn)品,2015 年開(kāi)通運(yùn)用至今。兩個(gè)RBC 的切換點(diǎn)位于徐蘭高速徐州東線路所至銅山線路所之間。
徐鹽RBC1 開(kāi)通后,動(dòng)車組在徐蘭高速上行線運(yùn)行,會(huì)偶發(fā)以下故障:當(dāng)運(yùn)行至鄭徐RBC3(移交RBC)與徐鹽RBC1(接收RBC)移交區(qū)時(shí),由于兩個(gè)RBC 之間通信中斷,導(dǎo)致ATP 車載接收的MA 突然縮短,造成列車緊急制動(dòng)停車。
為切實(shí)找準(zhǔn)故障原因,對(duì)安全層數(shù)據(jù)和應(yīng)用層邏輯進(jìn)行分析,以2019 年10 月24 日發(fā)生的故障為例進(jìn)行探討。
(1)安全層數(shù)據(jù)分析情況:雙方RBC 采用RSSP-II 協(xié)議,使用TTS 通信方式。在TTS 通信方式下,相鄰RBC 通過(guò)定期互相發(fā)送時(shí)鐘偏移信息實(shí)現(xiàn)握手,其中時(shí)鐘偏移請(qǐng)求和時(shí)鐘偏移應(yīng)答信息格式完全相同。
對(duì)故障時(shí)刻安全數(shù)據(jù)網(wǎng)的數(shù)據(jù)抓包見(jiàn)圖2。
圖2 安全數(shù)據(jù)網(wǎng)抓包數(shù)據(jù)
根據(jù)抓包數(shù)據(jù),徐鹽RBC1 發(fā)送3 包應(yīng)用數(shù)據(jù)(抓包序號(hào)22816、22824 和 22834)后,隨即發(fā)送了時(shí)鐘偏移更新請(qǐng)求(抓包序號(hào)22860),經(jīng)調(diào)閱分析,這四包數(shù)據(jù)的時(shí)戳均為0xlc3919a9。
在徐鹽RBC1 發(fā)出時(shí)鐘偏移更新請(qǐng)求(22860)的同時(shí),鄭徐RBC3 發(fā)送了時(shí)鐘偏移更新請(qǐng)求(22874)。由于在此前已收到徐鹽RBC1 時(shí)間戳為0xlc3919a9 的應(yīng)用數(shù)據(jù)(22816、22824和 22834),(22874) 中“上一次接收方時(shí)間戳”設(shè)置為0xlc3919a9,導(dǎo)致徐鹽 RBC1 誤認(rèn)為鄭徐 RBC3 發(fā)送的(22874)是對(duì)(22860)的時(shí)鐘偏移更新應(yīng)答,徐鹽RBC1 判斷時(shí)鐘偏移更新流程完成。而鄭徐RBC3 發(fā)送的真正時(shí)鐘偏移更新應(yīng)答(22877)又被徐鹽RBC1 認(rèn)為是下一次時(shí)鐘偏移請(qǐng)求,徐鹽RBC1 針對(duì)誤認(rèn)的請(qǐng)求信息(22877)發(fā)送新的時(shí)鐘偏移應(yīng)答數(shù)據(jù)。由于存在這種錯(cuò)位誤判,在后續(xù)的信息交互中,兩RBC 均把對(duì)方RBC 發(fā)送的“應(yīng)答信息”誤判成“請(qǐng)求信息”,均認(rèn)為對(duì)方RBC 不停的發(fā)送“請(qǐng)求信息”而不處理本RBC 發(fā)送出去的“應(yīng)答信息”,鄭徐RBC3 無(wú)法完成時(shí)鐘偏移更新,直至鄭徐RBC3 第五次發(fā)送“請(qǐng)求信息”超時(shí)后,向徐鹽RBC1 發(fā)送中斷通知(DI),兩 RBC 通信中斷。
(2)應(yīng)用層邏輯分析情況:鄭徐RBC3 與徐鹽RBC1 通信中斷后,鄭徐RBC3 啟動(dòng)C3 降C2 流程;10S 后,徐鹽RBC1發(fā)送AU1,重新建立安全連接,與鄭徐RBC3 通信連接恢復(fù)正常,并向鄭徐RBC3 發(fā)送“取消移交”指令;鄭徐RBC3 采用“取消移交”指令,將MA 縮短至RBC 邊界,造成ATP 車載設(shè)備接收的MA 突然縮短。
通過(guò)上述分析,可以看出問(wèn)題的根本原因在于雙方RBC均不能準(zhǔn)確區(qū)分對(duì)方發(fā)送來(lái)的時(shí)鐘偏移請(qǐng)求和時(shí)鐘偏移應(yīng)答信息。
實(shí)際上,為準(zhǔn)確區(qū)分時(shí)鐘偏移請(qǐng)求、時(shí)鐘偏移應(yīng)答信息,通號(hào)院RBC 和鐵科院RBC 也均采取了相應(yīng)措施。通號(hào)院RBC 通過(guò)優(yōu)化協(xié)議棧的方式,區(qū)分同一周期內(nèi)不同消息的時(shí)間戳;鐵科院RBC 增加了對(duì)時(shí)鐘偏移信息的防護(hù)機(jī)制。因此同型設(shè)備之間互相通信時(shí),不會(huì)發(fā)生類似問(wèn)題。但在互聯(lián)互通場(chǎng)景中,兩家設(shè)備間互相通信時(shí),由于采取的措施不同,則無(wú)法準(zhǔn)確區(qū)分對(duì)方發(fā)來(lái)的時(shí)鐘偏移信息。
鑒于平臺(tái)原因及修改底層數(shù)據(jù)的難度,經(jīng)通號(hào)院、鐵科院通號(hào)所共同研究,雙方RBC 在以下方面進(jìn)行優(yōu)化,以解決該問(wèn)題。
(1)安全層方面,優(yōu)化修改通號(hào)院RBC。目前通號(hào)RBC 與鐵科RBC 配置的時(shí)鐘偏移請(qǐng)求間隔均為2 min,通過(guò)調(diào)整通號(hào)RBC 發(fā)送時(shí)鐘偏移請(qǐng)求間隔(如改為2 min30 s),將雙方更新時(shí)鐘偏移的周期錯(cuò)開(kāi),最大程度降低觸發(fā)該場(chǎng)景的概率。
(2)應(yīng)用層方面,優(yōu)化修改鐵科院RBC。一是修改重連時(shí)間參數(shù)和應(yīng)用層超時(shí)時(shí)間,RBC 建立TCP 連接后立即啟動(dòng)安全連接建立,同時(shí)修改應(yīng)用層判斷超時(shí)時(shí)間,由5 s 修改為7 s;二是修改判斷應(yīng)用層連接超時(shí)后不發(fā)送“取消移交”M#204 消息,這樣即使發(fā)生RBC 通信中斷的情況,列車會(huì)無(wú)線超時(shí)降級(jí)C2 運(yùn)行,不會(huì)觸發(fā)緊急制動(dòng)停車,增加了可用性。
滬杭高鐵線,RBC 為通號(hào)院設(shè)備,計(jì)算機(jī)聯(lián)鎖為卡斯柯設(shè)備,自2010 年開(kāi)通以來(lái)運(yùn)用至今。2019 年下半年,滬杭RBC 2 與嘉興南聯(lián)鎖偶發(fā)通信中斷故障。
以2019 年12 月10 日發(fā)生的故障為例,對(duì)相關(guān)數(shù)據(jù)及邏輯進(jìn)行分析。
(1)聯(lián)鎖數(shù)據(jù)分析
2019 年 12 月 10 日,19:34:56.690,CBI(172.74.21.53)3.5秒內(nèi)沒(méi)有收到RBC 發(fā)送的應(yīng)用層數(shù)據(jù),因此向RBC(172.74.21.155/156)發(fā)送 DI(請(qǐng)求中斷)數(shù)據(jù)包,RBC 收到后將通信中斷,并進(jìn)行重連,重連后恢復(fù)正常,聯(lián)鎖數(shù)據(jù)見(jiàn)圖3。
圖3 嘉興南站聯(lián)鎖抓包數(shù)據(jù)截圖1
進(jìn)一步對(duì)聯(lián)鎖數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)RBC 向CBI 發(fā)送的數(shù)據(jù)包進(jìn)行了拆包處理(見(jiàn)圖4)。
圖4 嘉興南站聯(lián)鎖抓包數(shù)據(jù)截圖2
(2)邏輯分析
滬杭高鐵線于2010 年開(kāi)通運(yùn)營(yíng),RBC 與CBI 通信協(xié)議參照《鐵路信號(hào)安全通信協(xié)議技術(shù)規(guī)范》(運(yùn)基信號(hào)〔2010〕267號(hào))執(zhí)行,規(guī)范中明確“用戶數(shù)據(jù)長(zhǎng)度不超過(guò)1 000 字節(jié)”,因此當(dāng)RBC 向CBI 發(fā)送的數(shù)據(jù)超過(guò)一定字節(jié)數(shù)時(shí),需進(jìn)行拆包處理。
其中通號(hào)院RBC 拆包邏輯為:當(dāng)RBC 向CBI 發(fā)送的數(shù)據(jù)包字節(jié)數(shù)超過(guò)480 字節(jié)時(shí),即進(jìn)行拆包處理。
卡斯柯CBI 對(duì)RBC 發(fā)送來(lái)的拆包數(shù)據(jù)處理邏輯為:CBI默認(rèn)RBC 只有在發(fā)送的數(shù)據(jù)包字節(jié)數(shù)超過(guò)1 000 字節(jié)時(shí)才會(huì)拆包,而對(duì)通號(hào)院RBC 發(fā)送的480 字節(jié)的拆包數(shù)據(jù)不識(shí)別,認(rèn)為數(shù)據(jù)異常,CBI 應(yīng)用層判斷沒(méi)有收到來(lái)自RBC 的有效信息。
《列控系統(tǒng) RBC 接口規(guī)范》(運(yùn)基信號(hào)〔2010〕533 號(hào))第5.1.1.2 規(guī)定:如果CBI 在規(guī)定時(shí)間內(nèi)未收到來(lái)自RBC 的有效信息,則認(rèn)為與RBC 的通信中斷。因此當(dāng)RBC 拆包發(fā)送持續(xù)時(shí)間超過(guò)3.5 s 的情況時(shí),CBI 應(yīng)用層判斷超時(shí),發(fā)送DI 數(shù)據(jù)包,主動(dòng)切斷通信嘗試重連。
通過(guò)上述分析,可以看出問(wèn)題的根本原因是:在特殊場(chǎng)景下,當(dāng)RBC 在同一周期內(nèi)向CBI 發(fā)送的字節(jié)數(shù)較大時(shí)(大于480 字節(jié)),由于RBC、CBI 對(duì)拆包數(shù)據(jù)的處理方式不同,導(dǎo)致CBI 無(wú)法正確識(shí)別RBC 數(shù)據(jù)。
解決該問(wèn)題,可從兩個(gè)方面考慮:(1)修改RBC 拆包邏輯,即當(dāng)RBC 向CBI 發(fā)送的數(shù)據(jù)包字節(jié)數(shù)超過(guò)1000 字節(jié)時(shí),再進(jìn)行拆包處理;(2)修改CBI 對(duì)RBC 發(fā)送來(lái)的拆包數(shù)據(jù)的處理邏輯,即能夠有效識(shí)別通號(hào)院RBC 發(fā)送的480 字節(jié)的拆包數(shù)據(jù)。
鑒于RBC 平臺(tái)問(wèn)題及參數(shù)修改難度,經(jīng)通號(hào)院、卡斯柯共同研究,對(duì)CBI 的處理邏輯進(jìn)行適應(yīng)性修改。
(1)相關(guān)設(shè)備供應(yīng)商編制的軟件都在標(biāo)準(zhǔn)體系框架內(nèi),沒(méi)有突破規(guī)范,但由于各家對(duì)標(biāo)準(zhǔn)的理解不同,在執(zhí)行時(shí)同一條款時(shí),處理方式不盡相同,軟件存在差異化,兼容性上并非完全匹配。
(2)上述問(wèn)題都不是設(shè)備上道后立即出現(xiàn),而是在設(shè)備運(yùn)用一段時(shí)間甚至相當(dāng)一段時(shí)間后,在某種特殊場(chǎng)景下出現(xiàn)。故障雖不是普遍發(fā)生,但十分典型。
(1)設(shè)備供應(yīng)商在編制軟件時(shí),各自為戰(zhàn),缺少必要、全方位的溝通,對(duì)軟件處理上的差異性相互之間沒(méi)有做到全面交底,機(jī)器語(yǔ)言傳送時(shí),不能準(zhǔn)確識(shí)別,設(shè)備上道后不能適應(yīng)錯(cuò)綜復(fù)雜的現(xiàn)場(chǎng)運(yùn)用場(chǎng)景。
(2)設(shè)備上道前互聯(lián)互通試驗(yàn)不充分,測(cè)試案例不全面,測(cè)試序列不詳細(xì),沒(méi)有對(duì)軟件的差異化處理進(jìn)行全面的梳理與驗(yàn)證。
(1)細(xì)化標(biāo)準(zhǔn)。主要是指CTCS-3 級(jí)列控系統(tǒng)標(biāo)準(zhǔn)體系中,通信語(yǔ)言中的消息類型、消息中各字段的含義和取值范圍進(jìn)行明確的定義,避免引起歧義、多義,杜絕不同設(shè)備供應(yīng)商存在不同的理解。
(2)加強(qiáng)溝通與對(duì)接。主要是指在軟件編制前,相關(guān)設(shè)備供應(yīng)商之間對(duì)軟件處理方式進(jìn)行全面的技術(shù)交底,特別是接口間傳遞的消息和報(bào)文格式須具有統(tǒng)一的布局,統(tǒng)一的報(bào)文定義。
(3)全覆蓋測(cè)試。主要是指設(shè)備上道之前進(jìn)行的軟件互聯(lián)互通試驗(yàn)應(yīng)嚴(yán)謹(jǐn)周詳,編制全覆蓋測(cè)試案例,再量化成詳細(xì)的測(cè)試序列來(lái)驗(yàn)證預(yù)設(shè)測(cè)試案例的正確性。需要指出的是,建議不同設(shè)備供應(yīng)商將軟件存在的差異化處理進(jìn)行列表,逐條確認(rèn)測(cè)試序列是否覆蓋,滿足互聯(lián)互通要求。
隨著后續(xù)大批線路的開(kāi)通和新型設(shè)備的上道使用,設(shè)備間通信不匹配的問(wèn)題還會(huì)出現(xiàn)。通過(guò)細(xì)化標(biāo)準(zhǔn)、規(guī)范軟件編制與測(cè)試可大大降低問(wèn)題出現(xiàn)的概率。即便在運(yùn)用中出現(xiàn)類似問(wèn)題,積極對(duì)底層數(shù)據(jù)和處理邏輯進(jìn)行分析,也會(huì)很快找到癥結(jié)所在,制定出切實(shí)可行的解決方案。