楊瑞宇
(鐵道第三勘察設計院集團有限公司,天津 300251)
我國鐵路交通事業正處于高速發展階段,隨著鐵路建設的不斷推進,信號專業的設計任務依舊繁重,從信號施工圖紙工作量分析,區間設計里程長,車站和中繼站數量多,出圖數量大,這就需要有快速高效的計算機輔助設計軟件來代替手工設計,以減少工程設計人員的重復工作量,減少人為差錯,大大提高了設計質量和速度。
CAD提供給設計人員的只是一些基礎的功能,如果不進行二次開發,那最終完成一項具體的設計就會需要很長時間,比如根據軌道電路調整表計算補償電容的個數,每個區段的長度和電容個數都需要借助公式一次次的計算,一旦設計完成后,如果某一閉塞分區的頻率改變,則需要重復剛才的全部內容,大大降低了設計效率和設計的準確性。如果基于AutoCAD平臺進行二次開發,把圖表轉換成數據庫,將公式計算和專業性圖形繪制編成程序,開發出專業化的繪圖軟件,設計者只需編寫基礎數據就可完成出圖任務,將大大提高設計效率。從AutoCAD2006開始,Autodesk為其開發增加了.NET API,使開發人員可在.NET框架下,使用任何支持.NET的語言,如 VB.NET、C#語言等對AutoCAD進行二次開發。在各種設計語言中,從開發方式能力范圍,開發環境的難易程度及開發環境性能方面比較,基于.NET平臺對AutoCAD進行二次開發,可充分利用.NET的各種優勢,在保證功能強大的前提下大大提高開發速度[1]。
二次開發是在已有的軟件上進行的,它不同于一般的軟件開發,并非從底層開始,故其最大的特點就是繼承性;二次開發是針對特定用戶進行的,因此開發人員既要懂專業知識,又要具備軟件開發能力;二次開發是為了滿足特定用戶的特殊需求,因此可大幅度提高工作效率;二次開發是要解決實際工作中遇到的問題,直接影響工作進度,因此在時間上具有緊迫性能;二次開發要求對支撐軟件有深入的了解,因此工作量大,任務復雜。
針對ZPW-2000R工程設計開發的區間輔助設計軟件從子系統設計角度看,可分為平面、電纜徑路和自閉電路等部分;從軟件處理對象來看,可分為室內和室外設計部分;不同設計部分之間存在著數據交互關系,程序設計之前需要事先規定好模塊間的數據接口,最終通過ACAD圖形輸出設計成果。在設計過程中不容易整合到各設計模塊中的環節,可以逐一做成小模塊,以CAD子菜單命令的形式存在,在軟件輸出設計成果后可調用命令修改。由于室外和室內部分的設計標準化程度高,也因此減少了設計人員重復的繪圖和計算工作,提高了設計工效和準確率。
本次開發的區間程序以實用化為目標,采用了模塊組件和參數化的設計思想,有利于根據需要對軟件進行修改和擴展。首先,將設計目標的功能細化,專業化,通過學習設計標準和設計原則尋求設計目標的精確性;然后采用組件設計實現復雜化向通用化轉變,將設計目標按功能和內容劃分為各級子模塊,有些模塊是通用的,若設計標準有所改變,只需修改相應模塊,而對原有的程序不做或很少做改動。本程序所劃分的各模塊及其相互關系如圖1所示。

圖1 模塊調用關系
區間平面圖設計過程中的一個重要思想就是分段處理,在平面圖繪制過程中,必須要以包含區間布點信息、線路上橋遂信息、中繼站設置情況的平面數據作為輸入條件[2],計算信號樓(中繼站)、進出站信號機、通過信號機、軌道電路分割點以及斷鏈和橋遂的坐標,計算后將這些數據分段存放在數據表中,在CAD2006以后的版本中,可將算法封裝成CAD命令,直接調用就可分段繪制出所需的區間平面圖框架。框架完成后,還需計算每段軌道電路的長度、補償電容的個數、步長及頻率,前3項是要根據具體的軌道電路調整表完成的,補償電容的大小和頻率有關,針對普速線路來說,頻率是按站間來布置的,也可利用分段的思想來解決頻率及電容大小的布置,這也是程序設計中的難點;另一個難點就是連續橋遂分段后的處理,即同一架橋體現在兩段區間平面中,另外還要注意橋的類型是單邊橋還是雙線橋。程序中要注意的地方很多,對于斷鏈表,需要考慮加入斷鏈表后,斷鏈里程后的實際里程如何轉換為在平面圖中的實際位置,要對圖紙圖面進行合理長度的處理。分段思想利用了程序的循環結構,減小了繪圖的工作量,提高了出圖的精確性。平面流程如圖2所示。

