本發明涉及交通控制領域,具體涉及一種基于列車圖形組態的按位停車方法。
背景技術:
列車自動監控系統多用于軌道交通管理中,實現信號設備的自動監督,控制線上列車自動運行。為了控制列車運行,自動列車監控系統工作站需顯示實際線路的道岔、軌道、信號機、列車等設備的位置和簡易示意圖,并在收到后臺服務器的設備狀態數據后,實時更新各設備圖形顯示狀態。
對于列車的圖形顯示,與其它設備有所區別。列車與軌道的相對位置是變化的,站場繪制時,只繪制位置固定的設備圖形,對于列車,需根據列車的動態位置信息,實時清除舊位置列車,在新位置重繪列車圖形。
圖1示出了列車車次窗的示意圖,圖1中,由列車識別號、激活端、運行方向、跳停狀態、開門狀態、報警狀態、運動方向等組成列車車次窗。從圖1示出的圖形可以看出,列車圖形基本由矩形、三角形等基本幾何圖形組成。
因站場界面設備元素眾多,大部分采用相關組態技術預先繪制,序列化成文件。工作站運行時,反序列化加載。對于列車圖形,因為是在站場界面動態生成,動態位置更新,大多在代碼中繪制。
然而,傳統的列車圖形繪制方法沒有采用第三方組態軟件繪制列車圖形,而是直接在軟件中繪制,一旦出現列車識別號字體過大或矩形框過大等問題,就需要改動代碼,重新編譯,再發布列車自動監控系統軟件,浪費了研發人力和工時,且不利于軟件的工程化應用。
技術實現要素:
鑒于上述問題,本發明提出了克服上述問題或者至少部分地解決上述問題的一種基于列車圖形組態的按位停車方法。
為此目的,第一方面,本發明提出一種基于列車圖形組態的按位停車方法,包括:
列車自動監控系統加載列車圖形時,獲取列車的狀態信息;
根據列車的狀態信息,查找預先建立的圖元數據庫中的各圖元信息;
在確定停車位的站場顯示界面上,加載所述列車的圖元信息;
在站場顯示界面上,顯示加載的列車。
可選地,列車自動監控系統加載列車圖形時,獲取列車的狀態信息的步驟,包括:
列車自動監控系統的前臺工作站接收到后臺服務器發送的集中區列車的狀態信息;
列車的狀態信息包括:列車識別號、列車運動方向、列車跳停狀態、列車車門狀態、列車報警狀態和/或列車激活端信息。
可選地,根據列車的狀態信息,查找預先建立的圖元數據庫中的各圖元信息的步驟之前,包括:
根據列車的狀態信息,查找與列車識別號對應的列車圖形是否已經存在;
若存在,則判斷該列車圖形所在的區段編號與待加載列車的區段編號是否一致;
若是,則在站場顯示界面上,顯示所述列車圖形及相應的區段編號;
若與列車識別號對應的列車圖形存在,但該列車圖形所在的區段編號與待加載列車的區段編號不一致,則在新的區段編號中查找停車位;以及在所述列車圖形的顯示位置變更為查找的停車位的中心位置;在站場顯示界面上,加載所述列車圖形并顯示。
若與列車識別號對應的列車圖形不存在,則執行查找預先建立的圖元數據庫中的各圖元信息的步驟。
可選地,在確定停車位的站場顯示界面上,加載所述列車的圖元信息的步驟之前,所述方法還包括:
在站場顯示界面中,查找列車的區段編號;
在查找到的區段編號對應的停車位中找到空閑的停車位,獲取確定停車位的站場顯示界面。
可選地,根據列車的狀態信息,查找預先建立的圖元數據庫中的各圖元信息的步驟之前,所述方法還包括:
編輯列車各個狀態下的圖元信息,將編輯的圖元信息保存在圖元數據庫中;以及
建立停車位類型的邏輯單元的基礎圖形,以及設置每一停車位基礎圖形的區段編號。
可選地,列車自動監控系統加載列車圖形時,獲取列車的狀態信息的步驟,包括:
列車自動監控系統的前臺工作站加載站場畫布時,設置畫布上所有停車位基礎圖形的屬性為隱藏屬性,使得用戶看不到站場顯示界面上顯示的停車位基礎圖形;
加載列車符號畫布,將所需額列車的符號圖形載入緩存;
接收到后臺服務器發送的列車的狀態信息。
可選地,編輯列車各個狀態下的圖元信息的步驟,包括:
新建模板圖形,模板圖形包括:有邏輯單元的圖形和無邏輯單元的圖形;
建立模板圖形相關的數據庫表,數據庫表包括畫布表、畫刷表、字體表、圖形表、折線點表、邏輯單元表、每一圖形與下級畫布的連接關系表;
在所述數據庫表中分別建立列車的狀態信息中各類型的邏輯單元,保存所述數據庫表。
由上述技術方案可知,本發明提出的基于列車圖形組態的按位停車方法,加載列車圖形數據和停車位數據,動態按位加載列車,更新列車顯示,使得列車不會與站場上其它元素(如站臺、道岔等)顯示重疊,增加了顯示的靈活性,降低人工成本。
附圖說明
圖1為目前站場顯示界面顯示的示出了列車車次窗的示意圖;
圖2和圖3分別為本發明一實施例提供的基于列車圖形組態的按位停車方法的流程示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。
本發明實施例通過組態列車所需基本圖形及其攜帶的邏輯特性,輸出列車數據庫表數據、列車停車位數據。列車的自動監督工作站(即下述的前臺工作站)調用接口模塊,加載列車圖形數據和停車位數據,動態按位繪制列車,更新列車顯示。
圖1示出了本發明一實施例提供的基于列車圖形組態的按位停車方法的流程示意圖,本實施例的方法包括如下步驟:
101、列車自動監控系統加載列車圖形時,獲取列車的狀態信息。
在本實施例中,列車自動監控系統的前臺工作站加載站場畫布時,設置畫布上所有停車位基礎圖形的屬性為隱藏屬性,使得用戶看不到站場顯示界面上顯示的停車位基礎圖形;
加載列車符號畫布,將所需額列車的符號圖形載入緩存;接收到后臺服務器發送的列車的狀態信息。
例如,列車自動監控系統的前臺工作站可接收到后臺服務器發送的集中區列車的狀態信息;
列車的狀態信息包括:列車識別號、列車運動方向、列車跳停狀態、列車車門狀態、列車報警狀態和/或列車激活端信息。
102、根據列車的狀態信息,查找預先建立的圖元數據庫中的各圖元信息。
103、在確定停車位的站場顯示界面上,加載所述列車的圖元信息,即在停車位中加載列車的圖元信息。
例如,在站場顯示界面中,查找列車的區段編號;
在查找到的區段編號對應的停車位中找到空閑的停車位,獲取確定停車位的站場顯示界面。
104、在站場顯示界面上,顯示加載的列車。
也就是說,在本實施例中,列車自動監控系統的前臺工作站收到列車信息后,要在區段上或站臺上方動態顯示和更新列車圖形。因此列車與區段的相對位置是非線性的,本實施例提出一種列車按位停車方法。
首先,前臺工作站啟動時加載站場畫布,加載前設置畫布上所有的停車位圖形顯示屬性為隱藏。
其次,加載列車符號畫布,將所需的符號列車圖形載入緩存。
再者,前臺工作站收到后臺服務器發來的某集中區列車信息時,開始解析,遍歷所有列車,查找列車圖形是否已存在,如該列車圖形已存在且所在的區段編號與收到的該列車區段編號一致,勿需更新。如該列車圖形已存在且所在區段編號與收到的該列車區段編號不一致,則在新的區段編號對應的停車位中找到停車位,并將原列車圖形的顯示位置變更為該停車位中心位置。如該列車圖形在當前畫布中不存在,則在對應的區段編號中,查找空閑的停車位,拷貝一份列車圖形,在該停車位顯示。
本實施例中的顯示界面上顯示的列車圖形可定時刷新。如在設定的周期(如3秒)內,未收到該集中區的所有列車的信息,則清除該集中區的所有列車,等到收到完整的所有列車的信息時再進行顯示,如圖3所示。
本實施例的方法,上述的前臺工作站調用接口模塊,加載列車圖形數據和停車位數據,動態按位加載列車,更新列車顯示,使得列車不會與站場上其它元素(如站臺、道岔等)顯示重疊,增加了顯示的靈活性,降低人工成本。
為更好的理解本實施例的方案,以下對執行上述步驟102說明如下:
舉例來說,在執行步驟102之前,可根據列車的狀態信息,查找與列車識別號對應的列車圖形是否已經存在;若存在,則判斷該列車圖形所在的區段編號與待加載列車的區段編號是否一致;
若是,則在站場顯示界面上,顯示所述列車圖形及相應的區段編號;
若與列車識別號對應的列車圖形存在,但該列車圖形所在的區段編號與待加載列車的區段編號不一致,則在新的區段編號中查找停車位;以及在所述列車圖形的顯示位置變更為查找的停車位的中心位置;在站場顯示界面上,加載所述列車圖形并顯示。
若與列車識別號對應的列車圖形不存在,則執行上述步驟102。
進一步地,在執行步驟102之前,可預先編輯列車各個狀態下的圖元信息,將編輯的圖元信息保存在圖元數據庫中;以及
建立停車位類型的邏輯單元的基礎圖形,以及設置每一停車位基礎圖形的區段編號。
例如,預先新建模板圖形,模板圖形包括:有邏輯單元的圖形和無邏輯單元的圖形;
第一步、新建拓撲畫布。設置畫布名稱、畫布分類、畫布寬高,建立畫布。
第二步、繪制無邏輯圖形。對于不攜帶邏輯單元的圖形,直接按需要繪制直線、圓、文本、折線、多邊形、矩形等。
第三步、對于攜帶邏輯單元的圖形。設置邏輯單元,繪制圖形并設置邏輯單元屬性。
第四步、模板的繪制。對于重復的組合圖形,需繪制模板,加載到拓撲畫布,節省工作量。首先繪制區域邏輯單元圖形,在該區域圖形內繪制基本圖形,區域與該區域內的圖形為被包含與包含的關系。
第五步、加載模板圖形。在拓撲畫布中加載模板。
此外,建立模板圖形相關的數據庫表,數據庫表包括畫布表、畫刷表、字體表、圖形表、折線點表、邏輯單元表、每一圖形與下級畫布的連接關系表;在所述數據庫表中分別建立列車的狀態信息中各類型的邏輯單元,保存所述數據庫表。
舉例來說,1)建立畫布表,包含畫布ID、畫布類型、左上角X坐標、左上角Y坐標、右下角X坐標、右下角Y坐標、畫布分類名稱、畫布名稱等信息。
2)建立畫刷表,包含畫刷ID、畫刷類型、字體顏色、背景顏色、圖案類型。
3)建立字體表,包含字體ID、字體顏色、字體樣式、字體簇、字體大小、字體格式等信息。
4)建立圖形表。包含圖形ID、畫筆ID、畫刷ID、字體ID、圖形類型、外接矩形坐標點信息、畫布ID、是否填充、是否可見、是否顯示邊框、是否為模板等信息。
5)建立折線點表。包含圖形ID、點索引、點X坐標、點Y坐標。
6)建立邏輯單元表。包含邏輯單元ID、父ID、邏輯單元類型、邏輯單元名稱、標簽、區域ID、設備名稱等信息。
7)建立圖形與下級畫布的連接關系表。包括邏輯單元ID、子畫布ID。
在畫布及圖形數據繪制完成后,按照以下步驟完成畫布信息、圖形數據、圖形邏輯單元數據的保存。
8)保存畫布信息。如畫布信息存在,刪除已存在的畫布信息,插入畫布表新的畫布信息。
9)保存圖形邏輯單元、對應圖形及子邏輯單元。遍歷當前畫布中所有的圖形邏輯單元,如為標記為“新建”的邏輯單元,則查找邏輯單元表,如該邏輯單元存在,刪除之,再插入當前的邏輯單元。對于該邏輯單元對應的圖形,保存到圖形表。遍歷該邏輯單元的子邏輯單元,分別保存。
10)保存圖形與下級畫布的關系。如圖形邏輯單元ID存在,刪除之,保存該邏輯單元與下級畫布的關系到圖形與下級畫布連接關系表中。
進一步地,對于列車圖形組態,由于列車圖形是動態的,為方便加載時讀取,修改組態軟件,新建一種“符號”類型的畫布。
為使列車自動監控系統工作站加載列車圖形時,能分別獲取識別號、激活端、跳停狀態、車門狀態、報警狀態等子圖元,修改組態軟件,分別建立識別號、激活端、跳停狀態等相關類型的邏輯單元。
新建區域圖形,在區域圖形中,分別繪制邏輯單元為識別號、激活端等類型的圖形,保存到數據庫中。
可理解的是,對于停車位圖形組態,修改組態軟件,新建停車位類型的邏輯單元類型。在站場顯示界面上,建立停車位類型邏輯單元的基礎圖形。設置停車位圖形的邏輯屬性區段編號。
上述方法中列車按車位停車,可使得列車不會與站場上其它元素(如站臺、道岔等)顯示重疊,增加了顯示的靈活性。通過圖形組態技術,繪制站場和列車圖形,提高了列車運行監控系統的工程化應用能力,可大大降低人工成本。
進一步地,采用數據庫方式保存圖形組態數據,可方便的查找刪除圖元、查找刪除邏輯單元、查找刪除畫布,增加了操作的靈活性。
本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。
本領域技術人員可以理解,實施例中的各步驟可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的一些或者全部部件的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。
雖然結合附圖描述了本發明的實施方式,但是本領域技術人員可以在不脫離本發明的精神和范圍的情況下做出各種修改和變型,這樣的修改和變型均落入由所附權利要求所限定的范圍之內。