陳 磊
(中石化寧波工程有限公司,浙江 寧波 315103)
近年來(lái),國(guó)內(nèi)的一些大型設(shè)計(jì)院開始引進(jìn)國(guó)外先進(jìn)的工程設(shè)計(jì)綜合軟件平臺(tái),用以提高設(shè)計(jì)工作的效率和質(zhì)量,最具代表性的有生產(chǎn)裝置設(shè)計(jì)、穩(wěn)態(tài)模擬和優(yōu)化的大型通用流程模擬系統(tǒng)Aspen Plus、SP-3D軟件、AVEVA工廠設(shè)計(jì)軟件PDMS(Plant Design Management System)及電氣制圖軟件ETAP等;儀表行業(yè)也有許多專業(yè)軟件,如SPI、PRODOK及世宏軟件等。這些都是面向業(yè)主和EPC工程商的儀表工程設(shè)計(jì)解決方案,這些軟件的使用讓自動(dòng)化工程設(shè)計(jì)更加精準(zhǔn)和完善,項(xiàng)目文檔也易于管理。盡管優(yōu)勢(shì)明顯,但這些軟件都有費(fèi)用高和掌握難的問題,而且后期的二次開發(fā)又要花費(fèi)大量的人力和財(cái)力。對(duì)于每一個(gè)工程設(shè)計(jì)人員而言,學(xué)習(xí)這些軟件的使用方法也并非易事。
PDMS、AutoCAD與Excel是工程設(shè)計(jì)領(lǐng)域最常用的軟件,這些軟件各具優(yōu)勢(shì),而互相之間卻無(wú)有效關(guān)聯(lián)。為了提高設(shè)計(jì)人員的工作效率,筆者結(jié)合實(shí)際工作經(jīng)驗(yàn),采用多種簡(jiǎn)單實(shí)用的方法,將三者結(jié)合起來(lái)。而且實(shí)際工作中,也證實(shí)了這些方法的有效性。筆者是基于Auto CAD 2004版和Office 2003版構(gòu)思的方法,不排除這些軟件的升級(jí)版本可能不適合所述方法和思想。
PDMS是廣泛應(yīng)用于電力、煤化工大型工廠基礎(chǔ)設(shè)計(jì)和詳細(xì)設(shè)計(jì)的優(yōu)秀設(shè)計(jì)軟件,倍受國(guó)際大型工程公司的青睞。中石化寧波工程有限公司的鍋爐項(xiàng)目部以熱工專業(yè)為主導(dǎo),已將結(jié)構(gòu)、建筑、設(shè)備及管道等諸多專業(yè)的設(shè)計(jì)工作整合到了PDMS平臺(tái)上,提升了工程的整體設(shè)計(jì)質(zhì)量。在各項(xiàng)目已建模型上,包含了大量的儀表類型、位號(hào)、位置及高度等信息,自控專業(yè)完全能夠有效地利用這些數(shù)據(jù)。
將PDMS數(shù)據(jù)庫(kù)中的所有在線儀表對(duì)應(yīng)的坐標(biāo)和位號(hào)通過PDMS的自帶功能導(dǎo)出為Excel文檔,如圖1所示。
圖1 PDMS導(dǎo)出在線儀表信息的Excel文檔
在這些信息中加入CAD腳本文件命令,形成腳本文件并保存,代碼如下:
Insert YBF
2636000,3687300
PT-101
Insert YBF
2638300,3623300
AT-101
…
將按照1∶1比例繪制的工藝設(shè)備布置圖的零點(diǎn)定位到原點(diǎn)(0,0)坐標(biāo)。同時(shí)在CAD中繪制一個(gè)儀表功能塊,命名為“YBF”,此塊中包含有腳本文件將要調(diào)用的CAD定義(包括位號(hào)及高度等),如圖2所示。
圖2 CAD中的儀表功能塊
用SCR命令執(zhí)行編寫好的腳本文件,所有儀表信息都按照腳本程序的命令自動(dòng)繪圖,形成的初版儀表配線平面敷設(shè)圖再根據(jù)國(guó)標(biāo)和行業(yè)標(biāo)準(zhǔn)中的圖例標(biāo)準(zhǔn)繪制儀表和線纜即可。
AutoCAD和Excel沒有直接的數(shù)據(jù)接口,雖然CAD支持Windows自帶的標(biāo)準(zhǔn)快捷鍵功能(在CAD工具→選項(xiàng)菜單勾選),但是僅有這些對(duì)于工程設(shè)計(jì)應(yīng)用是不夠的。盡管如此,這兩款軟件還都預(yù)留了同平臺(tái)的開發(fā)和調(diào)試接口,即VBA開發(fā)平臺(tái)。
將CAD導(dǎo)入到Excel適用于安裝圖及接線箱接線表等圖紙中有關(guān)材料方面的統(tǒng)計(jì)。先將每張CAD圖的材料表部分內(nèi)容以文本格式存放到獨(dú)立的圖層(命名為“材料”),同時(shí)把其他無(wú)關(guān)圖層全部隱藏,只保留“材料”圖層,運(yùn)行宏“CAD-Excel”,在彈出界面中的A1單元格填寫輸出列數(shù)(如:5),導(dǎo)出界面如圖3所示。
圖3 CAD導(dǎo)入Excel界面
導(dǎo)出內(nèi)容為普通Excel格式,通過復(fù)制和粘貼可以轉(zhuǎn)存到獨(dú)立的Excel文件中。接下來(lái)只需要利用Excel軟件強(qiáng)大的排序和計(jì)算功能匯總材料即可。該方法的程序由多條AutoLISP語(yǔ)句組成,主要包含選擇集掃描語(yǔ)句ssget()、賦值語(yǔ)句setq()、選擇集計(jì)數(shù)語(yǔ)句slength()及循環(huán)語(yǔ)句if()等。宏“CAD-Excel”的程序流程如圖4所示。
圖4 宏“CAD-Excel”的程序流程
有了前述方法,要從Excel導(dǎo)入到CAD就更簡(jiǎn)單了。利用開放的工具軟件VBA,將Excel與CAD無(wú)縫連接。首先將CAD繪制好的非空表格導(dǎo)出(無(wú)需另存為Excel格式),把需要修改的項(xiàng)從Excel格式的數(shù)據(jù)源直接復(fù)制到對(duì)應(yīng)位置,并通過“TO CAD”按鈕將Excel表格導(dǎo)入。
因功能所限,以上方法使用過程中,所有表格格式都不會(huì)被復(fù)制,僅實(shí)現(xiàn)了類似于Office軟件中數(shù)據(jù)的選擇性粘貼功能。
儀表規(guī)格書中每一種儀表都有大量的工藝參數(shù),輸入這些數(shù)據(jù)需要花費(fèi)大量精力。上游工藝專業(yè)提出的儀表?xiàng)l件表(以下簡(jiǎn)稱條件表)都有帶儀表位號(hào)的電子版文件,其表格格式由自控專業(yè)為工藝量身設(shè)計(jì),形式相對(duì)固定,甚至也有專門的Intools條件表。利用這些規(guī)范的數(shù)據(jù)源制作的規(guī)格書模板,可以被使用在任何項(xiàng)目中,進(jìn)而逐步實(shí)現(xiàn)儀表專業(yè)設(shè)計(jì)的自動(dòng)化。
模板的制作要求用最新版的規(guī)格書樣式(圖5),避免頻繁修改格式導(dǎo)致程序出錯(cuò)。假設(shè)以調(diào)節(jié)閥規(guī)格書為例,把條件表修改為固定文件名(如“工藝條件”),并放在固定的文件夾(如:D:)。最終目標(biāo)是每次打開規(guī)格書,只要在位號(hào)一欄填寫儀表位號(hào),軟件就能自動(dòng)關(guān)聯(lián)到最新的工藝數(shù)據(jù)。
圖5 標(biāo)準(zhǔn)規(guī)格書樣式
利用垂直查找函數(shù)VLOOKUP在用途Service欄輸入公式“=VLOOKUP(BK4,′D:[儀表?xiàng)l件.xls]控制閥條件′!S|FS|1:S|ETS|200,2,0)”,其中,BK4為輸入的儀表位號(hào)所在單元格,控制閥條件為條件表文件中的表名,S|FS|1:S|ETS|200為查找范圍,2表示用途數(shù)據(jù)所在的單元格在已選擇查找范圍內(nèi)的順序號(hào),0為默認(rèn)值。確定調(diào)節(jié)閥的用途就能輕松填入到指定單元格中了。此方法的另一個(gè)優(yōu)勢(shì)在于規(guī)格書文件一旦保存,只要條件表數(shù)據(jù)更新,再次打開規(guī)格書,用途數(shù)據(jù)就會(huì)自動(dòng)更新為最新,實(shí)現(xiàn)自動(dòng)鏈接工藝數(shù)據(jù)的規(guī)格書,效果如圖6所示。
圖6 自動(dòng)鏈接工藝數(shù)據(jù)后的規(guī)格書
同理,所有工藝參數(shù),包括PID號(hào)、溫度、壓力及流量等,均可按上述方法獲得數(shù)據(jù)。
另外,在調(diào)節(jié)閥規(guī)格書里還有許多與儀表位號(hào)相關(guān)的參數(shù)可以直接通過函數(shù)實(shí)現(xiàn),如電磁閥。如果調(diào)節(jié)閥需要帶電磁閥,可在電磁閥位號(hào)欄輸入公式“=LEFT(BK4,FIND(″V″,BK4)-1)&″SOV″&MID(BK4,FIND(″-″,BK4),8)”,此公式的原理是利用文本函數(shù)LEFT從指定文本(單元格BK4)的左側(cè)開始查找;FIND函數(shù)查找特定字符在指定文本中的起始位置編號(hào);MID函數(shù)與FIND函數(shù)近似,區(qū)別在于查找從中間位置開始。不難理解,這條公式的結(jié)果能把調(diào)節(jié)閥位號(hào)順利轉(zhuǎn)為電磁閥位號(hào),而無(wú)需人工干預(yù)。循著這些公式的思路,大部分繁瑣的規(guī)格書數(shù)據(jù)填寫工作都會(huì)迎刃而解。
鑒于質(zhì)量管理的要求,工藝專業(yè)有時(shí)只注重紙版文件的更新,不能約束其電子版條件的實(shí)時(shí)性,因此所有文件在完成之前都必須再次與最終的紙版條件一一核對(duì),如有不符需及時(shí)更正。
在詳細(xì)設(shè)計(jì)過程中,設(shè)計(jì)后期需要花費(fèi)許多精力完成接線箱接線表,尤其是端子號(hào)的填寫和校對(duì)。圖7為DCS廠家提供的典型端子表,不同的廠家可能格式不同,需進(jìn)行格式整理。
圖7 DCS廠家提供的典型端子表
圖8為筆者設(shè)計(jì)的接線箱接線表,如果要實(shí)現(xiàn)DCS端子的自動(dòng)關(guān)聯(lián),需要將DCS廠家提供的端子表改造,使得端子表中每個(gè)位號(hào)所在的行包含機(jī)柜號(hào)、卡件號(hào)及接線端子號(hào)等。改造后的表格如圖9所示。
3.服務(wù)外交戰(zhàn)略。抗戰(zhàn)勝利紀(jì)念活動(dòng)具有高度的涉外性,涉及中蘇(俄)、中美、中日、中國(guó)與聯(lián)合國(guó)等雙邊、多邊外交關(guān)系,其中以對(duì)大國(guó)關(guān)系的影響最為關(guān)鍵,發(fā)揮著服務(wù)外交戰(zhàn)略的重要作用。
圖8 設(shè)計(jì)院接線箱接線表
圖9 改造后的DCS端子表
連接DCS廠家端子表和接線箱接線表的方法同3.1節(jié)所述。
索引表在設(shè)計(jì)的整個(gè)過程中會(huì)隨時(shí)刪除和增加內(nèi)容,因此索引表的頁(yè)碼、表頭和表尾在入庫(kù)的最后時(shí)刻才能確定,這就需要一種簡(jiǎn)單快速的方法填寫這些內(nèi)容。
頁(yè)碼包含在表頭內(nèi),可以隨表頭一起添加。主程序是For語(yǔ)句,循環(huán)復(fù)制模板中的表頭,插入語(yǔ)句Insert把復(fù)制的表頭插入到指定位置。此程序的關(guān)鍵是利用ActiveSheet.PageSetup.Pages.Count獲得活動(dòng)工作表的頁(yè)數(shù),以便確定循環(huán)復(fù)制表頭的次數(shù)。每插入一個(gè)表頭,選定行下移39行(標(biāo)準(zhǔn)索引表一頁(yè)39行)。部分主程序如下:
For c=1 To t2
If c Sheets(″**″).Select Selection.Copy Sheets(s).Select r=r+31 Rows(r).Select Selection.Insert Shift:=xlDown r=r+8 Else Sheets(″引用″).Select Rows(″37:39″).Select Selection.Copy Sheets(s).Select r=r+31 Rows(r).Select Selection.Insert Shift:=xlDown r=r+3 End If Next c 在運(yùn)行此宏前,將模板中的圖號(hào)、頁(yè)碼、總頁(yè)數(shù)和版次位置填寫相應(yīng)的函數(shù),以實(shí)現(xiàn)這些信息的自動(dòng)編制,圖號(hào)、總頁(yè)數(shù)、版次可使用絕對(duì)引用的方法,頁(yè)碼使用逐頁(yè)累加的方法。 除了以上類型圖紙的小竅門,一直缺少邏輯圖和復(fù)調(diào)圖的CAD繪制技巧,各設(shè)計(jì)院也努力開發(fā)了一些軟件工具,如中石化南京某設(shè)計(jì)院的SmartCtrlLogic軟件,還有采用Visio軟件等,但均未能推廣應(yīng)用。在工程設(shè)計(jì)領(lǐng)域,最終的報(bào)表文件還是離不開CAD這種出圖形式。因此,花費(fèi)一些時(shí)間和精力研究編制實(shí)用的小插件,可以大幅提升相關(guān)設(shè)計(jì)人員的工作效率。4 結(jié)束語(yǔ)