(1.甘肅省計算中心, 蘭州 730030; 2.蘭州交通大學, 蘭州 730070; 3.鐵道第一勘察設計院, 蘭州 730020)
摘 要:分析了鐵路信號工程設計中從電纜徑路圖到室外電纜配線圖的生成原理和電纜徑路圖中電纜連接結構,給出了與該結構對應的樹型定義和數據結構的列表定義,提出一種基于該數據結構的電纜連接自動識別算法和室外電纜配線圖自動生成算法。
關鍵詞:鐵路信號; 算法; 數據結構; 計算機輔助設計; 自動設計
中圖分類號:TP391.72 文獻標志碼:A
文章編號:10013695(2009)03116902
Autogeneration algorithm of outside cable match drawing based on cable route graph in railway signal engineering design
LV Xingshou1, WANG Xiaoping2, WANG Anrong1, JIA Yimei3
(1. Computing Centre of Gansu Province, Lanzhou 730030, China; 2.Lanzhou Jiaotong University, Lanzhou 730070; 3.The First Designing Institute of Railway, Lanzhou 730020, China)
Abstract:This paper first analyzed the design principle from cable route graph to outside cable match drawing and the structure of cable linking in railway signal design engineering, gave the definition of tree structure and list data structure corresponding the linking, proposed an autodistinguishing and autogenerating algorithm of outside cable math drawing based on the data structure.
Key words:railway signal engineering; algorithm; data structure; computer aided design(CAD); autodesign
鐵路站場信號工程設計中,無論是6502繼電聯鎖還是計算機聯鎖系統,電纜徑路圖和室外電纜配線圖都是必不可少的設計內容。前者是電氣集中室外設備信息采集和設備控制的指令通道,是電氣集中的“神經系統”,電氣集中室外設備的安全、可靠運行有賴于信號電纜的正確敷設和配線,同時室外電纜的費用要占整個工程造價的40%~50%,因此必須對電纜長度、芯線數及其他連接設備進行合理的設計與計算;后者則是對設計完成的電纜徑路圖(或電纜網絡圖),根據設計規范和設計習慣,繪制出每條電纜和其上所連接設備的詳細接、配線關系。電纜徑路圖和室外電纜配線圖設計工作十分繁冗,出圖量大,歷來是信號工程設計的難點之一。國內尚未見高效、可靠的算法介紹文獻,已有的軟件實現也都是基于交互式計算和輸入,且難以處理一些諸如道岔配線的復雜結構[1,2];國外因信號制式不同無可比性。本文介紹一種針對該設計內容的計算機輔助設計(CAD)系統的自動識別與生成算法。
1 電纜徑路圖及其結構
圖1是某車站電纜徑路圖的一個局部示例。其中,粗細相間(極性交叉)的雙線部分表示站場的股道;虛線及其連接的各種圖形符號就是電纜徑路。這些圖形符號分別代表不同種類的分向電纜盒、終端電纜盒、變壓器箱盒和軌道電路發送/接收箱盒等。每條電纜都從信號樓開始(稱為主電纜),根據設計布局沿途連接不同的信號設備,直至各分支的終端設備。站場規模不同,主電纜的數量也不同,從幾條到數十條不等。每一段電纜線的上方(或側面)都標注了該段電纜的長度和芯線數參數,如1209(2),表示長度為120 m,9芯電纜,備用2芯。電纜的型號選擇、敷設路徑和長度計算屬于電纜設計的工程計算范疇,本文不作敘述。
2 從電纜徑路圖到電纜配線圖的轉換設計
設已有如上設計完成的電纜徑路圖,共有主電纜21條。室外電纜配線圖的設計任務,就是將每條電纜轉換為具有詳細接、配線關系的配線圖。任取其中一條電纜,去除周邊的其他圖形信息將其單獨提取后,如圖2所示。雙圓形符號是分向電纜盒,單圓形符號是終端(或兼有過渡接線端子)電纜盒,其中的數字表示方向數或接線端子數;其余的方形或組合方形符號是變壓器箱盒,而“#8226;”“+”表示軌道區段的送電、受電。右上方懸空的線段表示來自信號樓的電纜起始端。
根據以上圖形和電纜配線圖的設計原理及繪制習慣,完成的該條電纜配線圖如圖3所示。圖中每一個長方塊代表電纜連接圖的一個設備,即或者是分線盒,或者是變壓器箱盒,其名稱在長方塊的頂部(左側)標出。長方塊的左下角是該段電纜的長度和芯線參數。穿越長方塊的線段則表示實際的電纜芯線,其上的數字表示芯線編號,線段末端的文字是該芯線的名稱。最下方的長方塊表示信號樓內的接線端子板,其內線段旁邊的文字是室外分線盤端子名稱,該長方塊的頂部標注出該條電纜的編號。
若從底部算起,圖3中的第二層只有一個長方塊,它就是電纜連接圖中的第一個分線盒S6/HF7,往上第三層有五個長方塊,即對應電纜連接圖中出自S6/HF7的五個分支。由于電纜配線圖中的每一個設備的每一根芯線都有惟一的編號和名稱。電纜配線圖旨在表示出設備間的連接和配線關系,對表示設備的長方塊不做順序上的要求,因此第三層中的五個長方塊不必按照電纜連接圖中S6/HF7的五條出口電纜按某種順序的排序繪制。因此電纜連接圖中出自S6/HF7、從上往下看的第二條(即只連接一個箱盒)電纜,被繪制在第三層的最右端。其余各層的表示與此類似,不再贅述。
從上可以看出,從電纜連接圖到電纜配線圖的設計過程,實際上是一個圖形轉換過程。當然這種轉換不僅是圖形結構的對應,還是對每一根電纜芯線和所涉及設備接、配線關系的具體化。同時根據需要,還要處理芯線和設備的串、并聯關系,如同一箱盒中的電話通信線、信號機燈絲報警線、道岔轉轍機的加粗線和道岔的缺口檢查通信線等。對于與軌道電路連接的箱盒,還要區分出接收、發送端的連接線。每個箱盒中的電纜,除過渡線外,它們的排列和命名都需要遵循各種信號設備的接、配線規律。這些內容因涉及信號設計的專業知識,在此不再介紹。電纜配線圖設計過程的繁冗,由此可見一斑。
3 電纜徑路圖電纜連接樹的自動識別與生成算法
分析圖2單條電纜的連接圖可以看出,其連接關系實際上是一棵樹,從信號樓引出的電纜連接的第一個箱盒S6/HF7是樹根,整個電纜徑路圖中的全部主電纜構成了一個森林。為便于敘述,以圖4所示的一棵樹結構為例,介紹本文采用的電纜連接圖數據結構與生成算法。
根據電纜連接圖的特點,電纜連接樹的定義為:a)電纜連接樹是一個有限非空的節點集合;b)有且只有一個根節點;c)除根節點以外的節點劃分成m>0個不相交集合T1,…, Tm,這些集合的每一個可能是原子,也可能是樹型。
數據結構采用一種改進的列表結構,遞歸定義為:a)列表是一個有限的由多個原子或列表組成的序列;b)列表不可重疊(即諸子列表不得相交)。
根據以上定義,圖4的數據結構表示為:
L = ((\"C-8\" (\"S\" (\"W\") (\"TT\"))) (\"W\" ((\"X\") (\"Y\"))) (\"X\" (\"Z\" (\"AA\") (\"BB\"))) (\"Y\" (\"CC\")) (\"AA\" (\"DD\")) (\"BB\" (\"EE\")) (\"TT\" (\"U\")))
根據電纜徑路圖,軟件算法首先需要構造每根主電纜的電纜連接數并生成相應的數據結構,算法的形式描述如下:
Algorithm ConsTrucTree ( )
GetStartBoxName ();
//獲取從信號樓引出主電纜所連接的第一個箱盒;
GetLinkNum ();/*獲取StartBoxName所連接的電纜線數(剔除StartBoxName的入口電纜線)*/
if LinkNum > 0 {
NewNodeList = ∧;BoxList = ∧; //節點、箱盒列表初始化
i= 0;
While LineNum < LinkNum {
CurrentLine = LinkNum(i); //取第 i 條連接線段
SubLink = FindLink(CL_P2);
//求取該連接線段末端連接的箱盒和BoxName;
CabDistList <- 求取當前電纜線段的長度參數;
Case:1. Length(SubLink)>1//有新子樹
NewNodeList = AddElem(NewNodeList,SubElem);
//加入新節點到列表
BoxList = AddBox(CL_P2);
2. Length(SubLink) = 1 //是原子節點
NewNodeList = AddElem(NewNodeList,SubElem);
endCase;
while BoxList { ConsTrucTree();}
endWhile;//遞歸調用構造樹函數
endWhile;
endAlgorithm
經該算法的執行,即可自動識別出電纜徑路圖中的電纜連接樹,為后續電纜配線圖的生成提供了基本的數據結構。當然供該識別的電纜徑路圖,其中的箱盒均附有箱盒名稱、接/配線端子數和所連接的信號設備名稱等信息,其計算機輔助設計和成圖部分,因屬另外的軟件系統,筆者將另文介紹。
4 室外電纜配線圖的自動生成
有了徑路圖中電纜連接樹的基本數據結構,室外電纜配線圖的生成就可以自動執行。以下給出電纜配線圖的生成算法。
Algorithm GenCabMatchDraw ()
SubRoutine DrawSubTree (Ver_Box) {
While Ver_Box
Key_Name = (Ver_Box, i);
tKey_Name = FirstKey_Name();
tBoxHigh = CompBoxHigh (Key_Name)
GetCabPara();//當前電纜盒的設計參數
DrawTheBox(tBoxHigh, CabPara);
if Length(Key_Name)>1 {
Key_Name = (Key_Name, ii);
GetSubVer_Box (Key_Name);
DrawSubTree (SubVer_Box) }
Endif;
Ver_Box = Next (Ver_Box);