馬濤, 高霞
(1. 武昌職業學院 電子信息工程學院, 武漢 430202; 2. 長江職業學院, 武漢 430073)
計算機聯鎖仿真系統作為一種應用于鐵路行車的安全控制系統,需要滿足車務及電務人員計算機聯鎖操作培訓要求,還要準確的反應現場設備狀態,并要實現多戰場仿真及多人員培訓需求等[1]。傳統單機版計算機聯鎖仿真系統僅能模擬計算機聯鎖操作,但對現場設備仿真、多戰場仿真能力不足,且無法適應戰場擴建,互動性差、信息量小等;沙盤仿真系統可以有效反映現場真是情況,但系統成本高,不適合大面積推廣[2-3]。
網絡計算機聯鎖仿真系統基于web技術開發,形成網站模式,可實現在用戶瀏覽器端生成計算機聯鎖人機交互界面,既能最大限度滿足培訓需求,又可以真實反映現場設備狀態,經濟適用且易于修改[4]。本文針對網絡計算機聯鎖仿真系統,從系統的功能需求及具體實現的兩個方面進行分析。
網絡計算機聯鎖仿真系統在局域網環境下,采用B/S(瀏覽器/服務器)架構,在瀏覽器端進行計算機聯鎖的人機交互界面仿真,以模擬計算機聯鎖的各種操作[5]。采用web技術,并結合局域網環境數據傳輸快的優點,加入計算機聯鎖設備及現場信號設備進行三維仿真,提供給用戶最直觀的現場體現。利用客戶端瀏覽器與應用服務器、數據庫服務器間的實時雙向通信,實現三維仿真場景的快速加載和多人并發訪問等。
網絡計算機聯鎖仿真系統需要滿足以下可交互性、基本進路控制、故障處理等功能,具體如下:
(1) 學員及管理員注冊、登錄和認證功能。系統需要保存學員個人基本信息,并要記錄學員的操作信息,用于及時改進和提高個人操作實踐水平及故障處理能力,同時還要建立管理員登錄與認證機制,可由管理員直接修改和更新數據庫信息。
(2) 顯示多個戰場界面顯示功能。網絡計算機聯鎖仿真系統采用網絡強大的資源共享功能,實現多個戰場的計算機聯鎖仿真,可在服務器端獨立部署各個戰場信息,用戶使用時在瀏覽器端下載并顯示其選定的戰場界面。
(3) 在各戰場界面完成計算機聯鎖操作各項操作,包括進路選擇、取消、鎖閉、解鎖等基本操作,還包括在瀏覽器界面進行的進路操作顏色變化功能以及頁面的無刷新等功能。
(4) 多用戶的并發訪問功能。針對多人同時在線培訓時存在多用戶同時操作時的延遲和錯誤,或多用于對同一數據庫修改給其他用戶造成干擾的問題,網絡計算機聯鎖仿真系統必須滿足多用戶的并發訪問功能。
大跨度鋼結構玻璃采光頂造型美觀、施工進度快、周期短、現場焊接量減少近一半;可以減少施工現場階段對構件的測控工作,減少對焊縫的檢測量,在加工廠焊接,可提高焊接質量及精度,在一些大型商業區、醫院、車站等公共建筑中具有廣泛的推廣空間。
(5) 設置專門故障處理和三維仿真場景顯示模塊。在網絡計算機仿真系統中,需要添加模擬仿真模塊,展示現場常見故障,有助于學員更加生動深刻的掌握故障處理方式。譬如,當室外信號設備發生故障,人機交互界面發出故障警報,信號室聯鎖機柜處顯示故障點,準確體現故障的位置和實際概況,真實模擬故障發生的現場環境,增強使用者故障處理能力。
(6) 修改及更新數據庫功能。在實際應用中,不可避免會出現戰場擴建、股道增加或拆除等情況,為更真是的展現模擬現場情況,必須對數據庫進行及時修改和更新。
用例圖屬于需求分析表達的動態圖,其組成元素包括參與者、用例以及參與者和用例間的相互關系,用例圖的功能描述角度是用戶[6]。參與者指聯鎖仿真系統的使用者或與系統存在交互的其他系統;用例指的是系統功能的描述;關系則是參與者與用例、用例與用例、參與者與參與者間的關系。參與者之間多表現為繼承的泛化關系,參與者與用例之間則表現為一種關聯關系,用例與用例之間的關系則表現為泛化、擴展與包含關系。網絡計算機聯鎖仿真系統是一個獨立系統,主要用于學員在線培訓,主要業務用例,如圖1所示。

圖1 網絡計算機聯鎖仿真系統業務用例圖
在圖1中,計算機聯鎖仿真系統支持多用戶并發訪問功能。其中參與者為用戶、管理員、學員,用戶與學員、管理員構成泛化關系,學員與管理員可以在瀏覽器端進行基本的計算機聯鎖操作。瀏覽器人機交互界面顯示用例功能用例與多戰場訪問功能用例、設備三維模型顯示用例構成擴展關系,聯鎖功能用例和各戰場實現聯鎖功能用例間構成擴展關系,其他用例間為包含關系。網絡計算機聯鎖仿真系統的核心功能是聯鎖用例,其與其他執行用例譬如命令形成用例、操作命令執行用例、進路處理用例等構成包含關系。數據庫作為系統參與者也與多種用例產生操作關系。
依據網絡計算機聯鎖仿真系統的功能需求,對其進行設計,其系統框架應包括:用戶瀏覽器、應用服務器、數據庫服務等,如圖2所示。

