干式變壓器設(shè)計(jì)中計(jì)算機(jī)輔助設(shè)計(jì)及輔助分析的全面應(yīng)用
我公司從法國TRANSFIX公司引進(jìn)的H級(jí)絕緣“賽格邁”干式變壓器技術(shù),由于結(jié)構(gòu)簡(jiǎn)潔、規(guī)范等特點(diǎn),十分便于開發(fā)系統(tǒng)的、高度自動(dòng)化的計(jì)算機(jī)輔助設(shè)計(jì)CAD應(yīng)用軟件。而計(jì)算機(jī)輔助設(shè)計(jì)CAD的真正精神就是將人腦和計(jì)算機(jī)的優(yōu)點(diǎn)有機(jī)的結(jié)合起來,完成由人腦或計(jì)算機(jī)兩者均不能單獨(dú)完成的復(fù)雜設(shè)計(jì)。正是出于高度自動(dòng)化的計(jì)算機(jī)輔助設(shè)計(jì)CAD和日益激烈的市場(chǎng)競(jìng)爭(zhēng)壓力的需要,在作者多年的探索下,編寫出針對(duì)干式變壓器的計(jì)算機(jī)輔助設(shè)計(jì)的全套應(yīng)用軟件。該軟件包括:干式變壓器自動(dòng)電磁優(yōu)化設(shè)計(jì)應(yīng)用軟件、自動(dòng)參數(shù)化繪圖應(yīng)用軟件和數(shù)據(jù)文件維護(hù)軟件共三大部分。該三大部分的應(yīng)用軟件既可以成為單獨(dú)軟件運(yùn)行,也可以協(xié)調(diào)工作--集成為一個(gè)軟件包。應(yīng)用該系統(tǒng)還可以對(duì)干式變壓器的各個(gè)參數(shù)進(jìn)行計(jì)算機(jī)輔助分析CAM。這將對(duì)的提高設(shè)計(jì)部門的開發(fā)能力、提高設(shè)計(jì)質(zhì)量、降低制造成本、提高市場(chǎng)反應(yīng)能力等發(fā)揮積極的作用。
應(yīng)用本文介紹的思路,同樣可以編寫出針對(duì)其它變壓器的、高度自動(dòng)化的計(jì)算機(jī)輔助設(shè)計(jì)應(yīng)用軟件,本文將不累述。
本文所有應(yīng)用軟件均采用VisualC++6.0編寫,自動(dòng)參數(shù)化繪圖應(yīng)用軟件也采用VisualC++6.0在autoCAD2000中的二次開發(fā)平臺(tái)ObjectARX2000編寫,使得VisualC++和autoCAD完美結(jié)合。本文將簡(jiǎn)要介紹該全面應(yīng)用實(shí)例的基本原理。
2、系統(tǒng)總體框架的基本構(gòu)成原理
系統(tǒng)結(jié)構(gòu)原理如圖一所示,整個(gè)系統(tǒng)包括電磁設(shè)計(jì)、自動(dòng)參數(shù)化繪圖、數(shù)據(jù)文件維護(hù)、人工或計(jì)算機(jī)輔助分析CAM等幾大部分。各部分間既可以通過結(jié)構(gòu)體指針或數(shù)據(jù)文件相互通信,使整個(gè)系統(tǒng)可以跨平臺(tái)協(xié)運(yùn)行,也可以將所有程序內(nèi)嵌入autoCAD2000中運(yùn)行。
3、干式變壓器自動(dòng)電磁優(yōu)化設(shè)計(jì)應(yīng)用軟件的基本構(gòu)成原理
干式變壓器電磁優(yōu)化設(shè)計(jì)應(yīng)用軟件在編寫時(shí),必須充分考慮該軟件既要滿足進(jìn)行優(yōu)化設(shè)計(jì)及人工或計(jì)算機(jī)輔助分析功能,還要求滿足操作簡(jiǎn)單、運(yùn)行可靠、升級(jí)維護(hù)方便等要求,關(guān)于電磁優(yōu)化設(shè)計(jì)軟件的界面見圖二。
因此,在編寫程序時(shí),將因產(chǎn)品更新或結(jié)構(gòu)變化可能引起程序結(jié)構(gòu)調(diào)整的數(shù)據(jù)分別封裝到不同的數(shù)據(jù)文件中,并通過附帶的程序段來維護(hù)這些數(shù)據(jù)文件。換句話說,就是通過數(shù)據(jù)文件將電磁設(shè)計(jì)的算法和外部數(shù)據(jù)如硅鋼片磁化特性數(shù)據(jù)、銅箔數(shù)據(jù)、扁導(dǎo)線數(shù)據(jù)、經(jīng)驗(yàn)系數(shù)、預(yù)埋參數(shù)等等徹底隔離。這樣做一方面可以使該軟件維護(hù)和升級(jí)非常容易,即使根本不懂計(jì)算機(jī)編程的人員也能夠方便對(duì)軟件進(jìn)行自行升級(jí);另一方面可以為計(jì)算機(jī)輔助分析后得到的結(jié)果提供接口,使整個(gè)系統(tǒng)能順利完成完整的反饋過程,使自動(dòng)電磁優(yōu)化設(shè)計(jì)隨時(shí)真實(shí)模擬現(xiàn)實(shí)的產(chǎn)品。
電磁優(yōu)化設(shè)計(jì)的算法采用傳統(tǒng)的窮舉法,計(jì)算機(jī)通過讀入各種外部數(shù)據(jù)后逐個(gè)試算,然后以主要材料銅鐵成本最低為目標(biāo)函數(shù),用冒泡法動(dòng)態(tài)保留成本最低的前300個(gè)設(shè)計(jì)方案[2]。當(dāng)程序運(yùn)行完畢后,成本最低的前300個(gè)設(shè)計(jì)方案被保存到兩個(gè)文件中。一個(gè)以文本文件格式保存,以便查看;另一個(gè)以特定的數(shù)據(jù)結(jié)構(gòu)格式保存,以便自動(dòng)參數(shù)化繪圖時(shí)在autoCAD2000中調(diào)用。
關(guān)于該程序具體的結(jié)構(gòu)流程圖見圖三。限于篇幅,程序代碼部分沒有刊出。
圖三
本軟件之所以采用窮舉法進(jìn)行電磁設(shè)計(jì)而未采用其它方法,主要是居于兩方面的原因考慮的。第一、算法不能漏掉任何可能的最優(yōu)解;第二、干式變壓器的電磁優(yōu)化設(shè)計(jì)程序結(jié)構(gòu)簡(jiǎn)單,循環(huán)嵌套較少,便于窮舉。其次,VisualC++6.0運(yùn)行速度極快,再加上目前計(jì)算機(jī)的硬件處理速度日益提高,使得我們沒有必要花過多的時(shí)間去考慮各種算法之間的執(zhí)行速度上的優(yōu)劣。
應(yīng)用算法和數(shù)據(jù)分別進(jìn)行封裝技術(shù)時(shí),只要能最大限度的將算法和數(shù)據(jù)進(jìn)行隔離。那么,電磁優(yōu)化設(shè)計(jì)程序在一定意義上是一個(gè)通用的應(yīng)用軟件。而且,應(yīng)用該軟件還可以對(duì)被隔離的—-對(duì)變壓器有影響的每一個(gè)數(shù)據(jù)進(jìn)行計(jì)算機(jī)輔助分析。4、該技術(shù)中計(jì)算機(jī)輔助分析CAM的一個(gè)典型應(yīng)用實(shí)例
作者通過長(zhǎng)期研究發(fā)現(xiàn),銅箔的尺寸直接影響到變壓器的最低成本。只要是采用銅箔結(jié)構(gòu)的變壓器,無論包封型VDT、敞開型OVDT、環(huán)氧樹脂澆注的干式變壓器,還是采用銅箔結(jié)構(gòu)的油浸變壓器,銅箔的尺寸對(duì)變壓器的最低成本起著很關(guān)鍵的作用。因此,選擇和儲(chǔ)備的銅箔合理與否就成為干式變壓器制造廠家在市場(chǎng)競(jìng)爭(zhēng)不可忽視的一個(gè)要素。而采用外部數(shù)據(jù)和算法隔離的技術(shù)后,對(duì)探索干式變壓器最低成本的銅箔尺寸也非常方便、快捷、準(zhǔn)確。只要在銅箔數(shù)據(jù)文件中厚度按0.01mm,寬度按5mm步長(zhǎng)給出成百上千種銅箔數(shù)據(jù)。通過算法窮舉后,就可以找到真正最低成本的銅箔尺寸和電磁設(shè)計(jì)方案。只是如此龐大的計(jì)算量,計(jì)算機(jī)需要很長(zhǎng)時(shí)間才能運(yùn)行完畢。通過作者長(zhǎng)期實(shí)踐,計(jì)算一種規(guī)格銅箔的窮舉方案大約需要5秒至3分鐘(計(jì)算機(jī)配置為PIII733),計(jì)算300種銅箔大致需要10—15個(gè)小時(shí)。雖然耗時(shí)較多,但在工廠的實(shí)際應(yīng)用中是值得的。
另外還需要指出的一點(diǎn)是,以上方法找到的最低成本設(shè)計(jì)方案和最優(yōu)銅箔尺寸完全取決于產(chǎn)品結(jié)構(gòu)、損耗標(biāo)準(zhǔn)、噪音水平和數(shù)學(xué)模型的準(zhǔn)確與否(主要是溫升計(jì)算的準(zhǔn)確與否)。而且,基于相同的變壓器設(shè)計(jì)標(biāo)準(zhǔn),只有當(dāng)算法的數(shù)學(xué)模型能夠真實(shí)的模擬變壓器的實(shí)際情況,上述的計(jì)算結(jié)果才是真實(shí)可靠的。
5、自動(dòng)參數(shù)化繪圖應(yīng)用軟件的基本構(gòu)成原理
由于干式變壓器結(jié)構(gòu)簡(jiǎn)單、圖紙量孝零部件通用性好,十分便于開發(fā)自動(dòng)參數(shù)化繪圖應(yīng)用軟件。下面簡(jiǎn)要介紹作者在編寫干式變壓器自動(dòng)參數(shù)化繪圖軟件時(shí)的基本思路和方法。
在編寫自動(dòng)參數(shù)化繪圖程序時(shí),作者同樣采用VisualC++6.0通過ObjectARX2000平臺(tái)對(duì)autoCAD2000系統(tǒng)進(jìn)行編程。借助VisualC++6.0語言強(qiáng)大功能、豐富的數(shù)據(jù)類型和與Windows完全兼容的窗口界面,很容易開發(fā)出功能各異功能模塊。通過對(duì)各功能模塊進(jìn)行簡(jiǎn)單的定置,就可以完成不同產(chǎn)品自動(dòng)參數(shù)化繪圖。
由于是采用VisualC++6.0通過ObjectARX2000平臺(tái)嵌入autoCAD2000系統(tǒng)進(jìn)行編程,因而生成的目標(biāo)代碼執(zhí)速度極高,與autoCAD2000的兼容性極好。因此,極容易開發(fā)大規(guī)模的、復(fù)雜的自動(dòng)參數(shù)化繪圖應(yīng)用軟件。甚至可以將干式變壓器的電磁優(yōu)化設(shè)計(jì)程序連同自動(dòng)參數(shù)化繪圖程序一同嵌入autoCAD2000中,成為autoCAD2000的一個(gè)外部命令(如果將該程序列入autoCAD2000的自動(dòng)裝入文件列表中,則用戶會(huì)感覺到如同autoCAD2000本身就具有干式變壓器電磁優(yōu)化設(shè)計(jì)和自動(dòng)參數(shù)化繪圖功能一樣)。
關(guān)于自動(dòng)參數(shù)化繪圖軟件的運(yùn)行后的主菜單界面見圖四。
在編寫干式變壓器自動(dòng)參數(shù)化繪圖應(yīng)用軟件時(shí),作者同樣采用了將繪圖程序
圖四
圖五
圖六
主體和外部數(shù)據(jù)分別封裝的隔離技術(shù),使繪圖程序更具通用性。另外,作者在每個(gè)裝配的繪制之前不但將系統(tǒng)當(dāng)前所有與之相關(guān)的變量值一一列出,以變用戶確認(rèn)或更改;而且還將干涉警告也一一列出,如果當(dāng)前或用戶更改的數(shù)據(jù)不合理,
則出現(xiàn)一目了然警告,充分提高圖紙的設(shè)計(jì)準(zhǔn)確性,具體界面可參考圖五。
關(guān)于該程序具體的結(jié)構(gòu)流程圖見圖六。由于源程序較大,限于篇幅,源代碼沒有刊出。
編寫自動(dòng)參數(shù)化繪圖程序時(shí),需要注意以下幾點(diǎn):
<1>、自動(dòng)參數(shù)化繪圖前一定要通過程序?qū)utoCAD2000系統(tǒng)進(jìn)行初始化設(shè)置,比如設(shè)置圖層、設(shè)置字體、設(shè)置顏色、設(shè)置目標(biāo)捕捉方式等等;
<2>、自動(dòng)參數(shù)化繪圖前,程序可以通過讀入電磁設(shè)計(jì)時(shí)生成的數(shù)據(jù)文件完成主要輸入,也可以手工輸入程序需要的數(shù)據(jù);
<3>、自動(dòng)繪程序必須真實(shí)模擬盡可能多樣化的干式變壓器的結(jié)構(gòu),提高程序的適應(yīng)能力。同時(shí),要求干式變壓器的結(jié)構(gòu)盡量規(guī)范。
<4>、必須對(duì)各裝配進(jìn)行深入分析,確定約束條件,編寫盡可能多的干涉警告報(bào)警條。并在程序開始時(shí)或每次有數(shù)據(jù)讀入或輸入時(shí)逐條檢驗(yàn)警告條,只有當(dāng)警告數(shù)為零時(shí),程序才可以向下運(yùn)行。
<5>、必須對(duì)各個(gè)裝配的零部件結(jié)構(gòu)、特點(diǎn)進(jìn)行認(rèn)真歸納。對(duì)各單件的尺寸確定可行算法,便于減少外部數(shù)據(jù)輸入,提高程序的封裝性;
<6>、在不同的裝配中,相關(guān)的零部件尺寸采用相同的算法,便于協(xié)調(diào)一致;
<7>、需要引用通用零件時(shí),先將被引用的通用零件圖進(jìn)細(xì)分,確定引用原則,然后讓程序通過查表法自動(dòng)引入正確的通用零件;
<8>、繪圖程序一般按最常用的方式運(yùn)行,特殊情況下需要對(duì)圖紙的某個(gè)細(xì)節(jié)進(jìn)行修改時(shí),一定要通過程序?qū)⒃搱D形區(qū)域進(jìn)行放大,否則將會(huì)因?yàn)閳D形數(shù)據(jù)尚在緩沖區(qū),而無法選中目標(biāo);
<9>、在編寫自動(dòng)參數(shù)化繪圖程序時(shí),只要有圖塊插入,就必須重新做一次圖形生成或縮放,否則將會(huì)因?yàn)閳D塊數(shù)據(jù)尚在緩沖區(qū),而無法對(duì)其中的目標(biāo)進(jìn)行編輯;
<10>、自動(dòng)參數(shù)化繪圖時(shí),要盡量采用相對(duì)的坐標(biāo)點(diǎn),以提高程序的通用性和可移植性;
<11>、生成明細(xì)表時(shí),必須盡可能多的將通用圖或通用件封裝到程序中,以免受到外部數(shù)據(jù)的干擾;
<12>、生成明細(xì)表時(shí),必須保證項(xiàng)號(hào)、圖號(hào)編制和明細(xì)表項(xiàng)相一致;
5、結(jié)束語:本文僅介紹一種干式變壓器的全面計(jì)算機(jī)輔助設(shè)計(jì)及分析方法和思路,應(yīng)用該方法或類似方法極容易開發(fā)其它變壓器的電磁設(shè)計(jì)和自動(dòng)參數(shù)化繪圖應(yīng)用軟件。而自動(dòng)參數(shù)化繪圖的主要障礙是產(chǎn)品結(jié)構(gòu)是否規(guī)范,只要有計(jì)劃、有步驟的進(jìn)行產(chǎn)品的改型換代,編寫自動(dòng)參數(shù)化繪圖軟件是有實(shí)際意義的。
主要參考文獻(xiàn):
<1>、<<C語言程序設(shè)計(jì)實(shí)用教材>>,云南大學(xué)出版社,云南昆明李更生編著1997年6月第1版
<2>、<<科學(xué)計(jì)算與編程>>,云南大學(xué)出版社,云南昆明普媛媛編著
<3>、<<VisualC++6.0編程技巧與實(shí)例分析>>,中國水利水電出版社,齊舒創(chuàng)作室編著<4>、<<AutoCAD2000環(huán)境下C/VisualC++應(yīng)用程序開發(fā)教程>>,北京希望電腦公司,王福軍、張志民、張師偉編著2000年6月第1版