国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python的JMAG二次開(kāi)發(fā)在游標(biāo)型永磁直線同步電機(jī)設(shè)計(jì)中的應(yīng)用

2022-06-20 04:43鄒子羽盧琴芬
微電機(jī) 2022年5期
關(guān)鍵詞:腳本調(diào)用二次開(kāi)發(fā)

鄒子羽,盧琴芬

(浙江大學(xué) 電氣工程學(xué)院,杭州 310027)

0 引 言

隨著現(xiàn)代工業(yè)的發(fā)展,電梯的提升重量和高度不斷提升,傳統(tǒng)的曳引式電梯存在曳引繩,從而受到了重量、高度和強(qiáng)度等方面的限制。無(wú)繩電梯則可以適應(yīng)更高的垂直運(yùn)輸高度和更大的轎廂容量需求。在高載重量運(yùn)行時(shí),無(wú)繩電梯系統(tǒng)需要高推力密度的低速直線電機(jī)[1],而游標(biāo)型永磁直線同步電機(jī)(VPMLSM)正具有低速、高推力密度的特點(diǎn),可以推測(cè)能夠很好地契合大容量無(wú)繩電梯系統(tǒng)的應(yīng)用需求。

電機(jī)設(shè)計(jì)可采用等效電路方法與有限元方法,VPMLSM磁路復(fù)雜,在加載后磁路易飽和,通常采用后者。在設(shè)計(jì)過(guò)程中,基于有限元軟件進(jìn)行模型繪制、材料設(shè)置、激勵(lì)條件施加、網(wǎng)格剖分、性能計(jì)算。如果進(jìn)行方案調(diào)整或設(shè)計(jì)優(yōu)化,則需要多次重復(fù)前面的過(guò)程,存在很多重復(fù)性和機(jī)械性的工作,降低了電機(jī)設(shè)計(jì)的速度和效率,因此需要基于有限元軟件建立二次開(kāi)發(fā)設(shè)計(jì)平臺(tái)。在現(xiàn)有研究中,已經(jīng)有較多文獻(xiàn)利用VB/VBA語(yǔ)言對(duì)有限元軟件例如Maxwell進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)模型設(shè)計(jì)時(shí)的參數(shù)化和自動(dòng)化[2-3]。但基于Python對(duì)有限元仿真軟件進(jìn)行二次開(kāi)發(fā)的研究很少。為了提升設(shè)計(jì)效率,縮短迭代周期,本論文將采用Python腳本對(duì)JMAG進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)圖形界面編程(GUI)、參數(shù)化建模和后處理,GUI作為人機(jī)交互界面進(jìn)行參數(shù)設(shè)置和模型實(shí)時(shí)預(yù)覽,參數(shù)化建模則是建立有限元腳本文件,后處理則對(duì)有限元仿真結(jié)果進(jìn)行導(dǎo)出運(yùn)算和可視化處理。最后將Python腳本封裝成可執(zhí)行程序,建立具有一定獨(dú)立性的用于電機(jī)設(shè)計(jì)完整流程的可移植軟件平臺(tái)。

1 系統(tǒng)開(kāi)發(fā)原理

1.1 系統(tǒng)開(kāi)發(fā)對(duì)象

JMAG軟件是由日本JSOL公司開(kāi)發(fā)的功能齊全、應(yīng)用廣泛的電磁場(chǎng)分析軟件。軟件可以對(duì)各種電機(jī)及電磁設(shè)備進(jìn)行精確的電磁場(chǎng)分析,并且提供其與許多系統(tǒng)的鏈接能力,可以通過(guò)COM接口運(yùn)行多種腳本語(yǔ)言[4],包括VBSCript、Jscript和Python。其中Python是一種面向?qū)ο蟛⒕哂袆?dòng)態(tài)語(yǔ)義特征的計(jì)算機(jī)編程語(yǔ)言[5],由于其具有易閱讀易上手的特點(diǎn)而被廣泛地應(yīng)用于多數(shù)平臺(tái)的腳本和開(kāi)發(fā)應(yīng)用中,且Python具有優(yōu)秀的可擴(kuò)展性和豐富的庫(kù),可以更加充分靈活地進(jìn)行二次開(kāi)發(fā)。故在本系統(tǒng)中采用Python作為JMAG對(duì)應(yīng)的腳本語(yǔ)言。

1.2 系統(tǒng)接口技術(shù)及整體框架