圖2 區間平面圖數據處理流程
雙線及電纜徑路圖的設計輸入條件為信號平面布置圖,程序設計中要考慮區間干線電纜的走向及過軌位置,電纜是單側敷設還是雙側敷設;在有單線橋的地方,還要根據橋上是否有設備以及根據信號樓(或中繼站)的位置來確定電纜是否要分開繞行;信號樓(或中繼站)在橋下時電纜的彎曲系數;軌道電路發送/接收的電纜型號及分頻使用要求等。程序就是按照以上設計原則布置各設備干線及支線電纜的走行情況,計算各根電纜長度及芯線使用情況。
ZPW-2000R區間自閉的室內圖紙包括架柜布置圖、閉塞分區電路圖、其他接線圖及側面配線四部分[3]。依據平面圖生成的有效數據完成架柜布置,架柜布置圖是電路圖的基礎,電路圖又是側面配線圖的基礎,幾個模塊獨立設計,僅在數據交互部分有接口,架柜布置圖作為所有設計圖紙的根源,必須以廠家提供的技術資料作為設計依據,程序要讀取所有相關的數據后生成如綜合柜和移頻柜等機柜的布置圖,移頻柜用于安裝發送器、功放器、接收器和衰耗器等設備,綜合柜包括防雷模擬網絡層一個零層;另外,還需考慮設備升級后軟件模塊修改的簡便性。不同的設備廠商在繼電器驅動方式、采集接口方式等方面存在較大差異,需要該軟件模塊能對多廠家信息處理,考慮同軟件平臺、數據分級管理的方式對數據進行處理,利用C#語言與ACAD的接口對象生成最終圖紙。
室外電纜配線模塊的輸入條件是電纜徑路圖,輸出為每根電纜的長度,芯線的使用情況,接線盒內端子的分配情況,由于設備種類較為單一,配線關系也較為簡單[4]。
3.6.1 基礎數據的讀寫
本程序的所有后臺數據都是按格式寫入EXCEL表格中的,包括自行編制的平面數據及其他專業提供的橋隧數據和斷鏈表,要通過C#語言實現CAD與EXCEL的數據交互,首先必須通過引用EXCEL的COM組件并將其轉換成.NET組件才可在程序中正常調用EXCEL表格中的數據。考慮到程序的最后打包問題,C#語言連接EXCEL時最好使用相對路徑,否則程序打包后移到其他客戶端就會出錯,可以用application.startpath()來得到應用程序的相對路徑。
3.6.2 文本文件中數據的讀寫
根據C#語言提供的文件讀取功能,開發者只需調用相應函數就可將平面生成過程中的有效數據寫入文檔,此功能是為后續電路部分提供相關依據,后續部分只需從文本中讀入所需數據即可。
本次開發的ZPW-2000R區間輔助設計軟件基于AutoCAD2004平臺,在.NET2010開發環境下利用C#語言進行了鐵路信號專業區間圖紙的設計與開發,目前已經成功運用于集通線ZPW-2000R段的信號施工圖紙中,在設計周期短的形勢下,快速準確、保質保量的完成了設計任務,為各站按時開通奠定了基礎。
該設計軟件目前只是應用于客貨混線路,針對其他客運專線、普速線路以及非常規站的情況,在今后的過程中還需要做進一步擴展和完善工作,期望能滿足各種線路及車站的設計要求。
[1]張晉西.Visual Basic.NET二次開發AutoCAD范例精解[M].北京:清華大學出版社,2004.
[2]李紅俠,李江.客運專線施工設計階段信號與相關專業接口總結分析[J].鐵道標準設計,2011(2):113-115.
[3]林瑜筠.區間信號自動控制[M].北京:中國鐵道出版社,2008.
[4]張敏慧.高速鐵路信號施工圖設計特點及輔助軟件實現[J].鐵路計算機應用,2011(3):43-49.