林玉娟,孫雅麗,張瑩光,張 欣,王麗國(guó)
(1. 東北石油大學(xué)機(jī)械科學(xué)與工程學(xué)院,黑龍江 大慶 163318; 2. 中國(guó)石油天然氣股份有限公司大慶石化分公司,黑龍江 大慶 163711; 3. 天津市北辰區(qū)雙口鎮(zhèn)政府,天津 300400; 4. 大慶油田化工有限公司甲醇分公司,黑龍江 大慶 163411)
球形儲(chǔ)罐作為壓力容器的一種,由于其具有承載能力強(qiáng)、建造用鋼量少、占地面積小等優(yōu)點(diǎn)【1】,應(yīng)用領(lǐng)域越來越廣泛,而計(jì)算機(jī)輔助技術(shù)也已廣泛運(yùn)用到了現(xiàn)代社會(huì)的眾多領(lǐng)域中,因此將計(jì)算機(jī)輔助技術(shù)應(yīng)用于球罐的設(shè)計(jì)領(lǐng)域有著很重要的現(xiàn)實(shí)意義。然而由于球罐設(shè)計(jì)的專業(yè)性與復(fù)雜性,市面上的通用設(shè)計(jì)、分析軟件并不具備這一特定功能,且隨著科學(xué)技術(shù)的進(jìn)步、球罐設(shè)計(jì)與建造標(biāo)準(zhǔn)的更新,一些早期開發(fā)的球罐設(shè)計(jì)系統(tǒng)已經(jīng)無法適用于現(xiàn)今的計(jì)算機(jī)環(huán)境及生產(chǎn)需要【2】,因此開發(fā)一套適應(yīng)當(dāng)前環(huán)境的球罐設(shè)計(jì)系統(tǒng)就顯得十分必要。
為解決在工程實(shí)際中球罐設(shè)計(jì)人員面臨的問題,球形儲(chǔ)罐模塊化設(shè)計(jì)系統(tǒng)將計(jì)算量大、過程繁瑣的設(shè)計(jì)步驟設(shè)計(jì)為計(jì)算機(jī)程序,提高計(jì)算速度,縮短設(shè)計(jì)周期【3】,使設(shè)計(jì)人員能夠?qū)⒏嗟臅r(shí)間用于設(shè)計(jì)中的創(chuàng)新創(chuàng)造環(huán)節(jié)。
根據(jù)系統(tǒng)的設(shè)計(jì)與繪圖2大功能,在綜合考慮系統(tǒng)與數(shù)據(jù)庫兼容性的前提下,選擇合適的開發(fā)語言將該系統(tǒng)分為設(shè)計(jì)計(jì)算模塊、有限元分析模塊和繪圖模塊3大部分。各模塊在功能相對(duì)獨(dú)立的同時(shí)可以通過數(shù)據(jù)庫進(jìn)行數(shù)據(jù)共享及交換,既減少數(shù)據(jù)的冗余度,避免了數(shù)據(jù)存儲(chǔ)空間的浪費(fèi)【4】,又能夠完成球罐的強(qiáng)度設(shè)計(jì)計(jì)算、有限元分析以及設(shè)備圖繪制等功能,覆蓋球罐設(shè)計(jì)的全過程,有助于提高球罐設(shè)計(jì)的準(zhǔn)確性,縮短設(shè)計(jì)時(shí)間,降低設(shè)計(jì)的復(fù)雜性,并能為相似系統(tǒng)的進(jìn)一步研究與開發(fā)提供依據(jù)。該系統(tǒng)的功能模塊如圖1 所示。
圖1 設(shè)計(jì)系統(tǒng)的功能模塊
在工程實(shí)際中,1個(gè)球罐的完整設(shè)計(jì)計(jì)算過程大致上可以分為3個(gè)步驟:工藝參數(shù)的選擇確定、球罐結(jié)構(gòu)設(shè)計(jì)、強(qiáng)度校核計(jì)算【5】。設(shè)計(jì)計(jì)算模塊作為球罐設(shè)計(jì)系統(tǒng)的第一個(gè)模塊,是之后2個(gè)模塊的基礎(chǔ)。只有完成了球罐各結(jié)構(gòu)參數(shù)的計(jì)算及選擇,并通過強(qiáng)度校核,才能為接下來的設(shè)計(jì)任務(wù)提供必要的數(shù)據(jù),并確保各結(jié)構(gòu)參數(shù)的合理性與安全性。
設(shè)計(jì)計(jì)算模塊主要依靠C#.NET進(jìn)行開發(fā),以球罐常規(guī)設(shè)計(jì)標(biāo)準(zhǔn)GB/T 12337—2014《鋼制球形儲(chǔ)罐》的計(jì)算步驟為基準(zhǔn)【6】。球殼部分的結(jié)構(gòu)參數(shù)以GB/T 17261—2011為基準(zhǔn),同時(shí)程序中所使用的計(jì)算公式、材料性能等還要符合GB/T 150.1~150.4—2011中的有關(guān)規(guī)定。設(shè)計(jì)計(jì)算模塊的工作流程如圖2所示。該模塊中計(jì)算功能主要通過將標(biāo)準(zhǔn)中具體的計(jì)算公式映射為程序代碼來實(shí)現(xiàn)。在進(jìn)行計(jì)算時(shí),一些計(jì)算過程會(huì)被重復(fù)調(diào)用,為解決這一問題,在編寫程序時(shí)將被重復(fù)調(diào)用的計(jì)算過程單獨(dú)地封裝為幾個(gè)特定的類,每個(gè)類中都包含了若干相應(yīng)的方法,從而提高了代碼的復(fù)用性。
圖2 設(shè)計(jì)計(jì)算模塊工作流程
本次球罐設(shè)計(jì)系統(tǒng)開發(fā)中,雖然涉及到的數(shù)據(jù)較多且種類比較繁雜,但從存儲(chǔ)量來看并不是很大,而且不會(huì)涉及到網(wǎng)絡(luò)數(shù)據(jù)調(diào)用等,因此本次開發(fā)選擇Microsoft Office Access數(shù)據(jù)庫作為支持,實(shí)現(xiàn)了各功能模塊之間的數(shù)據(jù)共享。在訪問數(shù)據(jù)庫時(shí),利用C#NET中的ADO.NET數(shù)據(jù)訪問技術(shù)進(jìn)行操作,同時(shí)設(shè)計(jì)人員還可以使用ADO.NET對(duì)數(shù)據(jù)庫進(jìn)行查詢、添加、刪除、更新等操作【7】。設(shè)計(jì)計(jì)算模塊通過C#NET中的Windows窗體應(yīng)用程序,采用父窗口與子窗口的設(shè)計(jì)形式實(shí)現(xiàn)用戶與系統(tǒng)的數(shù)據(jù)交互,該模塊的用戶界面如圖3和圖4所示。在依據(jù)用戶給定的初始數(shù)據(jù)完成球罐的強(qiáng)度設(shè)計(jì)與校核之后,系統(tǒng)還可以以Microsoft Word文檔的格式輸出計(jì)算說明書,方便用戶對(duì)于計(jì)算結(jié)果的查閱。
圖3 設(shè)計(jì)計(jì)算模塊“主體設(shè)計(jì)參數(shù)”窗體界面
圖4 設(shè)計(jì)計(jì)算模塊“零部件設(shè)計(jì)參數(shù)”窗體界面
分析設(shè)計(jì)方法與常規(guī)設(shè)計(jì)方法是2種不同的設(shè)計(jì)方法,在工程中均可采用。其中分析設(shè)計(jì)方法主要采用塑性失效準(zhǔn)則,根據(jù)第三強(qiáng)度理論,以彈塑性力學(xué)為基礎(chǔ),以有限元應(yīng)力分析方法為手段,計(jì)算時(shí)使用的安全系數(shù)較小,計(jì)算結(jié)果更為精確,但因其計(jì)算量較大,需要有限元分析軟件支持,所以在本設(shè)計(jì)系統(tǒng)的有限元分析模塊中使用ANSYS17.0作為輔助工具。
ANSYS二次開發(fā)的工具主要有3個(gè):APDL、UPFs、UIDL【8】。在有限元分析模塊的設(shè)計(jì)中,利用C#NET對(duì)ANSYS進(jìn)行二次開發(fā),主要通過調(diào)用ANSYS的APDL實(shí)現(xiàn)參數(shù)化設(shè)計(jì),并利用C#NET實(shí)現(xiàn)用戶界面及后臺(tái)調(diào)用程序的編制。C#NET的ANSYS二次開發(fā)方法如圖5所示【9】。
圖5 C#NET的ANSYS二次開發(fā)
根據(jù)ANSYS參數(shù)化設(shè)計(jì)技術(shù)的原理及C#NET的ANSYS二次開發(fā)方式,有限元分析模塊的工作流程確定如下:首先根據(jù)計(jì)算模塊確定或者用戶重新給定球罐的必要參數(shù),編寫出符合APDL語法規(guī)則的ANSYS命令流文件(“.log”或“.txt”格式);之后通過內(nèi)存共享將命令流文件傳送給ANSYS軟件,并通過后臺(tái)程序調(diào)用ANSYS軟件進(jìn)行計(jì)算;計(jì)算完成后將計(jì)算結(jié)果保存,并將相應(yīng)結(jié)果數(shù)據(jù)顯示到用戶界面上。其工作流程如圖6所示。
有限元分析模塊的用戶界面具備2大方面的功能:一是輸入信息;二是輸出信息。因此該模塊的用戶界面分為2部分:ANSYS分析和ANSYS分析結(jié)果,如圖7和圖8所示。
在完成球罐的常規(guī)設(shè)計(jì)并且球罐的有限元分析結(jié)果也滿足要求后,下一步就是完成球罐裝配圖的設(shè)計(jì),為球罐的施工提供依據(jù)。建立一套球罐設(shè)計(jì)專用的CAD系統(tǒng)【10】,不但能避免設(shè)計(jì)人員對(duì)相似部分的重復(fù)性繪制,提高繪圖效率,同時(shí)也可以降低裝配圖的設(shè)計(jì)難度,有效地避免各種細(xì)節(jié)錯(cuò)誤。該模塊的設(shè)計(jì)采用AutoCAD.NET作為開發(fā)環(huán)境。
圖6 有限元分析模塊工作流程
圖7 ANSYS分析界面
圖8 ANSYS分析結(jié)果界面
本系統(tǒng)繪圖模塊的設(shè)計(jì)選擇參數(shù)化繪圖技術(shù)進(jìn)行開發(fā)。該模塊可繪制球罐零部件圖、球罐整體裝配圖、球罐局部放大圖、指引線、技術(shù)要求、標(biāo)題欄、明細(xì)表以及文字說明。在該模塊中采用3個(gè)基本參數(shù),即“幾何尺寸”、“定位尺寸”、“拓?fù)潢P(guān)系”實(shí)現(xiàn)基本圖元的繪制以及復(fù)雜圖形的組合。其中“拓?fù)潢P(guān)系”主要解決裝配圖以及零部件圖繪制過程中出現(xiàn)的遮擋問題,實(shí)現(xiàn)CAD消隱技術(shù)【11】。在繪圖模塊中應(yīng)用消隱技術(shù)最多的部分是裝配圖的主視圖和俯視圖部分,這2部分都可以看作是以1個(gè)圓為基礎(chǔ)向外延伸進(jìn)行繪制的(圓為球罐的主體部分),因此可以在以上拓?fù)潢P(guān)系模型的基礎(chǔ)上進(jìn)行演變,得出一個(gè)適合于球罐裝配圖繪制的消隱算法。繪圖模塊的基本工作流程如圖9所示。
圖9 繪圖模塊工作流程
繪圖模塊的用戶界面包含了2個(gè)部分:一是“總裝配圖繪制”界面,用來設(shè)定球罐的基本參數(shù)并繪制出總裝配圖;二是“零部件圖繪制”界面,用來選擇要繪制的零部件,并根據(jù)相應(yīng)的參數(shù)繪制出選定的零部件圖。繪圖模塊用戶界面如圖10和圖11所示。
球形儲(chǔ)罐模塊化設(shè)計(jì)系統(tǒng)是在對(duì)工程實(shí)際中球形儲(chǔ)罐的設(shè)計(jì)過程進(jìn)行研究分析的基礎(chǔ)上,制定了球罐設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)體系,將系統(tǒng)分為3大模塊,即設(shè)計(jì)計(jì)算模塊、有限元分析模塊和繪圖模塊。系統(tǒng)將球罐的設(shè)計(jì)過程與計(jì)算機(jī)輔助技術(shù)相結(jié)合,提高了設(shè)計(jì)過程的智能化,同時(shí)系統(tǒng)中各功能模塊可通過數(shù)據(jù)的共享與傳輸縮短球罐的設(shè)計(jì)過程,提高設(shè)計(jì)準(zhǔn)確性,滿足了工程實(shí)際的需求。
圖10 “總裝配圖繪制”用戶界面
圖11 “零部件繪制”用戶界面