在二次開(kāi)發(fā)的過(guò)程中,如何將開(kāi)發(fā)的腳本語(yǔ)言和平臺(tái)進(jìn)行連接至關(guān)重要。在現(xiàn)有二次開(kāi)發(fā)的接口研究中,文獻(xiàn)[6]通過(guò)ActiveX Automation連接技術(shù)對(duì)VB應(yīng)用程序與AutoCAD建立連接,令客戶端程序操縱AutoCAD實(shí)現(xiàn)自動(dòng)化繪圖,文獻(xiàn)[7]實(shí)現(xiàn)了VB與Matlab混合編程設(shè)計(jì)電機(jī),其中涉及到Matlab的Com Builder技術(shù)、MatrixVB等技術(shù),考慮到軟件開(kāi)發(fā)難度和應(yīng)用范圍,最后采用了M文件技術(shù),把Matlab中的m文件生成exe文件供VB調(diào)用。文獻(xiàn)[8]通過(guò)Ansys的參數(shù)化程序設(shè)計(jì)語(yǔ)言(APDL)編寫腳本,再由VB對(duì)腳本文件的讀取和寫入來(lái)實(shí)現(xiàn)VB和Ansys軟件間的數(shù)據(jù)傳遞。

對(duì)于Python而言,可以采用COM接口,調(diào)用ActiveX控件實(shí)現(xiàn)與JMAG軟件的連接,也可以直接利用JMAG內(nèi)置的COM接口調(diào)用Python腳本文件。但直接調(diào)用ActiveX控件對(duì)開(kāi)發(fā)者計(jì)算機(jī)基礎(chǔ)的要求較高,而使用JMAG內(nèi)部接口需要在JMAG環(huán)境中運(yùn)行,無(wú)法在未啟動(dòng)JMAG的情況下進(jìn)行編輯或前后處理,其獨(dú)立性和靈活性有所欠缺。所以在本系統(tǒng)中采用兩種接口技術(shù),即內(nèi)部連接和外部連接兩層調(diào)用邏輯。內(nèi)部連接中,使用JMAG內(nèi)部COM接口運(yùn)行相關(guān)Python腳本文件;外部連接中,在Python環(huán)境下創(chuàng)建子進(jìn)程啟動(dòng)JMAG軟件,并且令JMAG在內(nèi)部環(huán)境中執(zhí)行指定的Python腳本文件。

系統(tǒng)的整體框架如圖1所示。Python頂層代碼通過(guò)外部連接方式啟動(dòng)JMAG軟件,同時(shí)根據(jù)用戶指令生成以Python腳本文件形式存在的JMAG命令流,JMAG通過(guò)內(nèi)部連接的方式執(zhí)行腳本文件,自動(dòng)完成電機(jī)模型繪制、材料添加、有限元計(jì)算等步驟。JMAG軟件調(diào)用結(jié)束后,Python頂層代碼進(jìn)行后處理等過(guò)程。這種系統(tǒng)框架一定程度上實(shí)現(xiàn)了Python和JMAG的雙向連接,且由于其整體運(yùn)行在Python環(huán)境中,極大地提升了Python代碼的獨(dú)立性和自由度。

圖1 系統(tǒng)框架

2 二次開(kāi)發(fā)設(shè)計(jì)軟件

2.1 軟件設(shè)計(jì)流程圖

軟件流程圖如圖2所示。整個(gè)軟件在Python大環(huán)境下運(yùn)行。用戶通過(guò)GUI界面實(shí)現(xiàn)與系統(tǒng)的人機(jī)交互,設(shè)置相關(guān)參數(shù)并且進(jìn)行圖形預(yù)覽。置入結(jié)束后GUI將相關(guān)參數(shù)傳遞到腳本生成器中,生成器基于源代碼將傳遞參數(shù)包含的信息自動(dòng)轉(zhuǎn)換為JMAG可識(shí)別、可執(zhí)行的腳本文件。然后通過(guò)調(diào)用子進(jìn)程啟動(dòng)JMAG軟件,令其讀取自動(dòng)生成的Python腳本文件,在JMAG環(huán)境下根據(jù)給定參數(shù)自動(dòng)完成模型繪制、材料添加、電路設(shè)置、仿真參數(shù)編輯等有限元仿真工作,且可以根據(jù)用戶設(shè)置添加矢量控制、單結(jié)構(gòu)參數(shù)掃描等仿真流程。仿真結(jié)束后對(duì)數(shù)據(jù)進(jìn)行導(dǎo)出,并且進(jìn)行相應(yīng)的計(jì)算和可視化處理,完成整個(gè)二次開(kāi)發(fā)參數(shù)化建模的流程。

圖2 軟件流程圖

在上述流程圖中,腳本生成器編寫的代碼源自文檔查閱或JMAG內(nèi)置的腳本錄制功能,在軟件開(kāi)發(fā)的過(guò)程中,將JMAG執(zhí)行的腳本文件中重復(fù)性較多的代碼打包成函數(shù),從而精簡(jiǎn)主函數(shù)的代碼,并且增加代碼的可讀性。

