賈利生
(鐵道第三勘察設計院集團有限公司,天津 300251)
鐵路信號工程設計具有圖紙量大、復雜度高、容易出錯等特點,為了降低設計人員的勞動強度、減少差錯、統一標準,在鐵路信號工程設計中,計算機輔助設計(CAD)發揮著非常重要的作用[1]。
從20世紀90年代至今,6502電氣集中聯鎖CAD系統(簡稱6502CAD)、計算機聯鎖CAD系統、ZPW-2000系列電碼化CAD系統、ZPW-2000R移頻自動閉塞CAD系統的開發和相繼投入應用,大大提高了信號工程設計效率,同時提高了設計質量、縮短了設計周期[2-4]。但是隨著多個系統的應用,出現了新的問題。由于各系統的開發時期、軟件開發人員、使用的開發語言等不同,各系統在同一臺電腦中使用時,出現了軟件互相沖突、軟件使用方法各異等問題,這樣不易于信號設計人員對各系統的學習和使用,因此將各系統集成為一體,解決系統間相互沖突問題,建立統一的運行平臺,將各系統的程序進行統一管理,從而形成一個平臺化、集成化、系統化的鐵路信號計算機輔助設計集成系統(簡稱SIGCAD)是非常必要的。
開發全新的系統運行平臺,完成統一的菜單設計、軟件更新、系統幫助、系統信息等功能;開發針對不同子系統打包方案的軟件注冊功能及通用安裝程序。
各子系統至SIGCAD系統平臺的移植及解決集成后系統間相互沖突問題。
統一各子系統的界面風格。
SIGCAD系統集成了6502CAD、計算機聯鎖CAD、ZPW-2000系列電碼化CAD、ZPW-2000R移頻自動閉塞CAD四個子系統的所有功能,具體如下。
6502CAD子系統用于完成車站6502電氣集中聯鎖包括控制臺盤面布置及配線、聯系圖、排列表、信號機點燈、軌道電路、道岔控制、網絡電路圖、側面配線等全套施工圖圖紙設計,其中子系統里的信號平面圖、雙線及電纜徑路圖、聯鎖表、室外電纜配線圖軟件同樣適用于計算機聯鎖車站,且可滿足普速、重載、客專、城市軌道交通等的設計需求。
計算機聯鎖CAD子系統,可完成計算機聯鎖的信號機點燈、軌道電路、道岔控制、自動閉塞方向電路、自閉結合、半自動閉塞、驅采電路等電路圖紙,以及組合內部配線、驅采匣(接口柜)配線、室外分線盤、側面等配線圖紙。
ZPW-2000系列電碼化CAD子系統可完成兩線制和四線制站內電碼化的移頻設備、綜合架設備、防雷柜等的布置圖,JMJ/FMJ/GCJ電路、正線電碼化電路、股道電碼化電路等電路圖紙,以及內部配線、室外分線盤、側面等配線圖紙。
ZPW-2000R移頻自動閉塞CAD子系統可完成區間信號平面布置圖、雙線及電纜徑路圖等室外部分圖紙,各閉塞分區電路圖、驅采電路、側面配線圖等室內部分圖紙。
結構模塊分為功能模塊和平臺模塊,詳見圖1。

圖1 系統結構模塊
根據系統功能,將功能模塊劃分為20個,包括了6502CAD、計算機聯鎖CAD、ZPW-2000系列電碼化CAD、ZPW-2000R移頻自動閉塞CAD四個子系統包含的所有模塊。在車站聯鎖設計時,無論是6502電氣集中聯鎖還是計算機聯鎖,都必須有信號平面圖、雙線及電纜徑路圖、聯鎖表、電纜配線圖,故將此4個功能模塊單獨設置。繪制繼電器電路模塊主要完成零散的繼電電路設計,實用工具模塊則完成圖紙目錄、移交清冊、加圖框、圖標等的設計,與前面的4個子系統沒有直接關系,也單獨設置。
平臺模塊共4個,分別為軟件注冊、軟件更新、系統幫助、系統信息。
根據系統結構模塊的劃分進行的系統界面設計如圖2所示。
系統運行平臺的建立分為兩部分:
(1)在WINDOWS操作系統下建立“使用幫助”“授權協議”“卸載”功能,如圖3所示。此處的使用幫助提供了PDF格式的用戶手冊[5]。

