胡謙
(中車株洲電力機(jī)車有限公司,湖南 株洲 412001)
軌道交通車輛電氣原理圖所采用的電氣設(shè)計(jì)軟件主要有ELCAD、Engineering Base等,此類軟件可自動(dòng)生成電纜的連接點(diǎn)位、線號(hào)、電纜線型等信息[1]。但由于現(xiàn)代軌道交通裝備制造企業(yè)組織機(jī)構(gòu)復(fù)雜,生產(chǎn)專業(yè)分工較為細(xì)化,導(dǎo)致上述電氣設(shè)計(jì)軟件自動(dòng)生產(chǎn)的線表無(wú)法指導(dǎo)生產(chǎn)現(xiàn)場(chǎng)的實(shí)際生產(chǎn)。目前,A/B型地鐵生產(chǎn)制造單元所使用的電聯(lián)接線表是工藝技術(shù)人員根據(jù)ELCAD、Engineering Base等軟件生成的excel格式線表,手動(dòng)添加下線工位、布線工位、接線工位、線號(hào)標(biāo)簽等工藝信息而成。但由于城軌車輛電氣聯(lián)接使用了大量線纜,一個(gè)普通A/B型地鐵項(xiàng)目通常需要多名工藝技術(shù)人員花費(fèi)一周以上的時(shí)間才能完成工藝信息的添加及整理。譚元冰等開發(fā)的線纜操作管理系統(tǒng)[2]可以實(shí)現(xiàn)線表制動(dòng)轉(zhuǎn)換成下線表、布線表、接線表等。但在此之前,仍然需要工藝技術(shù)人員手動(dòng)添加現(xiàn)場(chǎng)作業(yè)所需的班組等信息。本文主要研究目前手動(dòng)添加電聯(lián)接線表工藝信息的方式。通過(guò)利用線表中已經(jīng)存在的連接器點(diǎn)位等信息,設(shè)計(jì)了自動(dòng)推導(dǎo)出所需的工藝信息的計(jì)算機(jī)算法。使用python語(yǔ)言中的pandas、xls等工具實(shí)現(xiàn)了一個(gè)可自動(dòng)線表生成軟件。
電氣設(shè)計(jì)人員在ELCAD、Engineering Base等電氣設(shè)計(jì)軟件進(jìn)行原理設(shè)計(jì)后,可通過(guò)設(shè)計(jì)軟件自動(dòng)導(dǎo)出車輛的初始布線總表。隨著軌道交通裝備制造行業(yè)四化(平臺(tái)化、模塊化、簡(jiǎn)統(tǒng)化、標(biāo)準(zhǔn)化)平臺(tái)的建設(shè),由電氣設(shè)計(jì)軟件進(jìn)行二次開發(fā)所生成的A/B型地鐵項(xiàng)目初始布線總表的生成規(guī)則及格式已相對(duì)固定,如圖1所示。
圖1 某地鐵項(xiàng)目布線總表截圖
為服務(wù)現(xiàn)場(chǎng)制造,工藝技術(shù)人員需要在初始布線表的基礎(chǔ)上進(jìn)行二次處理。根據(jù)現(xiàn)場(chǎng)作業(yè)流程,線纜的電氣聯(lián)接主要可分為下線、布線、接插件制作、校線等工序[3]。工藝技術(shù)人員則需根據(jù)初始布線表生成可指導(dǎo)現(xiàn)場(chǎng)作業(yè)的下線表、布線表、接線表、校線表、線號(hào)標(biāo)簽打印表等。
在軌道交通裝備制造企業(yè),電聯(lián)接各專業(yè)細(xì)分程度較高。同一主工序可分為多個(gè)作業(yè)工位。如接插件制作就可分為司機(jī)室工位、客室工位、底架工位等。作業(yè)工位的分配則需要依據(jù)線纜的布線路徑、連接器所在位置[4]等信息進(jìn)行確定。
線纜和連接器所使用的線號(hào)標(biāo)簽則需根據(jù)線纜的類型、線纜大小、線纜電壓等級(jí)來(lái)進(jìn)行確定。
通過(guò)上述分析,軟件需實(shí)現(xiàn)的功能主要分為三個(gè)部分:新增作業(yè)工位信息、新增線號(hào)標(biāo)簽的類型及大小信息、對(duì)表格重新排序及篩選。
作業(yè)工位的組織結(jié)構(gòu)設(shè)計(jì)主要依據(jù)城軌車輛的幾個(gè)作業(yè)空間所確定。按照組織結(jié)構(gòu)的分類依據(jù),并結(jié)合初始布線表中已包含的信息可以對(duì)各線纜所配屬的工位進(jìn)行總結(jié)。以布線工位分配為例,可根據(jù)布線路徑、連接器位置等進(jìn)行確定,具體分配方式如下圖所示。
圖2 布線工位區(qū)分方式
1.3.1 新增線號(hào)標(biāo)簽的類型及大小信息
連接器標(biāo)簽的確定相對(duì)簡(jiǎn)單,只需篩選出線表中所有連接器位置、代碼信息便可得出。線號(hào)則需要根據(jù)線纜的電壓等級(jí)來(lái)確定線號(hào)的顏色,然后通過(guò)線纜線徑的大小來(lái)確定。原始布線表中并不會(huì)直接給出多芯線線纜的線徑,而需要通過(guò)線纜線型,利用正則表達(dá)式的算法來(lái)進(jìn)行提取。
1.3.2 表格重新排序及篩選
線表篩選是為了針對(duì)不同的作業(yè)工序,提取出作業(yè)所需的信息,簡(jiǎn)化表格。如接線表僅僅提取線纜的連接點(diǎn)位,而忽略布線路徑等信息。
排序是為了方便員工作業(yè)時(shí)按照一定的順序進(jìn)行布線或接線。布線表、接線表主要根據(jù)布線已提前的布線工位、線束號(hào)、線束數(shù)量(針對(duì)多芯線)來(lái)進(jìn)行排序。校線表根據(jù)線纜連接點(diǎn)為的位置信息進(jìn)行類,如:客室內(nèi)對(duì)客室內(nèi)、客室內(nèi)對(duì)底架、底架對(duì)底架等。
本軟件所需要設(shè)計(jì)圖形交互界面相對(duì)簡(jiǎn)單,主要需實(shí)現(xiàn)兩個(gè)功能。一是提供可選擇原始布線總表所在路徑的功能。二是針對(duì)MVB網(wǎng)絡(luò)線纜篩選功能,提供可輸入線纜線型的功能,供軟件識(shí)別不同項(xiàng)目的MVB線纜(MVB網(wǎng)絡(luò)線纜校線需做特殊處理)。
ELCAD、Engineering Base等電氣設(shè)計(jì)軟件生成的原始布線總表為EXCEL格式。眾多編程語(yǔ)言具備處理此格式文件類庫(kù)。如VBA語(yǔ)言可直接處理此格式文本,Python語(yǔ)言中有openpyxl、pandas等,Java中有POI庫(kù)等。因?yàn)镻ython語(yǔ)言和pandas庫(kù)的組合可快速高效地操作數(shù)據(jù)[5],所以本軟件采用Python語(yǔ)言結(jié)合pandas庫(kù)進(jìn)行設(shè)計(jì)。
2.2.1 作業(yè)工位判斷
Pandas可方便地讀取excel格式中表頭信息,并自動(dòng)轉(zhuǎn)換為DataFrame格式。而表頭信息也可自動(dòng)轉(zhuǎn)換為index信息。根據(jù)1.2.1的分析,利用布線總表的布線路徑等信息定義對(duì)應(yīng)的作業(yè)工位。如底架內(nèi)聯(lián)線的布線工位可通過(guò)以下代碼實(shí)現(xiàn)。
2.2.2 線號(hào)大小識(shí)別
線號(hào)大小識(shí)別主要根據(jù)線纜的大小及是否為多芯線來(lái)判斷。目前各線纜廠商提供的線纜線型數(shù)據(jù)中通常包含了線芯大校的信息,使用正則表達(dá)式則可提取相關(guān)信息。如單芯線纜的大小可通過(guò)以下代碼識(shí)別。
2.2.3 數(shù)據(jù)篩選及排序
在pandas中,數(shù)據(jù)篩選和排序使用內(nèi)置函數(shù)便可實(shí)現(xiàn)。如篩選排序底架對(duì)底架工位的校線表,可用以下代碼實(shí)現(xiàn)。
Python中有眾多可實(shí)現(xiàn)圖形交互界面的庫(kù),如Tkinter、wxPython等。由于本軟件交互界面相對(duì)簡(jiǎn)單,采用Python的標(biāo)準(zhǔn)的GUI庫(kù)。創(chuàng)建的人機(jī)交互界面如下圖3所示。
圖3 軟件圖形交互界面
文章通過(guò)研究現(xiàn)場(chǎng)電聯(lián)接線表制作的流程,把制作流程轉(zhuǎn)換為軟件算法。解決了A/B型地鐵現(xiàn)場(chǎng)電聯(lián)接線表編制周期長(zhǎng)的問(wèn)題,減少了各個(gè)項(xiàng)目的工藝準(zhǔn)備周期。此外,采用統(tǒng)一的軟件算法,可有效避免了工藝技術(shù)人員在手動(dòng)編制線表時(shí)產(chǎn)生的低級(jí)錯(cuò)誤,提升了電連接線表編制質(zhì)量。