圖2 網絡計算機聯鎖仿真系統框架圖
圖2中,客戶端瀏覽器主要基于IE瀏覽器作為系統主顯示界面,用于展現計算機聯鎖仿真的人機交互界面和設備三維仿真場景。本系統采用B/S(瀏覽器/服務器)模式[7],為增加系統數據調用速度,可選用在瀏覽器端增加VRML(虛擬現實建模語言)等控件的方式。以Internet標準(Http、Html、Xml等)為基礎,通過與應用服務器通信,獲得基本的聯鎖邏輯。
應用服務器模塊主要功能是通過數據存儲和應用集成等服務,實現聯鎖。模塊以聯鎖運算邏輯為基礎,處理基于web頁面產生的用戶請求,同時將用戶請求處理結果反饋給客戶端。web界面產生的用戶請求主要包括進路相關操作、信號操作、道岔操作等。處理請求的結果主要包括:完成數據處理、聯鎖邏輯處理等;完成基于數據層的交互以及對數據庫的修改及完善;完成數據緩沖處理以及組件的并發訪問控制等。
數據庫服務器主要用于存放包括信號機名稱、道岔名稱等在內的基本靜態戰場數據和以操作輸入信息、輸出信息、狀態表示信息和狀態輸入變量在內的基本動態戰場數據。此外,數據庫服務器還包括展示計算機聯鎖系統及現場信號設備狀態的各種三維仿真模型數據,為真實模擬現場,對于戰場改建,或增加與拆除某些股道等,需要及時修改或更新數據庫。

圖3 網絡計算機聯鎖仿真系統原理圖
為實現用戶按壓按鈕時web頁面的無刷新和局部刷新能力,客戶端瀏覽器采用ASP.NET中的AJAX(異步JavaScript和Xml)模式實現與用戶交互[8],瀏覽器向中間層web應用服務器發出數據或操作請求時,Web服務器接收到瀏覽器發出的按壓按鈕信息,執行聯鎖程序,同時將響應結果集返回給客戶端瀏覽器。假設需要對數據庫進行訪問,首要是將請求轉化成SQL形式(結構化查詢語言),然后將其傳遞給數據庫服務器進行處理,處理結果傳遞給web服務器,并最終以HTML或XML等形式反饋給客戶端瀏覽器。
(1) 人機交互界面設計分析
利用ASP.NET進行戰場界面的開發應用,首先要進行戰場數據包括車站名、道岔和信號機名稱等數據設置,其次要針對道岔、軌道區段和信號等信號設備及戰場線路進行繪制。
對于道岔及軌道區段的繪制包括:使用Drawline (Graphics類的一種形式)對軌道區段進行繪制;使用語句gr. DrawLine(pen,0,0,200,0),即繪制線條的起點(0,0)和終點坐標(200,0)。
針對信號機繪制包括:使用Graphics類中的Drawline進行繪制,信號機機柱,畫一條豎線,信號機為語句gr.DrawEllipse(pen,0,0,20,20),表示信號機直徑為20;利用FillEllipse填充園內部,包括填充信號機的顏色。
(2) 基本聯鎖功能模塊設計分析
服務器端主要實現功能、聯鎖控制功能以及信息采集及設備驅動功能的實現。進路選擇功能的流程圖,如圖4所示。

圖4 進路選擇流程圖
圖4中,關于系統的信息采集以及設備驅動的仿真,只是對處于信號設備轉換狀態的內繼電器(位于機械室內)進行模擬,而沒有利用復雜的采集驅動電路。這種方式降低了系統的復雜,提高了設備的可靠性。
首先開始用戶登錄瀏覽器端,并通過HTTP協議與服務器構建局域網連接;然后向用戶服務器發送進路操作請求信息;接著對計算機聯鎖操作信息進行判斷,如果進行操作,則使用已經編譯完成的聯鎖程序進行進路搜索,否則繼續向用戶服務器發送進路操作請求進行重復操作;接著進行進路是否正確檢查,包括所選進路是否空閑,道岔位置是否正確,敵對進路是否建立等;然后對聯鎖條件是否滿足進行判斷,如果滿足條件,則鎖閉進路,開放信號,在瀏覽器端接收到操作信息,包括信號機點亮,顏色改變等,如果聯鎖條件不滿足,則會發出報警信號進行報警。
(3) 系統數據庫設計分析
數據庫作為數據的存儲組織,在網絡計算機聯鎖系統中處于重要地位,在進行設計時需要滿足數據存儲要求,利于用戶訪問,確保整體性能并盡可能降低冗余數據。
對于計算機聯鎖系統,在進行設備狀態信息采集及操作表示信息且完成站內聯鎖時,需要大量數據?;贓-R模型的數據庫設計方法是目前廣泛采用的一種行之有效的數據庫設計概念模型,這種設計方式能夠明確反映現實世界實體之間的相互關系,通過確定實體類型、實體之間相互聯系,可以畫出E-R圖,進而設計出滿足要求和規范的數據庫。
網絡計算機聯鎖仿真系統作為鐵路行車安全的重要系統,是以車站信號設備的三維仿真培訓系統實施為基礎,通過構建豐富的三維仿真模型,對現場設備進行重新,確保培訓更加生動具體。本文通過分析網絡計算機聯鎖仿真系統的功能需求、系統的系統框架及原理,使大家在充分了解網絡計算機聯鎖仿真系統,為后續系統改進提供借鑒。