圖2 系統界面

圖3 windows操作系統中的系統界面
(2)在AutoCAD的菜單區建立SIGCAD系統界面。
SIGCAD系統共20個功能模塊,每個模塊中又包含了多個命令,命令總計200多項。系統界面設計可采用屏幕菜單或抽屜式菜單的方式,但此2種方式均需占用AutoCAD繪圖區域,且不符合用戶使用習慣,因此還是采用了用戶習慣使用的下拉式菜單方式。由于AutoCAD的下拉式菜單區是有限的,20個模塊做成20個下拉式菜單全部排列在菜單區是不現實的,為此,巧妙地采用了在AutoCAD內部進行菜單切換的方式解決了此問題。
在AutoCAD下拉菜單區建立如圖2所示的“SIGCAD”菜單,菜單上列出4個子系統及其他模塊,4個子系統的模塊采用了二級菜單項,如圖4列出了6502CAD子系統的模塊。當選擇任何一個功能模塊時,例如:選擇“信號平面布置圖”,則下拉菜單區自動將“SIGCAD”菜單替換為“信號平面”菜單,而“信號平面”菜單的最后一項功能為“退出”,即切換回“SIGCAD”菜單。

圖4 6502CAD二級菜單界面
通過菜單切換的方式建立系統運行平臺的優點:只占用了一個菜單位置就可以放置下20個模塊的菜單項,同時,在繪制同一張圖中可使用20個模塊中的任意命令,只需切換一下菜單即可。同時該種方式充分實現了各模塊命令的資源共享,例如在設計車站的雙線及電纜布置圖或區間信號平面布置圖時,可以切換到“信號平面”菜單使用其中的“繪制土建設施”方便地繪制站臺、橋梁、隧道、涵洞、道口等設施。
為了便于用戶及時更新系統及獲得幫助,將軟件更新、系統幫助(提供CHM格式的幫助文件)等4個系統平臺模塊也設置在了“SIGCAD”菜單區。
為了實現SIGCAD系統對AutoCAD 2000~2013所有版本的兼容,SIGCAD系統采用了Visual lisp語言開發。Visual LISP是一種可視化的集成開發環境系統,它是在Auto lisp語言基礎上發展的一種智能化語言,有更多的功能函數和更強大的接口,可充分利用AutoCAD提供的界面設計出高起點的軟件系統。由于Visual LISP是嵌入在AutoCAD2000及以上的所有版本內部的LISP編程語言,它是LISP語言與AutoCAD有機結合的產物[6],因此通過系統開發語言的選擇有效地解決了系統對AutoCAD不同版本的兼容性。
為了滿足在不同版本的AutoCAD中SIGCAD菜單能夠順利裝載,不是簡單的更換AutoCAD菜單文件的方法,而是采用對當前菜單區的菜單進行檢測和判斷,然后在指定的位置加入SIGCAD菜單,這樣不僅可不影響不同版本的AutoCAD菜單,對用戶安裝的第三方軟件的菜單也不構成影響。
對于菜單文件的支持,不同版本的AutoCAD還是存在著差異。如2006以前版本只支持MNU、MNS、MNC菜單文件,2006及以后版本則可支持裝載速度更快的基于XML格式的CUI菜單文件,2010及以后版本則又可支持CUIX格式,因此為了提高菜單的裝載速度,編制了不同格式的菜單文件,根據檢測到的AutoCAD版本信息,裝載不同格式的菜單文件。
軟件沖突主要表現在兩個方面。
(1)程序名的重名沖突。由于系統涉及的程序眾多,開發時間跨度大、軟件開發人員多,故部分軟件的子程序名、函數名存在用重的問題,如將所有程序都集成到一起時,裝載程序時容易調用了錯誤的程序。為了解決此問題,將不同模塊的程序設置于不同的程序目錄中,在系統切換菜單的同時,設置相應的系統支持路徑,如圖5的系統切換菜單流程。這樣只需保證同一模塊內的子程序不要重名即可,大大降低了系統集成開發的工作量。