當(dāng)軟件在不同用戶的電腦上運(yùn)行時(shí),JMAG軟件安裝的路徑可能會(huì)不同,所以軟件除了初始狀態(tài)下調(diào)用JMAG的路徑,還可以編輯調(diào)用路徑,從而確保軟件的可移植性。

2.2 軟件功能

整個(gè)軟件的界面設(shè)計(jì)如圖3所示。軟件的所有參數(shù)置入、功能設(shè)置和結(jié)果顯示等功能都集成到一個(gè)窗口當(dāng)中。主窗口下分為三個(gè)次窗口,其分別是模型庫(kù)、模型編輯和用戶設(shè)置。模型編輯是軟件設(shè)計(jì)的主體部分,在該次窗口下可以完成對(duì)模型進(jìn)行命名、結(jié)構(gòu)繪制、參數(shù)設(shè)置和有限元仿真結(jié)果查看等操作。模型庫(kù)讀取并展示現(xiàn)有模型,用戶設(shè)置對(duì)相關(guān)路徑進(jìn)行編輯。

在模型編輯窗口中,電機(jī)的綜合設(shè)計(jì)是軟件的核心功能。綜合設(shè)計(jì)的中心思想是參數(shù)化,即將電機(jī)的模型繪制和激勵(lì)條件添加都以參數(shù)的方式呈現(xiàn),例如當(dāng)對(duì)模型結(jié)構(gòu)進(jìn)行參數(shù)化繪制時(shí),其界面如圖4所示。在結(jié)構(gòu)設(shè)計(jì)的過(guò)程中還內(nèi)置了結(jié)構(gòu)預(yù)覽功能,該功能可以根據(jù)置入的參數(shù)實(shí)時(shí)呈現(xiàn)電機(jī)的局部結(jié)構(gòu)和整體結(jié)構(gòu),使設(shè)計(jì)過(guò)程更加直觀。

圖3 軟件界面

(1)校核計(jì)算

校核計(jì)算是指計(jì)算VPMLSM在給定運(yùn)行條件下的性能。首先輸入結(jié)構(gòu)參數(shù)與激勵(lì)參數(shù),設(shè)置完成之后,點(diǎn)擊“開(kāi)始運(yùn)行”調(diào)用JMAG軟件讀取自動(dòng)生成的Python腳本,依照腳本中的指令完成有限元仿真整體流程。然后代碼會(huì)自動(dòng)完成有限元仿真結(jié)果數(shù)據(jù)的提取、導(dǎo)出和計(jì)算處理,其中包括對(duì)電壓電流進(jìn)行FFT頻譜分析,以計(jì)算出功率因數(shù)和THD等[9],最后將推力性能參數(shù)和電路性能參數(shù)和對(duì)應(yīng)的推力、電壓電流曲線圖呈現(xiàn)在運(yùn)行結(jié)果中。

(2)矢量控制

矢量控制是指計(jì)算出Id=0矢量控制策略時(shí)的電機(jī)性能。首先電機(jī)保持靜止,將電流源初始相位設(shè)置為0,通過(guò)有限元仿真得到推力的波形曲線,找到初始點(diǎn)與推力最大點(diǎn)之間的相位差,然后利用相位差對(duì)電流源初始相位進(jìn)行校正,此時(shí)就可實(shí)現(xiàn)Id=0的矢量控制方式。

(3)單參數(shù)掃描

在電機(jī)初步尺寸確定后,需要對(duì)電機(jī)結(jié)構(gòu)參數(shù)進(jìn)行優(yōu)化,單結(jié)構(gòu)參數(shù)掃描是一種較常用的方式。軟件中設(shè)置了參數(shù)掃描選擇框,當(dāng)選擇下拉菜單中的其中一個(gè)結(jié)構(gòu)參數(shù),然后逐行輸入?yún)?shù)序列,就可以實(shí)現(xiàn)單結(jié)構(gòu)參數(shù)掃描的功能。

2.3 數(shù)據(jù)庫(kù)管理

設(shè)計(jì)平臺(tái)在有限元仿真過(guò)程中將產(chǎn)生大量的模型與運(yùn)算數(shù)據(jù),需要對(duì)它們進(jìn)行保存和歸檔。在軟件中設(shè)置了數(shù)據(jù)庫(kù),將已經(jīng)完成仿真的電機(jī)結(jié)果進(jìn)行歸一化、統(tǒng)一化處理后導(dǎo)出Excel文件。該結(jié)果文件也能作為輸入文件被軟件重新讀取。結(jié)果文件存放路徑可以在軟件中進(jìn)行設(shè)置。

