趙純正
(中石化寧波工程有限公司 蘭州分公司,蘭州730060)
隨著信息化技術(shù)的飛速發(fā)展,工程項(xiàng)目日趨大型化、復(fù)雜化,自控設(shè)計(jì)中僅僅依靠計(jì)算機(jī)輔助設(shè)計(jì)(AutoCAD)技術(shù)及Office辦公軟件等傳統(tǒng)方法明顯地出現(xiàn)局限性。為了提高設(shè)計(jì)質(zhì)量和效率,開發(fā)出了多種儀表輔助設(shè)計(jì)軟件(儀表工程管理軟件)。國內(nèi)已商業(yè)化的儀表輔助設(shè)計(jì)軟件主 要 有 INtools(SPI),WINPCCAD,CCAS,而INtools約占70%的全球市場份額[1]。在儀表工程設(shè)計(jì)實(shí)踐中,這些儀表輔助設(shè)計(jì)軟件對提高設(shè)計(jì)質(zhì)量和設(shè)計(jì)效率起到了一定的作用。
儀表輔助設(shè)計(jì)軟件往往都要經(jīng)過二次開發(fā)才能使用[2]。針對這些軟件進(jìn)行的二次開發(fā),基本上都集中在做種子文件。但由于種種原因,這些儀表輔助設(shè)計(jì)軟件的使用情況并不樂觀。比如,國內(nèi)不少石油化工項(xiàng)目在設(shè)計(jì)時(shí)使用INtools軟件,是由于業(yè)主招標(biāo)文件與合同中強(qiáng)制要求使用[3]。文獻(xiàn)[3]中指出了設(shè)計(jì)人員某些不使用INtools的原因,包括業(yè)主沒有提供經(jīng)二次開發(fā)的相對完善的INtools種子文件,工期壓力和交工習(xí)慣。筆者認(rèn)為,它只在設(shè)計(jì)實(shí)踐的局部帶來了設(shè)計(jì)質(zhì)量和效率的提高,對儀表設(shè)計(jì)人員來說,整體上帶來的好處并不足夠明顯,甚至在一些工作中,增加了設(shè)計(jì)的難度和復(fù)雜性。這是由于對設(shè)計(jì)實(shí)踐過程考慮不夠全面,軟件使用中有一些瑕疵,正是這些瑕疵嚴(yán)重影響了使用者的感受。文中圍繞儀表輔助設(shè)計(jì)軟件的部分功能模塊進(jìn)行討論,并指出二次開發(fā)后,就能充分地發(fā)揮這些儀表輔助設(shè)計(jì)軟件的作用,提高設(shè)計(jì)質(zhì)量和效率。
如果以前做過同類項(xiàng)目,可以直接以原來的文件為模版進(jìn)行修改,或創(chuàng)建種子文件再進(jìn)行修改即可。如果以前沒有做過同類項(xiàng)目,通常最初的儀表索引表需要以全人工的方式建立。使用和不使用儀表輔助設(shè)計(jì)軟件工作效率基本一樣。
文獻(xiàn)[4]提出并實(shí)現(xiàn)了利用VBA開發(fā)自動(dòng)生成儀表索引表軟件。使用該軟件能減少約60%的設(shè)計(jì)工作量。在具體的開發(fā)實(shí)踐中,還有一些其他的方法可以采用,具體采用什么方式應(yīng)根據(jù)工藝-自控條件表格決定。文獻(xiàn)[4]是根據(jù)儀表位號(hào)(準(zhǔn)確地說是回路號(hào))來進(jìn)行回路功能判斷。
有時(shí)工藝-自控條件中的位號(hào)只是現(xiàn)場儀表位號(hào),包括現(xiàn)場檢測儀表和閥門,文獻(xiàn)[4]沒有對這種情況下怎樣處理進(jìn)行論述。在此情況下,儀表回路功能可以通過判斷條件表中其他的內(nèi)容來獲得。對于儀表類型的確定,除了可以在程序生成索引表時(shí)手動(dòng)選擇外,也可以在工藝-自控條件表的后面加一列,填上表示儀表類型的數(shù)值或字符。同樣對于閥門是調(diào)節(jié)閥或兩位閥,或調(diào)節(jié)閥是否需要帶電磁閥,也可以采用同樣的方法。采用在條件表中增加列的方式,通過程序判斷增加列中的內(nèi)容,在生成索引表時(shí)可以不用干預(yù)。與采用生成索引表的過程中選擇儀表類型工作是一樣的,只是確定儀表類型的工作轉(zhuǎn)移到了索引表生成前。
自動(dòng)生成的儀表索引表需要根據(jù)P&ID進(jìn)行必要的核對。核對工作分為:P&ID中的回路(包含儀表)是否已在儀表索引表中建立;回路關(guān)系是否正確及完整。
對于第一部分內(nèi)容的核對,可以進(jìn)行人工核對。也可以采用程序?qū)&ID中的儀表位號(hào)讀取到Excel表格中,再將讀取的位號(hào)和儀表索引表核對。當(dāng)P&ID中圖例采用塊表示時(shí),讀取塊屬性能獲得儀表位號(hào),當(dāng)不是采用塊作為圖例時(shí),需要根據(jù)P&ID中圖例的畫法,判斷儀表位號(hào)圖例,并讀取圖形中的文本作為儀表位號(hào)。有時(shí)在P&ID中會(huì)采用多種形式的圖例。程序不能將儀表位號(hào)完全讀取出來,同時(shí)還會(huì)讀取安全閥位號(hào)等無用信息。因此,當(dāng)從P&ID中讀取到一個(gè)位號(hào)時(shí),將表示位號(hào)的文本和圖形符號(hào)的顏色進(jìn)行修改,這樣容易發(fā)現(xiàn)沒有讀取到的儀表位號(hào)。沒有讀取的位號(hào)直接采用人工方式和儀表索引表核對。在與儀表索引表核對前,將儀表位號(hào)中表示儀表功能的首字母,儀表功能的后續(xù)字母以及流水號(hào)分開,再根據(jù)首字母和流水號(hào)進(jìn)行排序,使儀表位號(hào)的順序與儀表索引表中儀表位號(hào)順序一致,能減少核對的工作量。
對于第二部分內(nèi)容的核對,自動(dòng)生成的儀表索引表中簡單回路關(guān)系不會(huì)有問題。對于較復(fù)雜的回路需要根據(jù)P&ID,甚至復(fù)雜回路圖及聯(lián)鎖邏輯圖,進(jìn)行人工核對。
儀表輔助設(shè)計(jì)軟件以儀表位號(hào)為關(guān)鍵字。自控專業(yè)具體設(shè)計(jì)工作的第一步是建立儀表索引表。將儀表索引表導(dǎo)入儀表輔助設(shè)計(jì)軟件,為在不增加額外工作的情況下使用儀表輔助設(shè)計(jì)軟件創(chuàng)造了條件。INtools提供了輸入模塊,采用該模塊可以直接導(dǎo)入儀表索引表,該方法步驟略為繁瑣,通用性強(qiáng)。有的工程公司為了簡化數(shù)據(jù)導(dǎo)入,開發(fā)了專門的導(dǎo)入軟件,導(dǎo)入步驟簡單,但不具備通用性。WINPCCAD沒有提供儀表索引表導(dǎo)入模塊,需要開發(fā)專門的軟件才能實(shí)現(xiàn)儀表索引表的導(dǎo)入。
各工程公司都有自己的儀表規(guī)格書,儀表輔助設(shè)計(jì)軟件提供的模板往往需要修改后才能使用,這也是對儀表輔助設(shè)計(jì)軟件進(jìn)行二次開發(fā)最主要的工作之一。WINPCCAD的輸出模板能很好地支持Excel類型文件,按照用戶手冊進(jìn)行處理即可。INtools的輸出模板不支持Excel類型文件,雖然提供了informaker報(bào)表定制軟件,但該軟件定制困難,靈活性差[5]。文獻(xiàn)[5]通過創(chuàng)建ODBC采用SQL查詢,實(shí)現(xiàn)了從INtools數(shù)據(jù)庫中提取數(shù)據(jù)并傳到基于Excel的報(bào)表輸出軟件中,解決了使用INtools的不足。
儀表輔助設(shè)計(jì)軟件提供了工藝數(shù)據(jù)導(dǎo)入功能,將工藝數(shù)據(jù)導(dǎo)入其數(shù)據(jù)庫,可以減輕手工輸入工藝的麻煩并避免出錯(cuò)。但工程公司的Excel類型、豎表形式的儀表規(guī)格書不能直接導(dǎo)入其數(shù)據(jù)庫。儀表設(shè)計(jì)人員借鑒類似工況下的儀表選型時(shí),儀表規(guī)格只能手工輸入,反而顯得麻煩。特別是設(shè)計(jì)人員如果做過同類裝置的設(shè)計(jì),且在設(shè)計(jì)該項(xiàng)目過程中,沒有使用儀表輔助設(shè)計(jì)軟件,就可能出現(xiàn)不愿使用儀表輔助設(shè)計(jì)軟件的現(xiàn)象。
開發(fā)可以將Excel類型、豎表形式的儀表規(guī)格書導(dǎo)入儀表輔助設(shè)計(jì)軟件的軟件,能方便儀表設(shè)計(jì)。在設(shè)計(jì)實(shí)踐中,將需要引用的儀表規(guī)格書中位號(hào)改為需要的儀表位號(hào),先將規(guī)格書導(dǎo)入儀表輔助設(shè)計(jì)軟件,再將工藝數(shù)據(jù)導(dǎo)入儀表輔助設(shè)計(jì)軟件,最后進(jìn)行必要檢查即完成該位號(hào)儀表規(guī)格書設(shè)計(jì)。對于以往做過的同類項(xiàng)目,也可以直接將規(guī)格書導(dǎo)入,再導(dǎo)入工藝數(shù)據(jù),最后再檢查即可。在進(jìn)行規(guī)格書導(dǎo)入軟件開發(fā)時(shí),可以創(chuàng)建ODBC采用SQL實(shí)現(xiàn)對INtools數(shù)據(jù)庫的訪問,也可以采用XML實(shí)現(xiàn)數(shù)據(jù)庫的訪問或者采用其他的方法。
儀表輔助設(shè)計(jì)軟件都提供了接線模塊,在該模塊中可以設(shè)置各種接線排、端子以及電纜,只需拖拽電纜就可以完成接線。根據(jù)這些接線可以方便地生成儀表回路接線圖。根據(jù)出圖習(xí)慣,工程公司還要出儀表(接線箱)接線圖或儀表電纜連接表。而儀表輔助設(shè)計(jì)軟件無法生成符合設(shè)計(jì)習(xí)慣的儀表(接線箱)接線圖或儀表電纜連接表。在這種情況下,設(shè)計(jì)人員至少有三種方法:
a)結(jié)合儀表輔助設(shè)計(jì)軟件進(jìn)行生成儀表(接線箱)接線圖或儀表電纜連接表的二次開發(fā)。在儀表輔助軟件中完成接線,利用二次開發(fā)的軟件讀取數(shù)據(jù)庫中信息,并生成儀表(接線箱)接線圖或儀表電纜連接表。利用儀表輔助設(shè)計(jì)軟件生成儀表回路接線圖。
生成儀表接線箱或儀表電纜連接表,有兩個(gè)步驟。首先從儀表輔助設(shè)計(jì)軟件中讀取接線信息,可以采用文獻(xiàn)[5]中提供的方法或其他方法,再根據(jù)接線信息生成接線箱接線圖或儀表電纜連接表。生成的圖如果是AutoCAD形式的,比較簡單的方法是先畫幾種規(guī)格的接線箱接線圖或電纜連接表的模板,根據(jù)讀取的數(shù)據(jù)選擇對應(yīng)的模板,并將讀取的信息填入相應(yīng)的位置。采用該方法時(shí),設(shè)計(jì)時(shí)選用的接線箱端子數(shù)應(yīng)與模板中的接線箱端子數(shù)相同。
b)開發(fā)一個(gè)將儀表(接線箱)接線數(shù)據(jù)導(dǎo)入儀表輔助設(shè)計(jì)軟件的軟件。通過手工方式完成儀表(接線箱)接線表,用二次開發(fā)的軟件將數(shù)據(jù)導(dǎo)入儀表輔助設(shè)計(jì)軟件。利用儀表輔助設(shè)計(jì)軟件生成儀表回路接線圖。
c)直接利用儀表(接線箱)接線表中的接線信息生成儀表回路接線圖。通過手工方式完成儀表(接線箱)接線表,利用開發(fā)的軟件生成儀表回路接線圖。該方法筆者已經(jīng)在項(xiàng)目中進(jìn)行了實(shí)踐應(yīng)用。
該方法的思路是將所有的接線信息集中到同一張表中,并對儀表位號(hào)進(jìn)行一定的排序,將同一回路的位號(hào)排在一起。建立若干個(gè)塊,包括二線制的現(xiàn)場端子、三線制的現(xiàn)場端子、二線制的接線箱接線端子、三線制的接線箱接線端子、二線制安全柵接線端子、三線制安全柵接線端子、安全柵、繼電器、卡件等。根據(jù)接線表中的信息,選擇相應(yīng)的塊到圖紙中適當(dāng)?shù)奈恢貌嬌舷鄳?yīng)的連接線,再將接線表中相應(yīng)的數(shù)據(jù)填寫到適當(dāng)?shù)奈恢谩?/p>
以上幾種方法,各有利弊。采用方法a),接線時(shí)的設(shè)置較多,可以檢查是否所有儀表都完成接線;方法b)的接線是傳統(tǒng)方式,使用起來簡單方便,效率高,但不能檢查是否所有儀表都完成了接線;方法c)的接線是傳統(tǒng)方式,使用起來簡單方便,效率高,也不能檢查是否所有儀表都完成了接線,更適合沒有采用儀表輔助設(shè)計(jì)軟件的情況。
在儀表設(shè)計(jì)中,工程公司與控制系統(tǒng)成套商的分界面一般都是以盤柜進(jìn)/出端子為界。進(jìn)/出系統(tǒng)端子排由工程公司負(fù)責(zé)設(shè)計(jì),儀表設(shè)計(jì)需要出端子(安全柵)柜接線圖[6]。在儀表接線部分,設(shè)計(jì)人員已經(jīng)完成了現(xiàn)場進(jìn)/出端子(安全柵)的接線信息。由于儀表輔助設(shè)計(jì)軟件輸出接線信息的功能不強(qiáng),無法輸出滿足要求的端子(安全柵)柜接線圖,在實(shí)際項(xiàng)目的設(shè)計(jì)過程中仍然要使用AutoCAD制作相關(guān)圖紙[7]。對儀表輔助設(shè)計(jì)軟件進(jìn)行二次開發(fā),將儀表輔助設(shè)計(jì)軟件中的端子(安全柵)接線信息讀取出來,并生成滿足要求的端子(安全柵)柜接線圖。自動(dòng)生成端子(安全柵)柜接線圖可以避免現(xiàn)場至端子(安全柵)的信息重復(fù)錄入,不但能提高設(shè)計(jì)效率,而且避免手工錄入可能產(chǎn)生的錯(cuò)誤。
開發(fā)軟件的思路是繪制單個(gè)的端子,讀取儀表輔助設(shè)計(jì)軟件中的端子數(shù)量和接線信息,將端子模塊復(fù)制到圖紙中指定的位置,并填上接線信息,再繪制完成下一個(gè)端子及下一排端子。由于現(xiàn)場進(jìn)入端子的電纜是一對,或是多對的,具體編程中還應(yīng)進(jìn)行一些細(xì)節(jié)的處理,使生成的圖紙符合出圖習(xí)慣。
手工進(jìn)行儀表安裝材料的統(tǒng)計(jì)是一項(xiàng)繁瑣、費(fèi)時(shí)、費(fèi)力的工作。為了解決該問題,儀表輔助設(shè)計(jì)軟件提供了材料統(tǒng)計(jì)功能,主要是將輔助軟件中涉及到的儀表材料都放入數(shù)據(jù)庫中,需要的時(shí)候生成材料報(bào)表。
儀表輔助設(shè)計(jì)軟件在材料統(tǒng)計(jì)方面,提高了設(shè)計(jì)質(zhì)量和效率,但是開發(fā)儀表材料統(tǒng)計(jì)軟件還是很有必要和意義的,主要原因:儀表輔助設(shè)計(jì)軟件只是對軟件中用到的材料進(jìn)行統(tǒng)計(jì),并沒有覆蓋所有涉及到材料的文件;涉及到材料的文件都是以圖形文件為主,儀表輔助設(shè)計(jì)軟件在圖形處理方面能力不強(qiáng)。對于部分設(shè)計(jì)文件,如果為了統(tǒng)計(jì)材料而使用儀表輔助設(shè)計(jì)軟件,會(huì)增加設(shè)計(jì)工作量。對于儀表輔助設(shè)計(jì)軟件沒有涉及到的材料,在不采用其他手段的情況下,還是需要人工對所有的材料進(jìn)行匯總。因此,使用儀表輔助設(shè)計(jì)軟件只能部分提高材料統(tǒng)計(jì)效率和精度。
在開發(fā)材料統(tǒng)計(jì)軟件前,要考慮統(tǒng)計(jì)材料是由軟件獨(dú)立完成,還是與儀表輔助設(shè)計(jì)軟件聯(lián)合完成。如果是聯(lián)合完成,還應(yīng)考慮兩個(gè)軟件的統(tǒng)計(jì)結(jié)果如何結(jié)合等問題。在編制軟件時(shí),首先要考慮到圖紙文件的類型,是采用Excel還是AutoCAD;其次是對設(shè)計(jì)文件中材料數(shù)據(jù)的提取與處理,文獻(xiàn)[8]比較了多個(gè)文獻(xiàn)提出的方法,也提出了自己實(shí)現(xiàn)的方法。
材料自動(dòng)統(tǒng)計(jì)軟件開發(fā)分為文件操作、數(shù)據(jù)讀取和數(shù)據(jù)處理三部分。文件操作主要包括文件的自動(dòng)打開,待材料數(shù)據(jù)讀取完成后將文件關(guān)閉,然后打開下一個(gè)需要讀取材料的文件,建立并填寫儀表綜合材料表等工作。對于AutoCAD文件中的材料提取,各種文獻(xiàn)提到的方法都需要對設(shè)計(jì)過程做一些改變。還有一種可以不改變設(shè)計(jì)習(xí)慣的方法,設(shè)計(jì)人員只需要按照以往的習(xí)慣,在AutoCAD中用直線繪制的表格中填上各種材料。在統(tǒng)計(jì)前用矩形框?qū)D形中的材料表框起來,此矩形框放在一個(gè)特定的圖層中。讀取材料時(shí)先讀取該圖層中的所有矩形框的四個(gè)對角點(diǎn)并記錄下來,再讀取一個(gè)矩形框內(nèi)材料表中各直線的交點(diǎn),對交點(diǎn)進(jìn)行一定排序后,再讀取這些兩個(gè)交點(diǎn)確定的框內(nèi)的文本,就得到儀表材料,再讀取下一個(gè)矩形框內(nèi)的材料,直到一張圖紙中所有的材料讀取完成后再讀取其他圖紙中的材料。在數(shù)據(jù)處理時(shí),需要對材料進(jìn)行分類,在各種文獻(xiàn)中提到的和儀表輔助設(shè)計(jì)軟件中使用的方法都是根據(jù)材料的編碼進(jìn)行分類。規(guī)范[9]也對部分材料編制了材料代碼,儀表設(shè)計(jì)實(shí)踐中還有一些材料沒有材料代碼。采用代碼進(jìn)行材料分類,在設(shè)計(jì)時(shí)需要給沒有代碼的材料編制代碼。中石化也建立了自己的材料編碼庫,采用軟件進(jìn)行材料統(tǒng)計(jì),材料統(tǒng)計(jì)變得非常簡單,但對材料進(jìn)行編碼過程還是顯得比較麻煩。對于沒有采用材料代碼的情況,筆者曾經(jīng)采用通過識(shí)別材料名稱中的關(guān)鍵字的方法實(shí)現(xiàn)了材料的分類。采用該方法有部分材料的分類不準(zhǔn)確,統(tǒng)計(jì)完后需要檢查調(diào)整部分材料的分類。
在科學(xué)與技術(shù)高速發(fā)展的今天,各種先進(jìn)的儀表設(shè)計(jì)技術(shù)和思想不斷涌現(xiàn)。文獻(xiàn)[10]就對儀表配管配線圖的標(biāo)注進(jìn)行了探討。在設(shè)計(jì)實(shí)踐中,只有將已有的工具和技術(shù)結(jié)合起來,才能最大限度地提高設(shè)計(jì)質(zhì)量和效率。
[1]王紅紅.INtools儀表設(shè)計(jì)軟件的選擇分析[J].中國海上油氣(工程),2002,14(06):49-53.
[2]曲成鑫.自控設(shè)計(jì)軟件INtools簡介及其在工程項(xiàng)目上的應(yīng)用[J].醫(yī)藥工程設(shè)計(jì),2008,29(02):42-43.
[3]謝冠鋒,張少增,魏玉洪,等.IPMP管理模式下儀表回路包管理實(shí)踐[J].石油化工自動(dòng)化,2012,48(03):47-50.
[4]郭非,范琳,付榮申,等.利用Office VBA自動(dòng)生成相關(guān)儀表設(shè)計(jì)文件[J].石油化工自動(dòng)化,2012,48(04):63-65.
[5]康明,梅剛.Excel VBA在SPI二次開發(fā)中的應(yīng)用[J].石油化工自動(dòng)化,2011,47(06):59-61.
[6]中國石油化工集團(tuán)公司.SHSG 053—2011石油化工裝置詳細(xì)工程設(shè)計(jì)內(nèi)容規(guī)定[S].北京:中國石油化工集團(tuán)公司,2011.
[7]李騫.INtools在工程設(shè)計(jì)項(xiàng)目中的應(yīng)用[J].石油化工自動(dòng)化,2007,43(04):57-60.
[8]張小廣,王秋紅.基于Excel與AutoCAD儀表安裝材料的自動(dòng)統(tǒng)計(jì)[J].石油化工自動(dòng)化,2011,47(06):65-67.
[9]化工部自動(dòng)控制技術(shù)中心站.HG/T 21581—1995自控安裝圖冊[M].北京:化工部工程建設(shè)標(biāo)準(zhǔn)編輯中心,1996.
[10]劉威.利用VB實(shí)現(xiàn)儀表配管配線圖批量標(biāo)注的工程實(shí)踐[J].石油化工自動(dòng)化,2012,48(03):12-15.