圖5 系統切換菜單流程
(2)圖塊的重名沖突。圖形庫中圖塊的名稱用重時,圖塊的調用則會出錯,插入的圖塊總是第一次被圖形調用的塊。由于系統中對于圖塊的插入都是由程序自動完成的,用戶只有在成圖后才能發現圖紙的錯誤。為了徹底解決此問題,最好的解決方案就是對圖塊名進行逐一核對,將重名的圖塊重新命名。
由于ZPW-2000R移頻自動閉塞CAD子系統是基于在.NET2010開發環境下利用C號語言進行的AutoCAD二次開發[7],與Visual LISP語言開發的系統存在著差別。由于Visual LISP支持對Windows的ActiveX對象的操作及支持ActiveX與其他程序的交互,因此通過Visual LISP提供的豐富的ActiveX接口函數可輕松實現將其他開發環境開發的系統進行集成[8]。如將自動閉塞CAD子系統集成至SIGCAD系統,可通過vlax-create-object和vlax-invoke-method兩個函數來實現。
友好的系統界面便于用戶操作,提高設計效率,因此系統集成中大量采用了與AutoCAD界面風格一致的菜單、對話框和幻燈片顯示技術,可以使用戶徹底擺脫使用說明書。
(1)統一各系統的界面,各模塊菜單采用了標準的
下拉菜單方式實現,用戶不再需要記憶各程序命令名稱;
(2)對于交互式操作,如設計參數的輸入、類型的選擇、圖形中位置的輸入及實體的拾取等則采用了對話框的方式(圖6),通過對話框形象、直觀的界面,達到了可以隨意輸入、隨時修改,鼠標、鍵盤并用的效果;
(3)當需用戶人工輸入設備類型時,如果類型較多,類型名不便于記憶,則需從使用說明書中查找類型對應圖塊的名稱。針對這種情況,設計了信號設備幻燈庫、控制臺塊幻燈庫、繼電電路設備幻燈庫等,開發了帶雙擊幻燈片放大顯示功能的幻燈片顯示程序,顯示效果如圖7所示,可使用戶擺脫使用說明書。

圖6 計算機聯鎖子系統中的對話框

圖7 信號平面布置圖模塊中的幻燈片顯示
隨著該集成系統的研究和應用,使得鐵路信號計算機輔助設計上了一個新的臺階,達到了集成化、系統化、專業化的水平,由于集成系統采用了模塊化的設計,系統易于擴展,便于隨后開發的列控數據等新的功能模塊的添加。該集成系統已初步在邯黃、邯長、邯濟、張唐、津秦客運、哈齊客運等項目的生產中投入使用,極大地提高了生產效率,達到了預期的成效。
[1] 王秉文.6502電氣集中工程設計[M].北京:中國鐵道出版社,2005:200-201.
[2] 鐵道第三勘察設計院集團有限公司.信號專業CAD綜合改造與開發軟件研制報告[R].天津:鐵道第三勘察設計院集團有限公司,2006.
[3] 鐵道第三勘察設計院集團有限公司.ZPW-2000A電碼化計算機輔助設計軟件研制報告[R].天津:鐵道第三勘察設計院集團有限公司,2010.
[4] 鐵道第三勘察設計院集團有限公司.車站信號冗余型計算機聯鎖輔助設計軟件研制報告[R].天津:鐵道第三勘察設計院集團有限公司,2013.
[5] 鐵道第三勘察設計院集團有限公司.SIGCAD系統用戶手冊V0.9.3[Z].天津:鐵道第三勘察設計院集團有限公司,2013.
[6] 趙景亮.AutoCAD 2004與AutoLISP二次開發技術[M].北京:清華大學出版社,2004:1-2.
[7] 楊瑞宇.CAD二次開發及其在鐵路信號施工圖設計中的應用[J].鐵道標準設計,2012(2):115-117.
[8] Autodesk, Inc..AutoCAD2000 VISUAL LISP開發人員手冊[Z].Autodesk, Inc.1999:161-1637.