3 程序應(yīng)用

基于上述設(shè)計(jì)軟件,就可以完成VPMLSM的方案設(shè)計(jì)。VPMLSM運(yùn)用“磁齒輪效應(yīng)”,即低速運(yùn)轉(zhuǎn)的轉(zhuǎn)子能產(chǎn)生高速變化的空間磁場(chǎng),在此過(guò)程中電樞磁場(chǎng)中含量最大諧波成分與永磁體磁場(chǎng)極數(shù)相同且相互作用,從而產(chǎn)生輸出轉(zhuǎn)矩[10-12]。

VPMLSM的設(shè)計(jì)要求:平均推力為13.25 kN、推力波動(dòng)小于5%,其初始方案的結(jié)構(gòu)參數(shù)通過(guò)輸入窗口設(shè)置,如圖4所示。初級(jí)繞組極對(duì)數(shù)/永磁體極對(duì)數(shù)/初級(jí)槽數(shù)為6/30/36,減速比為5,永磁體采用Halbach陣列。設(shè)置激勵(lì)電流,選擇矢量控制,就可以計(jì)算得到該VPMLSM的性能,其對(duì)應(yīng)的仿真性能結(jié)果曲線圖如圖5所示。在初步設(shè)計(jì)的電機(jī)模型中,平均推力大小為13.4 kN,符合設(shè)計(jì)要求,而推力波動(dòng)為7.85%,不滿足設(shè)計(jì)要求。

圖4 參數(shù)輸入窗口

圖5 運(yùn)行結(jié)果窗口

在初始方案的基礎(chǔ)上,選擇參數(shù)掃描功能,對(duì)電機(jī)結(jié)構(gòu)參數(shù)逐個(gè)進(jìn)行掃描計(jì)算,如圖6所示。參數(shù)掃描后,以推力大小和推力波動(dòng)為優(yōu)化目標(biāo),確定結(jié)構(gòu)參數(shù)的最優(yōu)組合。圖7展示了影響較大的三個(gè)結(jié)構(gòu)參數(shù)掃描計(jì)算結(jié)果,左列為平均推力,右列為推力波動(dòng)。

圖6 參數(shù)掃描置入

圖7 單結(jié)構(gòu)參數(shù)掃描計(jì)算的平均推力與推力波動(dòng)

通過(guò)參數(shù)掃描后,就可以獲得最后的設(shè)計(jì)方案,如表1所示,其性能與初始方案的對(duì)比如表2所示。

表1 VPMLSM設(shè)計(jì)參數(shù)結(jié)果

表2 VPMLSM優(yōu)化前后的性能對(duì)比

4 結(jié) 論

本文采用Python語(yǔ)言編寫了基于JMAG二次開(kāi)發(fā)的設(shè)計(jì)程序,將Python和JMAG軟件進(jìn)行有效連接,增加二次開(kāi)發(fā)的靈活性和可拓展性。通過(guò)腳本實(shí)現(xiàn)了電機(jī)建模和有限元仿真的參數(shù)化和自動(dòng)化,縮短整個(gè)電機(jī)設(shè)計(jì)的周期。

基于該二次開(kāi)發(fā)設(shè)計(jì)平臺(tái),對(duì)VPMLSM進(jìn)行了性能計(jì)算與優(yōu)化設(shè)計(jì),獲得了滿足設(shè)計(jì)要求的設(shè)計(jì)方案,驗(yàn)證了二次開(kāi)發(fā)平臺(tái)的可行性和靈活性,提升了設(shè)計(jì)效率。在后續(xù)的應(yīng)用開(kāi)發(fā)過(guò)程中,將應(yīng)用多目標(biāo)多參數(shù)優(yōu)化算法,獲得最優(yōu)方案。

猜你喜歡
腳本調(diào)用二次開(kāi)發(fā)
AutoCAD 與PDMS 二次開(kāi)發(fā)在三維復(fù)雜形體設(shè)計(jì)建模上的應(yīng)用
例談對(duì)高中數(shù)學(xué)教材中習(xí)題的二次開(kāi)發(fā)
淺談CAD軟件二次開(kāi)發(fā)的方法及工具
系統(tǒng)虛擬化環(huán)境下客戶機(jī)系統(tǒng)調(diào)用信息捕獲與分析①
自動(dòng)推送與網(wǎng)站匹配的腳本
例談?wù)n本習(xí)題的“二次開(kāi)發(fā)”
舉一反三新編
基于屬性數(shù)據(jù)的系統(tǒng)調(diào)用過(guò)濾方法
捕風(fēng)捉影新編
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信