樊 亮,方 凱,殷 源
(株洲中車時代電氣股份有限公司,湖南 株洲 412001)
關(guān)于軌道交通系統(tǒng)在運行過程中出現(xiàn)故障的可能性,大多數(shù)研究只涉及了3種情況:(1)任務(wù)執(zhí)行過程中出現(xiàn)故障;(2)在狀態(tài)檢測過程中出現(xiàn)故障;(3)在狀態(tài)返回過程中出現(xiàn)故障[1]。針對信號系統(tǒng)實時處理能力不足而導(dǎo)致故障的問題,多數(shù)研究只進行了簡單的時間分配處理,而沒有進行合理性分析。
在高速軌道交通系統(tǒng)中,信號系統(tǒng)是整個磁懸浮列車的重要子系統(tǒng)[2]。信號系統(tǒng)實時處理能力是高速列車超速防護響應(yīng)時間的重要指標。對于SIL4(safe integrity level,安全完整性等級)級信號系統(tǒng)的列車自動防護系統(tǒng),信號系統(tǒng)實時處理能力直接影響自動防護系統(tǒng)對速度曲線控制的效果及列車運行的安全。一旦信號系統(tǒng)出現(xiàn)事件不能及時處理情況,將產(chǎn)生錯誤的防護動動作,導(dǎo)致信號系統(tǒng)降級處理。若在設(shè)計之初就建模分析事件的響應(yīng)處理時間,則可避免產(chǎn)生錯誤的防護操作。本文對信號系統(tǒng)響應(yīng)處理事件的實時性分析主要采用2種方法:(1)采用速率單調(diào)分析法對系統(tǒng)多任務(wù)處理事件進行負載能力可行性分析,以保證系統(tǒng)處理每個事件不失效。(2)在事件周期性實時處理時間劃分后,進行周期性事件可行性分析,以保證每個事件都能在規(guī)定的時間內(nèi)處理完成,從而確保事件處理時間的合理性。
信號系統(tǒng)是一個復(fù)雜系統(tǒng),當前信號系統(tǒng)場景的執(zhí)行是否安全,主要與2個指標有關(guān),一是事件觸發(fā)場景執(zhí)行結(jié)果,二是場景事件處理完成時間。這2個指標必須都完成。如果一個場景執(zhí)行正確但超過了處理完成時間,可能導(dǎo)致這個結(jié)果無效。
一個程序是處理器中可執(zhí)行的指令代碼,而這個指令代碼是采用循環(huán)順序執(zhí)行的,這個循環(huán)周期就是主周期。在高速磁浮系統(tǒng)中,為了提高事件處理響應(yīng)時間,主周期變得很短,但多數(shù)場景事件處理時間并未縮短,如果按照順序執(zhí)行方式處理事件,多數(shù)場景事件可能需要等待幾個周期后才能開始執(zhí)行,事件開始執(zhí)行時間變成不可預(yù)知。要使場景事件的執(zhí)行可預(yù)知,需要把主周期分割成多個小周期,主周期的時間是所有場景事件周期的最小公倍數(shù)。這樣,每個小周期的場景事件可被循環(huán)調(diào)用執(zhí)行,其執(zhí)行由事件觸發(fā)。
目前大多數(shù)信號系統(tǒng)執(zhí)行事件處理方式為周期順序執(zhí)行。而高速磁浮信號系統(tǒng),對響應(yīng)時間提出了更高要求,事件的響應(yīng)處理必須在規(guī)定的時間內(nèi)完成,這就要求部分事件響應(yīng)須可調(diào)度執(zhí)行。本設(shè)計采用時鐘驅(qū)動調(diào)度算法周期性地調(diào)度觸發(fā)事件執(zhí)行,而且每個事件的調(diào)度執(zhí)行時刻是預(yù)知的。
在信號系統(tǒng)實時處理分析中,如果在設(shè)計之初對場景事件的執(zhí)行時刻及執(zhí)行完成時間不預(yù)先進行合理性分析,則在后續(xù)的設(shè)計過程中即使采取有效合理的方法也很難進行安全預(yù)防,從而可能導(dǎo)致無法預(yù)知的后果。本文采用合理的調(diào)度算法對場景事件的周期進行合理設(shè)計,在設(shè)計初期就消除因多處時間并發(fā)或周期處理不合理導(dǎo)致的事件處理堵塞安全隱患。
合理劃分場景事件周期性觸發(fā)時間后,將進行響應(yīng)時間的可調(diào)度性分析,其采用的方法是速率單調(diào)法。速率單調(diào)分析算法的公式為[3]
式中:Ci——任務(wù)i的最長執(zhí)行時間;Ti——任務(wù)i的周期;n——任務(wù)總個數(shù);U(n)——CPU利用系數(shù)的上限。
利用系數(shù)上限U(n)=Ci/Ti,可判斷任務(wù)的可調(diào)度性。速率單調(diào)分析算法的限制前提條件是:(1)各個任務(wù)之間相互獨立,不存在同步關(guān)系;(2)各任務(wù)的截止時間等于任務(wù)的周期;(3)周期運行時,各任務(wù)的每次執(zhí)行時間都是固定的,任務(wù)的周期越短,優(yōu)先級越高。
目前,采用信號系統(tǒng)有限狀態(tài)在生命周期中進行有限的狀態(tài)跳轉(zhuǎn)實現(xiàn)系統(tǒng)的安全分析,但不能滿足高速系統(tǒng)事件實時性要求。根據(jù)信號系統(tǒng)實時并發(fā)處理的條件進行建模分析,一方面采用時鐘驅(qū)動調(diào)度算法進行計算事件的周期性觸發(fā)時間,保證每個事件都能在規(guī)定的時間內(nèi)處理完成,避免超時故障帶來的安全隱患分析;另一方面采用速率單調(diào)法分析場景任務(wù)可調(diào)度性,從而判斷系統(tǒng)負載能力支持任務(wù)的可調(diào)度,不會因多處事件觸發(fā),而無法調(diào)度任務(wù)處理而出現(xiàn)安全隱患。
通過以上分析及計算分析出場景事件的觸發(fā)條件及相關(guān)參數(shù),同時可以采用模擬器對場景進行模擬信號控制,減少系統(tǒng)分析師個人經(jīng)驗錯誤,提高了信號系統(tǒng)安全隱患分析的效率,為下一步的設(shè)計提供了堅實的理論基礎(chǔ)。
在高速磁浮系統(tǒng)中,車載運行控制系統(tǒng)對響應(yīng)時間提出了更高要求,首先需對車載運行控制系統(tǒng)的功能模塊進行劃分,然后對預(yù)設(shè)時間參數(shù)進行合理性分析,最后再進行場景任務(wù)可調(diào)度性分析。
在磁浮列車兩端各設(shè)1臺車載子系統(tǒng)機柜用于安裝車載子系統(tǒng)設(shè)備。車載運行控制系統(tǒng)(vehicle control system,VCS)主要包括車載安全計算機(vehicle safety computer,VSC)、控制面板、安全測速單元、輔助駕駛裝置(assistant operation module,AOM)、車載無線電控制單元(mobile radio control unit,MRCU)及車輛控制設(shè)備等,如圖1所示。其中,MRCU屬于車地無線通信系統(tǒng),其與地面分區(qū)無線電控制單元(decentralized radio control unit,DRCU)進行無線連接;DRCU與分區(qū)安全計算機(decentralised safety computer, DSC)及列車自動監(jiān)控(automatic train supervision, ATS)進行連接,實現(xiàn)車載與地面的數(shù)據(jù)交互。
圖1 車載系統(tǒng)與車輛接口示意Fig. 1 Schematic diagram of interface between onboard system and vehicle
VSC主要包括分區(qū)運控模塊、中央運控模塊、輔助駕駛模塊AOM、無線電控單元模塊、測速測距單元模塊、車載診斷網(wǎng)模塊及車輛控制網(wǎng)模塊,如圖2所示。圖中,車載運控模塊通過與中央運控模塊及分區(qū)運控模塊交互,得到時刻表授權(quán)信息及列車運行進路信息,從而進行列車自動防護監(jiān)控操作;同時根據(jù)事件的響應(yīng)發(fā)送命令給車輛控制網(wǎng)模塊進行車輛運行控制;通過車載診斷網(wǎng)模塊采集車輛設(shè)備信息并通過測速測距模塊采集速度和列車位置等信息,依此進行列車位置和速度的監(jiān)控防護;而無線電控單元模塊則可以實時獲取遠端數(shù)據(jù)并傳輸給車載運控模塊[4]。以上這些軟件模塊共同構(gòu)成了車載運控的場景需求。其中AOM只進行輔助功能,所以本設(shè)計不考慮。
圖2 車載任務(wù)模塊的通信及依賴關(guān)系Fig. 2 Communication and dependency of vehicle task module
高速磁浮對實時控制性能要求很高,尤其是在軟件實時處理方面。因此,針對車載安全計算機系統(tǒng),根據(jù)實時時間需求對其車載控制模塊進行劃分,具體如下:
(1)車載運控模塊
列車兩端各設(shè)1套VSC,VSC采用雙機冗余的系統(tǒng)結(jié)構(gòu)。系統(tǒng)運行采用雙機熱備工作方式[2]。VSC主要實現(xiàn)列車啟動、列車關(guān)閉、列車登錄、列車定位、強制停車管理、列車運行模式轉(zhuǎn)換、列車懸浮、停止(靜止)監(jiān)控、渦流制動、車載控制設(shè)備監(jiān)控、釋放受流器、車門監(jiān)控及速度曲線監(jiān)控等功能。車載運控模塊每100 ms觸發(fā)進行一次VSC的數(shù)據(jù)收發(fā)及邏輯處理。
(2)車輛控制網(wǎng)模塊
車輛上的車載控制裝置采用冗余設(shè)計,在首尾車廂中各有兩套車輛控制單元裝置,它們之間互相連接。VSC將事件產(chǎn)生的與安全有關(guān)的控制命令傳輸給車輛控制單元裝置;車輛控制單元裝置將車輛設(shè)備產(chǎn)生的與安全有關(guān)的監(jiān)測信號傳送給車載安全計算機。車載安全計算機的車輛控制單元模塊由外部事件觸發(fā)并記錄事件,且每100 ms進行一次邏輯處理。
(3)測速測距單元模塊
列車兩端各設(shè)1套測速測距裝置。該裝置采集列車位置、速度和方向等數(shù)據(jù)并進行邏輯處理和列車速度及位置的測量,為VSC提供與安全有關(guān)的列車速度及位置信息。測速測距單元模塊由周期性消息觸發(fā)并每50 ms進行一次邏輯處理。
(4)分區(qū)運控模塊
分區(qū)運控模塊負責分區(qū)內(nèi)分區(qū)安全計算機與車載安全計算機之間的數(shù)據(jù)交互及列車運行的安全防護,是一個與安全相關(guān)的部件。DSC是每個運行控制分區(qū)的核心部件,實現(xiàn)軌道防護、進路防護、列車管理、牽引切斷、分區(qū)交接、速度曲線監(jiān)控和安全定位等與安全相關(guān)的功能。DSC的具體功能實現(xiàn)由運行控制中心的命令決定,運行的狀態(tài)將由DSC及時反饋給運行控制中心。分區(qū)運控模塊執(zhí)行每100 ms觸發(fā)一次車載VSC與分區(qū)運控設(shè)備的數(shù)據(jù)交互及邏輯處理功能。
(5)中央運控模塊
中央運控模塊主要負責中央ATS與VSC之間的數(shù)據(jù)交互及線路信息管理。中央ATS具有線路數(shù)據(jù)管理、運營授權(quán)管理、下發(fā)運行圖/時刻表,以實現(xiàn)自動運行管理等功能[4]。中央運控模塊通過無線電控制設(shè)備將相關(guān)數(shù)據(jù)發(fā)送給地面中央ATS設(shè)備。中央ATS實現(xiàn)實時更新列車位置、列車關(guān)鍵狀態(tài)及授權(quán)區(qū)域顯示和列車編號,并保證相關(guān)數(shù)據(jù)在中央控制室顯示,使調(diào)度員可以查看或進行列車調(diào)度。中央運控模塊執(zhí)行每1 s觸發(fā)一次車載VSC與中央運控模塊的數(shù)據(jù)交互及邏輯處理功能。
車載運行控制系統(tǒng)需通過任務(wù)調(diào)度算法分析每個模塊設(shè)計的時間參數(shù)是否符合約束條件,從而確定時間參數(shù)分配的合理性。任務(wù)調(diào)度算法有2種經(jīng)典的調(diào)度算法,即基于時鐘驅(qū)動的調(diào)度算法(clock driven scheduling)和事件驅(qū)動調(diào)度算法(event-driven scheduling)。其中,事件驅(qū)動調(diào)度算法主要是根據(jù)外部設(shè)備的輸入信號進行事件觸發(fā)中斷,此中斷為事件調(diào)度提供信號條件;而基于時鐘驅(qū)動的調(diào)度算法用于周期性任務(wù),其根據(jù)任務(wù)特定的周期來決定調(diào)度哪個任務(wù)。
時鐘驅(qū)動的調(diào)度是由系統(tǒng)時鐘硬件產(chǎn)生一個中斷來觸發(fā)任務(wù)調(diào)度;而周期調(diào)度觸發(fā)的時間是預(yù)先設(shè)置的時間參數(shù),當預(yù)先設(shè)置的時間到,就會觸發(fā)任務(wù)調(diào)度執(zhí)行。調(diào)度算法即決定什么任務(wù)在什么時間執(zhí)行結(jié)束。而任務(wù)的執(zhí)行時間是允許在規(guī)定的時間內(nèi)的任意時刻。當下一個任務(wù)調(diào)度時間到,就會調(diào)度執(zhí)行其他任務(wù)模塊。比如測速測距模塊每50 ms執(zhí)行一次,分區(qū)運控模塊、車載運控模塊均以100 ms執(zhí)行一次。時鐘驅(qū)動的調(diào)度算法就是要保證在規(guī)定的時間內(nèi)對規(guī)定的模塊任務(wù)事件進行處理,并控制所有實時模塊協(xié)調(diào)一致地運行。
主周期可被分割為很多小周期,f表示小周期的時間長度。在時鐘驅(qū)動的調(diào)度算法中,任務(wù)周期時間的分配是否合理主要看小周期設(shè)計是否符合約束條件。最小周期必須滿足如下3個條件[5]:
(1)理想情況下,每個作業(yè)的執(zhí)行時間能夠在單個周期(f)時間內(nèi)開始并完成執(zhí)行,即f≥max(ei),1<i≤n),ei是第i個任務(wù)的執(zhí)行時間。
(2)每個場景f盡量短,且f應(yīng)該能被主周期整除。
(3)由于調(diào)度算法的調(diào)用執(zhí)行時刻是發(fā)生在每個場景的小周期開始時刻,而每個場景的小周期是獨占時間,其他場景事件不能搶占,必須等待小周期時間結(jié)束。所以場景的執(zhí)行時間ei不能超過小周期時間,且場景任務(wù)小周期至少包含一個場景執(zhí)行時間ei,即:
式中:p——任務(wù)的周期時間;Di——任務(wù)i的截止時間;gcd ——最大公約數(shù)。
根據(jù)每個模塊實時性需求,對其車載控制模塊進行時間劃分,確定表1中所示任務(wù)的小周期,最后通過3個約束條件判斷預(yù)設(shè)時間參數(shù)的合理性。
表1 信號任務(wù)處理時間參數(shù)表Tab.1 Parameters of signal task processing time
表1中,由于車載機柜設(shè)備平臺的主周期為100 ms,所以主周期=100 ms。根據(jù)第1個限制要求,確定小周期f≥30 ms;第2個限制條件是f可以被整除的周期的最大公倍數(shù)是100,所以必須是2 ms, 10 ms,50 ms, 100 ms中的一個;第3個限制條件,任務(wù)小周期至少包含一個場景執(zhí)行時間并小于截止時間,所以f≤50 ms。因此,最小周期取值是50 ms。
在系統(tǒng)場景劃分后,對場景預(yù)設(shè)時間參數(shù)進行了合理性分析,最后需要進行場景任務(wù)可調(diào)度性分析,來判斷CPU負載能力是否可支持任務(wù)的調(diào)度,以便確定場景事件是否可以在主循環(huán)里正常運行。對于小周期場景是否可以在主循環(huán)里調(diào)度不被堵塞,采用的分析方法是速率單調(diào)分析[3],如式(1)所示。
根據(jù)表2,任務(wù)總數(shù)為5時,CPU利用率上限為U(5)=74.3%;而表3所列的5個任務(wù)總共占用71.5%的CPU時間,CPU利用率小于74.3%,滿足測試實時性要求,因此實時系統(tǒng)可以正常調(diào)度。此外,車載運控的主周期時間是100 ms,所以最壞情況下,所有任務(wù)的最長執(zhí)行時間不得超過車載運控主周期時間;否則安全平臺會進行超時故障處理,落入軟件陷阱,車載安全計算機關(guān)斷所有對外輸出。本系統(tǒng)計算最壞情況所需執(zhí)行時間為80 ms(即所有任務(wù)的執(zhí)行時間總和),滿足系統(tǒng)調(diào)節(jié)要求。
表2 任務(wù)總數(shù)與利用系數(shù)關(guān)系Tab. 2 Relationship between total number of tasks and utilization coefficient
本系統(tǒng)總共有5個任務(wù),其可調(diào)度性分析如下:
表3 任務(wù)周期與最長執(zhí)行時間Tab. 3 Task cycle and maximum execution time
對高速磁浮系統(tǒng)進行場景模塊化建模,來驗證調(diào)度任務(wù)是否正常運行。首先設(shè)計每個模塊的執(zhí)行時間參數(shù),通過時鐘驅(qū)動調(diào)度算法分析每個模塊設(shè)計的時間參數(shù)是否符合約束條件,從而確定時間參數(shù)分配的合理性;再采用速率單調(diào)分析方法,進行場景任務(wù)可調(diào)度性分析,判斷CPU負載能力是否可支持任務(wù)的調(diào)度,保證模塊可以在主循環(huán)里調(diào)度不被堵塞。
通過上述建模分析,在進入實物調(diào)試前,通過模擬器模擬外設(shè)設(shè)備的信號輸入,設(shè)計場景事件的預(yù)定執(zhí)行周期及執(zhí)行時刻,實現(xiàn)信號系統(tǒng)實時性分析。模擬器分為綜合運控系統(tǒng)模擬器及車載控制系統(tǒng)模擬器。其中,綜合運控系統(tǒng)模擬器主要實現(xiàn)中央控制系統(tǒng)管理、分區(qū)控制系統(tǒng)管理、車輛控制網(wǎng)管理、測速測距系統(tǒng)管理等功能;車載控制系統(tǒng)模擬器主要實現(xiàn)車載運行監(jiān)督和車輛設(shè)備控制功能。
兩個模擬器之間的數(shù)據(jù)交互,采用以太網(wǎng)用戶數(shù)據(jù)報協(xié)議(user datagram protocol, UDP)協(xié)議通信,如圖3所示。模擬器的運行環(huán)境為Windows平臺。軟件的編譯環(huán)境為Windows平臺的軟件工具(如VS2010)。
圖3 信號系統(tǒng)安全分析模擬器的結(jié)構(gòu)Fig. 3 Structure of signal system safety analysis simulator
系統(tǒng)分析師通過模擬器將建模所確定的場景完整演示并進行相關(guān)分析,從而發(fā)現(xiàn)問題。如果發(fā)現(xiàn)在一個周期內(nèi)因信號中斷或延時等導(dǎo)致有任務(wù)沒有及時被執(zhí)行,則需修改模型參數(shù),再進行模擬器驗證分析,通過不斷迭代將問題解決。
信號系統(tǒng)實時性分析是信號系統(tǒng)研發(fā)中的重要任務(wù)。一方面采用時鐘驅(qū)動調(diào)度算法計算事件的周期性觸發(fā)時間,保證每個事件都能在規(guī)定的時間內(nèi)處理完成;另一方面采用速率單調(diào)法分析任務(wù)的可調(diào)度性,保證系統(tǒng)負載能力支持任務(wù)的可調(diào)度,以避免出現(xiàn)安全隱患。基于以上算法建模,對場景事件的執(zhí)行周期、觸發(fā)時間及執(zhí)行時間進行預(yù)先設(shè)計,保證場景事件調(diào)度運行的明確性。通過設(shè)計模擬器,將設(shè)計中的場景重要參數(shù)在模擬器中運行實現(xiàn),從而在程序進入施工調(diào)試階段之前明確系統(tǒng)關(guān)鍵參數(shù),避免重大隱患進入程序代碼中,實現(xiàn)設(shè)計開發(fā)的高效性。本設(shè)計未考慮外部設(shè)備隨機中斷觸發(fā)的事件,未來將基于此進行下一步的研究工作。